Мы сделали Essenger, потому что нам самим не хватало безопасного мессенджера.
Текст сообщения шифруется на вашем устройстве: сервер видит только шифротекст и служебные данные доставки. Как это устроено, можно проверить в документации и тест-векторах.
Что готово сейчас
Браузерная версия уже работает, iOS пока в бете. Ниже — статус остальных частей.
Важно: в обычных чатах нет Double Ratchet, поэтому для них мы не заявляем полную прямую секретность и защиту после компрометации ключа. Для этого есть секретные чаты — они работают на Double Ratchet. Sealed Sender пока в планах: сервер видит служебные данные доставки. Детали — в протоколе и политике приватности.
Что происходит с сообщением
Ключ аккаунта создаётся на вашем устройстве
При регистрации приложение создаёт ключ шифрования. Сервер может хранить только зашифрованную копию для восстановления доступа и не знает исходного ключа.
Для каждого сообщения — новый временный ключ
Перед отправкой приложение создаёт временную пару ключей и удаляет секретную часть сразу после шифрования. В обычном чате это не заменяет Double Ratchet: у получателя остаётся постоянный ключ. Если нужна полная прямая секретность, используйте секретный чат — он работает на Double Ratchet. Подробности — в протоколе.
Классическая и пост-квантовая защита
X25519 работает вместе с ML-KEM-768. Такой гибрид снижает риск того, что записанный сегодня шифротекст смогут расшифровать в будущем с помощью квантового компьютера.
Сервер всё ещё видит доставку
Сам текст скрыт, но сервер пока знает, кто кому и когда отправил сообщение. Мы планируем уменьшить раскрытие этих данных с помощью Sealed Sender.
Готово, в проверке, в планах
Что уже включено, что мы проверяем, а что пока остаётся в планах.
| Функция | Статус | Что важно учесть |
|---|---|---|
| Сквозное шифрование сообщений | Включено по умолчанию для поддерживаемых чатов | Совместимость web и iOS проверяем тест-векторами и на реальных устройствах |
| Пост-квантовая защита | Работает в гибридном режиме с ML-KEM-768 | Впереди проверка iOS перед релизом и внешний аудит |
| Sealed Sender (скрытие метаданных) | Пока не используется | Сейчас сервер видит, кто кому и когда отправляет сообщения |
| Временный ключ отправителя | Новый ключ для каждого сообщения в личных и групповых чатах | Обычные чаты не используют Double Ratchet; для полной прямой секретности есть секретные чаты |
| Секретные чаты | Double Ratchet с прямой секретностью | Создаются отдельно от обычных чатов; внешний аудит ещё впереди |
| Регистрация | Без номера телефона и доступа к адресной книге | Сервер всё равно видит технические данные аккаунта и доставки |
| Протокол | Описание опубликовано | Независимого внешнего аудита пока не было |
Что уже есть в приложении
Чаты, звонки, голосовые, файлы и исчезающие сообщения уже работают. Текст и вложения шифруются до отправки, у звонков — своя схема шифрования.
Личные и групповые чаты
Можно отвечать, пересылать и удалять сообщения, ставить реакции и видеть статус доставки.
Аудио- и видеозвонки
Звонки один на один. Сигналинг защищён сквозным шифрованием, а медиапоток — стандартным шифрованием WebRTC (DTLS-SRTP).
Голосовые сообщения
Голосовые шифруются так же, как текст. Формат автоматически подстраивается под платформу получателя.
Исчезающие сообщения
Можно поставить таймер от 30 секунд до недели. После него сообщение удалится на всех устройствах.
Секретные чаты
Это отдельные диалоги на X3DH + Double Ratchet. Они дают прямую секретность и защиту после компрометации ключа.
Одноразовые сообщения
Такое сообщение открывается один раз, а затем исчезает у получателя и удаляется с сервера. О скриншоте на iOS придёт уведомление.
Файлы и вложения
Отправляйте файлы до 15 МБ. Все вложения шифруются до отправки — сервер не видит содержимое.
Двухфакторная аутентификация
Можно подключить TOTP и сохранить резервные коды. Одного пароля после этого недостаточно для входа.
Фраза восстановления
Фраза из 12 слов нужна для восстановления доступа, если вы забудете пароль. Храните её отдельно: она даёт доступ к аккаунту.
Как Essenger
работает с ключами
Приватный ключ создаётся на устройстве. Для восстановления на сервер может попасть только его зашифрованная копия.
Ключ создаёт приложение
Приватный ключ появляется на вашем устройстве. Сервер может хранить только зашифрованную копию; её безопасность зависит от вашего пароля и защиты устройства.
Восстановление ещё проверяем
Пока проверка не завершена, мы не считаем фразу восстановления гарантированным способом вернуть доступ к аккаунту.
На сервере нет открытого текста сообщений
Сервер хранит шифротекст и данные, нужные для доставки. В открытом виде содержимое сообщений есть только на устройствах; ограничения по метаданным описаны в протоколе и политике приватности.
Два типа криптографии
Классический X25519 защищает сейчас, а ML-KEM-768 добавляет запас на случай будущих квантовых атак.
Шифрование на устройстве
AES-256-GCM + X25519 ECDH
Временный ключ отправителя
Новая пара ключей для каждого сообщения в личных и групповых чатах
TOFU по UUID
Ключ запоминается при первом контакте. В обычных чатах нет Double Ratchet
Гибрид ML-KEM-768
Дополнительная защита от будущих квантовых атак
Где уже работает Essenger
Web/PWA уже доступен. iOS проходит бета-тестирование. macOS и Android в v1.0 не входят.
Протокол можно прочитать
Мы опубликовали описание формата сообщений, алгоритмов и известных ограничений. Там же лежат тест-векторы. Независимого аудита пока не было.
Попробуйте
Essenger
Для входа не нужен номер телефона или доступ к адресной книге.
Сообщения шифруются до отправки.