Сигнальный протокол - Signal Protocol
Протокол связи | |
Цель | Сквозная зашифрованная связь |
---|---|
Разработчики) | Фонд сигнальных технологий |
На основе | OTR , SCIMP |
Под влиянием | OMEMO , Матрица |
Слой OSI | Уровень приложения |
Веб-сайт | сигнал |
Signal Protocol (ранее известный как Протокол TextSecure ) является не- федеративного криптографическим протоколом , который может быть использован для обеспечения шифрования конца в конец для голосовых вызовов и обмена мгновенных сообщений разговоров. Протокол был разработан Open Whisper Systems в 2013 году и впервые был представлен в приложении TextSecure с открытым исходным кодом , которое позже стало Signal . Протокол реализован в нескольких приложениях с закрытым исходным кодом , таких как WhatsApp , который, как говорят, шифрует разговоры «более миллиарда человек по всему миру», или Google, который по умолчанию обеспечивает сквозное шифрование для всех разговоров между пользователями на основе RCS. своего приложения Сообщения для личных бесед. Facebook Messenger также заявляет, что предлагает протокол для дополнительных секретных разговоров, как и Skype для частных разговоров.
Протокол объединяет алгоритм двойного храповика, предварительные ключи и рукопожатие Диффи – Хеллмана с тройной эллиптической кривой (3-DH) и использует в качестве примитивов Curve25519 , AES-256 и HMAC-SHA256 .
История
Разработка протокола Signal была начата Тревором Перрином и Мокси Марлинспайком (Open Whisper Systems) в 2013 году. Первая версия протокола, TextSecure v1, была основана на передаче сообщений вне записи (OTR).
24 февраля 2014 года компания Open Whisper Systems представила TextSecure v2, которая перешла на Axolotl Ratchet. Дизайн Axolotl Ratchet основан на обмене эфемерными ключами, который был введен OTR, и сочетает его с храповым механизмом с симметричным ключом, смоделированным на основе Silent Circle Instant Messaging Protocol (SCIMP). Он обеспечил поддержку асинхронной связи («автономные сообщения») в качестве основной новой функции, а также улучшил устойчивость к искаженному порядку сообщений и упростил поддержку разговоров с несколькими участниками. Axolotl Ratchet был назван в честь находящейся под угрозой исчезновения водной саламандры Axolotl , которая обладает исключительными способностями к самовосстановлению. Разработчики называют алгоритм самовосстановлением, потому что он автоматически запрещает злоумышленнику доступ к открытому тексту более поздних сообщений после компрометации сеансового ключа .
Третья версия протокола, TextSecure v3, внесла некоторые изменения в криптографические примитивы и проводной протокол. В октябре 2014 года исследователи из Рурского университета в Бохуме опубликовали анализ TextSecure v3. Среди других выводов они представили неизвестную атаку с использованием общего ключа на протокол, но в целом они обнаружили, что она безопасна.
В марте 2016 года разработчики переименовали протокол в Signal Protocol. Они также переименовали Axolotl Ratchet в алгоритм Double Ratchet, чтобы лучше различать храповик и полный протокол, потому что некоторые использовали название Axolotl при обращении к полному протоколу.
По состоянию на октябрь 2016 года протокол сигналов основан на TextSecure v3, но с дополнительными криптографическими изменениями. В октябре 2016 года исследователи из Оксфордского университета Великобритании , Технологического университета Квинсленда в Австралии и Университета Макмастера в Канаде опубликовали формальный анализ протокола и пришли к выводу, что протокол является криптографически надежным.
Очередной аудит протокола был опубликован в 2017 году.
Характеристики
Протокол обеспечивает конфиденциальность, целостность, аутентификацию , согласованность участников, проверку места назначения, прямую секретность , безопасность после компрометации (также известную как секретность в будущем), сохранение причинно-следственной связи, несвязанность сообщений, отказ от сообщений, отказ от участия и асинхронность. Он не обеспечивает сохранение анонимности и требует серверов для ретрансляции сообщений и хранения материалов открытого ключа.
Signal Protocol также поддерживает групповые чаты с сквозным шифрованием. Протокол группового чата представляет собой комбинацию попарного двойного храпового механизма и многоадресного шифрования . В дополнение к свойствам, предоставляемым протоколом один-к-одному, протокол группового чата обеспечивает согласованность говорящих, отказоустойчивость, устойчивость к отброшенным сообщениям, вычислительное равенство, равенство доверия, обмен сообщениями в подгруппах, а также сокращаемое и расширяемое членство. .
Аутентификация
Для аутентификации пользователи могут вручную сравнить отпечатки открытых ключей через внешний канал. Это позволяет пользователям проверять личности друг друга и избегать атаки «злоумышленник в середине» . Реализация также может выбрать использование механизма доверия при первом использовании , чтобы уведомить пользователей об изменении ключа корреспондента.
Метаданные
Сигнальный протокол не мешает компании сохранять информацию о том, когда и с кем общаются пользователи. Поэтому могут быть различия в том, как поставщики услуг обмена сообщениями решают обрабатывать эту информацию. Политика конфиденциальности Signal гласит, что идентификаторы получателей хранятся на серверах Signal только столько, сколько необходимо для передачи каждого сообщения. В июне 2016 года Мокси Марлинспайк сказал The Intercept : « Самая близкая к метаданным информация, которую хранит сервер Signal, - это последний раз, когда каждый пользователь подключался к серверу, и точность этой информации снижается до дня, а не часа. , минута и секунда ".
В октябре 2018 года Signal Messenger объявил, что они внедрили в Signal функцию «запечатанного отправителя», которая сокращает объем метаданных, к которым имеют доступ серверы Signal, за счет сокрытия идентификатора отправителя. Идентификационные данные отправителя передаются получателю в каждом сообщении, но шифруются с помощью ключа, которого у сервера нет. Это делается автоматически, если отправитель входит в список контактов получателя или имеет доступ к его сигнальному профилю. Пользователи также могут включить опцию получения сообщений «запечатанного отправителя» от лиц, не являющихся контактами, и людей, не имеющих доступа к их профилю сигнала. Одновременное прослушивание устройства пользователя и / или серверов Signal может по-прежнему показывать, что IP-адрес устройства обращался к серверу Signal для отправки или получения сообщений в определенное время.
использование
Open Whisper Systems впервые представила протокол в своем приложении TextSecure . Позже они объединили приложение для зашифрованных голосовых вызовов RedPhone с приложением TextSecure и переименовали его в 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 для защиты своего содержимого. В октябре 2016 года материнская компания WhatsApp Facebook также развернула дополнительный режим под названием Secret Conversations в Facebook Messenger, который обеспечивает сквозное шифрование с использованием реализации протокола Signal.
В сентябре 2015 года G Data Software запустила новое приложение для обмена сообщениями под названием Secure Chat, в котором использовался протокол Signal. G Data прекратил обслуживание в мае 2018 года.
В сентябре 2016 года Google запустил новое приложение для обмена сообщениями под названием Allo с дополнительным режимом инкогнито, в котором для сквозного шифрования использовался протокол Signal. В марте 2019 года Google прекратил поддержку Allo в пользу своего приложения Сообщения для Android. В ноябре 2020 года Google объявил, что они будут использовать протокол Signal для обеспечения сквозного шифрования по умолчанию для всех разговоров на основе RCS между пользователями их приложения Messages , начиная с разговоров один на один.
В январе 2018 года Open Whisper Systems и Microsoft объявили о добавлении поддержки Signal Protocol в дополнительный режим Skype под названием Private Conversations.
Влиять
Сигнальный протокол оказал влияние на другие криптографические протоколы. В мае 2016 года Viber заявил, что их протокол шифрования представляет собой настраиваемую реализацию, которая «использует те же концепции», что и протокол Signal. Разработчики Forsta заявили, что в их приложении используется специальная реализация Signal Protocol.
Алгоритм Double Ratchet , который был представлен как часть протокола Signal также был принят другими протоколами. OMEMO - это протокол расширения XMPP (XEP), который был представлен в приложении для обмена сообщениями Conversations и одобрен XMPP Standards Foundation (XSF) в декабре 2016 года как XEP-0384. Matrix - это открытый протокол связи, который включает Olm, библиотеку, которая обеспечивает дополнительное сквозное шифрование для каждой комнаты с помощью реализации алгоритма Double Ratchet. Разработчики Wire заявили, что в их приложении используется специальная реализация алгоритма Double Ratchet.
Безопасность уровня обмена сообщениями , предложение IETF , использует асинхронные храповые деревья для эффективного улучшения гарантий безопасности по сравнению с двойным храповым механизмом Signal .
Реализации
Signal Messenger поддерживает следующие библиотеки Signal Protocol под лицензией GPLv3 на GitHub :
- libsignal-protocol-c : библиотека, написанная на C, с дополнительными лицензионными разрешениями для Apple App Store .
- libsignal-protocol-java : библиотека, написанная на Java .
- libsignal-protocol-javascript : библиотека, написанная на JavaScript .
Также существуют альтернативные библиотеки, написанные сторонними разработчиками на других языках, например TypeScript .
Смотрите также
использованная литература
Литература
- Кон-Гордон, Катриэль; Cremers, Cas; Даулинг, Бенджамин; Гаррат, Люк; Стебила, Дуглас (25 октября 2016 г.). «Формальный анализ безопасности протокола передачи сигналов» . Архив криптологии ePrint . Международная ассоциация криптологических исследований (IACR). Архивировано 28 декабря 2016 года . Проверено 27 октября 2016 года .
- Ермошина, Ксения; Мусиани, Франческа; Халпин, Гарри (сентябрь 2016 г.). «Протоколы сквозного обмена зашифрованными сообщениями: обзор». В Баньоли, Франко; и другие. (ред.). Интернет-наука . INSCI 2016. Флоренция, Италия: Springer. С. 244–254. DOI : 10.1007 / 978-3-319-45982-0_22 . ISBN 978-3-319-45982-0.
- Фрош, Тилман; Майнка, Кристиан; Бадер, Кристоф; Бергсма, Флориан; Швенк, Йорг; Хольц, Торстен (март 2016 г.). Насколько безопасен TextSecure? . Европейский симпозиум по безопасности и конфиденциальности IEEE 2016 г. (EuroS & P). Саарбрюккен, Германия: IEEE. С. 457–472. DOI : 10.1109 / EuroSP.2016.41 . ISBN 978-1-5090-1752-2.
- Роттерманнер, Кристоф; Кизеберг, Питер; Хубер, Маркус; Шмидекер, Мартин; Шриттвизер, Себастьян (декабрь 2015 г.). Конфиденциальность и защита данных в программах обмена сообщениями для смартфонов (PDF) . Материалы 17-й Международной конференции по интеграции информации и веб-приложениям и услугам (iiWAS2015). Сборник материалов международной конференции ACM. ISBN 978-1-4503-3491-4. Архивировано 27 марта 2016 года (PDF) . Проверено 25 сентября 2016 года .
- Унгер, Ник; Дечан, Сергей; Бонно, Жозеф; Фахл, Саша; Перл, Хеннинг; Гольдберг, Ян Аврум; Смит, Мэтью (2015). SoK: безопасный обмен сообщениями (PDF) . Материалы симпозиума IEEE 2015 г. по безопасности и конфиденциальности. Технический комитет IEEE Computer Society по безопасности и конфиденциальности. С. 232–249. DOI : 10,1109 / SP.2015.22 . Архивировано 4 марта 2016 года (PDF) из оригинала . Проверено 23 сентября 2016 года .
- Рёслер, Пауль; Майнка, Кристиан; Швенк, Йорг (2017). Больше значит меньше: о сквозной безопасности групповых чатов в Signal, WhatsApp и Threema . Архив криптологии ePrint . Международная ассоциация криптологических исследований (IACR). Архивировано 3 февраля 2019 года . Проверено 26 июня 2019 .
внешние ссылки
- Официальный веб-сайт
- «Протокол TextSecure: настоящее и будущее» , выступление Тревора Перрина на NorthSec 2015 (видео)