Interested Article - Сквозное шифрование
- 2020-05-23
- 1
Сквозное шифрование (также оконечное шифрование ; англ. end-to-end encryption ) — способ передачи данных, в котором только пользователи, участвующие в общении, имеют доступ к сообщениям. Таким образом, использование сквозного шифрования не позволяет получить доступ к криптографическим ключам со стороны третьих лиц.
Обмен ключами
Для обмена ключами могут быть применены симметричный и асимметричный алгоритмы. Сквозное шифрование предполагает, что ключи шифрования известны только общающимся между собой сторонам. Для реализации данного условия может быть использована схема с предварительным разделением секрета или, например, протокол Диффи-Хелмана , который используется в мессенджерах WhatsApp (по умолчанию) и Telegram (в т.н. секретных чатах) .
Современное использование
Общие принципы
Сквозное шифрование гарантирует, что доступ к исходному тексту сообщения имеется только у отправителя и получателя. Это означает, что пользовательская информация становится недоступной даже серверам , передающим данные.
Шифрование и дешифрование происходит на конечных устройствах пользователей. Кроме того, данные остаются зашифрованными, пока не будут доставлены к месту назначения. Поэтому часто сквозное шифрование также называют «нулевой доступ» или «шифрование на стороне клиента». Однако, следует различать оконечное шифрование при передаче данных и шифрование на стороне клиента при хранении данных.
Электронная почта
Одним из первых стандартов для асинхронного обмена сообщениями является протокол SMTP . Этот протокол, изначально использовавшийся только для передачи электронной почты , в первоначальной своей реализации не обеспечивал конфиденциальности переписки при помощи сквозного шифрования . В 1991 году Филиппом Циммерманом был создан пакет программного обеспечения для шифрования электронной почты PGP . Библиотека получила широкое распространение по всему миру, поэтому у многих компаний возникло желание создавать собственное ПО, совместимое с PGP . После этого в 1997 году IETF окончательно определила набор стандартов для сквозного шифрования электронной почты, который назвали OpenPGP . OpenPGP реализован в программном обеспечении систем с открытым исходным кодом, таких как Enigmail для Thunderbird , а также в мобильных приложениях, таких как IPGMail для iOS и в системе управления ключами Openkeychain для Android и других .
В 1999 году Фондом свободного программного обеспечения была разработана реализация OpenPGP, которая получила название GnuPG . Она соответствует стандартам спецификации OpenPGP, выступая в качестве основы свободного программного обеспечения для большинства современных приложений с поддержкой PGP .
Мессенджеры и чаты
В отличие от электронной почты, которая использует асинхронный обмен сообщениями, системы мгновенного обмена сообщениями изначально использовали синхронную передачу данных, однако сегодня многие мессенджеры позволяют осуществлять асинхронную доставку сообщений. В последнее время такие системы становятся более популярными по сравнению с почтовыми клиентами, так как они также предоставляют поддержку передачи видео , файлов и голоса .
В 1998 году Джереми Миллером началась разработка проекта Jabber, который впоследствии получил название XMPP . XMPP предоставляет технологию для асинхронного обмена структурированными данными в распределенной сети с участием клиентов и серверов, поддерживающую уведомления о присутствии. Чтобы повысить уровень безопасности, в новых спецификациях протокола будет добавлена поддержка сквозного шифрования, так как сейчас информация, переданная посредством XMPP, по умолчанию не шифруется, хотя в нем и используются встроенные протоколы SASL и TLS . Первоначально именно открытый стандарт протокола XMPP, разработанный IETF, использовался в большинстве систем мгновенного обмена сообщениями, таких как Google Talk . .
Протокол OTR , выпущенный в 2004 году, является расширением XMPP с целью обеспечить сквозное шифрование. Он также обеспечивает оповещение пользователей, в отличие от PGP, которое впоследствии может быть использовано в качестве записи об установке соединения и идентификации участников. OTR в каком-то смысле можно считать обновлением безопасности по PGP, так как он не хранит долгосрочных открытых ключей, которые могут быть скомпрометированы. К недостаткам OTR можно отнести отсутствие поддержки групповых чатов и асинхронного обмена сообщений, так как он предназначен для синхронного обмена сообщениями между двумя людьми .
Несколько современных мессенджеров используют для шифрования Signal Protocol .
Проблемы
Атака «человек посередине»
Сквозное шифрование предусматривает, что контроль за перепиской осуществляется непосредственно пользователями. Одним из вариантов обхода сквозного шифрования для злоумышленника является захват под свой контроль канала связи между конечными точками, после этого он может попытаться выдать себя за получателя сообщения, чтобы, например, подменить открытый ключ. Чтобы не дать себя обнаружить, злоумышленник после дешифровки сообщения может зашифровать его ключом , который он разделяет с фактическим получателем, или его открытым ключом (в случае асимметричных систем) и снова отправить сообщение. Атаки такого типа принято называть атаками «человек посередине» - MITM (Man-In-The-Middle) .
Для предотвращения MITM-атак большинство криптографических протоколов используют аутентификацию . Для этого могут использоваться, например, центры сертификации . Альтернативным методом является создание отпечатков открытого ключа на основе общедоступных открытых ключей пользователей или общих секретных ключей. Прежде чем начать разговор, стороны сравнивают свои отпечатки открытых ключей с использованием внешнего канала связи, который гарантирует целостность и аутентичность связи, при этом он не обязательно должен быть секретным. Если отпечатки ключей совпадают, значит атака «человек посередине» не была произведена .
Безопасность конечных точек
Другим способом обхода сквозного шифрования является атака непосредственно на конечные точки доступа. Каждое устройство пользователя может быть взломано с целью украсть криптографический ключ (для создания атаки «человек посередине») или просто прочитать дешифрованные сообщения пользователей. Для избежания такого рода попыток взлома необходимо обеспечить соответствующую защиту пользовательских устройств с помощью программных или иных методов. Основными попытками повысить безопасность конечных точек были выделение ключевых операций генерации, хранения и криптографии на смарт-карту, например, в Project Vault Google . Тем не менее, так как ввод и вывод открытого текста видны в системе, то эти подходы не способны защитить от клавиатурных шпионов и вредоносного программного обеспечения, которое может отслеживать разговоры в режиме реального времени . Более надежный подход заключается в физической изоляции устройства .
Бэкдоры
Компании могут также (самостоятельно или по принуждению) внедрять в свое программное обеспечение бэкдоры , которые помогают нарушить согласование ключа или обойти шифрование. Согласно информации, раскрытой Эдвардом Сноуденом в 2013 году, Skype содержал бэкдор, который позволял Microsoft передавать в АНБ сообщения пользователей, несмотря на то, что официально эти сообщения подвергались сквозному шифрованию .
Примечания
- ↑ (англ.) . WIRED . Дата обращения: 22 декабря 2015.
- J. H. Ellis. (30 октября 2014). Дата обращения: 19 января 2018. Архивировано из 30 октября 2014 года.
- ↑ (англ.) . WhatsApp . Дата обращения: 23 декабря 2017. 2 июня 2018 года.
- Chris Alexander, Ian Avrum Goldberg. (англ.) // Proceedings of the 2007 ACM workshop on Privacy in electronic society : journal. — New York: Association for Computing Machinery, 2007. — February. — P. 41—47 . — doi : . 27 февраля 2016 года.
- (англ.) . Telegram . Дата обращения: 23 декабря 2017. 20 марта 2018 года.
- ↑ . EFF Surveillance Self-Defence Guide . Electronic Frontier Foundation. Дата обращения: 2 февраля 2016. 5 марта 2016 года.
- . SendGrid (англ.) . 2015-06-17. из оригинала 16 января 2018 . Дата обращения: 15 января 2018 .
- John C. Klensin <[email protected]>. (англ.) . tools.ietf.org. Дата обращения: 29 декабря 2017. 16 января 2015 года.
- (15 августа 2016). Дата обращения: 19 января 2018. 15 мая 2018 года.
- (15 августа 2016). Дата обращения: 5 января 2018. 15 мая 2018 года.
- . iPGMail (25 октября 2016). Дата обращения: 5 января 2018. 25 апреля 2018 года.
- OpenKeychain-Team. . www.openkeychain.org. Дата обращения: 5 января 2018. Архивировано из 5 января 2018 года.
- (27 сентября 2017). Дата обращения: 5 января 2018. 27 августа 2016 года.
- (21 ноября 2017). Дата обращения: 5 января 2018. 15 декабря 2017 года.
- Tom Van Vleck. . Multicians.org. Дата обращения: 11 мая 2012. 2 декабря 2017 года.
- (англ.) . xmpp.org. Дата обращения: 5 января 2018. 18 октября 2018 года.
- . Дата обращения: 5 января 2018. 12 февраля 2011 года.
- Borisov N., Goldberg I., Brewer E. (2004). Дата обращения: 5 января 2018. 25 июня 2018 года.
- . otr.cypherpunks.ca. Дата обращения: 5 января 2018. 12 апреля 2018 года.
- ↑ (англ.) . IEEE Xplore . Дата обращения: 22 декабря 2017. 21 марта 2018 года.
- ; (September 1998). ( PostScript ) . Proceedings of the 8th ACM SIGOPS European workshop: Support for composing distributed applications. Sintra, Portugal: MIT . Дата обращения: 23 декабря 2006 . (недоступная ссылка)
- . Comodo (англ.) . 2013-10-22. из оригинала 2 декабря 2016 .
- Julie Bort, Matt Weinberger от 8 августа 2017 на Wayback Machine , Business Insider , NYC May 29, 2015
- (англ.) . IEEE Xplore .
- . Дата обращения: 22 июля 2015. 22 марта 2021 года.
- Goodin, Dan. . Ars Technica (20 мая 2013). Дата обращения: 16 января 2018. 22 декабря 2015 года.
- Greenwald, Glenn; MacAskill, Ewen; Poitras, Laura; Ackerman, Spencer; Rushe, Dominic. . The Guardian (12 июля 2013). Дата обращения: 16 января 2018. 19 ноября 2015 года.
- 2020-05-23
- 1