]> Cypherpunks.ru repositories - govpn.git/blob - doc/about.texi
[DOC] Mention handshake packets length hiding
[govpn.git] / doc / about.texi
1 GoVPN is simple free software virtual private network daemon,
2 aimed to be reviewable, secure and
3 @url{https://en.wikipedia.org/wiki/Deep_packet_inspection, DPI}/censorship-resistant.
4
5 @itemize @bullet
6 @item
7 Copylefted free software: licenced under
8 @url{https://www.gnu.org/licenses/gpl-3.0.html, GPLv3+}.
9 @item
10 Fast strong @ref{PAKE, passphrase authenticated} augmented
11 @ref{Handshake, key agreement protocol} with zero-knowledge mutual peers
12 authentication (PAKE DH A-EKE (Diffie-Hellman Augmented Encrypted Key
13 Exchange)), censorship resistant (indistinguishable from noise, with
14 hidden packet's length).
15 @item
16 @ref{Verifier structure, Augmented authentication tokens} resistant to
17 offline dictionary attacks. An attacker can not masquerade a client
18 even with server passphrase verifiers compromising.
19 @item
20 Encrypted and authenticated @ref{Transport, payload transport}
21 with 128-bit @ref{Developer, security margin} state-of-the-art
22 cryptography and censorship resistance (indistinguishability from noise
23 and hiding of packet's length).
24 @item
25 @url{https://en.wikipedia.org/wiki/Forward_secrecy, Perfect forward secrecy}
26 property.
27 @item
28 Replay attack protection (using one-time MACs).
29 @item
30 Built-in rehandshake (session key rotation) and heartbeat features.
31 @item
32 Ability to hide packets length with the @ref{Noise, noise} data.
33 @item
34 Ability to hide payload timestamps with @ref{CPR, constant packet rate}
35 traffic.
36 @item
37 Compatible with @url{http://egd.sourceforge.net/, EGD} (entropy
38 gathering daemon) PRNGs.
39 @item
40 Several simultaneous clients support with per-client configuration
41 options. Clients have pre-established @ref{Identity, identity} invisible
42 for third-parties (they are anonymous).
43 @item
44 Uses @url{https://en.wikipedia.org/wiki/TAP_(network_driver), TAP}
45 underlying network interfaces.
46 @item
47 Can use @ref{Network, UDP and TCP} or HTTP @ref{Proxy, proxies}
48 for accessing the server.
49 @item
50 Fully IPv4 and IPv6 compatible.
51 @item
52 Optional built-in HTTP-server for retrieving real-time
53 @ref{Stats, statistics} information about known connected peers in
54 @url{http://json.org/, JSON} format.
55 @item
56 Written on @url{http://golang.org/, Go} programming language with
57 simple code that can be read and reviewed.
58 @item
59 @url{https://www.gnu.org/, GNU}/Linux and
60 @url{http://www.freebsd.org/, FreeBSD} support.
61 @end itemize