Interested Article - Протокол Signal

Протокол Signal ( англ. Signal Protocol , ранее известный как TextSecure Protocol) криптографический протокол , созданный компанией Open Whisper Systems для обеспечения сквозного шифрования голосовых вызовов, видеозвонков и мгновенных сообщений . Протокол был разработан Open Whisper Systems в 2013 году и впервые был представлен в приложении TextSecure с открытым исходным кодом , которое позже было объединено в приложение Signal. Несколько приложений с закрытым исходным кодом, например, такие как WhatsApp , утверждают, что реализовали этот протокол, который, по их словам, шифрует разговоры «более миллиарда человек во всем мире» . Facebook Messenger также утверждают, что они предлагают этот протокол для дополнительных «секретных сеансов связи», как и Google Allo для своего «режима инкогнито».

Протокол сочетает в себе Double Ratchet Algorithm , и расширенный протокол тройного обмена ключами Диффи-Хеллмана (3-DH) и использует Curve25519 , AES-256 и HMAC - SHA256 в качестве примитивов .

История создания

Разработка протокола Signal была начата в 2013 году Тревором Перрином ( англ. Trevor Perrin) и Мокси Марлинспайком ( англ. ), основателем Open Whisper Systems . Целью этой организации является развитие простого в использовании набора мобильных приложений для безопасного общения. Организация основана в 2013 году и состоит из небольшой группы разработчиков, финансируемой за счёт пожертвований и грантов, а также большого сообщества разработчиков-добровольцев. Первая версия протокола, TextSecure v1, была основана на протоколе Off-the-Record Messaging (OTR) для систем мгновенного обмена сообщениями .

24 февраля 2014 года Open Whisper Systems представила протокол TextSecure v2 , который был перенесен в алгоритм Axolotl Ratchet . Идея Axolotl Ratchet основана на эфемерном обмене ключами, который был представлен OTR , и сочетает его с храповым механизмом симметричного ключа, по образцу протокола мгновенного обмена сообщениями (SCIMP) . Это смогло осуществить поддержку асинхронной связи («оффлайновые сообщения») в качестве его главной новой особенности, а также позволило повысить устойчивость при искаженном порядке сообщений и упростить поддержку разговоров с несколькими участниками . Axolotl Ratchet был назван в честь вымирающих земноводных — , которые имеют экстраординарные способности к регенерации утраченных конечностей. Разработчики называют этот алгоритм самовосстанавливающимся, так как он автоматически отключает злоумышленнику доступ к открытым текстам последующих сообщений после взлома ключа сеанса .

Третья версия протокола, TextSecure v3, внесла некоторые изменения в криптографические примитивы и проводной протокол . В октябре 2014 года исследователи из Рурского университета в Бохуме опубликовали анализ TextSecure v3 . Среди прочих результатов, они представили неизвестную атаку обмена ключами на протокол, но в целом они обнаружили, что он был защищен .

В марте 2016 года разработчики переименовали протокол как протокол Signal. Они также переименовали алгоритм Axolotl Ratchet в Double Ratchet Algorithm , чтобы лучше различать алгоритм и полный протокол , потому что некоторые использовали имя Аксолотль при обращении к полному протоколу .

По состоянию на октябрь 2016 года Протокол Сигнала был основан на протоколе TextSecure v3, но с дополнительными криптографическими изменениями . В октябре 2016 года исследователи из Оксфордского университета в Великобритании, австралийского Технологического Университета Квинсленда и канадского Университета Макмастера опубликовали официальный анализ протокола . Они пришли к выводу, что данный протокол криптографически надежен .

Свойства

Протокол обеспечивает конфиденциальность , целостность, аутентификацию , согласованность участников, проверку назначения, прямую секретность, пост-скомпрометированную безопасность ( англ. Post-Compromise Security , известная как Future Secrecy), сохранение причинно-следственной связи, несвязанность сообщений, отказ от сообщений, отказ от участия и асинхронность. Он не обеспечивает сохранение анонимности и требует наличие серверов для ретрансляции сообщений и хранения информации об открытом ключе .

Протокол Signal также поддерживает возможность сквозных зашифрованных групповых чатов. Протокол группового чата представляет собой комбинацию парного двойного храпового механизма и многоадресного шифрования. В дополнение к свойствам, предоставляемых one-to-one протоколом, протокол группового чата обеспечивает согласованность участников, устойчивость к неупорядоченности, отказоустойчивость сообщений, вычислительное равноправие, равноправие доверия, обмен сообщениями в подгруппах, а также сужаемое и расширяемое количество участников .

Аутентификация

Для аутентификации пользователи могут вручную сравнивать отпечатки открытого ключа через внешний канал. Это позволяет пользователям проверять личности друг друга и избегать man-in-the-middle атаки. Реализация также может использовать механизм доверия при первом использовании, чтобы уведомлять пользователей об изменении ключа корреспондента .

