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