Выпуск Matrix-клиета Riot 1.6 с включением сквозного шифрования
Разработчики системы децентрализованных коммуникаций Matrix представили новые выпуски ключевых клиентских приложений Riot Web 1.6, Riot Desktop 1.6, Riot iOS 0.11.1 и RiotX Android 0.19. Riot написан с использованием web-технологий и фреймворка React (применяется обвязка React Matrix SDK). Версия для рабочего стола собирается на базе платформы Electron. Код распространяется под лицензией Apache 2.0.
Ключевым улучшением в новых версиях стало включение по умолчанию сквозного шифрования (E2EE, end-to-end encryption) для всех новых приватных чатов, вход в которые производится через отправку приглашений. Сквозное шифрование реализовано на базе собственного протокола, использующего для начального обмена ключами и обслуживания сеансовых ключей алгоритм двойного храповика (часть протокола Signal).
Для согласования ключей в чатах с несколькими участниками применяется расширение Megolm, оптимизированное для шифрования сообщений с большим числом получателей и позволяющее расшифровывать одно сообщение несколько раз. Шифротекст сообщения может быть сохранён на не заслуживающем доверия сервере, но не может быть расшифрован без сессионных ключей, хранимых на стороне клиента (каждый клиент имеет свой сессионный ключ). При шифровании для каждого сообщения на основании ключа сеанса клиента генерируется свой ключ, который аутентифицирует сообщение в привязке к автору. Перехват ключа позволяет скомпрометировать только уже отправленные сообщения, но не сообщения, которые будут отправлены в будущем. Реализация методов шифрования прошла аудит в организации NCC Group.
Вторым важным изменением является активация поддержки перекрёстного подтверждения (Cross-signing), позволяющего пользователю из уже подтверждённого сеанса верифицировать новый сеанс. Ранее при подключении к чату пользователя с нового устройства остальным участникам выводилось предупреждение, чтобы избежать подслушивания в случае доступа злоумышленника к учётной записи жертвы. Перекрёстное подтверждение позволяет пользователю при входе верифицировать другие свои устройства и подтвердить доверие к новому логину или определить, что кто-то попытался подключиться без их ведома.
Для упрощения настройки новых логинов предоставлена возможность использования QR-кодов. Запросы на верификацию и результаты теперь сохраняются в истории в виде напрямую отправленных сообщений. Вместо всплывающего модального диалога верификация теперь выполняется в боковой панели. Из сопутствующих возможностей также отмечена прослойка Pantalaimon, позволяющая подключаться к шифрованным чатам из клиентов, не поддерживающих E2EE, а также работающий на стороне клиента механизм поиска и индексации файлов в чат-комнатах с шифрованием.
Напомним, что платформа для организации децентрализованных коммуникаций Matrix развивается как проект, использующий открытые стандарты и уделяющий большое внимание обеспечению безопасности и приватности пользователей. В качестве транспорта применяется HTTPS+JSON с возможностью использования WebSockets или протокола на базе CoAP+Noise. Система формируется как содружество серверов, которые могут взаимодействовать между собой и объединяются в общую децентрализованную сеть. Сообщения реплицируются по всем серверам, к которым подключены участники обмена сообщениями. Сообщения распространяются по серверам по аналогии с тем как коммиты распространяются между Git-репозиториями. В случае временного отключения сервера сообщения не теряются, а передаются пользователям после возобновления работы сервера. Поддерживаются различные варианты идентификаторов пользователя, включая email, номер телефона, учётную запись в Facebook и т.п.
В сети отсутствует единая точка отказа или контроля за сообщениями. Все серверы, которые охватывает обсуждение, равноправны между собой. Любой пользователь может запустить собственный сервер и подключить его к общей сети. Возможно создание шлюзов для взаимодействия Matrix с системами на базе других протоколов, например, подготовлены сервисы для двусторонней отправки сообщений в IRC, Facebook, Telegram, Skype, Hangouts, Email, WhatsApp и Slack.
Помимо мгновенного обмена текстовыми сообщениями и организации чатов, система может использоваться для передачи файлов, отправки уведомлений, организации телеконференций, совершения голосовых и видео звонков. Matrix позволяет использовать поиск и неограниченный просмотр истории переписки. Поддерживаются также такие расширенные возможности как уведомление о наборе текста, оценка присутствия пользователя в online, подтверждение прочтения, push-уведомления, поиск на стороне сервера, синхронизация истории и состояния клиентов.
Источник: http://www.opennet.ru/opennews/art.shtml? num=52897
© OpenNet