Метаданные

Протокол Signal не мешает компаниям сохранять информацию о том, когда и с кем общаются пользователи . Следовательно могут быть различия в том, как поставщики услуг обмена сообщениями выбирают обработку этой информации. Политика конфиденциальности Сигнала гласит, что идентификаторы получателей хранятся только на серверах Signal столько времени, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк рассказал : «Ближайшая часть информации к метаданным, которую хранит сервер Signal, это последний раз, когда каждый пользователь подключается к серверу, и точность этой информации снижается до дня, а не до часа, минуты и секунды» .

Использование

Open Whisper Systems впервые представила протокол в своем приложении TextSecure . Позже они объединили приложение TextSecure с зашифрованным голосовым вызовом под названием RedPhone и переименовали его в Signal. RedPhone использовал ZRTP для шифрования своих вызовов. В марте 2017 года Signal перешел на новую систему вызовов на основе WebRTC , в которой также появилась возможность совершать видеозвонки . Новая система вызова Signal использует протокол Signal для сквозного шифрования .

В ноябре 2014 года Open Whisper Systems объявила о партнерстве с WhatsApp для обеспечения сквозного шифрования путем включения протокола Signal в каждую клиентскую платформу WhatsApp . Open Whisper Systems заявили, что они уже включили протокол в последний клиент WhatsApp для Android и что вскоре будут поддерживаться другие клиенты, групповые сообщения / мультимедиа и проверка ключей . 5 апреля 2016 года WhatsApp и Open Whisper Systems объявили, что они закончили добавление сквозного шифрования к «каждому виду связи» в WhatsApp и что теперь пользователи могут проверять ключи друг друга . В феврале 2017 года WhatsApp объявил о новой функции WhatsApp Status, которая использует протокол Signal для защиты своего содержимого .

В сентябре 2015 года G Data Software запустила новое приложение для обмена сообщениями под названием Secure Chat, которое использует протокол Signal .

В сентябре 2016 года Google запустил новое приложение для обмена сообщениями под названием Allo , которое имеет опциональный режим инкогнито, использующий протокол Signal для сквозного шифрования .

В октябре 2016 года Facebook развернул дополнительный режим под названием Secret Conversations в Facebook Messenger , который обеспечивает сквозное шифрование с использованием протокола Signal .

В январе 2018 года Open Whisper Systems и Microsoft объявили о добавлении поддержки протокола Signal в опциональный режим Skype , который называется Private Conversations .

В феврале 2020 года вышел новый мессенджер Session (бывший Loki Messenger), который основан на протоколе Signal и поддерживает сквозное шифрование. Заявлена децентрализация на блокчейне и работа через луковую маршрутизацию.

Влияние

Протокол Signal оказал влияние на другие криптографические протоколы. 3 мая 2016 года Viber заявил, что их протокол шифрования является пользовательской реализацией, которая использует те же подходы, что и Протокол Сигнала . 9 мая 2016 года разработчики заявили, что их протокол шифрования Proteus основан на протоколе Signal .

Алгоритм Double Ratchet Algorithm , который был введен как часть протокола Signal, также был адаптирован другими протоколами. OMEMO — это расширение для открытого протокола XMPP , который был представлен в приложении обмена сообщениями Conversations и одобрен Фондом стандартов XMPP (XSF) в декабре 2016 года как XEP-0384 . Matrix — это открытый протокол связи, который включает в себя Olm, библиотеку, которая обеспечивает необязательное сквозное шифрование по комнатам с помощью реализации алгоритма Double Ratchet Algorithm .


Реализации

Open Whisper Systems поддерживает следующие библиотеки протокола Signal на GitHub :

  • : библиотека, написанная на C и опубликованная под лицензией GPLv3 с дополнительными разрешениями для Apple App Store.
  • : библиотека, написанная на Java и опубликованная под лицензией GPLv3.
  • : библиотека, написанная на JavaScript и опубликованная под лицензией GPLv3.

См. также

