Сигнальный протокол - Signal Protocol
Протокол связи | |
Цель | Сквозная зашифрованная связь |
---|---|
Разработчики) | Сигнальный мессенджер |
На основе | OTR, SCIMP[1] |
Под влиянием | OMEMO, Матрица[2] |
Слой OSI | Уровень приложения |
Интернет сайт | сигнал |
В Сигнальный протокол (ранее известный как Протокол TextSecure) не-федеративный криптографический протокол которые можно использовать для предоставления сквозное шифрование для голосовых вызовов, видеозвонков,[3] и мгновенное сообщение разговоры.[2] Протокол разработан Открытые системы Whisper в 2013[2] и был впервые представлен в Открытый исходный код TextSecure приложение, которое позже стало Сигнал. Несколько с закрытым исходным кодом приложения утверждают, что реализовали протокол, например WhatsApp, который, как говорят, шифрует разговоры «более миллиарда человек по всему миру».[4] Facebook Messenger также говорят, что они предлагают протокол для необязательных секретных разговоров, как и Skype для личных разговоров.
Протокол сочетает в себе Алгоритм двойного храповика, предварительные ключи и тройной Эллиптическая кривая Диффи – Хеллмана (3-DH) рукопожатие,[5] и использует Подкрутка25519, AES-256, и HMAC-SHA256 в качестве примитивы.[6]
История
Разработка Signal Protocol была начата Тревором Перрином и Мокси Марлинспайк (Open Whisper Systems) в 2013 году. Первая версия протокола TextSecure v1 была основана на Сообщения без записи (OTR).[7][8]
24 февраля 2014 г. компания Open Whisper Systems представила TextSecure v2,[9] который перекочевал на Axolotl Ratchet.[7][10] Дизайн Axolotl Ratchet основан на эфемерном обмене ключами, который был введен OTR, и сочетает его с храповым механизмом с симметричным ключом, смоделированным после Протокол обмена мгновенными сообщениями Silent Circle (SCIMP).[1] Это вызвало поддержку асинхронная связь («автономные сообщения») в качестве его основной новой функции, а также более высокую устойчивость с искаженным порядком сообщений и более простую поддержку разговоров с несколькими участниками.[11] Axolotl Ratchet был назван в честь находящейся под угрозой исчезновения водной саламандры. Аксолотль, который обладает исключительными способностями к самовосстановлению. Разработчики называют алгоритм самовосстановлением, потому что он автоматически запрещает злоумышленнику доступ к открытый текст более поздних сообщений после компрометации ключ сеанса.[1]
Третья версия протокола, TextSecure v3, внесла некоторые изменения в криптографические примитивы и проводной протокол.[7] В октябре 2014 г. исследователи из Рурский университет Бохума опубликовал анализ TextSecure v3.[6][7] Среди других результатов они представили неизвестная атака с использованием общего ключа по протоколу, но в целом они обнаружили, что это безопасно.[12]
В марте 2016 года разработчики переименовали протокол в Signal Protocol. Они также переименовали Axolotl Ratchet в алгоритм Double Ratchet, чтобы лучше различать трещотку и полный протокол.[13] потому что некоторые использовали имя Аксолотль, когда ссылались на полный протокол.[14][13]
По состоянию на октябрь 2016 г.[Обновить], протокол сигналов основан на TextSecure v3, но с дополнительными криптографическими изменениями.[7] В октябре 2016 г. исследователи из Великобритании Оксфордский университет, Австралия Квинслендский технологический университет и канадский Университет Макмастера опубликовал формальный анализ протокола, сделав вывод, что протокол криптографически надежен.[15][16]
Очередной аудит протокола был опубликован в 2017 году.[17]
Характеристики
Протокол обеспечивает конфиденциальность, целостность, аутентификация, согласованность участников, проверка пункта назначения, прямая секретность, безопасность после взлома (также известная как секретность в будущем), сохранение причинно-следственной связи, невозможность связывания сообщений, отказ от сообщения, отказ от участия и асинхронность.[18] Он не обеспечивает сохранение анонимности и требует серверов для ретрансляции сообщений и хранения материалов открытого ключа.[18]
Signal Protocol также поддерживает групповые чаты с сквозным шифрованием. Протокол группового чата представляет собой комбинацию попарного двойного храповика и многоадресное шифрование.[18] В дополнение к свойствам, предоставляемым протоколом один-к-одному, протокол группового чата обеспечивает согласованность говорящих, отказоустойчивость, устойчивость к отброшенным сообщениям, вычислительное равенство, равенство доверия, обмен сообщениями в подгруппах, а также сокращаемое и расширяемое членство. .[18]
Аутентификация
Для аутентификации пользователи могут вручную сравнить отпечатки открытого ключа через внешний канал.[19] Это позволяет пользователям проверять личности друг друга и избегать атака "человек посередине".[19] Реализация также может использовать доверие при первом использовании механизм уведомления пользователей об изменении ключа корреспондента.[19]
Метаданные
Сигнальный протокол не мешает компании сохранять информацию о том, когда и с кем общаются пользователи.[20][21] Поэтому могут быть различия в том, как поставщики услуг обмена сообщениями решают обрабатывать эту информацию. Сигнал политика конфиденциальности утверждает, что идентификаторы получателей хранятся на серверах сигналов только столько времени, сколько необходимо для передачи каждого сообщения.[22] В июне 2016 года Мокси Марлинспайк рассказал Перехват: «наиболее близкая к метаданным информация, которую хранит сервер Signal, - это последний раз, когда каждый пользователь подключался к серверу, и точность этой информации снижается до дня, а не часа, минуты и секунды».[21]
В октябре 2018 года Signal Messenger объявил, что они внедрили в Signal функцию «запечатанного отправителя», которая сокращает объем метаданных, к которым имеют доступ серверы Signal, за счет сокрытия идентификатора отправителя.[23][24] Идентификационные данные отправителя передаются получателю в каждом сообщении, но шифруются с помощью ключа, которого у сервера нет.[24] Это делается автоматически, если отправитель входит в список контактов получателя или имеет доступ к его сигнальному профилю.[24] Пользователи также могут включить опцию получения сообщений «запечатанного отправителя» от лиц, не являющихся контактами, и людей, не имеющих доступа к их профилю сигнала.[24] Одновременное прослушивание устройства пользователя и / или серверов Signal может по-прежнему показывать, что IP-адрес устройства обращался к серверу Signal для отправки или получения сообщений в определенное время.[23]
использование
Open Whisper Systems впервые представила протокол в своих TextSecure приложение. Позже они объединили приложение для зашифрованных голосовых вызовов под названием RedPhone в приложение TextSecure и переименовал его как Сигнал. RedPhone использовал ZRTP чтобы зашифровать его звонки. В марте 2017 года компания Signal перешла на новую WebRTC -основан[3] система звонков, в которой также появилась возможность совершать видеозвонки.[25] Новая система вызовов Signal использует протокол Signal для сквозного шифрования.[3]
В ноябре 2014 года Open Whisper Systems объявила о партнерстве с WhatsApp для обеспечения сквозного шифрования путем включения протокола Signal в каждую клиентскую платформу WhatsApp.[26] Open Whisper Systems заявили, что они уже включили протокол в последний клиент WhatsApp для Android и что вскоре после этого появится поддержка других клиентов, групповых / медиа-сообщений и проверки ключей.[27] 5 апреля 2016 года WhatsApp и Open Whisper Systems объявили, что они завершили добавление сквозного шифрования для «всех форм связи» в WhatsApp, и теперь пользователи могут проверять ключи друг друга.[28][29] В феврале 2017 года WhatsApp анонсировал новую функцию WhatsApp Status, которая использует протокол Signal для защиты своего содержимого.[30] В октябре 2016 года материнская компания WhatsApp Facebook также развернул дополнительный режим под названием Секретные беседы в Facebook Messenger который обеспечивает сквозное шифрование с использованием реализации протокола сигналов.[31][32][33][34]
В сентябре 2015 г. Программное обеспечение G Data запустил новое приложение для обмена сообщениями под названием Secure Chat, в котором использовался протокол сигналов.[35][36] G Data прекратил предоставлять услуги в мае 2018 года.[37]
В сентябре 2016 г. Google запустил новое приложение для обмена сообщениями под названием Алло, в котором есть дополнительный режим инкогнито, в котором для сквозного шифрования используется протокол сигналов.[38][39] В марте 2019 года Google прекратил поддержку Allo в пользу своих Сообщения приложение на Android.[40][41] В ноябре 2020 года Google объявил, что они будут использовать протокол сигнала для обеспечения сквозного шифрования по умолчанию для всех RCS -основанные разговоры между пользователями их приложения Сообщения, начиная с разговоров один на один.[42][43]
В январе 2018 года Open Whisper Systems и Microsoft объявила о добавлении поддержки Signal Protocol в необязательный Skype режим под названием Private Conversations.[44][45]
Влияние
Сигнальный протокол оказал влияние на другие криптографические протоколы. В мае 2016 г. Viber сказал, что их протокол шифрования - это индивидуальная реализация, которая «использует те же концепции», что и протокол сигналов.[46][47] Разработчики Forsta заявили, что в их приложении используется специальная реализация Signal Protocol.[48][49][требуется сторонний источник ]
В Алгоритм двойного храповика который был введен как часть сигнального протокола, также был принят другими протоколами. OMEMO - это протокол расширения XMPP (XEP), который был представлен в Разговоры приложение для обмена сообщениями и одобрено Фонд стандартов XMPP (XSF) в декабре 2016 года как XEP-0384.[50][2] Матрица - это открытый протокол связи, который включает Olm, библиотеку, которая обеспечивает дополнительное сквозное шифрование для каждой комнаты с помощью реализации алгоритма Double Ratchet.[2] Разработчики Проволока заявили, что их приложение использует специальную реализацию алгоритма Double Ratchet.[51][52][53]
Реализации
Signal Messenger поддерживает следующий протокол сигналов библиотеки под GPLv3 лицензия на GitHub:
- libsignal-протокол-c: Библиотека, написанная на C с дополнительными лицензионными разрешениями для Apple Магазин приложений.
- libsignal-протокол-Java: Библиотека, написанная на Ява.
- libsignal-протокол-JavaScript: Библиотека, написанная на JavaScript.
Также существуют альтернативные библиотеки, написанные сторонними организациями на других языках, например Машинопись.[54]
Смотрите также
Рекомендации
- ^ а б c Марлинспайк, Мокси (26 ноября 2013 г.). «Продвинутая криптографическая трещотка». Блог Signal. Открытые системы Whisper. В архиве из оригинала 24 марта 2017 г.. Получено 23 сентября 2016.
- ^ а б c d е Ермошина, Ксения; Мусиани, Франческа; Халпин, Гарри (сентябрь 2016 г.). «Протоколы сквозного обмена зашифрованными сообщениями: обзор». В Баньоли, Франко; и другие. (ред.). Интернет-наука. INSCI 2016. Флоренция, Италия: Springer. С. 244–254. Дои:10.1007/978-3-319-45982-0_22. ISBN 978-3-319-45982-0.
- ^ а б c Марлинспайк, Мокси (14 февраля 2017 г.). «Видеозвонки для Signal теперь в публичной бета-версии». Блог Signal. Открытые системы Whisper. В архиве из оригинала 15 марта 2017 г.. Получено 7 апреля 2017.
- ^ «Мокси Марлинспайк - 40 до 40». Удача. Time Inc. 2016. В архиве из оригинала от 3 февраля 2017 г.. Получено 22 сентября 2016.
- ^ Unger et al. 2015 г., п. 241
- ^ а б Frosch et al. 2016 г.
- ^ а б c d е Cohn-Gordon et al. 2016 г., п. 2
- ^ «Протокол». Открытые системы Whisper. 2 марта 2014 г. Архивировано с оригинал 7 января 2015 г.. Получено 28 октября 2016 - через GitHub.
- ^ Донохью, Брайан (24 февраля 2014 г.). «TextSecure отправляет SMS в последней версии». Threatpost. В архиве из оригинала 15 февраля 2017 г.. Получено 14 июля 2016.
- ^ "ПротоколV2". Открытые системы Whisper. 2 марта 2014 г. Архивировано с оригинал 15 октября 2014 г.. Получено 28 октября 2016 - через GitHub.
- ^ Unger et al. 2015 г.
- ^ Паули, Даррен (3 ноября 2014 г.). «Аудиторы считают, что зашифрованный чат-клиент TextSecure безопасен». Реестр. В архиве из оригинала 4 ноября 2014 г.. Получено 4 ноября 2014.
- ^ а б Марлинспайк, Мокси (30 марта 2016 г.). «Сигнал снаружи, сигнал внутри». Блог Signal. Открытые системы Whisper. В архиве с оригинала 28 декабря 2016 г.. Получено 9 апреля 2016.
- ^ Cohn-Gordon et al. 2016 г., п. 1
- ^ Брук, Крис (10 ноября 2016 г.). «Аудит сигнала показывает, что протокол криптографически надежен». Threatpost. Лаборатория Касперского. В архиве из оригинала 14 февраля 2017 г.. Получено 11 ноября 2016.
- ^ Cohn-Gordon et al. 2016 г.
- ^ Н. Кобейси; К. Бхаргаван; Б. Бланше (2017). «Автоматическая проверка протоколов безопасного обмена сообщениями и их реализации: символический и вычислительный подход». Европейский симпозиум IEEE по безопасности и конфиденциальности 2017 г. (EuroS & P) (PDF). С. 435–450. Дои:10.1109 / EuroSP.2017.38. ISBN 978-1-5090-5762-7. S2CID 6717546. В архиве (PDF) из оригинала 24 июля 2018 г.. Получено 29 августа 2020.
- ^ а б c d Unger et al. 2015 г., п. 239
- ^ а б c Роттерманнер и др. 2015 г., п. 5
- ^ Роттерманнер и др. 2015 г., п. 4
- ^ а б Ли, Мика (22 июня 2016 г.). «Битва приложений для безопасного обмена сообщениями: как Signal превосходит WhatsApp». Перехват. В архиве из оригинала 19 февраля 2017 г.. Получено 8 октября 2016.
- ^ "Политика конфиденциальности". Открытые системы Whisper. нет данных В архиве из оригинала 29 апреля 2017 г.. Получено 8 октября 2016.
- ^ а б Дэн Гудин (30 октября 2018 г.). «Новая функция конфиденциальности Signal удаляет идентификатор отправителя из метаданных». Ars Technica. В архиве с оригинала 28 марта 2019 г.. Получено 28 марта 2019.
- ^ а б c d Лунд, Джошуа (29 октября 2018 г.). «Предварительный просмотр технологии: запечатанный отправитель сигнала». signal.org. Посланник сигналов. В архиве из оригинала 24 ноября 2018 г.. Получено 16 апреля 2019.
- ^ Марлинспайк, Мокси (13 марта 2017 г.). "Видеозвонки для Signal, завершившего бета-тестирование". Блог Signal. Открытые системы Whisper. В архиве из оригинала 15 марта 2017 г.. Получено 7 апреля 2017.
- ^ Эванс, Джон (18 ноября 2014 г.). «WhatsApp сотрудничает с открытыми системами Whisper для непрерывного шифрования миллиардов сообщений в день». TechCrunch. В архиве из оригинала 18 ноября 2014 г.. Получено 14 марта 2016.
- ^ Марлинспайк, Мокси (18 ноября 2014 г.). «Open Whisper Systems сотрудничает с WhatsApp, чтобы обеспечить сквозное шифрование». Открытые системы Whisper. В архиве из оригинала 18 ноября 2014 г.. Получено 14 марта 2016.
- ^ Мец, Кейд (5 апреля 2016 г.). «Забудьте Apple против ФБР: WhatsApp только что включил шифрование для миллиарда человек». Проводной. В архиве из оригинала 5 апреля 2016 г.. Получено 5 апреля 2016.
- ^ Ломас, Наташа (5 апреля 2016 г.). «WhatsApp завершает развертывание сквозного шифрования». TechCrunch. В архиве из оригинала от 6 апреля 2016 г.. Получено 5 апреля 2016.
- ^ «Статус WhatsApp». WhatsApp. Facebook. 20 февраля 2017. В архиве из оригинала 23 февраля 2017 г.. Получено 23 февраля 2017.
- ^ Исаак, Майк (8 июля 2016 г.). «Facebook добавит« Секретные разговоры »в приложение Messenger». Нью-Йорк Таймс. В архиве из оригинала 12 июля 2016 г.. Получено 12 июля 2016.
- ^ «Messenger начинает тестирование сквозного шифрования с секретными разговорами». Facebook. 8 июля 2016 г. В архиве с оригинала 12 января 2018 г.. Получено 11 января 2018.
- ^ Гринберг, Энди (8 июля 2016 г.). "'Секретные разговоры: «Сквозное шифрование приходит в Facebook Messenger». Проводной. В архиве из оригинала 11 июля 2016 г.. Получено 12 июля 2016.
- ^ Гринберг, Энди (4 октября 2016 г.). «Наконец-то вы все можете зашифровать Facebook Messenger, так что сделайте это». Проводной. В архиве с оригинала 15 апреля 2017 г.. Получено 5 октября 2016.
- ^ Тюлени, Тара (17 сентября 2015 г.). «G DATA добавляет шифрование для безопасного мобильного чата». Журнал Infosecurity. В архиве из оригинала 22 июля 2016 г.. Получено 14 июля 2016.
- ^ «SecureChat». G Данные. В архиве из оригинала 7 мая 2017 г.. Получено 14 июля 2016 - через GitHub.
- ^ "Защищенный чат G DATA wird eingestellt" (на немецком). G DATA Software AG. 18 мая 2018. В архиве из оригинала 26 апреля 2019 г.. Получено 26 апреля 2019.
- ^ Гринберг, Энди (18 мая 2016 г.). «С помощью Allo и Duo Google наконец-то шифрует разговоры от начала до конца». Проводной. В архиве из оригинала 2 февраля 2017 г.. Получено 18 мая 2016.
- ^ Гиббс, Сэмюэл (21 сентября 2016 г.). «Google запускает конкурента WhatsApp Allo - с помощью Google Assistant». Хранитель. В архиве с оригинала 7 января 2019 г.. Получено 21 сентября 2016.
- ^ Портер, Джон (12 марта 2019 г.). «Сегодня Google наконец-то прощается с Allo». Грани. Vox Media. В архиве с оригинала 12 марта 2019 г.. Получено 26 апреля 2019.
- ^ Клайнер, Мэтт (5 декабря 2018 г.). "Последние новости о Сообщениях, Allo, Duo и Hangouts". В архиве из оригинала 13 апреля 2019 г.. Получено 26 апреля 2019.
- ^ Бон, Дитер (19 ноября 2020 г.). «Google внедряет сквозное шифрование для RCS в бета-версии сообщений Android». Грани. Vox Media, Inc. Получено 28 ноября 2020.
- ^ Омара, Эмад (ноябрь 2020 г.). «Обзор сквозного шифрования сообщений» (PDF). gstatic.com. Google. Получено 28 ноября 2020.
- ^ Ньюман, Лили Хэй (11 января 2018 г.). «Сквозное шифрование Skype для сотен миллионов людей». Проводной. В архиве с оригинала 12 января 2018 г.. Получено 13 января 2018.
- ^ Лунд, Джошуа (11 января 2018 г.). «Signal сотрудничает с Microsoft, чтобы внедрить в Skype сквозное шифрование». Блог Signal. Открытые системы Whisper. В архиве из оригинала 2 февраля 2020 г.. Получено 13 января 2018.
- ^ «Обзор шифрования Viber». Viber. 3 мая 2016 г. Архивировано с оригинал 11 июля 2016 г.. Получено 8 июля 2017.
- ^ Эял, Офир (3 мая 2016 г.). «Канада, Германия и Австралия получают шифрование e2e». Viber. В архиве из оригинала 5 октября 2016 г.. Получено 9 октября 2016.
- ^ u / takeer. «r / crypto - Forsta - платформа обмена сообщениями на основе сигналов для предприятий». Reddit. В архиве из оригинала 2 мая 2018 г.. Получено 6 февраля 2019.
- ^ "ForstaLabs / libsignal-узел". GitHub. Forsta Inc. 3 февраля 2019 г. В архиве из оригинала 13 июня 2018 г.. Получено 6 февраля 2019.
- ^ Андреас Штрауб (7 декабря 2016 г.). «XEP-0384: шифрование OMEMO». Веб-сайт Фонда стандартов XMPP. В архиве из оригинала 25 февраля 2017 г.. Получено 28 апреля 2017.
- ^ "Добавить атрибуцию". GitHub. Wire Swiss GmbH. 9 мая 2016. В архиве из оригинала 7 мая 2017 г.. Получено 9 октября 2016.
- ^ "Белая книга по безопасности проводов" (PDF). Wire Swiss GmbH. 3 марта 2016 г. В архиве (PDF) из оригинала 10 сентября 2018 г.. Получено 7 февраля 2019.
- ^ Ломас, Наташа (16 декабря 2016 г.). «Приложение для обмена зашифрованными сообщениями Wire добавляет имена пользователей, чтобы вы могли ограничить то, чем вы делитесь с контактами». TechCrunch. Verizon Media. В архиве с оригинала 9 февраля 2019 г.. Получено 8 февраля 2019.
- ^ Privacy Research, LLC. "libsignal-протокол-машинопись". github.com. Получено 28 ноября 2020.
Литература
- Кон-Гордон, Катриэль; Cremers, Cas; Даулинг, Бенджамин; Гаррат, Люк; Стебила, Дуглас (25 октября 2016 г.). «Формальный анализ безопасности протокола передачи сигналов». Архив криптологии ePrint. Международная ассоциация криптологических исследований (IACR). В архиве с оригинала 28 декабря 2016 г.. Получено 27 октября 2016.
- Ермошина, Ксения; Мусиани, Франческа; Халпин, Гарри (сентябрь 2016 г.). «Протоколы сквозного обмена зашифрованными сообщениями: обзор». В Баньоли, Франко; и другие. (ред.). Интернет-наука. INSCI 2016. Флоренция, Италия: Springer. С. 244–254. Дои:10.1007/978-3-319-45982-0_22. ISBN 978-3-319-45982-0.
- Фрош, Тилман; Майнка, Кристиан; Бадер, Кристоф; Бергсма, Флориан; Швенк, Йорг; Хольц, Торстен (март 2016 г.). Насколько безопасен TextSecure?. Европейский симпозиум по безопасности и конфиденциальности IEEE 2016 г. (EuroS & P). Саарбрюккен, Германия: IEEE. С. 457–472. Дои:10.1109 / EuroSP.2016.41. ISBN 978-1-5090-1752-2.
- Роттерманнер, Кристоф; Кизеберг, Питер; Хубер, Маркус; Шмидекер, Мартин; Шриттвизер, Себастьян (декабрь 2015 г.). Конфиденциальность и защита данных в мессенджерах для смартфонов (PDF). Материалы 17-й Международной конференции по интеграции информации и веб-приложениям и услугам (iiWAS2015). Серия трудов международных конференций ACM. ISBN 978-1-4503-3491-4. В архиве (PDF) из оригинала 27 марта 2016 г.. Получено 25 сентября 2016.
- Унгер, Ник; Дечан, Сергей; Бонно, Жозеф; Фахл, Саша; Перл, Хеннинг; Гольдберг, Ян Аврум; Смит, Мэтью (2015). SoK: безопасный обмен сообщениями (PDF). Материалы симпозиума IEEE 2015 г. по безопасности и конфиденциальности. Технический комитет IEEE Computer Society по безопасности и конфиденциальности. С. 232–249. Дои:10.1109 / SP.2015.22. В архиве (PDF) из оригинала 4 марта 2016 г.. Получено 23 сентября 2016.
- Рёслер, Пауль; Майнка, Кристиан; Швенк, Йорг (2017). Больше значит меньше: о сквозной безопасности групповых чатов в Signal, WhatsApp и Threema. Архив криптологии ePrint. Международная ассоциация криптологических исследований (IACR). В архиве из оригинала на 3 февраля 2019 г.. Получено 26 июн 2019.
внешняя ссылка
- Официальный веб-сайт
- «Протокол TextSecure: настоящее и будущее», выступление Тревора Перрина на NorthSec 2015 (видео)