Pull to refresh
163.96

MLS (Messaging Layer Security) — единый протокол шифрования для всех приложений

Reading time3 min
Views3.3K
Инженерный совет Интернета 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.



Tags:
Hubs:
Total votes 7: ↑6 and ↓1+7
Comments7

Articles

Information

Website
www.globalsign.com
Registered
Founded
1996
Employees
501–1,000 employees
Location
Япония