Безопасная почта и сообщения для себя и других

в 22:44, , рубрики: blowfish, RC4, анб, безопасность, информационная безопасность, криптография, метки: , , , ,

На волне последних скандалов с АНБ пришло осознание того, что, в конечном итоге, никому нельзя верить — рано или поздно может оказаться, что Ваши данные на сервере X, как оказалось, прослушивались некой организацией, хотя на словах говорилось о полном шифровании всех данных пользователя.

image

Мы подумали, как бы обезопасить себя в такой ситуации, если мы хотим передать действительно чувствительное к прослушке сообщение по почте (речь идет не о чатах). Доверять можно только себе (при условии, что на самом Вашем компьютере не установлены закладки). Канал пользователь-провайдер-сервер также может быть скомпрометирован. Более того, даже SSL-соединению нельзя полностью доверять, учитывая то, что

  1. не Вы владелец
  2. ключи от сертификата могли быть переданы спецслужбам

Единственный вариант — шифрование сообщение на стороне клиента (прямо в браузере) и последующая передача его (уже в зашифрованном виде) на сторону сервера. В нашей реализации (Wolfram Mail — не реклама, просьба не делать хабраэффект, если это Вам не интересно, т.к. пока мы на платном хостинге) открытое сообщение деструктурируется шифрованием RC4 (да, он уже не столь надежен, но для своей цели подходит идельно). Таким образом, новое псевдо-открытое сообщение не имеет никакой структуры и преступная организация не сможет напрямую атаковать шифротекст по принципу пар открытыхзакрытых текстов.

Далее идет основное шифрование — алгоритмом BlowFish. Он до сих пор надежен и разработан Б.Шнайером, а не АНБ или ФСБ. Получаем шифротекст. Теперь его можно без опасения передавать по открытым и прослушиваемым каналам. На нашем сайте оно хранится только до тех пор, пока получатель не прочтет его, затем оно удаляется с сервера.

Таким образом, ни наш сервер, ни каналы передачи информации не имеют доступа к:

  • открытому тексту
  • ключевой информации (паролям)

Получателю письма приходит уведомление на его e-mail с ссылкой на страницу для прочтения сообщения. Всё, что для этого необходимо — пароль шифрования. Расшифровка происходит также на стороне клиента. Да, пароль также не отсылается за пределы компьютера пользователя — проверка подлинности пароля происходит по косвенным признакам — crc32 (в будущем обязательно заменим его на ГОСТ 34.11-2012).

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

Если же проект наберет некоторое финансирование, то в планах купить отдельный сервер, чтобы не зависеть от хостинговых ограничений.

Автор: omegicus

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js