inital introduction to the ssl libs section
authorAdi Kriegisch <adi@kriegisch.at>
Wed, 27 Nov 2013 15:02:57 +0000 (16:02 +0100)
committerAdi Kriegisch <adi@kriegisch.at>
Wed, 27 Nov 2013 15:02:57 +0000 (16:02 +0100)
src/ssllibs.tex

index 3f86db0..fe905e7 100644 (file)
@@ -2,8 +2,37 @@
 \label{section:ssllibs}
 
 \todo{write down that everything here is very SSL lib dependent. You might have to recompile everythign if you need to change the ssl lib}
+
+Most if not all of the cryptographic work is done by the SSL libraries installed on
+your system. Supported protocols, cipher suites and more depend on the version of
+the SSL library in use. Whenever you upgrade the SSL library, a recompile of all
+applications using that library is required to use the newly available features.
+Some features not only require a SSL library supporting it but also the application
+using that feature. An example for that may be Apache supporting elliptic curve
+cryptography only from version 2.4 onwards no matter if OpenSSL supported it or
+not.
+
+As you may see from the above, creating a secure setup isn't just a matter of
+configuration but also depends on several other factors with the most important
+being the SSL libraries and their support of protocols and cipher suites.
+Furthermore applications actually need to make use of those.
+
+For most configuration snipplets throughout this paper we used OpenSSL's cipher
+strings. Sadly they are different from the official IANA standard names. When you
+use a different library like for example GnuTLS (which is quite common on Debian
+systems) you might need to change the cipher string. The hex code for a cipher
+string however is common to all versions and and library implementations:
+\texttt{TLS\_RSA\_CAMELLIA\_256\_CBC\_SHA1} in GnuTLS is equivalent to
+\texttt{CAMELLIA256-SHA} in OpenSSL and \texttt{TLS\_RSA\_WITH\_CAMELLIA\_256\_CBC\_SHA}
+in the IANA standard with the hex code \texttt{0x00,0x84} as specified in RFC5932.
+
+In any way, as a sysadmin you are required to check what the SSL libraries on
+your systems support on how you may get the most security out of your systems.
+
 \todo{anyone? How about Java? What exists here?}
+
 \todo{Anyone? Windows crypto API?}
+
 \todo{Mac OSX /iOS crypto API? MacLemon?}