Архитектура безопасности

Мессенджер «Связь» построен на принципах Zero Trust. Мы исходим из того, что сеть и серверы могут быть скомпрометированы, поэтому защищаем данные криптографией на конечных устройствах.

Личные чаты: Double Ratchet

Для личных сообщений используется протокол Double Ratchet (на базе NaCl Box: X25519 + XSalsa20-Poly1305).

  • Perfect Forward Secrecy (PFS): Компрометация одного ключа не позволит прочитать прошлые сообщения.
  • Post-Compromise Security: Ключи обновляются с каждым сообщением.

Группы: Стандарт MLS

Для групповых чатов применяется передовой стандарт MLS (Messaging Layer Security), разработанный IETF.

  • Эффективное управление ключами (Continuous Group Key Agreement).
  • Высокая производительность даже в группах с тысячами участников без потери криптографической стойкости.

Шифрование звонков

Голосовые звонки защищены сквозным шифрованием. Аудиопоток (кодек Opus) шифруется на лету с использованием ключей, согласованных через защищенный канал.

Прямое P2P соединение при возможности
Защищенный реле-сервер для обхода NAT
Сервер не имеет доступа к аудиопотоку

Прямое соединение (P2P)

В отличие от классических мессенджеров, «Связь» устанавливает прямое соединение между устройствами через libp2p. Если устройства в одной сети (например, корпоративный Wi-Fi), трафик вообще не выходит наружу.

Защита базы данных

История сообщений хранится локально и зашифрована с помощью SQLCipher. Ключ шифрования защищен аппаратными модулями: Secure Enclave (iOS) или Titan M (Android).