]> Cypherpunks.ru repositories - govpn.git/blob - doc/about.texi
Merge branch 'develop'
[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
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)).
14 @item
15 @ref{Verifier structure, Augmented authentication tokens} resistant to
16 offline dictionary attacks. They use CPU and memory hardened hashing
17 algorithm. An attacker can not masquerade a client even with server
18 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.
23 @item
24 Censorship resistant handshake and transport messages: fully
25 indistinguishable from the noise with optionally hidden packets lengths.
26 @item
27 @url{https://en.wikipedia.org/wiki/Forward_secrecy, Perfect forward secrecy}
28 property.
29 @item
30 Replay attack protection (using one-time MACs).
31 @item
32 Built-in rehandshake (session key rotation) and heartbeat features.
33 @item
34 Ability to hide packets length with the @ref{Noise, noise} data.
35 @item
36 Ability to hide payload timestamps with @ref{CPR, constant packet rate}
37 traffic.
38 @item
39 Compatible with @url{http://egd.sourceforge.net/, EGD} (entropy
40 gathering daemon) PRNGs.
41 @item
42 Several simultaneous clients support with per-client configuration
43 options. Clients have pre-established @ref{Identity, identity} invisible
44 for third-parties (they are anonymous).
45 @item
46 Uses @url{https://en.wikipedia.org/wiki/TAP_(network_driver), TAP}
47 underlying network interfaces.
48 @item
49 Can use @ref{Network, UDP and TCP} or HTTP @ref{Proxy, proxies}
50 for accessing the server.
51 @item
52 Fully IPv4 and IPv6 compatible.
53 @item
54 Optional built-in HTTP-server for retrieving real-time
55 @ref{Stats, statistics} information about known connected peers in
56 @url{http://json.org/, JSON} format.
57 @item
58 Written on @url{http://golang.org/, Go} programming language with
59 simple code that can be read and reviewed.
60 @item
61 @url{https://www.gnu.org/, GNU}/Linux and
62 @url{http://www.freebsd.org/, FreeBSD} support.
63 @end itemize