Примечания

  1. Moxie Marlinspike. (неопр.) (14 февраля 2017). Дата обращения: 8 декабря 2018. 22 марта 2019 года.
  2. Ksenia Ermoshina, Francesca Musiani, Harry Halpin. (неопр.) (25 августа 2016). Дата обращения: 8 декабря 2018. 26 апреля 2021 года.
  3. Time Inc. (неопр.) (22 сентября 2016). Дата обращения: 8 декабря 2018. 3 февраля 2017 года.
  4. Nik Unger, Sergej Dechand, Joseph Bonneau, Sascha Fahl, Henning Perl, Ian Goldberg, Matthew Smith. (неопр.) (2015). Дата обращения: 9 декабря 2018. 1 ноября 2020 года.
  5. Tilman Frosch, Christian Mainka, Christoph Bader, Florian Bergsma, Jorg Schwenk, Thorsten Holz. (неопр.) (2014). Дата обращения: 9 декабря 2018. 28 февраля 2019 года.
  6. Katriel Cohn-Gordon, Cas Cremers, Benjamin Dowling, Luke Garratt, Douglas Stebila. (неопр.) (ноябрь 2017). Дата обращения: 9 декабря 2018. 22 февраля 2017 года.
  7. Open Whisper Systems. (неопр.) (2 марта 2014). Дата обращения: 8 декабря 2018. Архивировано 7 января 2015 года.
  8. Donohue, Brian. (неопр.) (24 февраля 2014). Дата обращения: 8 декабря 2018. 15 ноября 2018 года.
  9. Open Whisper Systems. (неопр.) (15 октября 2014). Дата обращения: 8 декабря 2018. Архивировано 15 октября 2014 года.
  10. Marlinspike, Moxie. (неопр.) (26 ноября 2013). Дата обращения: 9 декабря 2018. 7 августа 2019 года.
  11. Darren Pauli. (неопр.) (3 ноября 2014). Дата обращения: 9 декабря 2018. 4 ноября 2014 года.
  12. Marlinspike, Moxie. (неопр.) (30 марта 2016). Дата обращения: 9 декабря 2018. 15 ноября 2018 года.
  13. Chris Brook. (неопр.) (10 ноября 2016). Дата обращения: 9 декабря 2018. 14 февраля 2017 года.
  14. Christoph Rottermanner, Peter Kieseberg, Markus Huber, Martin Schmiedecker, Sebastian Schrittwieser. (неопр.) (декабрь 2015). Дата обращения: 9 декабря 2018. 27 марта 2016 года.
  15. Micah Lee. (неопр.) (22 июня 2016). Дата обращения: 9 декабря 2018. 19 февраля 2017 года.
  16. Moxie Marlinspike. (неопр.) (13 марта 2017). Дата обращения: 8 декабря 2018. 19 ноября 2018 года.
  17. Jon Evans. (неопр.) (18 ноября 2014). Дата обращения: 8 декабря 2018. 18 ноября 2014 года.
  18. Moxie Marlinspike. (неопр.) (18 ноября 2014). Дата обращения: 8 декабря 2018. 7 декабря 2018 года.
  19. Metz, Cade. (неопр.) (5 апреля 2016). Дата обращения: 8 декабря 2018. 5 апреля 2016 года.
  20. Lomas, Natasha. (неопр.) (5 апреля 2016). Дата обращения: 8 декабря 2018. 13 ноября 2020 года.
  21. WhatsApp. (неопр.) (20 февраля 2017). Дата обращения: 8 декабря 2018.
  22. Tara Seals. (неопр.) (17 сентября 2015). Дата обращения: 8 декабря 2018. 22 июля 2016 года.
  23. GDATASoftwareAG. (неопр.) . Дата обращения: 8 декабря 2018. 7 мая 2017 года.
  24. Greenberg, Andy (неопр.) . Wired (18 мая 2016). Дата обращения: 18 мая 2016. 2 февраля 2017 года.
  25. Gibbs, Samuel (неопр.) . The Guardian (21 сентября 2016). Дата обращения: 21 сентября 2016. 7 января 2019 года.
  26. Isaac, Mike (неопр.) . The New York Times (8 июля 2016). Дата обращения: 12 июля 2016. 12 июля 2016 года.
  27. (неопр.) . Facebook (8 июля 2016). Дата обращения: 11 января 2018. 12 января 2018 года.
  28. Greenberg, Andy (неопр.) . Wired (8 июля 2016). Дата обращения: 12 июля 2016. 11 июля 2016 года.
  29. Greenberg, Andy (неопр.) . Wired (4 октября 2016). Дата обращения: 5 октября 2016. 15 апреля 2017 года.
  30. Newman, Lily Hay (неопр.) . Wired (11 января 2018). Дата обращения: 13 января 2018. 12 января 2018 года.
  31. Lund, Joshua (неопр.) . Signal Blog . Open Whisper Systems (11 января 2018). Дата обращения: 13 января 2018. 2 февраля 2020 года.
  32. (неопр.) . Viber (3 мая 2016). Дата обращения: 8 июля 2017. 11 июля 2016 года.
  33. Eyal, Ofir (неопр.) . Viber (3 мая 2016). Дата обращения: 9 октября 2016. 5 октября 2016 года.
  34. (неопр.) . GitHub . Wire Swiss GmbH (9 мая 2016). Дата обращения: 9 октября 2016. 7 мая 2017 года.
  35. (неопр.) (PDF). Wire Swiss GmbH (3 марта 2016). Дата обращения: 15 июля 2016. (недоступная ссылка)
  36. Andreas Straub. (неопр.) . XMPP Standards Foundation website (7 декабря 2016). Дата обращения: 28 апреля 2017. 25 февраля 2017 года.

Same as Протокол Signal