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