c1498792eeec779b24902dd55780baa1175e6935
[ach-master.git] / src / PKIs.tex
1 \section{Public Key Infrastructures}
2 \label{section:PKIs}
3
4 Public-Key Infrastructures aim to provide a way to simplify the verification of
5 a certificates trustworthiness.  For this, certificate authorities (CAs) are
6 used to create a signature chain from the root CA down to the server (or client).
7 Accepting a CA as a generally-trusted mediator solves the trust-scaling problem
8 at the cost of introducing an actor that magically is more trustworthy.
9
10 This section deals with settings related to trusting CAs. However, our main
11 recommendations for PKIs is: if you are able to run your own PKI and disable
12 any other CA, do so. This makes sense most in environments where any machine-to-machine
13 communication system compatibility with external entities is not an issue.
14 %% azet:
15 %% this needs discussion! self-signed certificates simply do not work in practices
16 %% for real-world scenarios - i.e. websites that actually serve a lot of people
17
18 A good background on PKIs can be found in 
19 \footnote{\url{https://developer.mozilla.org/en/docs/Introduction_to_Public-Key_Cryptography}}
20 \footnote{\url{http://cacr.uwaterloo.ca/hac/about/chap8.pdf}}
21 \footnote{\url{http://www.verisign.com.au/repository/tutorial/cryptography/intro1.shtml}}
22 .
23
24 \todo{ts: Background and Configuration (EMET) of Certificate Pinning, TLSA integration, 
25   When to use self-signed certificates, how to get certificates from public CA authorities 
26   (CACert, StartSSL), Best-practices how to create a CA and how to generate private keys/CSRs, 
27   Discussion about OCSP and CRLs. TD: Useful Firefox plugins: CipherFox, Conspiracy, Perspectives.}
28
29
30 %``Certificate Policy''\cite{Wikipedia:Certificate_Policy}
31 %(CA)