Возможно ли безопасное общение в сети?
Каждый утюг следит за нами. Такова реальность. Возможно ли передать сообщение другу так, чтобы только друг принял его, и был уверен, что сообщение пришло от вас?
Возможно ли создать систему для обмена сообщениями в таком духе?
Пункт первый: доверие к своей машине.
Если судить здраво, мы не можем доверять современным машинам. Windows, Mac OS и даже Ubuntu в чём-то, да следят за пользователями. А об Android и iOS вообще лучше молчать, их специально для этого и создавали (простите мои параноидные мысли). Кроме этого, закладки могут быть и в самом железе, в микрокоде процессора или предустановленном модуле на плате.
Чтобы доверять машине, нужно доверять железу и доверять ОС. То есть, самый простой вариант — взять опенсурсное железо (оно есть), и собрать самому Linux под него. Опасность есть в обоих пунктах, но мы можем проверить как железо на соответствие схемам, так и исходный код ОС. Значит, шанс получить закладку минимален.
Пункт второй: доверие к сети.
Разум подсказывает, что сети мы доверять не можем ни в каком случае. Каждый роутер, каждая точка доступа ведёт логи. Поэтому, мы должны не просто пересылать шифрованые данные адресату, но и скрывать источник. В принципе, i2p через mesh-сеть на обоих концах достаточно надёжное решение, если хотя бы часть узлов mesh-сети между адресатами не пишет логов.
Пункт третий: площадка.
Чем дальше мы углубляемся, тем меньше доверия остаётся. Лучшая площадка для общения — её отсутствие. Например, пересылка gpg-сообщений напрямую адресату. В крайнем случае — распределённые мессенжеры. И то, не факт, что распределённые системы не хранят «хлебных крошек», хотя бы с целью оптимизировать маршрутизацию.
Пункт четвёртый: собеседник.
Решение этой задачи ищут все разведки и контрразведки мира — подтвердить, что сообщение получит и сможет понять именно тот человек. Лучший из придуманных способов — система сертификатов. Кто-то внешний по длинной многоуровневой цепочке подтверждает, что с нами общается именно наш человек. И мы можем проверить каждого человека в цепочке, главное — доверие к корневому центру сертификации. Но в безопасном общении мы не можем себе позволить единый центр сертификации. Остаётся только проверять личные характеристики и фактические знания собеседника на соответствие известному нам человеку.
Пункт пятый: мы сами.
А можем ли мы доверять себе, как источнику сообщения? Думаю, что нет. У всех людей есть характерные лексические обороты, привычные сравнения и метафоры, характерные ошибки, стиль письма. Настоящий параноик, допустив потерю достаточно большого числа своих сообщений должен совершить самоубийство. Поскольку авторство его следующего сообщения, с большой вероятностью, можно будет сразу определить, он пожизненно деанонимизирован.
