]> Cypherpunks.ru repositories - govpn.git/blob - doc/news.texi
[DOC] Add various concept indexes
[govpn.git] / doc / news.texi
1 @node News
2 @cindex Releases
3 @cindex News
4 @unnumbered News
5
6 @table @strong
7
8 @item Release 5.1
9 @cindex Release 5.1
10 @itemize
11 @item Server is configured using @url{http://yaml.org/, YAML} file. It
12 is very convenient to have comments and templates, comparing to JSON.
13 @item Incompatible with previous versions replacement of @emph{HSalsa20}
14 with @emph{BLAKE2b} in handshake code.
15 @end itemize
16
17 @item Release 5.0
18 @cindex Release 5.0
19 @itemize
20 @item New optional @ref{Encless, encryptionless mode} of operation.
21 Technically no encryption functions are applied for outgoing packets, so
22 you can not be forced to reveal your encryption keys or sued for
23 encryption usage.
24 @item @ref{MTU}s are configured on per-user basis.
25 @item Simplified payload padding scheme, saving one byte of data.
26 @item Ability to specify TAP interface name explicitly without any
27 up-scripts for convenience.
28 @item @code{govpn-verifier} utility also can use @ref{EGD}.
29 @end itemize
30
31 @item Release 4.2
32 @cindex Release 4.2
33 @itemize
34 @item Fixed non-critical bug when server may fail if up-script is not
35 executed successfully.
36 @end itemize
37
38 @item Release 4.1
39 @cindex Release 4.1
40 @itemize
41 @item @url{https://password-hashing.net/#argon2, Argon2d} is used instead
42 of PBKDF2 for password verifier hashing.
43 @item Client's identity is stored inside the verifier, so it simplifies
44 server-side configuration and the code.
45 @end itemize
46
47 @item Release 4.0
48 @cindex Release 4.0
49 @itemize
50 @item Handshake messages can be noised: their messages lengths are
51 hidden. Now they are indistinguishable from transport messages.
52 @item Parallelized clients processing on the server side.
53 @item Much higher overall performance.
54 @item Single JSON file server configuration.
55 @end itemize
56
57 @item Release 3.5
58 @cindex Release 3.5
59 @itemize
60 @item Ability to use @ref{Network, TCP} network transport.
61 Server can listen on both UDP and TCP sockets.
62 @item Ability to use @ref{Proxy, HTTP proxies} (through CONNECT method)
63 for accessing the server. Server can also emulate HTTP proxy behaviour.
64 @item Updated Poly1305 library with ARM-related bugfixes.
65 @item Go 1.5+ version is highly recommended because of performance
66 reasons.
67 @end itemize
68
69 @item Release 3.4
70 @cindex Release 3.4
71 @itemize
72 @item Ability to use external @ref{EGD}-compatible PRNGs. Now you are
73 able to use GoVPN even on systems with the bad @code{/dev/random},
74 providing higher quality entropy from external sources.
75 @item Removed @code{-noncediff} option. It is replaced with in-memory
76 storage of seen nonces, thus eliminating possible replay attacks at all
77 without performance degradation related to inbound packets reordering.
78 @end itemize
79
80 @item Release 3.3
81 @cindex Release 3.3
82 @itemize
83 @item Compatibility with an old GNU Make 3.x. Previously only BSD Make
84 and GNU Make 4.x were supported.
85 @item /dev/urandom is used for correct client identity generation under
86 GNU/Linux systems. Previously /dev/random can produce less than required
87 128-bits of random.
88 @item Updated user manual examples.
89 @end itemize
90
91 @item Release 3.2
92 @cindex Release 3.2
93 @itemize
94 @item
95 Deterministic building: dependent libraries source code commits are
96 fixed in our makefiles.
97 @item
98 No Internet connection is needed for building the source code: all
99 required libraries are included in release tarballs.
100 @item
101 FreeBSD Make compatibility. GNU Make is not necessary anymore.
102 @end itemize
103
104 @item Release 3.1
105 @cindex Release 3.1
106 @itemize
107 @item
108 Diffie-Hellman public keys are encoded with Elligator algorithm when
109 sending over the wire, making them indistinguishable from the random
110 strings, preventing detection of successful decryption try when guessing
111 passwords (that are used to create DSA public keys). But this will
112 consume twice entropy for DH key generation in average.
113 @end itemize
114
115 @item Release 3.0
116 @cindex Release 3.0
117 @itemize
118 @item
119 EKE protocol is replaced by Augmented-EKE and static symmetric (both
120 sides have it) pre-shared key replaced with server-side verifier. This
121 requires, 64 more bytes in handshake traffic, Ed25519 dependency with
122 corresponding sign/verify computations, PBKDF2 dependency and its
123 usage on the client side during handshake.
124
125 A-EKE with PBKDF2-based verifiers is resistant to dictionary attacks,
126 can use human memorable passphrases instead of static keys and
127 server-side verifiers can not be used for authentication (compromised
128 server does not leak client's authentication keys/passphrases).
129
130 @item
131 Changed transport message structure: added payload packet's length.
132 This will increase transport overhead for two bytes, but heartbeat
133 packets became smaller
134
135 @item
136 Ability to hide underlying packets lengths by appending noise, junk
137 data during transmission. Each packet can be fill up-ed to its
138 maximal MTU size.
139
140 @item
141 Ability to hide underlying packets appearance rate, by generating
142 Constant Packet Rate traffic. This includes noise generation too.
143 @item
144 Per-peer @code{-timeout}, @code{-noncediff}, @code{-noise} and
145 @code{-cpr} configuration options for server.
146 @end itemize
147
148 @item Release 2.4
149 @cindex Release 2.4
150 @itemize
151 @item
152 Added ability to optionally run built-in HTTP-server responding with
153 JSON of all known connected peers information. Real-time client's
154 statistics.
155
156 @item
157 Documentation is explicitly licenced under GNU FDL 1.3+.
158 @end itemize
159
160 @item Release 2.3
161 @cindex Release 2.3
162 @itemize
163 @item
164 Handshake packets became indistinguishable from the random.
165 Now all GoVPN's traffic is the noise for men in the middle.
166
167 @item
168 Handshake messages are smaller (16% traffic reduce).
169
170 @item
171 Adversary now can not create malicious fake handshake packets that
172 will force server to generate private DH key, preventing entropy
173 consuming and resource heavy computations.
174 @end itemize
175
176 @item Release 2.2
177 @cindex Release 2.2
178 @itemize
179 @item Fixed several possible channel deadlocks.
180 @end itemize
181
182 @item Release 2.1
183 @cindex Release 2.1
184 @itemize
185 @item Fixed Linux-related building.
186 @end itemize
187
188 @item Release 2.0
189 @cindex Release 2.0
190 @itemize
191 @item Added clients identification.
192 @item Simultaneous several clients support by server.
193 @item Per-client up/down scripts.
194 @end itemize
195
196 @item Release 1.5
197 @cindex Release 1.5
198 @itemize
199 @item Nonce obfuscation/encryption.
200 @end itemize
201
202 @item Release 1.4
203 @cindex Release 1.4
204 @itemize
205 @item Performance optimizations.
206 @end itemize
207
208 @item Release 1.3
209 @cindex Release 1.3
210 @itemize
211 @item Heartbeat feature.
212 @item Rehandshake feature.
213 @item up- and down- optinal scripts.
214 @end itemize
215
216 @item Release 1.1
217 @cindex Release 1.1
218 @itemize
219 @item FreeBSD support.
220 @end itemize
221
222 @item Release 1.0
223 @cindex Release 1.0
224 @itemize
225 @item Initial stable release.
226 @end itemize
227
228 @end table