]> Cypherpunks.ru repositories - govpn.git/blob - doc/news.ru.texi
db4a6edfea4c2c2208dc58e593dd87711c6054e5
[govpn.git] / doc / news.ru.texi
1 @node Новости
2 @section Новости
3
4 @node Релиз 7.0
5 @subsection Релиз 7.0
6 @itemize
7 @item (X)Salsa20 заменён на ChaCha20. Теоретически он должен быть
8 быстрее и более безопасным.
9 @end itemize
10
11 @node Релиз 6.0
12 @subsection Релиз 6.0
13 @itemize
14 @item Argon2d заменён на Balloon хэширование. Найденные Argon2
15 библиотеки, написанные полностью на Go, имеют различные проблемы. Более
16 того, Argon2i должен был быть использован вместо Argon2d, но у него есть
17 возможные @url{http://eprint.iacr.org/2016/027, криптографические
18 недостатки}. Поэтому он заменён на гораздо более простое (и, похоже,
19 даже криптографически лучшее)
20 @url{https://crypto.stanford.edu/balloon/, Balloon хэширование}.
21 @end itemize
22
23 @node Релиз 5.10
24 @subsection Релиз 5.10
25 @itemize
26 @item Добавлена @option{-version} опция, выводящая версию программы.
27 @end itemize
28
29 @node Релиз 5.9
30 @subsection Релиз 5.9
31 @itemize
32 @item Клиент переподключается в цикле когда соединение потеряно.
33 Опционально вы можете отключить это поведение: клиент сразу же выйдет,
34 как и делал раньше.
35 @end itemize
36
37 @node Релиз 5.8
38 @subsection Релиз 5.8
39 @itemize
40 @item Опциональная возможность использовать syslog для журналирования,
41 с @url{https://tools.ietf.org/html/rfc5424, RFC 5424}-похожими
42 структурированными записями.
43 @item Вместо XTEA алгоритма для обфускации nonce используется
44 BLAKE2b-MAC. Теперь нешифрованный режим действительно не зависит от
45 алгоритмов шифрования.
46 @end itemize
47
48 @node Релиз 5.7
49 @subsection Релиз 5.7
50 @itemize
51 @item Имя TAP интерфейса и адрес удалённой стороны теперь передаются в
52 up- и down- скрипты через переменные окружения.
53 @item Argon2 библиотека обновлена чтобы использовать 1.3 версию алгоритма.
54 @end itemize
55
56 @node Релиз 5.6
57 @subsection Релиз 5.6
58 @itemize
59 @item Добавлен up/down скрипт-пример для подмены маршрута по-умолчанию
60 (спасибо Zhuoyun Wei).
61 @item Исправлена ошибка при генерировании документации: @file{.info}
62 файл не устанавливался.
63 @end itemize
64
65 @node Релиз 5.5
66 @subsection Релиз 5.5
67 @itemize
68 @item Возможность работы на 32-х битных платформах. @emph{sync/atomic}
69 библиотека имеет особенности из-за которых предыдущие версии паниковали.
70 @end itemize
71
72 @node Релиз 5.4
73 @subsection Релиз 5.4
74 @itemize
75 @item Добавлена возможность требования @ref{Timesync, синхронизации
76 времени}. Она добавит временные метки в PRP аутентификацию сообщений
77 рукопожатия, не позволяя повторить ранее перехваченные пакеты и получить
78 ответ от сервера, делая его видимым для DPI.
79 @end itemize
80
81 @node Релиз 5.3
82 @subsection Релиз 5.3
83 @itemize
84 @item Исправлен небольшой баг связанный с тем что @command{newclient.sh}
85 ловил "Passphrase:" приглашение и помещал его в примерный вывод YAML.
86 Просто заменил вывод приглашения ввода парольной фразы с stdout на
87 stderr.
88 @end itemize
89
90 @node Релиз 5.2
91 @subsection Релиз 5.2
92 @itemize
93 @item Возможность ввода парольной фразы напрямую из терминала
94 (пользовательский ввод), без использования файлов с ключами. Утилита
95 @command{storekey.sh} удалена.
96 @end itemize
97
98 @node Релиз 5.1
99 @subsection Релиз 5.1
100 @itemize
101 @item Сервер конфигурируется через @url{http://yaml.org/, YAML} файл.
102 Очень удобно иметь комментарии и шаблоны, по сравнению с JSON.
103 @item Несовместимая с предыдущими версиями замена функции
104 @emph{HSalsa20} на @emph{BLAKE2b} в коде рукопожатия.
105 @end itemize
106
107 @node Релиз 5.0
108 @subsection Релиз 5.0
109 @itemize
110
111 @item Новый опциональный @ref{Encless, нешифрованный режим} работы.
112 Технически к исходящим пакетам не применяются функции шифрования,
113 поэтому вас не могут вынудить выдать ключи шифрования или привлечь к
114 ответственности за использования шифрования.
115 @item @ref{MTU} конфигурируются относительно каждого пользователя отдельно.
116 @item Упрощённая схема дополнения полезной нагрузки, экономия в один байт.
117 @item Возможность указать название TAP интерфейса явно, без
118 использования up-скриптов.
119 @item @command{govpn-verifier} утилита теперь может использовать @ref{EGD}.
120 @end itemize
121
122 @node Релиз 4.2
123 @subsection Релиз 4.2
124 @itemize
125 @item Исправлена некритичная ошибка при которой сервер мог упасть если
126 скрипт запуска (up.sh) не выполнился успешно.
127 @end itemize
128
129 @node Релиз 4.1
130 @subsection Релиз 4.1
131 @itemize
132 @item Вместо PBKDF2 используется
133 @url{https://password-hashing.net/#argon2, Argon2d} алгоритм хэширования
134 паролей.
135 @item Идентификатор клиента хранится внутри проверяльщика (verifier),
136 тем самым упрощая конфигурирование сервера и код.
137 @end itemize
138
139 @node Релиз 4.0
140 @subsection Релиз 4.0
141 @itemize
142 @item Сообщения рукопожатия могут быть зашумлены: их длина скрывается.
143 Теперь они неотличимы от транспортных сообщений.
144 @item Распараллеленная обработка клиентов на стороне сервера.
145 @item Гораздо более высокая общая производительность.
146 @item Конфигурирование сервера единственным JSON файлом.
147 @end itemize
148
149 @node Релиз 3.5
150 @subsection Релиз 3.5
151 @itemize
152 @item Возможность использовать @ref{Network, TCP} сетевой транспорт.
153 Сервер можно слушать одновременно на UDP и TCP сокетах.
154 @item Возможность использовать @ref{Proxy, HTTP прокси} (через CONNECT
155 метод) для доступа к серверу. Сервер может эмулировать поведение HTTP
156 прокси.
157 @item Обновлённая Poly1305 библиотека с исправлениями для ARM.
158 @item Версия Go 1.5+ сильно рекомендуется из-за вопросов
159 производительности.
160 @end itemize
161
162 @node Релиз 3.4
163 @subsection Релиз 3.4
164 @itemize
165 @item Возможность использовать внешний @ref{EGD} совместимый PRNG.
166 Теперь вы можете использовать GoVPN даже на системах с плохим
167 @file{/dev/random}.
168 @item Опция @option{-noncediff} удалена. Она заменена на хранилище уже
169 замеченных nonce-ов в памяти, тем самым полностью убирая возможность
170 атак перепроигрывания без потерь производительности связанных с
171 перетасовкой пакетов.
172 @end itemize
173
174 @node Релиз 3.3
175 @subsection Релиз 3.3
176 @itemize
177 @item Совместимость со старым GNU Make 3.x. Прежде только BSD Make и GNU
178 Make 4.x поддерживались.
179 @item @file{/dev/urandom} используется для правильного генерирования
180 идентификатора клиента под GNU/Linux системами. Прежде,
181 @file{/dev/random} мог выдать меньше ожидаемого количества данных.
182 @end itemize
183
184 @node Релиз 3.2
185 @subsection Релиз 3.2
186 @itemize
187 @item Детерминированная сборка: коммиты исходного кода зависимых
188 библиотек фиксированы.
189 @item Для сборки из исходного кода, соединение с Интернетом больше не
190 требуется: все зависимые библиотеки включены в tarball релизов.
191 @item Совместимость с FreeBSD Make. GNU Make не обязателен больше.
192 @end itemize
193
194 @node Релиз 3.1
195 @subsection Релиз 3.1
196 @itemize
197 @item Публичные ключи Диффи-Хельмана кодируются алгоритмом Elligator
198 перед отправкой, делая их неотличимыми от случайных строчек,
199 предотвращая определение удачного подбора ключа дешифрования при
200 переборе паролей (используемых для создания DSA публичных ключей).
201 Однако это в среднем потребляет в два раза больше энтропии при
202 генерировании клюей DH.
203 @end itemize
204
205 @node Релиз 3.0
206 @subsection Релиз 3.0
207 @itemize
208 @item EKE протокол заменён на Augmented-EKE и статичный симметричный
209 (обе стороны его имеют) pre-shared ключ заменён на верификатор на
210 стороне сервера. Это требует на 64 байта больше трафика рукопожатия,
211 добавляет Ed25519 зависимость с соответствующими расходами на подпись и
212 проверку, PBKDF2 зависимость и вычисления на стороне клиента.
213
214 A-EKE с PBKDF2 верификаторами устойчивы к атакам по словарю. Можно
215 использовать легко запоминаемые человеком парольные фразы вместо
216 статичных ключей. Верификаторы на стороне сервера не могут быть
217 использованы для аутентификации (скомпрометированный сервер не даст
218 возможность масксироваться под пользователя).
219
220 @item Изменена структура транспортных сообщений: добавлена длина
221 полезной нагрузки. Это увеличивает накладные расходы на два байта, но
222 сообщения сердцебиения стали меньше.
223
224 @item Возможность скрывать размер полезной нагрузки за счёт добавления
225 шума, мусора во время передачи данных. Каждый пакет дополняется до
226 максимального размера MTU.
227
228 @item Возможность скрывать факты появления пакетов полезной нагрузки, за
229 счёт константного по скорости трафика. Это также включает в себя
230 создание шума.
231
232 @item
233 Опции конфигурации @option{-timeout}, @option{-noncediff}, @option{-noise},
234 @option{-cpr} настраиваются по-клиентно.
235 @end itemize
236
237 @node Релиз 2.4
238 @subsection Релиз 2.4
239 @itemize
240 @item Возможность запуска встроенного HTTP-сервера отвечающего JSON-ом с
241 статистикой обо всех подключённых клиентах.
242 @item Документация явно лицензирована под GNU FDL 1.3+.
243 @end itemize
244
245 @node Релиз 2.3
246 @subsection Релиз 2.3
247 @itemize
248 @item Пакеты рукопожатия стали неотличимыми от случайных данных. Теперь
249 весь GoVPN трафик это шум для человека по середине.
250
251 @item Сообщения рукопожатия стали меньше (16% сокращения трафика).
252
253 @item Злоумышленник не может создать обманных пакеты рукопожатия которые
254 заставят сервер генерировать приватный DH ключ, предотвращая потребление
255 энтропии и ресурсоёмкие вычисления.
256 @end itemize
257
258 @node Релиз 2.2
259 @subsection Релиз 2.2
260 @itemize
261 @item Исправлены deadlock-и на некоторые каналы.
262 @end itemize
263
264 @node Релиз 2.1
265 @subsection Релиз 2.1
266 @itemize
267 @item Восстановлена сборка под GNU/Linux системами.
268 @end itemize
269
270 @node Релиз 2.0
271 @subsection Релиз 2.0
272 @itemize
273 @item Добавлена идентификация клиентов.
274 @item Поддержка одновременно нескольких клиентов одним сервером.
275 @item Скрипты up/down для каждого клиента.
276 @end itemize
277
278 @node Релиз 1.5
279 @subsection Релиз 1.5
280 @itemize
281 @item Шифрование/обфусцирование nonce-ов.
282 @end itemize
283
284 @node Релиз 1.4
285 @subsection Релиз 1.4
286 @itemize
287 @item Оптимизации производительности.
288 @end itemize
289
290 @node Релиз 1.3
291 @subsection Релиз 1.3
292 @itemize
293 @item Возможность сердцебиения.
294 @item Возможность пересогласования (rehandshake).
295 @item Опциональные up/down скрипты.
296 @end itemize
297
298 @node Релиз 1.1
299 @subsection Релиз 1.1
300 @itemize
301 @item Поддержка FreeBSD.
302 @end itemize
303
304 @node Релиз 1.0
305 @subsection Релиз 1.0
306 @itemize
307 @item Первый стабильный релиз.
308 @end itemize