]> Cypherpunks repositories - govpn.git/commitdiff
[DOC] Remark about good PRNG requirement
authorSergey Matveev <stargrave@stargrave.org>
Mon, 16 Mar 2015 09:50:36 +0000 (12:50 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Mon, 16 Mar 2015 09:52:07 +0000 (12:52 +0300)
Signed-off-by: Sergey Matveev <stargrave@stargrave.org>
doc/govpn.texi

index a7e32f1165f051f797576873ae8b5c4834b3bab0..333be6c54b66c1ddbe0dbc1843ce783b11283c30 100644 (file)
@@ -27,6 +27,7 @@ network (VPN) daemon, written entirely on Go programming language.
 * Overview::
 * News::
 * Getting and building source code::
+* Precautions::
 * User manual::
 * Developer manual::
 * Reporting bugs::
@@ -156,6 +157,25 @@ directory:
 
 @include pubkey.texi
 
+@node Precautions
+@unnumbered Precautions
+
+The very important precaution is the @strong{cryptographically good}
+pseudo random number generator. GoVPN uses native operating system PRNG
+as entropy source. You have no way to check it's quality in closed
+source code operating systems, so it is recommended not to use them if
+you really needs security. Moreover it is possible that those OS leaks
+information about possible PRNG states. And at least Apple OS X and
+Microsoft Windows are already known to have weak CSPRNGs.
+
+GoVPN could use it's own PRNG implementation like Fortuna, but it is
+much easier to use the right OS, to use free software.
+
+Also you should @strong{never} use one key for multiple clients. Salsa20
+encryption is randomized in each session, but it depends again on PRNG.
+If it fails, produces equal values at least once, then all you traffic
+related to that key could be decrypted.
+
 @node User manual
 @unnumbered User manual