Безопасность
E2E-шифрование, сетевые угрозы, наши гарантии.
Шифрование для своих — от устройства к устройству.
Модель безопасности
Svoi проектируется как защищённый мессенджер для повседневных разговоров: личных, семейных, рабочих. Ниже — чёткое и сдержанное описание того, что мы защищаем, как именно, и где границы этой защиты.
E2E-шифрование по умолчанию
- Все сообщения шифруются на клиенте по стандарту MLS (RFC 9420) с использованием библиотеки OpenMLS.
- Группы масштабируются через TreeKEM: обновление ключа при изменении
состава группы занимает
O(log N)операций вместоO(N). - Каждое устройство пользователя — отдельный лист в MLS-дереве. Это даёт мультидевайс без компромиссов по forward secrecy.
- 1-на-1 чат — это MLS-группа из двух участников. Отдельный канал шифрования для секретных чатов не нужен.
Что видит сервер
Сервер никогда не видит plaintext сообщений и медиафайлов. Чтобы доставлять сообщения, серверу нужны отдельные метаданные:
- идентификаторы пользователей и устройств,
- маршрутизация чатов и членство в группах,
- MLS-эпохи и номера сообщений,
- временные метки и размеры,
- логи безопасности без содержимого.
Мы намеренно документируем эти поля, чтобы не создавать иллюзию «ничего не видно». Privacy — это конкретный контракт, не маркетинг.
Медиафайлы
- Файлы, фото и видео шифруются на клиенте до отправки. В хранилище попадает только ciphertext.
- Ключи шифрования отдельных медиа передаются внутри зашифрованных MLS-сообщений, а не как отдельная серверная сущность.
- Превью-изображения генерируются и шифруются на клиенте.
Звонки
- Голосовые и видеозвонки идут через самостоятельно размещённый LiveKit-SFU, а не через сторонние коммерческие сервисы.
- Медиа-потоки звонков шифруются поверх WebRTC через insertable transforms; SFU маршрутизирует пакеты, но не может их расшифровать.
- Транспорт звонков — многослойный: прямой UDP, TURN/UDP, TURN/TCP
443, TURN/TLS443. Это ответ на нестабильные сети, не обещание обхода блокировок. - Relay-мощности размещены близко к пользователям, поэтому пути через TURN остаются рабочими даже когда прямой UDP недоступен.
Мультидевайс
- Каждое устройство регистрируется независимо со своим набором MLS-ключей.
- Новое устройство не получает доступ к истории прошлых эпох — это намеренное свойство MLS, а не ограничение реализации.
- Отзыв устройства — это не просто выход из аккаунта: устройство исключается из MLS-дерева, и будущий трафик для него недоступен даже при компрометации старых ключей.
Регистрация по приглашениям
Ограничение регистрации инвайтами — не косметическая фича, а часть модели безопасности:
- контролируется рост и нагрузка на инфраструктуру,
- снижается массовый spam и raid-пригодные сценарии,
- каждый новый участник связан с пригласившим для audit-трейла.
Связь «пригласивший ↔ приглашённый» не используется как публичный социальный граф.
Угрозы вне нашей модели
Мы честно перечисляем, от чего Svoi не защищает:
- компрометация самого устройства пользователя (malware, физический доступ, корневой доступ к ОС);
- атаки социальной инженерии на конкретного пользователя;
- анализ трафика на уровне интернет-провайдера, если у атакующего есть мотив и ресурсы отслеживать целевого человека;
- утечки через скриншоты, пересылку в другие мессенджеры, фото экрана камерой.
Это не «оговорки мелким шрифтом», это граница, которую нужно знать, чтобы пользоваться продуктом осознанно.
Хранение на устройстве
- Локальная база данных на нативных клиентах шифруется ключом, производным от пароля или биометрии пользователя.
- Веб-клиент использует OPFS-бэкенд для локального хранения; хранение секретов в браузере имеет свои ограничения, и мы документируем их отдельно в настройках веб-приложения.
Ответственное раскрытие
Если вы нашли уязвимость, напишите на security@svoi.red. Мы
подтверждаем получение в течение 72 часов и отвечаем предметно,
а не отписками.
