]> Cypherpunks.ru repositories - nncp.git/blob - doc/usecases.ru/f2f.texi
Mention Yggdrasil accessible entrypoint
[nncp.git] / doc / usecases.ru / f2f.texi
1 @node UsecaseF2FRU
2 @subsection Частные, изолированные MitM/Sybil-устойчивые сети
3
4 Все Интернет соединения могут быть прослушаны и сфальсифицированы. Вы
5 @strong{вынуждены} использовать шифрование и аутентификацию для
6 безопасности. Но очень сложно обезопасить метаданные, которые утекают
7 при каждой online сессии. Когда вы запускаете свой новый сверкающий
8 программный сервер, то имейте в виду, что может существовать огромное
9 количество поддельных узлов пытающихся произвести
10 @url{https://en.wikipedia.org/wiki/Sybil_attack, Sybil атаку}. Открытые
11 узел-к-узлу (peer-to-peer) сети опасны.
12
13 Наиболее популярный криптографический протокол в Интернете это
14 @url{https://ru.wikipedia.org/wiki/TLS, TLS}, который крайне сложно
15 правильно реализовать и сконфигурировать для двусторонней аутентификации
16 собеседников. Не все конфигурации TLS обладают свойством
17 @url{https://ru.wikipedia.org/wiki/Perfect_forward_secrecy, совершенной
18 прямой секретности} -- все ранее перехваченные пакеты могут быть
19 прочтены если приватные ключи скомпрометированы.
20
21 Друг-к-другу (friend-to-friend) сети, "тёмные сети" (darknet) могут
22 нивелировать возможные риски связанные с поддельными и фиктивными
23 узлами. Хотя они и сложнее в поддержке и требуют больше затрат на
24 построение.
25
26 @ref{nncp-daemon, TCP демон} NNCP использует
27 @url{http://noiseprotocol.org/, Noise-IK} протокол для двусторонней
28 аутентификации узлов и предоставляет эффективный (оба участника могут
29 отослать полезную нагрузку сразу же в самом первом пакете) безопасный
30 транспорт с свойством совершенной прямой секретности.
31
32 @example
33 $ nncp-daemon -bind "[::]":5400
34 @end example
35
36 запустит TCP демон, который будет слушать входящие соединения на всех
37 интерфейсах.
38
39 @example
40 $ nncp-call bob
41 @end example
42
43 попытается подключиться к известному TCP-адресу узла @emph{bob} (взятого
44 из конфигурационного файла), послать все связанные с ним исходящие
45 пакеты и получить от него. Все прерванные передачи будут автоматически
46 возобновлены.
47
48 А наличие возможности @ref{MCD, multicast обнаружения} участников сети в
49 IPv6 сетях позволяет вообще не возиться с заданием сетевых адресов.