алёшка
Мессенджер
Ваши сообщения под надежной защитой
Архитектура и сервер
Мессенджер реализован на открытом протоколе Matrix, который обеспечивает обмен сообщениями, голосовыми вызовами и другими данными между клиентами через децентрализованную сеть серверов.
Сервер — Python-приложение с асинхронной архитектурой. Сервер отвечает за разграничение доступа и синхронизацию сообщений между клиентами.
Обмен сообщениями
Клиенты общаются, эмитируя события JSON (events) в виртуальных комнатах (rooms). Каждое сообщение — событие с подписью и временной меткой, синхронизируемое с сервером и другими homeserver-ами в рамках федерации.
Среда хранения сообщений распределена, без единого централизованного контроля, что повышает отказоустойчивость и защищенность.
Шифрование
Используется сквозное шифрование (end-to-end encryption, E2EE) с протоколом Olm/Megolm для комнат и личных сообщений. Ключи шифрования хранятся только у участников чата, что исключает доступ серверов Synapse к содержимому переписки.
Шифровальные ключи меняются сессиями, обеспечивая forward secrecy, а обмен ключами происходит через безопасный канал Matrix до установления защищённого сеанса.
Авторизация и идентификация
Регистрация происходит через портал, без обязательной привязки к номеру телефона или e-mail, для сохранения анонимности. Пользователи имеют уникальные ID вида @user:domain
Передача файлов
Обмен файлами реализован через протокол передачи media, с использованием медиа-хранилища сервера Synapse и поддержкой локальных решений (например, LocalSend), что позволяет обмениваться файлами без выхода в открытый интернет для дополнительной безопасности
Устойчивость и обновления
Обновления и управление версией происходят через централизованный внутренний магазин приложений, минимизируя риски уязвимостей и обеспечивая актуальность безопасности