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