document how to check how much entropy is avail on linux
[ach-master.git] / src / practical_settings / GPG.tex
1 The OpenPGP protocol
2 \footnote{\url{http://tools.ietf.org/search/rfc4880}}
3  uses asymmetric encryption to protect a session key which is used to encrypt a message. Additionally, it signs messages via asymmetric encryption and hash functions. %% what? - azet
4 Research on SHA-1 conducted back in 2005\footnote{\url{https://www.schneier.com/blog/archives/2005/02/sha1\_broken.html}} has made clear that collision attacks are a real threat to the security of the SHA-1 hash function. PGP settings should be adapted to avoid using SHA-1.
5
6
7 When using PGP, there are a couple of things to take care of:
8 \begin{itemize}
9 \item keylengths (see section \ref{section:keylengths})
10 \item randomness (see section \ref{section:RNGs})
11 \item preference of symmetric encryption algorithm (see section \ref{section:CipherSuites})
12 \item preference of hash function (see section \ref{section:CipherSuites})
13 \end{itemize}
14
15 Properly dealing with key material, passphrases and the web-of-trust is outside of the scope of this document. The GnuPG website\footnote{\url{http://www.gnupg.org/}} has a good tutorial on PGP.
16
17 \subsubsection{Hashing}
18 Avoid SHA-1 in GnuPG. Edit \$HOME/.gnupg/gpg.conf:
19
20 \begin{lstlisting}[breaklines]
21 # according to:  https://www.debian-administration.org/users/dkg/weblog/48
22 personal-digest-preferences SHA256
23 cert-digest-algo SHA256
24 default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
25 \end{lstlisting}
26
27 Before you generate a new PGP key, make sure there is enough entropy available (see subsection \ref{subsec:RNG-linux}).
28
29 %\subsubsection{PGP / GPG Operations}
30
31 %% Ciphering - Unciphering operations
32 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
33
34 %% Signing / checking signatures
35 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
36
37 %\subsubsection{Trusted Keys}
38
39 %%Explain that a key by himself is not trustable.  Chain of trust principle.
40
41 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
42
43 %\subsection{Available implementations and mails plugins}
44
45 %% Microsoft Windows (Symantec for Outlook? GnuPG + ....)
46 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
47
48 %% Linux (GnuPG + Enigmail for Thunderbird)
49
50 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
51 %% Mac OS X (GnuPG + GPGMail)
52 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
53
54