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