Принципы работы протокола Matrix. Шифрование в Matrix

CyberSec RuTOR

Кибербезопасность
Команда форума
Модератор
Сообщения
998
Реакции
1.428
Matrix_logo.svg.png

В данной статье я постараюсь объяснить, что из себя представляет протокол Matrix, этот протокол используется в популярном мессенджере Element

Matrix - протокол с открытым исходным кодом, обеспечивающий децентрализованное и федеративное взаимодействие. Протокол использует модель сервер-клиент, в которой пользователи взаимодействуют с серверами Matrix (часто называемыми "homeserves" – домашние сервера) для отправки и получения сообщений. Каждый пользователь в сети Matrix имеет уникальный идентификатор, называемый Matrix ID, выражаемый как "@username:domain.ltd".

Matrix поддерживает обычные и многопользовательские чаты. Он позволяет пользователям работать на нескольких устройствах и клиентах. Когда пользователь отправляет сообщение, оно сначала отправляется на его домашний сервер, который выступает в качестве доверенного посредника. Затем домашний сервер безопасно отправляет сообщение на другие соответствующие серверы, пока оно не дойдет до домашнего сервера получателя. Эта федеративная архитектура обеспечивает беспрепятственную связь между различными узлами Matrix, создавая глобальную сеть взаимосвязанных серверов.

Matrix поддерживает сквозное шифрование (E2EE), обеспечивающее конфиденциальность и безопасность пользовательских переписо . Matrix использует алгоритм Double Ratchet, основанный на Signal Protocol, для создания защищенных каналов связи между участниками. Каждое устройство, участвующее в разговоре, генерирует набор криптографических ключей, которые используются для шифрования и расшифровки сообщений. Такой подход гарантирует, что только предполагаемые получатели могут получить доступ к содержимому сообщений, даже если связь проходит через множество серверов.

Matrix имеет функцию “моста” с другими сетями. Это означает, что пользователи Matrix могут взаимодействовать с пользователями других сетей обмена сообщениями, таких как IRC, Slack, Telegram и т.д. Но эта функция требует наличия собственного Matrix-сервера, настроенного на такой сценарий использования. Я считаю, что это крайне узкоспециализированная функция и пользы от неё не очень много

Matrix включает в себя надежную систему идентификации и аутентификации для обеспечения целостности учетных записей пользователей. Домашний сервер ведет запись идентификаторов пользователей Matrix ID и связанных с ними устройств. Когда пользователь входит в систему с нового устройства, домашний сервер генерирует пару криптографических ключей для этого устройства, которые используются для аутентификации и шифрования. Такой децентрализованный подход к управлению идентификацией добавляет дополнительный уровень безопасности и снижает риск утечки данных.

Протокол Matrix разработан таким образом, чтобы быть легко расширяемым и адаптируемым к различным условиям использования. Протокол поддерживает широкий спектр возможностей и функций, включая возможность интеграции ботов, IoT-устройств и даже голосовой и видеосвязи. Экосистема Matrix имеет активное сообщество разработчиков, которые постоянно вносят свой вклад в ее развитие.

Отдельно поговорим о шифровании в Matrix

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

Matrix полагается на алгоритм Double Ratchet, который заимствован из протокола Signal Protocol, для установления безопасных каналов связи между участниками. Алгоритм Double Ratchet обеспечивает прямую секретность, то есть даже если злоумышленник скомпрометирует закрытый ключ устройства, он не сможет расшифровать прошлые сообщения.

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

Для инициирования безопасной переписки протокол Matrix использует протокол Olm, основанный на алгоритме Double Ratchet. Участники обмениваются своими связками предварительных ключей, что позволяет им получить общий секрет, известный как корневой ключ. Этот корневой ключ затем используется для получения дополнительных ключей для шифрования сообщений и проверки целостности.

