(Этот ответ относится к Сигнальный протокол, который лежит в основе таких приложений, как Signal и WhatsApp. Насколько я знаю, программное обеспечение WhatsApp не является открытым исходным кодом, и поэтому трудно установить, действительно ли и каким образом они реализуют протокол Signal. Исходный код Сигнальное приложение является, с другой стороны, имеется в наличии.)
На высоком уровне протокол Signal основан на неофициально протокол обмена сообщениями [BBG]. Анализ безопасности протокола Signal для концы с концами обмена сообщениями (по сравнению с протоколом для группа обмен сообщениями, который рассматривается ниже) осуществлялся в [CCG,CCDGS,B+]$^*$. Вкратце, в этих работах реализовано, что основным компонентом сигнального протокола является криптографический примитив, называемый (однонаправленным) храповой обмен ключами/храповое шифрование (подробнее о трещотках можно прочитать в это публиковать). Протокол обмена ключами с храповым механизмом (например, храповой механизм Диффи-Хеллмана), в дополнении к гарантии, предоставляемые ванилью обмен ключами протокол (например, Диффи-Хеллмана и его производные, такие как MQV), обеспечивает такие свойства безопасности, как прямая секретность и посткомпрометная (или обратная) безопасность. Дальнейший анализ храпового обмена ключами был проведен в [PR,ACD]: они усилили результаты в [CCG,CCDGS,BCJNS], чтобы учесть двунаправленный или же двойной храповики.
группа протокол обмена сообщениями, используемый в Signal/WhatApp, в настоящее время стандартизируется IETF: см. Рабочая группа МЛС для последних обновлений. Базовый протокол называется постоянное групповое ключевое соглашение$^{**}$ и он направлен на расширение обмена ключами с храповым механизмом, который ограничен двумя пользователями, на динамические группы с несколькими пользователями. Одна из основных целей здесь состоит в том, чтобы коммуникационная сложность протокола масштабировалась сублинейно с количеством участников в группе.$^{***}$ Вы можете прочитать больше об анализе безопасности предложения (который основан на протоколах ART [CCGMM] и TreeKEM [BBR]) в [ACCKKPW, ACDT] и документах, на которые они ссылаются.
$^*$ Подробнее о различиях между результатами в [CCG,CCDGS,BCJNS] можно прочитать в соответствующем разделе работ [CCDGS] и [BCJNS].
$^{**}$ Сквозной храповой обмен ключами также иногда называют непрерывным соглашением о ключах.
$^{***}$ Групповые храповики можно смоделировать с помощью сквозных храповиков, если вас не волнует увеличение сложности связи.
[ACCKKPW]: Алвен и др., Keep the Dirt: Tainted TreeKEM, соглашение о непрерывном групповом ключе с адаптивной и активной защитой, ЕвроS&P 2021
[ACD]: Алвен, Коретти и Додис, Двойной храповик: понятия безопасности, доказательства и модульность для сигнального протокола, Еврокрипт 2019
[ACDT]: Алвен, Коретти, Додис и Целекунис, Анализ безопасности и улучшения для стандарта IETF MLS для группового обмена сообщениями, Крипто 2020
[BCJNS] Белларе и др., Храповое шифрование и обмен ключами: безопасность обмена сообщениями, Крипто 2017
[BBR] Барнс, Бхаргаван и Рескорла, TreeKEM: асинхронное децентрализованное управление ключами для больших динамических групп
[BBG] Борисов, Брюстер и Голдберг, Неофициальное общение, или Почему бы не использовать PGP, 2004 г.
[CCDGS]: Кон-Гордон и др., Формальный анализ безопасности протокола обмена сигнальными сообщениями, ЕвроS&P 2017
[CCGMM]: Кон-Гордон и др., О сквозном шифровании: асинхронный групповой обмен сообщениями с надежными гарантиями безопасности, СКС 2018
[CCG]: Кон-Гордон, Кремерс и Гаретт, Безопасность после взлома, Форум 2016
[PR]: Поттеринг и Рёсслер, Асинхронный обмен ключами с храповым механизмом, Крипто 2018