Matrix/Riot с шифрованием личных сообщений по умолчанию
Компания New Vector, сотрудники которой также возглавляют некоммерческую организацию протокола Matrix, объявила о выпуске ряда Matrix-клиентов семейства Riot.
Matrix — это свободный протокол для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Основной реализацией этого протокола является мессенджер с поддержкой сигналирования VoIP, но возможны и другие вещи, так как это протокол общего назначения.
Главным изменением выпущенных клиентов для браузера и Electron-обёртки (1.6.0), Android (0.19.0) и iOS (0.11.1-0.11.2) стало включение сквозного шифрования для личных диалогов по умолчанию. Шифрование возможно благодаря протоколу Olm, основанному на протоколе мессенджера Signal. Шифрование групповых диалогов использует расширение протокола под названием Megolm, которое позволяет дешифровать сообщение множество раз.
Впервые опциональное шифрование было представлено в 2016 году. Включение по умолчанию в экспериментальных сборках произошло во время FOSDEM 2020.
С момента первого выпуска реализации шифрования появились следующие возможности:
- клиент может запросить ключи для дешифровки сообщений у других клиентов пользователя или у клиентов собеседников;
- появилось серверное хранилище для клиентских ключей шифрования, зашифрованное секретной фразой;
- помимо верификации устройств по отпечатку (fingerprint), также появилась верификация с помощью emoji-символов.
В будущем планируется включение шифрования по умолчанию не только для личных диалогов, но и для непубличных комнат вообще, включая групповые.
Также упоминается:
- введение нового UI для шифрования;
- верификация устройств с помощью QR-кодов;
- поиск по истории зашифрованных сообщений;
- окончательная стабилизация работы.
Поиск по зашифрованным комнатам уже доступен с помощью Firefox-расширения Radical.
Для облегчения работы с ключами шифрования, разработчики протокола Matrix представили механизм под названием «перекрёстного подтверждения» (cross-signing). Он позволяет, используя уже подтверждённое устройство, автоматически верифицировать другие устройства пользователя. При работе этого механизма двум собеседникам нужно верифицировать свои устройства только единоразово, а не каждое устройство по отдельности. Спецификацию механизма можно прочитать на GitHub.
Помимо Riot шифрование поддерживают и другие клиенты: FluffyChat, nheko Reborn, клиенты на libQuotient (WIP), клиенты на mautrix-go (gomuks), клиенты на matrix-nio (Mirage и WeeChat), Seaglass (заброшен). В разработке другие реализации. Для клиентов без поддержки шифрования предлагается демон для E2EE-прокси — pantalaimon.
>>> Подробности