fixed \url
[ach-master.git] / src / practical_settings / GPG.tex
1
2 The OpenPGP protocol
3 \footnote{\url{http://tools.ietf.org/search/rfc4880}}
4  uses asymmetric encryption to protect a sesion key which is used to encrypt a message. Additionally, it signs messages via asymmetric encryption and hash functions. %% what? - azet
5 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. These PGP settings should be adapted to avoid using SHA-1: 
6
7 When using PGP, there are a couple of things to take care of:
8 \begin{itemize}
9 \item keylengths (see the section \ref{section:keylengths})
10 \item randomness (see the section \ref{section:RNGs})
11 \item the choice of RSA vs. DSA 
12 \item preferences for symmetric ciphers
13 \item preferences for hashing
14 \end{itemize}
15
16 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.
17
18 \subsubsection{Keylengths}
19 We do not recommend any key length $\le$ 2048 bits. In fact, 4096 bits are probabaly a good choice at the time of this writing.
20
21 \subsubsection{RSA vs. DSA}
22 \todo{sure?}
23 RSA%%\footnote{}
24
25 \subsubsection{Symmetric ciphers}
26
27
28 \subsubsection{Hashing}
29 Tell GnuPG to not use SHA-1.
30
31 Edit \$HOME/.gnupg/gpg.conf:
32
33 \begin{lstlisting}[breaklines]
34 # according to:  https://www.debian-administration.org/users/dkg/weblog/48
35 personal-digest-preferences SHA256
36 cert-digest-algo SHA256
37 default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
38 \end{lstlisting}
39
40 %\subsubsection{PGP / GPG Operations}
41
42 %% Ciphering - Unciphering operations
43 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
44
45 %% Signing / checking signatures
46 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
47
48 %\subsubsection{Trusted Keys}
49
50 %%Explain that a key by himself is not trustable.  Chain of trust principle.
51
52 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
53
54 %\subsection{Available implementations and mails plugins}
55
56 %% Microsoft Windows (Symantec for Outlook? GnuPG + ....)
57 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
58
59 %% Linux (GnuPG + Enigmail for Thunderbird)
60
61 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
62 %% Mac OS X (GnuPG + GPGMail)
63 %%% TOO COMPLEX. Make a pointer to a good GPG tutorial
64
65