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