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