#### Частные, изолированные MitM/Sybil-устойчивые сети ¶

Все Интернет соединения могут быть прослушаны и сфальсифицированы. Вы вынуждены использовать шифрование и аутентификацию для безопасности. Но очень сложно обезопасить метаданные, которые утекают при каждой online сессии. Когда вы запускаете свой новый сверкающий программный сервер, то имейте в виду, что может существовать огромное количество поддельных узлов пытающихся произвести Sybil атаку. Открытые узел-к-узлу (peer-to-peer) сети опасны.

Наиболее популярный криптографический протокол в Интернете это TLS, который крайне сложно правильно реализовать и сконфигурировать для двусторонней аутентификации собеседников. Не все конфигурации TLS обладают свойством совершенной прямой секретности – все ранее перехваченные пакеты могут быть прочтены если приватные ключи скомпрометированы.

Друг-к-другу (friend-to-friend) сети, "тёмные сети" (darknet) могут нивелировать возможные риски связанные с поддельными и фиктивными узлами. Хотя они и сложнее в поддержке и требуют больше затрат на построение.

TCP демон NNCP использует Noise-IK протокол для двусторонней аутентификации узлов и предоставляет эффективный (оба участника могут отослать полезную нагрузку сразу же в самом первом пакете) безопасный транспорт с свойством совершенной прямой секретности.

    $ nncp-daemon -bind "[::]":5400

запустит TCP демон, который будет слушать входящие соединения на всех интерфейсах.

    $ nncp-call bob

попытается подключиться к известному TCP-адресу узла bob (взятого из конфигурационного файла), послать все связанные с ним исходящие пакеты и получить от него. Все прерванные передачи будут автоматически возобновлены.

А наличие возможности multicast обнаружения участников сети в IPv6 сетях позволяет вообще не возиться с заданием сетевых адресов.