intermediate version from the hackathon
authorAaron Kaplan <aaron@lo-res.org>
Mon, 11 Nov 2013 21:32:15 +0000 (22:32 +0100)
committerAaron Kaplan <aaron@lo-res.org>
Mon, 11 Nov 2013 21:32:15 +0000 (22:32 +0100)
TODO.txt
src/keylengths.tex
src/overview_common_crypto_systems.tex

index a64da9c..bf8b980 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
@@ -9,6 +9,13 @@ Formatting
   git versionssnummer immer rein
 
 
+Workflow
+========
+
+* how to keep things up to date?
+* how to automatically test  compatibility?
+* how to make sure that this document has the latest information on cipher strengths?
+
 Contents
 ========
 1. document the abstract needs that we have for the cipher settings (HSTS etc)
@@ -22,13 +29,26 @@ Contents
 * .bib file is completely wrong. Make good citations/references.
 * !! important: add the version string to everything that we tested!!
 
+* two target groups:
+  - security specialists / freaks who want the very best settings
+  - should as many clients work with the settings as possible
+* look at TLS1.2 specs and really check if we want all of these settings
+
+
 Section 6
 ----------
+Still missing subsubsections:
 * Exchange Server
   - SMTP, POP, IMAP
 * Exim4 (-> Adi & Wolfgang Breya)
 * Checkpoint (-> cm)
 * Asa / Palo Alto (-> Azet)
+* Terminal Server (VNC, TeamViewer), 
+* Squid
+* Mobile devices:
+  - Android
+  - iPhone
+  - 
 
 
 RNDG section
index ae8789e..97f2e6b 100644 (file)
@@ -14,3 +14,19 @@ In general, for asymmetric cryptography, any key length below 2048 bits is depre
 
 %% how about: >= 2048 bits for RSA
 %% >= 256 bits for ECC? 
+
+\subsection{Recommendations based on currently available information}
+
+Configuration A:
+strong ciphers, fewer users
+
+Do not use SHA1. Why? XXX insert literature . BSI/ ENISA page XXX
+Chaining mode: CBC.
+
+
+Configuration B:
+weaker ciphers, more users.
+
+SHA1:  allowed
+Chaining mode: CBC.
+
index 1d4d1ac..5673ab5 100644 (file)
@@ -1,28 +1,54 @@
 \section{A brief overview of common crypto software}
 
-Broadly speaking, modern crypto software can placed into one of the two categories:
-
-\begin{itemize}
-\item assymetric cryptography 
-\item symmetric cryptography
-\end{itemize}
-
-The most common crypto software implementations support both modes cryptosystems.
-
-\subsection{Typical cryptography libraries, frameworks and tools}
-
-\begin{itemize}
-\item OpenSSL
-\item GnuTLS
-\item NSS
-\item NaCl
-\item PGP
-\item SSH
-\item TrueCrypt
-\item DM-Crypt
-\item Bitlocker % XXX: needs to be discussed! bitlocker is probably backdoored (at least some research suggests it)
-\item Apple FileVault 2
-\end{itemize}
+
+\subsection{Cipher suites and choices}
+
+In principle, system administrators who want to improve their servers need to make a hard decision between locking out some users while keeping very high cipher suite security levels or supporting as many users as possible while lowering some settings. 
+For reasonable cipher suite
+
+
+\subsubsection{Configuration A: strong, fewer clients}
+TLS 1.2; 
+Perfect forward secrecy
+
+XXX make a table!!! Add the clients (color coded?)
+\begin{verbatim}
+          0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
+          0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x6B - DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
+\end{verbatim}
+
+When to use this set of settings?
+M2M communications... You have your own PKI, corporate setting where you can control clients
+
+
+\subsubsection{Configuration B: weaker but many clients}
+
+TLS 1.2, TLS 1.1, TLS 1.0, SSLv3, -SSLv2
+
+string="EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EDH+CAMELLIA256:EECDH:EDH+aRSA:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED:!CAMELLIA128:!ECDSA:AES256-SHA"
+
+$\implies$ resolves to openssl ciphers -V \$string
+
+
+XXX make a table!!! Add the clients (color coded?)
+\begin{verbatim}
+          0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0xC0,0x28 - ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA384
+          0xC0,0x27 - ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA256
+          0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
+          0x00,0x6B - DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256
+          0x00,0x9E - DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
+          0x00,0x67 - DHE-RSA-AES128-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA256
+          0x00,0x88 - DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH       Au=RSA  Enc=Camellia(256) Mac=SHA1
+          0xC0,0x14 - ECDHE-RSA-AES256-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(256)  Mac=SHA1
+          0xC0,0x13 - ECDHE-RSA-AES128-SHA    SSLv3 Kx=ECDH     Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0x39 - DHE-RSA-AES256-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA1
+          0x00,0x33 - DHE-RSA-AES128-SHA      SSLv3 Kx=DH       Au=RSA  Enc=AES(128)  Mac=SHA1
+          0x00,0x35 - AES256-SHA              SSLv3 Kx=RSA      Au=RSA  Enc=AES(256)  Mac=SHA1
+\end{verbatim}