На волне последних скандалов с АНБ пришло осознание того, что, в конечном итоге, никому нельзя верить — рано или поздно может оказаться, что Ваши данные на сервере X, как оказалось, прослушивались некой организацией, хотя на словах говорилось о полном шифровании всех данных пользователя.
Мы подумали, как бы обезопасить себя в такой ситуации, если мы хотим передать действительно чувствительное к прослушке сообщение по почте (речь идет не о чатах). Доверять можно только себе (при условии, что на самом Вашем компьютере не установлены закладки). Канал пользователь-провайдер-сервер также может быть скомпрометирован. Более того, даже SSL-соединению нельзя полностью доверять, учитывая то, что
- не Вы владелец
- ключи от сертификата могли быть переданы спецслужбам
Единственный вариант — шифрование сообщение на стороне клиента (прямо в браузере) и последующая передача его (уже в зашифрованном виде) на сторону сервера. В нашей реализации (Wolfram Mail — не реклама, просьба не делать хабраэффект, если это Вам не интересно, т.к. пока мы на платном
Далее идет основное шифрование — алгоритмом BlowFish. Он до сих пор надежен и разработан Б.Шнайером, а не АНБ или ФСБ. Получаем шифротекст. Теперь его можно без опасения передавать по открытым и прослушиваемым каналам. На нашем сайте оно хранится только до тех пор, пока получатель не прочтет его, затем оно удаляется с сервера.
Таким образом, ни наш сервер, ни каналы передачи информации не имеют доступа к:
- открытому тексту
- ключевой информации (паролям)
Получателю письма приходит уведомление на его e-mail с ссылкой на страницу для прочтения сообщения. Всё, что для этого необходимо — пароль шифрования. Расшифровка происходит также на стороне клиента. Да, пароль также не отсылается за пределы компьютера пользователя — проверка подлинности пароля происходит по косвенным признакам — crc32 (в будущем обязательно заменим его на ГОСТ 34.11-2012).
Сейчас сервис работает в тестовом режиме (в том смысле, что проверяются баги, добавляется функионал и оттачиваются мелочи), но уже полностью пригоден для шифрообщения. По крайней мере, мы его уже используем, а делали мы его именно для себя.
Если же проект наберет некоторое финансирование, то в планах купить отдельный сервер, чтобы не зависеть от хостинговых ограничений.
Автор: omegicus