Инженерный совет Интернета IETF официально принял стандарт Messaging Layer Security (MLS) — новый протокол сквозного шифрования сообщений поверх TLS. Это дополнительный уровень криптографии, который может покрыть все существующие приложения и обеспечить совместимость между ними. То есть он в идеальном случае станет всеобщим протоколом для всех мессенджеров.

MLS обеспечивает сквозное шифрование между разными приложениями и устройствами таким образом, что облачные службы и инфраструктура, через которую проходит трафик, не имеют возможности расшифровать эти сообщения.

До появления MLS не существовало открытой, совместимой спецификации для этого дополнительного уровня криптографии. Новый протокол заполняет этот пробел. Он предоставляет систему, которая полностью специфицирована, формально проверена и проста в использовании для разработчиков.

Идея создания такого всеобщего протокола шифрования обсуждалась в 2016 году на неофициальной встрече IETF 96 в Берлине с участием представителей Wire, Mozilla и Cisco. Забегая вперёд, что в 2023 году мессенджер Wire стал одним из первых, кто официально реализовал поддержку MLS.

В 2017 году вышла научная статья On Ends-to-Ends Encryption: Asynchronous Group Messaging with Strong Security Guarantees, в которой были сформулированы основные идеи для создания более эффективных схем шифрования и управления ключами, чем алгоритм двойного храповика:


Сравнение эффективности алгоритма двойного храповика (DH ratcheting) и новой схемы управления ключами, предложенной в научной работе

Про алгоритм двойного храповика на Хабре уже неоднократно рассказывали. Это самовосстанавливающийся алгоритм для обновления и обслуживания коротких сеансов жизни ключей, которые постоянно обновляются у каждого пользователя. Соответственно, ими нужно постоянно заново обмениваться в реальном времени. Схема с генерацией ключей по этому алгоритму надёжная и проверенная, она используется в нескольких криптографических мессенджерах со сквозным шифрованием, в том числе в Signal.

MLS опирается на современное поколение протоколов безопасности — и берёт лучшее от них. В частности, механизм генерации эфемерных ключей взят у упомянутого Double Ratchet (алгоритм двойного храповика). Благодаря этому MLS допускает асинхронную работу и предоставляет расширенные функции безопасности, такие как защита после компрометации.


Принцип генерации ключей по алгоритму двойного храповика

Как и TLS 1.3, MLS обеспечивает надёжную аутентификацию, а его характеристики безопасности были подтверждены формальным анализом (независимая оценка протокола).



В целом, новый протокол сочетает лучшие черты предшественников и добавляет эффективное масштабирование для групповых разговоров из тысяч устройств без ущерба для безопасности.

IETF сообщает, что черновые версии MLS были испытаны в продакшне для шифрования разговоров в режиме реальном времени в коммуникационных продуктах Webex и RingCentral. Эти испытания подтвердили способность MLS хорошо работать в реальных сценариях в крупном масштабе с тысячами и миллионами пользователей.


Компоненты тестовой установки MLS, источник

Другие приложения, такие как Wickr и Matrix, планируют перейти на MLS в ближайшее время, а рабочая группа IETF MIMI выбрала MLS в качестве стандарта сквозного шифрования в своей системе для совместимого обмена сообщениями.


Шифрование MLS. Веб-клиент с текущим видеозвонком и сообщением в чате, источник

Требования к архитектуре MLS


Кроме спецификаций протокола, IETF также опубликовал требования к архитектуре MLS, то есть описание безопасной инфраструктуры группового обмена сообщениями.



Это руководство по созданию инфраструктуры и описание некоторых компромиссов между безопасностью и конфиденциальностью, которые приходится учитывать в многочисленных механизмах безопасности MLS (например, частота ротации открытого ключа шифрования).

Документ также содержит рекомендации для частей инфраструктуры, которые не стандартизированы в протоколе MLS и оставлены на усмотрение приложений и архитекторов инфраструктуры.

Хотя рекомендации этого документа не являются обязательными для выполнения на уровне протокола, они влияют на общие гарантии безопасности приложений для обмена сообщениями. Это особенно важно для приложений, где есть реальная угроза атак с возможной компрометацией клиентского модуля, службы доставки или аутентификации.



Для MLS это только начало большого пути. На сегодняшний день создано несколько реализаций MLS, в том числе две реализации с открытым исходным кодом:

  • OpenMLS, язык: Rust, лицензия: MIT
  • MLS++, язык: C++, лицензия: BSD-2

Чем больше реализаций, тем шире будет распространение MLS в большем количестве приложений и сервисов. Аналогичным образом, большее количество внедрений даст разработчикам ценные уроки по улучшению будущих версий протокола и библиотек. И хотя MLS является важной частью истории сквозной безопасности, ещё предстоит написать другие важные части. Например, создать систему надёжной идентификации, способную интегрироваться с системой аутентификации MLS и системами управления секретами, считает IETF.



Комментарии (6)


  1. Travisw
    13.04.2023 17:01
    -1

    Американская лига соккера не в восторге!


  1. Scratch
    13.04.2023 17:01
    +3

    Если в двух словах - это протокол типа Signal, но для групчатов. Отлично, что его, наконец, допилили


    1. inscriptios
      13.04.2023 17:01
      -1

      А как сейчас групчаты работают в Signal? Они же работают. Тогда с ваших слов, в двух словах, получается просто "это протокол типа Signal".


  1. renaabdulova
    13.04.2023 17:01

    MLS (Messaging Layer Security) - это протокол шифрования, который используется для защиты сообщений в различных приложениях. Он был разработан как единый стандарт для шифрования сообщений в различных приложениях, таких как мессенджеры, электронная почта и другие. MLS предоставляет конфиденциальность, целостность и аутентификацию сообщений, что делает его надежным инструментом для обеспечения безопасности в современном мире цифровых коммуникаций. Кроме того, MLS обеспечивает защиту от атак типа "человек посередине" и других видов кибератак, что делает его особенно важным для использования в критических ситуациях, таких как бизнес-коммуникации или обмен конфиденциальной информацией.


  1. HabraUser666
    13.04.2023 17:01

    Ну и чем это лучше, чем PGP? Или PKI? Или TLS? Очередная централизованная хрень, сломал или подменил MLS сервер, и всё, перлюстируй все, что хочешь. Статья совершенно бессодержательна. Про то, как это все проверяется формально, мы все прекрасно знаем, SSL тоже формально был надежный, или WPA, и что сколько их уже версий вышло.


  1. grossws
    13.04.2023 17:01

    Инженерный совет Интернета IETF официально принял стандарт Messaging Layer Security (MLS)

    WAT o_O? Вы на сайт ietf сходили что-ли.. Там до rfc ещё как до луны, первые черновики только. Стандарт в понимании ietf -- это ещё более другое. По сути приняли заявку на то что рабочая группа будет писать rfc. А то по классике получилось: и не квартиру, а машину; и не выиграл, а проиграл; и не в преферанс, а в очко