X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=doc%2Fprecautions.texi;h=20570b00aa528147d1c9eb783afd97c81d0577ac;hb=c982ccb214ba8d0fd8a30dee7439ea2db1559f6f;hp=bae37b3ec4e5d02e167d8488264aed1f468c6dd6;hpb=b35c71524c2e2b2e8383212e617fc61486bdad88;p=govpn.git diff --git a/doc/precautions.texi b/doc/precautions.texi index bae37b3..20570b0 100644 --- a/doc/precautions.texi +++ b/doc/precautions.texi @@ -1,19 +1,20 @@ @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. +@enumerate +@item +We use passphrase authentication, so overall security fully depends on +its strength. You @strong{should} use long, high-entropy passphrases. +Also remember to keep passphrase in temporary file and read it securely +as described in @ref{Verifier, verifier}. -GoVPN could use it's own PRNG implementation like -@url{https://www.schneier.com/fortuna.html, Fortuna}, but it is -much easier to use the right OS, to use free software. +@item +You must @strong{never} use the same key for multiple clients. -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. +@item +You must use @strong{cryptographically good} pseudo random number +generator. By default we use default @code{crypto/rand} library that +reads @file{/dev/urandom} source. Some GNU/Linux and FreeBSD systems +are rather good with this entropy source. Closed proprietary ones are +always not and you must use optional @ref{EGD} feature with them. +@end enumerate