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