После того как общий секрет (корневой ключ) установлен между отправителем и получателем, сообщения шифруются с помощью симметричного алгоритма шифрования AES (Advanced Encryption Standard). Отправитель генерирует ключ сообщения для каждого сообщения и шифрует сообщение с помощью этого ключа. Затем зашифрованное сообщение вместе с необходимыми метаданными отправляется получателю.

Matrix обеспечивает целостность сообщений благодаря использованию кодов аутентификации сообщений (MAC). MAC - это криптографическая метка, которая вычисляется на основе содержимого сообщения и корневого ключа. Он позволяет получателю проверить, что сообщение не было подделано во время передачи.

Double Ratchet использует процесс, называемый храповиком ключей, для постоянного обновления криптографических ключей. С каждым новым отправленным сообщением обновляется ключ цепочки, что обеспечивает секретность передачи и предотвращает долгосрочную компрометацию сеансовых ключей.

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

Matrix предоставляет пользователям механизмы для проверки личности других участников. Пользователи могут сравнивать отпечатки, которые являются уникальными для открытых ключей. Проверяя отпечатки, пользователи могут защитить себя от атак типа "человек посередине".

Данный алгоритм во многом похож на алгоритм OMEMO в XMPP

Matrix является перспективным, но пока ещё новым протоколом обмена сообщениями, во многом он удобнее, чем XMPP, но не настолько исследован и проверен, как XMPP.

Любой желающий может поднять собственный Matrix-сервер для своей организации или для себя в целях обеспечения дополнительного уровня безопасности

Matrix-клиентов есть несколько, как и в случае с XMPP, из них я бы выделил клиенты Nheko и Element.

В качестве клиента для ПК я бы рекомендовал Nheko, а в качестве мобильного - Element (за неимением более достойных альтернатив)
 
Последнее редактирование:
Спасибо за разъяснение принципа работы element. Искал что-то удобное для мобильного устройства, остановился на нём
 
Вот ваш Element. Объясните почему так, пожалуйста.
IMG_20230623_142531.jpg

IMG_20230623_142503.jpg

IMG_20230623_142546.jpg
 
В данной статье был описан протокол Matrix, а не клиент Element, к тому же, вы можете заблокировать все эти разрешения
 
В данной статье был описан протокол Matrix, а не клиент Element, к тому же, вы можете заблокировать все эти разрешения
Подскажите, где найти статью о пошаговой установке сервера с протоколом matrix.
 
Странно, у меня Element таких разрешений никогда не требовал. Из всех разрешений только камера и микрофон, которыми я иногда пользуюсь в нём и те можно отключить, если не использовать голосовые сообщения и видеосвязь.
Кстати, одноименное приложение отлично работает на различных deb-дистрибутивах. Очень удобно и функционал богаче, чем для версии смартфона.
 
И все таки мало кто спешит переходить с джаббера на матрикс. Джаббер давно и хорошо изучен, все его косяки известна, а матрикс пытается " быть в тренде " ввёл кучу всяких фишек чтобы быть похожим на популярные мессенджеры. Они только мешают и могут создать непредвиденные проблемы. Народу там все равно нет ) А если использовать его толко для связи то все эти функции лишние. Нет смысла менять на него джаббер.
 
И все таки мало кто спешит переходить с джаббера на матрикс. Джаббер давно и хорошо изучен, все его косяки известна, а матрикс пытается " быть в тренде " ввёл кучу всяких фишек чтобы быть похожим на популярные мессенджеры. Они только мешают и могут создать непредвиденные проблемы. Народу там все равно нет ) А если использовать его толко для связи то все эти функции лишние. Нет смысла менять на него джаббер.
Согласен с вами, но т.к. Matrix-клиент Element более удобный в использовании и есть под все популярные платформы, многие предпочитают именно Matrix, т.к. джаббер им кажется более сложным в использовании, сам я считаю, что Matrix и его клиентские приложения ещё сырые и требуют доработок, поэтому предпочитаю проверенный джаббер
 
Загнать чужую учётку к себе на сервер и чекнуть список ip адресов. Ломают ли таким или другим способом анонимность в матрикс?
 
