]> Cypherpunks.ru repositories - govpn.git/blob - doc/about.ru.texi
Ability to use TUN-interfaces under GNU/Linux
[govpn.git] / doc / about.ru.texi
1 @node О демоне
2 @section Подробнее о демоне GoVPN
3
4 GoVPN это простой демон виртуальных частных сетей, код которого нацелен
5 на лёгкость чтения и анализа, безопасность, устойчивость к DPI/цензуре.
6
7 @itemize
8
9 @item
10 @url{https://www.gnu.org/philosophy/free-sw.ru.html, Свободное программное
11 обеспечение}, @url{https://www.gnu.org/philosophy/pragmatic.ru.html, копилефт}:
12 лицензировано под условиями @url{https://www.gnu.org/licenses/gpl-3.0.ru.html,
13 GPLv3+}.
14
15 @item
16 Быстрый сильный @ref{PAKE, аутентифицируемый по парольной фразе}
17 несбалансированный протокол @ref{Handshake, согласования ключей} с
18 двусторонней аутентификацией сторон и нулевым неразглашением (PAKE DH
19 A-EKE (Diffie-Hellman Augmented Encrypted Key Exchange)).
20
21 @item
22 @ref{Verifier structure, Несбалансированные верификаторы}
23 устойчивые к внесетевым (offline) атакам по словарю. Используют
24 усиленный по CPU и памяти алгоритм хэширования. Злоумышленник не может
25 замаскироваться под клиента даже скомпрометировав базу данных токенов
26 сервера.
27
28 @item
29 Зашифрованный и аутентифицируемый @ref{Transport, транспортный протокол}
30 передачи данных с 128-бит @ref{Developer, порогом безопасности} и
31 современной не-NIST криптографией.
32
33 @item
34 Опциональный @ref{Encless, нешифрованный режим}: функции шифрования не
35 применяются для исходящего трафика, вместо них кодирование всё-равно
36 обеспечивающее конфиденциальность. Юрисдикции и суды не могут вас
37 вынудить выдать ключи шифрования или привлечь за использование
38 шифрования.
39
40 @item
41 Цензуроустойчивые сообщения транспорта и рукопожатия: неотличимые от
42 шума с опциональным скрытием размеров сообщений.
43
44 @item
45 Свойство @url{https://ru.wikipedia.org/wiki/Perfect_forward_secrecy,
46 совершенной прямой секретности} (perfect forward secrecy).
47
48 @item
49 Защита от атак повторного воспроизведения (replay) (используя
50 одноразовые MAC и опциональное условие @ref{Timesync, синхронизации времени}).
51
52 @item
53 Встроенные функции пересогласования ключей (ротация сессионных ключей) и 
54 сердцебиения (heartbeat).
55
56 @item
57 Возможность скрывать размеры пакетов путём @ref{Noise, зашумления} данных.
58
59 @item
60 Возможность скрывать временные характеристики полезной нагрузки путём
61 @ref{CPR, постоянного по скорости} трафика.
62
63 @item
64 Совместимость с @url{http://egd.sourceforge.net/, EGD} (демон сборки
65 энтропии) генераторами псевдослучайных чисел.
66
67 @item
68 Поддержка нескольких клиентов одновременно с специфичной для каждого
69 конфигурацией. Клиенты имеют заранее установленный @ref{Identity,
70 идентификатор}, невидимый третьим лицам (они анонимны для них).
71
72 @item
73 Использует @url{https://ru.wikipedia.org/wiki/TUN/TAP, TUN/TAP} низлежащие
74 сетевые интерфейсы.
75
76 @item
77 Может работать поверх @ref{Network, UDP и TCP} или HTTP @ref{Proxy,
78 прокси} для доступа к серверу.
79
80 @item
81 Полностью IPv4 и IPv6 совместимый.
82
83 @item
84 Опциональный встроенный HTTP-сервер для получения @ref{Stats,
85 статистики} о подключённых клиентах в режиме реального времени в
86 @url{http://json.org/, JSON} формате.
87
88 @item
89 Сервер конфигурируется используя @url{http://yaml.org/, YAML} файл.
90
91 @item
92 Возможность использовать syslog для журналирования.
93
94 @item
95 Написан на языке @url{https://golang.org/, Go} с простым кодом,
96 ориентированным на лёгкость чтения и анализа.
97
98 @item
99 Поддержка @url{https://www.gnu.org/, GNU}/Linux и
100 @url{https://www.freebsd.org/, FreeBSD}.
101
102 @end itemize