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