Пишем правильно! Готовые рецепты действительно защищённых персональных коммуникаций
Есть старый, времён ФИДО и раннего Веба, анекдот. Новоиспечённого интернет-предпринимателя, запустившего очередную службу бесплатной электронной почты (модная была тема), спрашивают: а зачем? И он начинает издалека: знаете, мол, мало какое удовольствие сравнится с чтением чужих писем...
С тех пор если что и изменилось, то только в худшую сторону: раньше письма прятали от случайных соглядатаев, сегодня — спасибо, Эдвард! — хочется спрятать от тех, для кого перлюстрация частной корреспонденции входит в служебные обязанности. И если позволите личное мнение, никогда ещё за последние двадцать лет вопрос сохранения тайны переписки не стоял так остро. Так как и можно ли вообще гарантированно уберечь переправляемые через Сеть сообщения от посторонних глаз? Пятнадцать и даже десять лет назад стандартным ответом на это была PGP. Вплоть до июня года нынешнего, когда Сноуден открыл всем глаза, ответом был любой интернет-пейджер с встроенной криптографией. Однако сегодня ни то ни другое уже не годится!
PGP, познакомившая массы с прелестями стойкого крипто, была хорошим решением для своего времени — времени, когда средним сетянин был человеком с техническим образованием. Сегодня типичный юзер — это обыватель, и мучать его мозг правилами менеджмента криптоключей бессмысленно и бесполезно. Это просто не его уровень, ему нужно готовое, без оговорок, работающее сразу решение, вроде пальцевого сенсора в новом «Айфоне».
Пейджер с встроенным прозрачным шифрованием/дешифрованием (Pidgin, Audium — из тех, что open source) вроде бы сгодится, но и здесь уже есть «но»: метаинформацию такой способ общения не скрывает, а значит враг будет знать с кем, где и когда вы общались, и возможно эти сведения станут ниточкой, потянув за которую, он извлечёт всё ваше интернет-досье (см. «Как АНБ строило свою соцсеть»). Кроме того, обмен мгновенными сообщениями, как правило, централизован, то есть ведётся через серверы какой-либо компании — а её, естественно, могут принудить к сотрудничеству (почти так, как принуждают немногих провайдеров защищённой веб-почты, вспомните Lavabit).
Вот так мы и оказываемся в текущей ситуации. Скрыть содержимое сообщений и метаинформацию, не быть специалистом по криптографии, и не полагаться при этом на посредников можно. Но придётся изучить новые инструменты. Вариантов как минимум два. Пожалуй, они не так просты в обращении как пальцевый сенсор Apple, зато определённо надёжней: об успешных атаках против них до сих пор неизвестно.
![Существует несколько клиентов TorChat, но все они предельно минималистичны. Здесь: TorChat из комплекта Debian GNU/Linux.](https://novostey.com/i4/2013/10/08/5f0b6d2a6bc96ca2e50c0ade97c696c3.png)
Вариант номер один представлен приложением
Так же работает и TorChat. После запуска он генерирует уникальный 16-символьный .onion-адрес, который становится вашим идентификатором: на него вам могут присылать текстовые сообщения и файлы, с него пишете и посылаете файлы вы. TorChat пользуется всеми преимуществами TOR (ваш IP-адрес и метаинформация скрыты), но для пользователя криптографическая механика невидима — так что в обращении программа похожа на обычный интернет-пейджер или чат-клиент. Теоретически TorChat столь же надёжен, сколь и TOR. Недостатки в другом: сообщения доставляются только пока собеседник онлайн (ведь компании-посредника, которая хранила бы их, нет), адрес при переходе с устройства на устройство придётся поменять (знатоки, поправьте: вероятно, есть способ перенести конфигурационные файлы и сохранить адрес?), и ваши адресаты тоже должны пользоваться TOR.
![Работает BitMessage](https://novostey.com/i4/2013/10/08/700fe66df619af5f2d0bddbba9a30ce1.png)
Если перечисленные факторы для вас критичны, выручит второй вариант: экспериментальный протокол и одноимённое приложение-коммуникатор
BitMessage
![Посуточная статистика BitMessage.](https://novostey.com/i4/2013/10/08/345ba918c3023613855e0bf2ee0def94.png)
Метаинформация в BitMessage размывается за счёт перемешивания сообщений от разных пользователей. Однако принцип «все видят всё», реализованный в чистом виде, сделал бы масштабирование системы вверх невозможным: представьте, каким будет трафик, проходящий через каждый узел BitMessage, когда количество отправляемых ежесуточно писем станет измеряться миллионами! Чтобы избежать паралича, в архитектуре BitMessage предусмотрено древовидное дробление адресов: грубо говоря, вышестоящий узел 1-го порядка («потока») обрабатывает трафик всех нижестоящих узлов (2, 3 и следующих порядков), но нижестоящие вышестоящим не помогают.
Теоретически схема должна работать, но практически её ещё предстоит проверить: если TorChat существует уже шесть лет, BitMessage не отпраздновал ещё и первого дня рождения. И если успешных атак не было (в августе один умник сумел извлечь IP-адреса пятисот клиентов BitMessage, но сделал он это не атакой на протокол, а благодаря невнимательности самих пользователей — прислав им ссылку на веб-страничку и попросив туда перейти), масштабируемость вызывает опасения (идея иерархического дробления адресов малопонятна даже для айтишников).
Так или иначе, спрос есть. Я не нашёл статистики по TorChat, но в BitMessage