Анонимная сеть Hidden Lake
Анонимность сети Hidden Lake сводится к невозможности определения совершаемых действий со стороны клиентов системы. Иными словами, проблемой для наблюдателей будет являться определение того, делает ли клиент хоть что-либо в сети: отправляет сообщения, получает их, или просто навсего бездействует. Такое свойство сети становится возможным лишь за счёт теоретически доказуемой задачи - задачи на базе очередей.
Задача на базе очередей
Задача на базе очередей трактуется достаточно легко и интуитивно понятно.
Таковая задача может быть описана следующим небольшим алгоритмом:
1. Каждое сообщение шифруется ключом получателя,
2. Сообщение отправляется в период = T всем участникам сети,
3. Период T одного участника независим от периодов T1, T2, ..., Tn других участников,
4. Если на период T сообщения не существует, то в сеть отправляется ложное сообщение без получателя,
5. Каждый участник пытается расшифровать принятое им сообщение из сети.
Со стороны наблюдателя, будь то глобального или локального, будь то внутреннего или внешнего, картина всегда одинакова: он видит лишь факт генерации сообщений в точно заданный период равный T от каждого пользователя в сети. Наблюдатель не может узнать истинно данное сообщение или ложно, и за счёт этого не может определить какую бы то ни было закономерность отправления / получения информации кроме как самого периода генерации = T.
Ресурсы и литература
Код и разработка анонимной сети Hidden Lake полностью открыта. Весь проект можно найти на страницах Github'a.
Для ознакомления c основными составляющими анонимной сети, приложил также презентацию hidden_lake_anonymous_network.pdf.
Более подробно с теоретическими и исследовательскими работами по анонимности вы можете ознакомиться на странице docs проекта go-peer.
Скачать и запустить анонимную сеть можно
* из исходников (нужен будет компилятор языка программирования Go),
* из docker файлов (нужен будет установленный docker),
* из последней релизной ветки.