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