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