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