Загнать чужую учётку к себе на сервер и чекнуть список ip адресов. Ломают ли таким или другим способом анонимность в матрикс?
Работайте с Matrix через Tor и тогда можете не волноваться о том, что сервер знает ваш IP
 
Работайте с Matrix через Tor и тогда можете не волноваться о том, что сервер знает ваш IP
Полагаю, что людям следует знать об этом нюансе. Да и неплохо было бы дать краткий инструктаж читателям по запуску трафика элемент через тор.
 
Да и неплохо было бы дать краткий инструктаж читателям по запуску трафика элемент через тор.
Используйте whonix, где весь трафик системы идет через Tor, а на whonix уже Matrix-клиент
 
Используйте whonix, где весь трафик системы идет через Tor, а на whonix уже Matrix-клиент

Это хороший совет. Реально. Хуникс рулит. Но как быть тем читателям, кто использует смартфоны?
 
Matrix хорошо, только не всем подойдёт его журнал событий (event history) жрёт много ресурсов, трудно отчистить журнал, так как удаление истории с одного сервера не гарантирует её стирания с других федеративных серверов. А метеоданные могут быть использованы для анализа активности, событий, участников для идентификации, по этому если не параноите ставьте XD
 
Здравствуйте, помогите решить проблему. Я установил Element-Desktop все это в VirtualBox Oracl на Whonix создал акаунт с помощью одноразовой почты, получил письмо с кодом ввел его. На последней стадии регистрации где после ввода логина и пароля с сайта должно перегрузить в приложение ничего не происходит, как будто торбраузер блокирует эту загрузку. Но при всем при этом я спокойно могу войти с этими же данными в вэб версию она открывается и работает. Подскажите пожалуйста что сделать, как решить эту проблему. Или куда можно написать по данному вопросу? Зарание спасибо всем кто откликнеться.
 
Посоветуете месенджер для максимальной анонимности и без сложностей чтобы ненашли и переписки невидили на grapheneos
 

Похожие темы

В дарк-среде годами спорят, что лучше: старый, как мир, Jabber (XMPP) или модный и навороченный Matrix? Одни топят за «дедовскую надёжность», другие — за современные фичи. Сегодня мы без фанатизма разберём оба протокола, чтобы ты сам решил, какой инструмент подходит под твою задачу. Что общего...
Ответы
1
Просмотры
215
Привествую уважаемый читатель. Данный гайд будет больше направлен на владельцев шопов или кому надо придерживать анонимную и безопасную связь с работниками или коллегами, чем на обычного юзера даркнет сети. Здесь расскажу как поднять "свой мессенджер" в сети ТОР. Много где находил вопросы по...
Ответы
17
Просмотры
MATRIXSHOP — Ваш Магазин Без Страха Блокировок ВАС ТОЖЕ ДОСТАЛИ ЭТИ БЛОКИРОВКИ? Знакомая ситуация? ✗ Telegram снова заблокировал бота? ✗ Потеряли клиентскую базу после бана? ✗ Каждую неделю создаете новые аккаунты? ✗ Боитесь модерации и слива данных? ХВАТИТ ЗАВИСЕТЬ ОТ TELEGRAM...
Ответы
5
Просмотры
Тебя упаковали. Телефон в пакете, ты в наручниках. Через пару часов следак отдаёт твой аппарат криминалисту, тот подключает его кабелем к серой коробке размером с планшет — и через час на экране появляется всё: переписки, фото, удалённые файлы, геолокация за последний год, пароли из связки...
Ответы
10
Просмотры
256
️ Может ли провайдер подменить мосты для чтения трафика? Короткий ответ: Провайдер не может "просто" подменить мост, чтобы прочитать ваш трафик, зашифрованный через Obfs4 или WebTunnel, при условии, что VPN-протокол (Tor) реализован корректно. Причина 1: Шифрование. И Obfs4, и WebTunnel...
Ответы
7
Просмотры
Назад
Сверху Снизу