]> Cypherpunks.ru repositories - govpn.git/blob - doc/faq.ru.texi
Add time synchronization requirement option
[govpn.git] / doc / faq.ru.texi
1 @node ЧАВО
2 @cindex FAQ (russian)
3 @cindex ЧАВО
4 @cindex Часто задаваемые вопросы
5 @unnumbered Часто задаваемые вопросы
6
7 @table @asis
8
9 @item Почему вы не используете TLS?
10 Это сложный протокол. Он использует Аутентификацию-затем-Шифрование
11 порядок использования алгоритмов -- это не безопасно. Более того, его
12 библиотеки огромный и сложны для чтения, ревью и анализа.
13
14 @item Почему вы не используете SSH?
15 Его первые версии использовали Аутентификацию-и-Шифрование порядок,
16 однако более поздние поддерживают даже ChaCha20-Poly1305 алгоритм. Его
17 исходный код не тривиален и достаточно большой для чтения и ревью.
18 OpenSSH не поддерживает сильные протоколы аутентификации по паролю с
19 нулевым неразглашением.
20
21 @item Почему вы не используете IPsec?
22 Это достаточно хороший протокол, поддерживаемый большинством ОС. Но в
23 нём нет сильного протокола аутентификации по паролю с нулевым
24 неразглашением и, снова, его код сложно читать.
25
26 @item Почему вы не используете XXX?
27 По тем же самым причинам: большинство ПО не предоставляют сильных
28 протоколов аутентификации, высокой криптографической безопасности и,
29 большая часть, написана на C -- на нём сложно правильно писать.
30
31 @item Почему GoVPN написан на Go?
32 Go очень легко читается, поддаётся ревью и поддержке. Он усложняет
33 написание сложного кода. Он предоставляет всё что нужно для C языка:
34 проверки границ массивов, сборщик мусора и конкурентные примитивы. Он
35 обеспечивает меньшую производительность (хотя на моём ноутбуке даёт
36 более чем 750 Mbps пропускной способности), но большую надёжность и
37 гораздо меньше строк кода.
38
39 @item Почему вы аутентифицируете по парольной фразе?
40 Человек способ запоминать достаточно длинные парольные фразы (не
41 пароли): 100-200 символов, что даёт возможность использовать её как
42 высокоэнтропийный ключ. Вам нужно доверять только себе, не аппаратному
43 токену или другому устройству хранения. Это удобно.
44
45 @cindex Настройка сети
46 @item Почему вся настройка сети делается вручную?
47 Потому-что существует так много вариантов использования, конфигураций и
48 установок, что или я поддерживаю их всех, или использую громоздкие
49 протоколы типы PPP, или просто даю право выбора администратору. VPN это
50 всего-лишь прослойка.
51
52 @item Почему нет поддержки OS X или Windows?
53 Любые проприетарные системы с закрытым исходным кодом не дают
54 возможности управлять компьютером. Вы не можете безопасно использовать
55 всё что касается криптографии без контроля над нижестоящим
56 вычислительным устройством. Выбирайте другую операционную систему.
57
58 @item Что вы подразумеваете под совершенной прямой секретностью?
59 Что вы не можете дешифровать ранее перехваченный трафик если ваши
60 долгоживущие ключи будут скомпрометированы. Это свойство работает на
61 уровне сессии: оно не спасёт если сессионный ключ скомпрометирован из
62 памяти.
63
64 @cindex Анонимность
65 @cindex Анонимные клиенты
66 @item Что вы подразумеваете когда говорите что клиенты анонимны?
67 Что третьей лицо не может отличить одного клиента от другого, смотря на
68 трафик (транспортный или рукопожатия).
69
70 @cindex Цензуроустойчивость
71 @item Что вы подразумеваете под цензуроустойчивостью?
72 Невозможность определить GoVPN ли это трафик или просто
73 @code{cat /dev/urandom | nc somehost}. Если вы не можете отличить один
74 вид трафика от другого, то при цензуре ваше единственный вариант это
75 заблокировать все его виды.
76
77 @item Когда я должен использовать @ref{Encless, нешифрованный режим}?
78 Если вы работаете под юрисдикциями где суды могут привлечь вас к
79 ответственности за использование шифрования или могут вынудить вас
80 как-либо выдать ваши ключи шифрования (хотя сессионные ключи шифрования
81 генерируются каждую сессию). В большинстве случаев, эти суды не могут
82 требовать аутентификационные ключи или ключи для ЭЦП. @strong{Не
83 позволяйте} названию режима вас смутить: он всё-равно обеспечивает
84 конфиденциальность и аутентичность передаваемых данных! Но имейте в
85 виду, что этот режим требователен к ресурсам и трафику и пока работает
86 только в TCP режиме.
87
88 @item Вы думаете нешифрованный режим с его случайными данными поможет в суде?
89 Если всё что не может быть прочитано кем-угодно считается шифрованием,
90 то нет, этот режим вам не поможет. Представьте что вы говорите на другом
91 иностранном языке или просто используете другую схему кодирования данных.
92
93 @item Когда я должен использовать @ref{Noise, noise} опцию?
94 В большинстве случаев она вам не нужна без включённого
95 @ref{CPR, постоянного по скорости трафика} (CPR). Без CPR и шума, в
96 GoVPN трафике (так же как и в TLS, IPsec, SSH и других VPN протоколах)
97 утекает информация о размерах и временных характеристиках пакетов
98 нижележащего уровня. Вы можете делать анализ трафика и предполагать что
99 происходить в сети. Без CPR опции вы можете только сказать в online ли
100 кто или нет -- ни больше, ни меньше.
101
102 @item Когда я должен использовать опцию @ref{Timesync, синхронизации времени}?
103 Без этой опции, если кто-либо перехватит первоначальный пакет
104 рукопожатия от настоящего клиента, то он сможет его повторить и получить
105 пакет рукопожатия от сервера в ответ. Это может быть использовано для
106 определения известен ли определённый пользователь серверу и то что мы
107 имеем дело именно с GoVPN сервером. Timesync опция заставляет добавлять
108 временные штампы в пакеты рукопожатия, разрешая быть пакетам
109 действительными только в указанном временном окне. Если вы имеете более
110 или менее синхронизированные часы между вашими клиентами и сервером, то
111 можете всего использовать эту опцию.
112
113 @item Могу ли я сделать DoS (отказ в обслуживании) демона?
114 Каждый транспортный пакет первым делом аутентифицируется очень быстрым
115 UMAC алгоритмом -- в большинстве случаев потребление ресурсов TCP/UDP
116 слоёв будет выше чем проверка UMAC. Каждое сообщение рукопожатия
117 обрабатывается только если зашифрованный @ref{Identity, идентификатор}
118 клиента найден: он использует быстрый PRP без потребления энтропии.
119
120 @item Почему YAML для конфигурации?
121 Есть не так много хорошо известных форматов позволяющих комментировать,
122 легко редактировать людьми (XML совсем не дружелюбен к человеку, JSON
123 более менее). Возможно самое важное свойство это шаблоны YAML: очень
124 удобно сохранить много клиентов, имеющих схожие настройки, в одном
125 конфигурационном файле.
126
127 @end table