@node UsecaseF2FRU
@subsection Частные, изолированные MitM/Sybil-устойчивые сети

Все Интернет соединения могут быть прослушаны и сфальсифицированы. Вы
@strong{вынуждены} использовать шифрование и аутентификацию для
безопасности. Но очень сложно обезопасить метаданные, которые утекают
при каждой online сессии. Когда вы запускаете свой новый сверкающий
программный сервер, то имейте в виду, что может существовать огромное
количество поддельных узлов пытающихся произвести
@url{https://en.wikipedia.org/wiki/Sybil_attack, Sybil атаку}. Открытые
узел-к-узлу (peer-to-peer) сети опасны.

Наиболее популярный криптографический протокол в Интернете это
@url{https://ru.wikipedia.org/wiki/TLS, TLS}, который крайне сложно
правильно реализовать и сконфигурировать для двусторонней аутентификации
собеседников. Не все конфигурации TLS обладают свойством
@url{https://ru.wikipedia.org/wiki/Perfect_forward_secrecy, совершенной
прямой секретности} -- все ранее перехваченные пакеты могут быть
прочтены если приватные ключи скомпрометированы.

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

@ref{nncp-daemon, TCP демон} NNCP использует
@url{http://noiseprotocol.org/, Noise-IK} протокол для двусторонней
аутентификации узлов и предоставляет эффективный (оба участника могут
отослать полезную нагрузку сразу же в самом первом пакете) безопасный
транспорт с свойством совершенной прямой секретности.

@example
$ nncp-daemon -bind "[::]":5400
@end example

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

@example
$ nncp-call bob
@end example

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

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