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