AiThao
Технологии · AiThao

Сквозное шифрование — как оно устроено

Сквозное шифрование значит, что содержимое запирается на вашем телефоне и отпирается только на тех телефонах, для которых оно предназначено. Вот как это делает AiThao, по шагам.

Что это даёт вам

  • Прочитать переписку могут только телефоны её участников; сервер хранит и доставляет копии, которые не может открыть.
  • Один украденный ключ не открывает остальную переписку.
  • Можно убедиться, что между вами никого нет, сверив код безопасности.

Как это работает

У каждого устройства свои ключи; на сервере лежат только их открытые половины, которые другие телефоны забирают, чтобы начать чат. Первое сообщение создаёт общий секрет по протоколу согласования ключей Signal, а дальше каждое сообщение сдвигает ключи вперёд (Double Ratchet), так что ключ, добытый в один момент, не открывает сообщения до и после него.

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

Если у собеседника ещё нет ключей, приложение ничего не отправляет, а не переходит на открытый текст.

Где оно заканчивается

Переводу нужны слова, поэтому переводимое сообщение расшифровывается на вашем телефоне и отправляется сервису перевода. В Центре безопасности перечислены все места, где сквозное шифрование не действует.

Под капотом

Протокол Signal · Double Ratchet · libsignal

Частые вопросы

Это то же шифрование, что в Signal?

Тот же протокол, через библиотеку libsignal. AiThao — отдельное приложение со своими серверами.

Что такое код безопасности?

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

Посмотрите перевод в действии

Веб-демо помогает познакомиться с AiThao до выхода приложения. AiThao ожидает одобрения Apple для публикации в App Store; ссылки на установку пока нет.

Открыть демо