SlideShare a Scribd company logo
Introduction to and survey of TLS Security 
Aaron Zauner 
azet@azet.org 
lambda.co.at: 
Highly-Available, Scalable & Secure Distributed Systems 
DeepSec 2014 - 21/11/2014
Table of Contents 
Motivation 
Background 
Information Security and Cryptography 
Transport Layer Security 
Extensions and Trust 
History & Attacks 
IETF efforts 
Mitigation 
Conclusion
Motivation 
TLS is something we deal with on a daily basis, so this is an 
obvious topic for education. 
Keep in mind that these attacks are not only possible for 
nation-state actors, some of them I can mount on this very laptop. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 1/89
Motivation 
https://www.trustworthyinternet.org/ssl-pulse 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 2/89
Motivation 
https://www.trustworthyinternet.org/ssl-pulse 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 3/89
Motivation 
https://www.trustworthyinternet.org/ssl-pulse 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 4/89
Motivation 
https://www.trustworthyinternet.org/ssl-pulse 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 5/89
Background 
Disclaimer 
Unfortunately this is not a talk about InfoSec nor cryptography, so I 
will only cover the very basics needed to understand the topic 
properly. Background information on Information Security and 
Cryptography herein is fitted to TLS only. 
I will recommend appropriate resources for those who want to gain 
a deeper understanding at the end of my talk. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 6/89
Background 
Basics 
Information Security mandates at minimum the following three 
properties in a secure protocol: 
I Confidentiality 
I Integrity 
I Availability (discussed later) 
..this is commonly known as the “CIA triad” (seriously). You will see 
later on why these are paramount. The triad is usually extended by: 
I Authenticity & Non-repudiation 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 7/89
Background 
Confidentiallity 
I Prevent unauthorized disclosure of information 
I Encryption and Decryption of confidential data 
Example: Rijndael cipher. Later renamed AES (Advanced 
Encryption Standard) after winning a NIST challenge by the same 
name. 
I Symmetric 128, 192 or 256 bit block cipher 
I Stick figure guide to AES: http://www.moserware.com/ 
2009/09/stick-figure-guide-to-advanced.html 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 8/89
Background 
Confidentiallity: Block cipher modes 
Block ciphers operate on fixed size blocks of data. 
Online communication is defined by streams of data. 
Block cipher modes repeatedly apply a given cipher to a stream of 
data. Examples include: 
I Cipher-Block Chaining Mode (CBC) 
I Counter Mode (CTR) 
I Galois-Counter Mode (GCM) [authenticated] 
I Counter with CBC-MAC (CCM) [authenticated] 
I Offset Codebook Mode (OCB) [authenticated] 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 9/89
Background 
Confidentiallity: Block cipher modes 
I CBC Mode (sequential): 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 10/89
Background 
Confidentiallity: Block cipher modes 
I CTR Mode (parallel): 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 11/89
Background 
Integrity 
I Assures consistency of data 
I e.g. tampered data will be detected (and may be discarded) 
I Cryptographic hash functions like SHA can provide integrity by 
acting as a Hash based Message Authentication Code (HMAC) 
on the message to be sent and recieved 
I Hash-functions need to be collission-resistant: Two different 
inputs should never produce the same hash! 
I Ideally messages should be encrypted first then MACed 
(encrypt-then-mac, ETM) to prevent against attacks (CCA, 
CPA) and to provide for integrity of ciphertexts and plaintexts. 
See: http://bit.ly/1kZA6WR 
I Authenticated Encryption with Associated Data (AEAD) can be 
used instead (e.g. GCM, CCM, OCB) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 12/89
Background 
Authenticity & Non-repudiation 
I Assures that the involved parties are genuine 
I i.e. are who they say they are 
I Injection attacks 
I Man-In-The-Middle (MITM) attacks 
I Various cryptographic attack vectors 
Examples: 
I RSA (Rivest, Shamir, Adleman) 
I DSA (Digital Signature Algorithm) 
I ECDSA (Elliptic Curve DSA) 
I Ed25519 (http://ed25519.cr.yp.to) 
I ElGamal Signature System 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 13/89
Background 
Authenticity & Non-repudiation: RSA 
RSA 
I Used for: 
I Signatures 
I Certificates 
I Authenticated Key-Exchanges (don’t) 
I Encryption 
I Security based on the difficulty of factoring integers: 
I p; q are large prime numbers (e.g.  1024bits) 
I N = p × q 
I find factors of N 
I Best known algorithm (1994): General Number Field Sieve 
 
 
I Computational complexity for n-bits: O 
exp 
( 64 
9 n)13 
(log n)23 
 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 14/89
Background 
Authenticity  Non-repudiation: RSA 
RSA Key Generation 
I integer N is the product of two large primes p and q 
I (N) = (p − 1)(q − 1) 
I choose an integer e (usually 65537), such that 
I 1  e  (N) 
I gcd(e; (N)) = 1 
I Public Key: N (modulus), e (public exponent) 
I Private Key: d  e−1 (mod (N)) 
gcd and  denote the Greatest Common Divisor (Euclidian algorithm) and Euler totient function, respectively. 
Math background: Modular arithmetic. 
Proof: Euler’s theorem and Fermat’s little theorem. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 15/89
Background 
Authenticity  Non-repudiation: RSA 
Alice sends her public key (modulus N and exponent e) to Bob 
Bob sends his public key (modulus N and exponent e) to Alice 
RSA Encryption: 
I Bob wants to send a 
message M to Alice, turns M 
into an integer m 
(0  m  N) using a 
common padding-scheme 
I ..computes ciphertext 
c  me (mod N) 
RSA Decryption: 
I Bob sends ciphertext to Alice 
I Alice computes 
m  cd (mod N) 
I ..recoveres Bob’s message M 
by reversing the common 
padding-scheme 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 16/89
Background 
Authenticity  Non-repudiation: RSA padding 
..a secure padding scheme is really important. 
Example: Bleichenbacher attack on PKCS#1 
http://tinyurl.com/bleichenbacher (real world SSLv3 attack) 
Not going into that here has been explained in detail in a talk 
yesterday, see also: http://tinyurl.com/rsa-padding 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 17/89
Background 
Key Agreement 
A key exchange algorithm exchanges cryptographic keys (i.e. shared 
secrets) among parties which want to communicate confidentialy. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 18/89
Background 
Key Agreement: Diffie-Hellman 
The Diffie-Hellman key exchange algorithm (1976) was the first 
scheme devised to exchange cryptographic keys among multiple 
parties. It is the most widely used key exchange algorithm to this 
date. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 19/89
Background 
Key Agreement: Diffie-Hellman 
Alice and Bob want to communicate with each other and thus agree 
on a large prime number p and a generator g (0  g  p) 
I Alice choses a secret integer x (private key) 
..and calculates gx (mod p) as her public key 
I Bob choses a secret integer y (private key) 
..and calculates gy (mod p) as his public key 
Math Background: Multiplicative group of integers modulo p 
https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n 
http://tinyurl.com/multiplicativegroupmodp 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 20/89
Background 
Key Agreement: Diffie-Hellman 
Alice and Bob exchange their public keys 
I Alice doesn’t know Bob’s y 
I Bob doesn’t know Alice’s x 
But,.. 
I Alice however knows x and gy 
..therefore calculates (gy )x (mod p) = gyx (mod p) 
I Bob however knows y and gx 
..therefore calculates (gx )y (mod p) = gxy (mod p) 
They now have established a shared secret: gxy (mod p) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 21/89
Background 
Key Agreement: Forward secrecy 
Forward secrecy (aka Perfect Forward Secrecy - PFS) ensures that 
only ephemeral session keys are used. 
Even if a key is compromised in the future, not all communication 
that may have been recorded is compromised. 
Simple, at the end of a session: 
I Alice discards her public-key x 
I Bob discards his public-key y 
Hence: Ephemeral Diffie-Hellman (DHE and ECDHE). 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 22/89
Background 
Ciphersuites 
In SSL/TLS terminology; a ciphersuite combines the previously 
mentioned cryptographic techniques to work together and forms part 
of a secure (online) communication protocol 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 23/89
Background 
Ciphersuites 
Example: 
I Elliptic Curve Diffie-Hellman (Ephemeral - PFS) 
I RSA 
I AES128 
I in Galois Counter Mode (GCM) 
I SHA256 
IANA standardized TLS parameters: 
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 24/89
Background 
Ciphersuites 
OpenSSL: 
ECDHE-RSA-AES128-GCM-SHA256 
PolarSSL: 
TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256 
GnuTLS: 
TLS_ECDHE_RSA_AES_128_GCM_SHA256 
Apple Crypto Framework: 
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 
Microsoft SChannel: 
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256 
(No ECDHE with RSA and GCM for Microsoft users, you get crappy ECDSA instead.) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 25/89
Background 
Transport Layer Security 
Before talking about the history and attacks of TLS it just makes 
sense to point out how TLS actually works (TLS 1.2). 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 26/89
Background 
Transport Layer Security: TLS records 
TLS deals in “records”. Different types of records exist: Handshake, 
ChangeCipherSpec, Application data and Alert. 
In general TLS record looks like this: 
1 Byte 1 Byte 1 Byte 1 Byte 
+−−−−−−−−+−−−−−−−−+−−−−−−−−+−−−−−−−−+ 
| t y p e | | 
+−−−−−−−−+−−−−−−−−+−−−−−−−−−−−−−−−−−+ 
| v e r s i o n | l e n g t h | 
+−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−+ 
| message N | 
+−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+ 
| . | 
.. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 27/89
Background 
Transport Layer Security: TLS records 
I Handshake records do have a different message structure 
I Alert records basically just send an error code (1 byte) and 
description (1 byte) instead of a full message. 
Besides Handshake and ChangeCipherSpec records - any records 
may optionally contain a MAC and padding (up to 4 bytes each) at 
the end, depending on the previously negotiated ciphersuite. 
For reference, see: https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_record 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 28/89
Background 
Transport Layer Security: Handshake 
[ C l i e n t ] [ Se r v e r ] 
C l i e n tHe l l o −−−−−−−− 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 29/89
Background 
Transport Layer Security: Handshake 
[ C l i e n t ] [ Se r v e r ] 
C l i e n tHe l l o −−−−−−−− 
Se r v e rHe l l o 
C e r t i f i c a t e  
Ser verKeyEx change  
C e r t i f i c a t e R e q u e s t  
−−−−−−−− Se r v e rHe l l oDone 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 30/89
Background 
Transport Layer Security: Handshake 
[ C l i e n t ] [ Se r v e r ] 
C l i e n tHe l l o −−−−−−−− 
Se r v e rHe l l o 
C e r t i f i c a t e  
Ser verKeyEx change  
C e r t i f i c a t e R e q u e s t  
−−−−−−−− Se r v e rHe l l oDone 
C e r t i f i c a t e  
Cl i entKeyEx change 
C e r t i f i c a t e V e r i f y  
[ ChangeCipherSpec ] 
Fi n i s h e d −−−−−−−− 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 31/89
Background 
Transport Layer Security: Handshake 
[ C l i e n t ] [ Se r v e r ] 
C l i e n tHe l l o −−−−−−−− 
Se r v e rHe l l o 
C e r t i f i c a t e  
Ser verKeyEx change  
C e r t i f i c a t e R e q u e s t  
−−−−−−−− Se r v e rHe l l oDone 
C e r t i f i c a t e  
Cl i entKeyEx change 
C e r t i f i c a t e V e r i f y  
[ ChangeCipherSpec ] 
Fi n i s h e d −−−−−−−− 
[ ChangeCipherSpec ] 
−−−−−−−− Fi n i s h e d 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 32/89
Background 
Transport Layer Security: Handshake 
[ C l i e n t ] [ Se r v e r ] 
C l i e n tHe l l o −−−−−−−− 
Se r v e rHe l l o 
C e r t i f i c a t e  
Ser verKeyEx change  
C e r t i f i c a t e R e q u e s t  
−−−−−−−− Se r v e rHe l l oDone 
C e r t i f i c a t e  
Cl i entKeyEx change 
C e r t i f i c a t e V e r i f y  
[ ChangeCipherSpec ] 
Fi n i s h e d −−−−−−−− 
[ ChangeCipherSpec ] 
−−−−−−−− Fi n i s h e d 
A p p l i c a t i o n Data −−−−−−− A p p l i c a t i o n Data 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 33/89
Background 
Session Resumption and False-start 
Session-resumption and False-start are TLS extensions minimizing 
round-trip time and CPU cost. 
Session-resumption: 
I An “abbreviated handshake” is used 
I Previously negotiated Handshake parameters are reused 
False-start (somewhat deprecated): 
I Optional extension to send data before the Handshake is 
completed 
I After ChangeCipherSpec and Finished messages Client or 
Server data may be sent 
I Even if the other side has not acknowledged yet 
For a good description see: http://chimera.labs.oreilly.com/books/1230000000545/ch04.html 
http://blog.cryptographyengineering.com/2012/04/so-long-false-start-we-hardly-knew-ya.html 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 34/89
Background 
OCSP 
Online Certificate Status Protocol (OCSP) is a mechanism to check 
for the validity and revocation of certificates. 
OCSP has recieved a lot of critique: 
I MITM attackers may also interfere with OCSP requests 
I OCSP stapling can be used to mitigate this problem 
I OCSP latency for large CAs is usually in the hundreds of 
milliseconds 
I OCSP infrastructure completely broke down during Heartbleed 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 35/89
Background 
HTTP Strict Transport Security 
HTTP Strict Transport Security (HSTS) is a security policy that 
enforces HTTPS connections on following requests (e.g. upgrade 
every HTTP requests to HTTPS). 
A small downside: the first HSTS header must be sent over HTTPS 
to ensure it cannot be tampered with. 
Effectively disables ssl-stripping attacks. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 36/89
Background 
TLS Renegotiation Indication Extension 
RFC5746 defines a TLS extension that prevents for TLS Handshake 
renegotiaton attacks by sending a special Signaling Cipher Suite 
Value (SCSV) in the ClientHello which ties a renegotiation request 
to a TLS connection. 
Called “Secure Renegotiation”. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 37/89
Background 
SPDY, NPN, ALPN and so forth 
Google drafted specifications for protocol upgrade to SPDY 
including NPN and ALPN which SPDY effectively relies on. SPDY 
is the basis for the work in the IETF HTTPBIS-WG that will 
standardize HTTP2. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 38/89
Background 
Web-of-Trust and X.509 
X.509, and Web-of-(mis)trust and ASN.1 would require a two hour 
talk on their own. 
Certificate Authorities should and can not be trusted, they are 
known to behave maliciously at times, give away sub-CAs for DPI 
to large companies and nations and regularly fuck up their own 
security processes. 
Read for example: 
http://www.certificate-transparency.org/what-is-ct 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 39/89
History  Attacks 
Now that you have an idea of the necessary background, let’s take 
a look at the history of TLS (in)security. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 40/89
History  Attacks 
Internet Dark Ages 
I SSLv1 engineered at Netscape, never released to the public 
I Kipp Hickman of Netscape introduces SSLv2 as an IETF draft 
back in 1995: 
The SSL Protocol is designed to provide privacy 
between two communicating applications (a client 
and a server). Second, the protocol is designed 
to authenticate the server, and optionally the 
client. [...] 
http://tools.ietf.org/html/draft-hickman-netscape-ssl-00 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 41/89
History  Attacks 
Internet Dark Ages 
I SSLv2 was fundamentally broken and badly designed. 
Basically full loss of Confidentiallity and integrity of on-wire 
data thus susceptible to MITM attacks, see: 
http://osvdb.org/56387 
I CipherSpec is sent in the clear 
I Size of Block-cipher padding is sent in the clear 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 42/89
History  Attacks 
Internet Dark Ages 
I SSLv3 was introduced in 1996 by Paul Kocher, Phil Karlton 
and Alan Freier, utilizing an algoritm by Taher ElGamal, a 
known cryptographer and Chief Scientist at Netscape at the 
time: https://tools.ietf.org/html/rfc6101 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 43/89
History  Attacks 
Internet Dark Ages 
On a side note; back then the choice algorithms was limited and 
export ciphers (low security) common as recommended by NSA and 
mandated by US law. Google: “Bernstein vs. United States” 
I encryption algorithms (Confidentiality): NULL, 
FORTEZZA-CBC (NSA), IDEA-CBC, RC2-CBC-40 (40bit 
security), RC4-128, DES40-CBC (40bit security), DES-CBC 
(56bit security), Triple-DES-EDE-CBC 
I hash functions (integrity): NULL, MD5 and SHA 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 44/89
History  Attacks 
Internet Dark Ages 
David Wagner and Bruce Schneier publish a paper entitled 
“Analysis of the SSL 3.0 protocol”: 
I Keyexchange algorithm rollback 
I Protocol fallback to SSLv2 
I Protocol leaks known plaintexts - may be used in cryptanalysis 
I Replay attacks on Anonymous DH (don’t use it anyway!) 
https://www.schneier.com/paper-ssl.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 45/89
History  Attacks 
TLS appears 
1999. The SSL protocol is renamed to TLS (version 1) with little 
improvements over SSLv3. The spec. is almost identical. 
I Diffie-Hellman, DSS and Triple-DES are now required by 
implementors 
I most SSLv3 security issues are still present in TLS 1.0 
(RFC2246) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 46/89
History  Attacks 
TLS gets padding attacks 
2002. Vaudenay publishes a paper entitled “Security Flaws Induced 
by CBC Padding Applications to SSL, IPSEC, WTLS...” 
I Side-channel attack on CBC mode padding 
I valid/invalid padding causes different reactions 
I can be used to influence decryption operations 
I introduces “padding oracle attacks” in SSL 
http://www.iacr.org/cryptodb/archive/2002/EUROCRYPT/2850/2850.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 47/89
History  Attacks 
TLS gets extended 
2003. TLS extensions get specified in RFC3546. 
I General: Extended Handshake, ClientHello and ServerHello 
I Server Name Indication (SNI) for virtual hosting 
(SNI leaks metadata!) 
I Certificate Status Request (CSR) support via OCSP 
I (...) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 48/89
History  Attacks 
TLS gets timing attacks 
2003. Brumley and Boneh publish a paper entitled “Remote timing 
attacks are practical”. 
Timing attack on RSA in SSL/TLS implementations (OpenSSL): 
I Send specially crafted ClientKeyExchange message 
I Mesure time between ClienyKeyExchange and Alert response 
I do a bit of statistics 
I retrieve Private Key 
http://dl.acm.org/citation.cfm?id=1251354 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 49/89
History  Attacks 
TLS gets padding oracle password retrieval 
2003. Canvel, Hiltgen, Vaudenay, Vuagnoux publish “Password 
Interception in a SSL/TLS Channel”. 
Extend earlier work of Vaudenay and successfully intercept IMAP 
passwords in TLS channels. 
http://www.iacr.org/cryptodb/archive/2003/CRYPTO/1069/1069.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 50/89
History  Attacks 
TLS gets chosen plaintext attacks 
2004  2006. Bard demonstrates Chosen-Plaintext Attacks against 
SSL and TLS1.0 
Attack on CBC: 
I CBC exchanges an Initialization Vector (IV) during Handshake 
I these IVs turn out to be predictable 
I PINs and Passwords can be decrypted 
I VPNs/Proxies can also be used to accomplish this task 
https://eprint.iacr.org/2004/111 
https://eprint.iacr.org/2006/136 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 51/89
History  Attacks 
TLS gets updated 
2006. A new TLS protocol version is standardized: TLS 1.1 
I EXPORT ciphers removed 
I Session resumption 
I Protection against the CBC attacks by Bard 
I IANA TLS parameters standardized 
I (...) 
(RFC4346) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 52/89
History  Attacks 
TLS gets modern crypto 
2008. A new TLS protocol version is standardized: TLS 1.2 
I MD5/SHA1 removed as pseudorandom function (PRF) 
I configurable PRFs in ciphersuites (e.g. SHA256) 
I Authenticated encryption: CCM, GCM 
I AES ciphersuites 
I (...) 
(RFC5246) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 53/89
History  Attacks 
Rouge CA Certificates 
2008. Sotirov, Stevens, Appelbaum, Lenstra, Molnar, Osvik and de 
Weger present a paper based on earlier work by Lenstra et al. at 
25c3 entitled “MD5 considered harmful today” 
I MD5 Hash-collision of a CA Certificate 
I Create colliding (rouge) CA Certificates 
I Generate any Certificate for MITM you want 
http://www.win.tue.nl/hashclash/rogue-ca/ 
https://www.youtube.com/watch?v=PQcWyDgGUVg 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 54/89
History  Attacks 
sslstrip 
2009. Moxie Marlinspike releases sslstrip at BlackHat DC 2009. 
I Client connects to server 
I Attacker intercepts session via MITM 
I Attacker sends HTTP 301 (moved permanently) 
I Attacker forwards requests to/from server via SSL/TLS 
I Client receives data via unencrypted channel 
I Attacker reads plaintext 
http://www.thoughtcrime.org/software/sslstrip 
http://vimeo.com/50018478 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 55/89
History  Attacks 
Null-prefix attacks against Certificates 
2009. Moxie Marlinspike publishes “Null prefix Attacks against 
SSL/TLS Certificates”. 
I Specially crafted domain strings trick CA checking 
I null-terminate stuff in a domain name 
I ex.: www.paypal.com0.thoughtcrime.org is valid 
I ex.: *0.thoughtcrime.org is valid 
I CA ignores prefix 
I Client does not - Certificate valid for prefix 
Moxie updated his sslsniff project to carry out this attack. 
http://www.thoughtcrime.org/papers/null-prefix-attacks.pdf 
http://thoughtcrime.org/software/sslsniff 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 56/89
History  Attacks 
SSLv2 Forbidden 
2011. IETF publishes and standardized a RFC to prohibit 
negotiation and thus compatibility of SSLv2 in TLS1.0-1.2 entirely. 
https://tools.ietf.org/html/rfc6176 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 57/89
History  Attacks 
Comodo 
2011. Comodo CA: Attacker issues 9 certificates via reseller account 
for popular domains (google.com, yahoo.com, live.com, skype.com [...]) 
https://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 58/89
History  Attacks 
BEAST 
2011. Doung and Rizzo publish the BEAST attack at ekoparty and 
demo a live attack on PayPal. Based on Bards earlier work on 
predictable IVs in CBC: 
I Phishing gets victim to visit a certain website 
I Script on said website makes request to genuine site 
I Attacker records encrypted cookie information 
I Tries to guess session-cookie with known CBC attack 
Same Origin Policy (SOP) forbids this attack in client software. If 
SOP can be bypassed (as shown by the authors with Java’s SOP) 
this attack is still practical. 
http://vnhacker.blogspot.co.at/2011/09/beast.html 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 59/89
History  Attacks 
Trustwave 
2012. Trustwave CA: Trustwave sells subordinate CAs to big 
corporations to be used for Deep Packet Inspection. 
A sub-CA can issue and fake any certificate for MITM attacks. 
http://blog.spiderlabs.com/2012/02/clarifying-the-trustwave-ca-policy-update.html 
http://arstechnica.com/business/2012/02/ 
critics-slam-ssl-authority-for-minting-cert-used-to-impersonate-sites/ 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 60/89
History  Attacks 
DigiNotar 
2012. DigiNotar CA: Attackers compromise DigiNotar in it’s 
entirety. 
I attackers generate tons of certificates 
I Google Chromes certificate store detects mismatches 
I DigiNotar acknowledges breach 
I DigiNotar files for bankrupcy 
I FOX-IT never gets paid for the investigation 
https://en.wikipedia.org/wiki/DigiNotar 
http://cryptome.org/0005/diginotar-insec.pdf 
http://nakedsecurity.sophos.com/2011/09/05/ 
operation-black-tulip-fox-its-report-on-the-diginotar-breach 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 61/89
History  Attacks 
Certificate validation in non-browser software 
2012. Georgiev, Iyengar, Jana, Anubhai, Boneh and Shmatikov 
publish a paper entitled “The most dangerous code in the world: 
validating SSL certificates in non-browser software” 
Certificate validation vulnerabilities in: 
I OpenSSL 
I GnuTLS 
I JSSE 
I EC2 Java libraries  Amazon SDKs 
I PayPal SDKs 
I eCommerce/WebShop software 
I ..cURL, PHP, Python, tons of Java middleware 
https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 62/89
History  Attacks 
CRIME 
2012. Doung and Rizzo publish an attack against TLS Compression 
and SPDY titled CRIME. 
I MITM attacker sees length of compressed ciphertext 
I compression has direct affect on the length 
I attacker makes client compress/encrypt data (or uses known 
data) with secret data 
I attacker compares 
I correct guesses yield shorter messages due to compression 
I repeat until done 
This is only feasible for small amounts of data, e.g. session strings, 
cookies and so forth. 
https://isecpartners.com/blog/2012/september/details-on-the-crime-attack.aspx 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 63/89
History  Attacks 
TIME 
2013. Be’ery and Shulman present TIME at BlackHat Europe. 
Extend on the CRIME Attack: 
I Attacker generates HTTP requests (XSS, injection,..) 
I Attacker exploits SOP design flaw and measures RTT 
differences 
I determines correct or failed guesses by SOP timing leak 
https://media.blackhat.com/eu-13/briefings/Beery/bh-eu-13-a-perfect-crime-beery-wp.pdf 
https://www.youtube.com/watch?v=rTIpFfTp3-w 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 64/89
History  Attacks 
Lucky13 
2013. AlFardan and Paterson present a novel attack against CBC 
for TLS and DTLS based on timing analysis. 
I Attacker intercepts and modifies a message including padding 
I Attacker tempers with the padding of the message 
I MAC computation takes longer during decryption process 
I Attacker repeats and measures 
I Attacker performs padding oracle attack described earlier 
I (Extremely latency sensitive attack) 
http://www.isg.rhul.ac.uk/tls/Lucky13.html 
http://www.isg.rhul.ac.uk/tls/TLStiming.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 65/89
History  Attacks 
RC4 Biases 
2013. AlFardan, Bernstein, Paterson, Poettering and Schuldt 
publish a generic attack on the RC4 cipher for TLS and WPA. 
I Statistical biases in the first 257 bytes of ciphertext 
I Recovery of the first 200 bytes after 228 to 232 encryption 
operations of the same plaintext 
I A broadcast attack: mounted on unique keys 
I May also be mounted with a single key with repeating target 
plaintexts 
I Only feasible for large amounts of data and very time 
consuming 
http://www.isg.rhul.ac.uk/tls 
http://www.isg.rhul.ac.uk/tls/RC4biases.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 66/89
History  Attacks 
NIST curves 
2013  2014. Daniel J. Bernstein and Tanja Lange voice concern 
about the NIST Elliptic Cuves that are widely implemented and 
used in TLS for ECDH and ECDSA 
I NIST curves defined on recommendations by NSA’s Jerry 
Solinas 
I Unclear why these curves and their parameters were chosen 
I NIST cites efficiency: more efficient and secure curves 
available 
I Possible mathematical backdoor through previous analysis and 
carefully chosen and unexplained parameters 
I Start SafeCurves project (ongoing) 
http://www.hyperelliptic.org/tanja/vortraege/20130531.pdf 
http://cr.yp.to/talks/2013.09.16/slides-djb-20130916-a4.pdf 
http://safecurves.cr.yp.to 
https://archive.org/details/ShmooCon2014_SafeCurves 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 67/89
History  Attacks 
BREACH 
2013. Gluck, Harris and Prado demonstrate yet another attack 
based on CRIME at BlackHat USA. 
Very similar to CRIME but the attack works based on information 
leaks from HTTP compression instead of TLS compression. 
http://breachattack.com 
https://www.youtube.com/watch?v=CoNKarq1IYA 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 68/89
History  Attacks 
Unused Certificates in Truststores 
2014. Perl, Fahl, Smith publish a paper entitled “You Won’t Be 
Needing These Any More: On Removing Unused Certificates From 
Trust Stores” 
I Compared 48 mio. HTTP certificates 
I 140 CA Certificates are unused in all major trust stores 
I Of 426 trusted root certificates only 66% are even used 
http://fc14.ifca.ai/papers/fc14_submission_100.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 69/89
History  Attacks 
Triple Handshakes Considered Harmful 
2014. Bhargavan, Delignat-Lavaud, Pironti, Langley and Ray 
present an attack one day before the IETF’89 meeting in London. 
I Limited to client-certificate authentication with renegotiation 
I MITM attack on renegotiation with a three-way handshake 
I Variations of the attack also discussed on their website 
I Can’t possibly fit this into one slide, homework: understand the 
attack by reading their excellent description on the website 
https://secure-resumption.com 
https://secure-resumption.com/IETF-triple-handshakes.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 70/89
History  Attacks 
Frankencerts 
2014. Brubaker, Jana, Ray, Khurshid and Shmatikovy publish a 
paper entitled “Using Frankencerts for Automated Adversarial 
Testing of Certificate Validation in SSL/TLS Implementations” 
I Fuzzing of X.509 related code in all major implementations 
shows serious weaknesses in certificate validation and handling 
I OpenSSL, NSS, GnuTLS, MatrixSSL, PolarSSL, CyaSSL, 
cyptlib [...] 
https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf 
https://github.com/sumanj/frankencert 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 71/89
History  Attacks 
Heartbleed 
2014. Heartbleed is independently discovered by Codenomicon and 
a Google Security engineer. 
Faulty implementation in OpenSSL of the TLS Heartbleed 
extension leaks memory content over the wire. This has been all 
over the media and discussed in detail all over the internet. People 
have successfully extracted sensitive information (password files et 
cetera) from victim memory. 
I wrote an nmap plugin to scan for Heartbleed: 
https://github.com/azet/nmap-heartbleed 
http://heartbleed.com 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 72/89
History  Attacks 
Virtual Host Confusion 
2014. At BlackHat Delignat-Lavaud presents an attack based on 
SSLv3 downgrade and sharing of session caches 
I Attacker forces downgrade to SSLv3 
I For SSLv3: larger deployments share session caches 
I attacker exploits a server vulnerability where session caches 
are reused 
I attacker requests different subdomain with SSLv3 using the 
same session 
I vulnerable server will allow connection w/o authentication 
I www.company.com vs git.company.com 
https://bh.ht.vc 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 73/89
History  Attacks 
POODLE 
2014. POODLE: Padding Oracle On Downgraded Legacy 
Encryption - OpenSSL/Google 
I MITM attacker downgrades to SSLv3 (once again) 
I attacker does block duplication 
I takes on average 256 requests to decrypt 1 byte (!) 
I disabling SSLv3 or using the FALLBACK_SCSV TLS 
extension (draft) mitigates this issue entirely 
https://www.openssl.org/~bodo/ssl-poodle.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 74/89
History  Attacks 
SChannel RCE 
Patch tuesday Nov. 2014: Remote Code Execution in Microsoft 
SChannel 
Enables malicious attackers to initiate ClientCertificate exchange 
(even if unsupported) with payload in the signature 
http://blog.beyondtrust.com/triggering-ms14-066 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 75/89
History  Attacks 
Implementation Issues 
There are tons of other issues with TLS stacks and software 
implementations that have not been discussed. 
OpenSSL alone published 24 security advisories in 2014 until 
today. 
I Apple’s GOTO fail 
I GnuTLS GOTO fail 
I various GnuTLS vulnerabilities 
I wrong use of OpenSSL API in server and client software 
... 
Clearly; a lot of people current have their eyes on this very topic. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 76/89
History  Attacks 
Implementation Issues 
For this crowd: It’s up to you to find them and improve existing 
implementations, protocols and standards. 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 77/89
IETF efforts 
I n t e r n e t So c i e t y 
| 
I n t e r n e t A r c h i t e c t u r e Board 
| | 
IETF ( 1 ) IRTF ( 2 ) 
| | 
St e e r i n g Group St e e r i n g Group 
| | | | | | 
WG WG WG. . WG WG WG. . 
1 − I n t e r n e t En g i n e e r i n g Task For ce 
2 − I n t e r n e t Resear ch Task For ce 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 78/89
IETF efforts 
post-Snowden 
I After the Snowden Leaks appeared in press the IETF began 
discussion on how ‘’pervaisive monitoring” can be prevented 
I In September 2013 the ‘’PERPASS” (pervaisive, passive 
monitoring) mailing list was started 
I People started working on drafts to circumvent ‘’pervaisive 
monitoring”: http://down.dsg.cs.tcd.ie/misc/perpass.txt 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 79/89
IETF efforts 
I IETF 89 was accompanied by a meeting on the topic (STRINT) 
with invited speakers on privacy, security and cryptography: 
https://www.w3.org/2014/strint/ 
I ‘’strenghtening the internet against pervaisive monitoring” 
I a lot of good feedback and ideas 
I main takeaways: threat modeling, CFRG was tasked with 
TLS-WG guidance on choices of ciphers and which 
curves/parameters (ECC) to use 
http://tools.ietf.org/html/draft-iab-strint-report-00 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 80/89
IETF efforts 
New WGs and documents being worked on 
I UTA-WG (utilizing TLS in applications): working BCPs on 
how to properly use/implement TLS 
I TLS-WG (transport layer security): TLS 1.3, 
chacha20-poly1305, DJB curves (ECC), FALLBACK_SCSV 
extension,.. 
I TCPINC (TCP increased security): working on standardization 
of opportunistic encryption on the TCP layer (similar to 
tcpcrypt) 
I DPRIVE (DNS private exchange): working on DNS privacy 
features 
I IAB (internet architecture board): threat model, see: 
https://tools.ietf.org/html/draft-iab-privsec-confidentiality-threat 
I TRANS (Public Notary Transparency): fight malicious 
certificate authorities with certificate transparency, see: 
www.certificate-transparency.org 
... DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 81/89
IETF efforts 
Curves Curves Curves 
I CFRG (cryptography forum research group within IRTF) is 
working on a standardized set of curves and curve parameters 
for IETF WGs: expected by the end of 2014 
I + Curve25519 (dan bernstein, et al.) 
I + NUMS (microsoft) 
I + ed448goldilocks (michael hamburg) 
In comparison to NIST curves: most new proposals are plugable 
into existing standards and can be reused within protocols and 
IETF documents. 
Good summary (by the Brainpool authors, so a bit biased): 
http://eprint.iacr.org/2014/832.pdf 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 82/89
IETF efforts 
I Certificate Transparency is now being worked on as an IETF 
standard: https://datatracker.ietf.org/wg/trans/charter/ 
I discussion on mandatory encryption in HTTP2 (HTTPBIS-WG) 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 83/89
IETF efforts 
On Nov. 14, 2014 Internet Architecture Board issued a statement 
recommending deploying encryption by default throughout the 
protocol stack in further developments. 
Commended by Internet Society a day later. 
https://www.iab.org/2014/11/14/iab-statement-on-internet-confidentiality/ 
http://www.internetsociety.org/news/ 
internet-society-commends-internet-architecture-board-recommendation-encryption-default 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 84/89
Mitigation 
Get informed! 
Luckily Mitigation does not require as much slides. Because it’s 
rather simple: 
I Use current software and update regularly: 
Most of these attacks are fixed upstream 
I Use peer-reviewed and solid configurations: 
Check out https://bettercrypto.org 
I Listen to recommendations by security experts 
I Audit your infrastructure (possibly even pay external 
contractors to take a look) 
I Keep track of TLS security and evolving security standards and 
recommendations 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 85/89
Mitigation 
Future work 
IETF TLS-WG is currently working on TLS 1.3 to mitigate some of 
the issues and concerns raised. 
Drafts like new SCSVs would effectively prevent protocol 
downgrade attacks. (constant-time) ciphers and curves and DH 
parameter negotiation have been proposed along with protocol 
improvements for efficiency, security and privacy. It’s still in the 
making and worth to keep track of. 
Cryptography libraries seem to be more actively audited now, which 
has resulted in some of the disclosures in the paths months. 
http://www.ietf.org/proceedings/89/slides/slides-89-tls-5.pdf 
https://tools.ietf.org/html/draft-bmoeller-tls-downgrade-scsv 
http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305 
https://datatracker.ietf.org/doc/draft-gillmor-tls-negotiated-dl-dhe/?include_text=1 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 86/89
Mitigation 
Distribute Trust 
Certificate Transparency and HPKP are only a few examples of 
proposed solutions to tackle the issue of malicious certificate 
authorities, certificate forgery and MITM attacks. 
I Letsencrypt: Free, Secure, audited and distribtued CA by 
Cisco, Akamai, UMichigan, EFF and others 
I Certificate Transparency: distributed consent, monitoring and 
auditability of certificates and CAs in the wild 
I HPKP pins keys to certificates to prevent MITM and 
certificate based attacks 
https://letsencrypt.org/ 
http://www.certificate-transparency.org 
https://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/ 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 87/89
Conclusion 
I “Trust the Math” (Schneier) 
I Implementation is still a big issue 
I Software bugs are a big issue 
I Protocol design is hard and longsome 
I We’re going to see many more attacks on TLS 
I TLS and Crypto improvements are being constantly worked on 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 88/89
Conclusion 
Thanks for your patience. Are there any questions? 
Twitter: 
@a_z_e_t 
Mail: 
azet@azet.org 
XMPP: 
azet@jabber.ccc.de 
GPG Fingerprint: 
7CB6 197E 385A 02DC 15D8 E223 E4DB 6492 FDB9 B5D5 
DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security 
Aaron Zauner 89/89

More Related Content

What's hot

Ch12 Encryption
Ch12 EncryptionCh12 Encryption
Ch12 Encryption
phanleson
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
Uday Meena
 
TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom
TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom
TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom
EC-Council
 

What's hot (20)

Ch02 classic nemo
Ch02 classic nemoCh02 classic nemo
Ch02 classic nemo
 
introduction to cryptography
introduction to cryptographyintroduction to cryptography
introduction to cryptography
 
Fundamentals of cryptography
Fundamentals of cryptographyFundamentals of cryptography
Fundamentals of cryptography
 
Ch12 Encryption
Ch12 EncryptionCh12 Encryption
Ch12 Encryption
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Cryptography
CryptographyCryptography
Cryptography
 
Network Security & Cryptography
Network Security & CryptographyNetwork Security & Cryptography
Network Security & Cryptography
 
TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom
TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom
TakeDownCon Rocket City: Cryptanalysis by Chuck Easttom
 
Cryptography Intro
Cryptography IntroCryptography Intro
Cryptography Intro
 
5 Cryptography Part1
5 Cryptography Part15 Cryptography Part1
5 Cryptography Part1
 
Asymmetric Cryptography
Asymmetric CryptographyAsymmetric Cryptography
Asymmetric Cryptography
 
Applied Cryptography
Applied CryptographyApplied Cryptography
Applied Cryptography
 
Ch9
Ch9Ch9
Ch9
 
Cryptography
CryptographyCryptography
Cryptography
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
 
cryptography
cryptographycryptography
cryptography
 
Digital Signature Recognition using RSA Algorithm
Digital Signature Recognition using RSA AlgorithmDigital Signature Recognition using RSA Algorithm
Digital Signature Recognition using RSA Algorithm
 
basic encryption and decryption
 basic encryption and decryption basic encryption and decryption
basic encryption and decryption
 
Cryptography Attacks and Applications
Cryptography Attacks and ApplicationsCryptography Attacks and Applications
Cryptography Attacks and Applications
 
3 public key cryptography
3 public key cryptography3 public key cryptography
3 public key cryptography
 

Viewers also liked

State of Transport Security in the E-Mail Ecosystem at Large
State of Transport Security in the E-Mail Ecosystem at LargeState of Transport Security in the E-Mail Ecosystem at Large
State of Transport Security in the E-Mail Ecosystem at Large
Aaron Zauner
 
How to save the environment
How to save the environmentHow to save the environment
How to save the environment
Aaron Zauner
 
Famous People I Would Like To Meet
Famous People I Would Like To MeetFamous People I Would Like To Meet
Famous People I Would Like To Meet
5ssandbu
 

Viewers also liked (20)

[Attacks Part] BetterCrypto Workshop @ Hack.lu 2014
[Attacks Part] BetterCrypto Workshop @ Hack.lu 2014 [Attacks Part] BetterCrypto Workshop @ Hack.lu 2014
[Attacks Part] BetterCrypto Workshop @ Hack.lu 2014
 
[IETF Part] BetterCrypto Workshop @ Hack.lu 2014
[IETF Part] BetterCrypto Workshop @ Hack.lu 2014[IETF Part] BetterCrypto Workshop @ Hack.lu 2014
[IETF Part] BetterCrypto Workshop @ Hack.lu 2014
 
State of Transport Security in the E-Mail Ecosystem at Large
State of Transport Security in the E-Mail Ecosystem at LargeState of Transport Security in the E-Mail Ecosystem at Large
State of Transport Security in the E-Mail Ecosystem at Large
 
Javascript Object Signing & Encryption
Javascript Object Signing & EncryptionJavascript Object Signing & Encryption
Javascript Object Signing & Encryption
 
How to save the environment
How to save the environmentHow to save the environment
How to save the environment
 
Beautiful Bash: Let's make reading and writing bash scripts fun again!
Beautiful Bash: Let's make reading and writing bash scripts fun again!Beautiful Bash: Let's make reading and writing bash scripts fun again!
Beautiful Bash: Let's make reading and writing bash scripts fun again!
 
BetterCrypto: Applied Crypto Hardening
BetterCrypto: Applied Crypto HardeningBetterCrypto: Applied Crypto Hardening
BetterCrypto: Applied Crypto Hardening
 
Een sales succesverhaal van ongelooflijke genialiteit
Een sales succesverhaal van ongelooflijke genialiteitEen sales succesverhaal van ongelooflijke genialiteit
Een sales succesverhaal van ongelooflijke genialiteit
 
Materi SMA - Gas Mulia
Materi SMA - Gas MuliaMateri SMA - Gas Mulia
Materi SMA - Gas Mulia
 
Sc12 workshop-writeup
Sc12 workshop-writeupSc12 workshop-writeup
Sc12 workshop-writeup
 
Verbos
VerbosVerbos
Verbos
 
圆锥
圆锥圆锥
圆锥
 
Famous People I Would Like To Meet
Famous People I Would Like To MeetFamous People I Would Like To Meet
Famous People I Would Like To Meet
 
Kimia SMA - Laporan penyepuhan emas
Kimia SMA - Laporan penyepuhan emas Kimia SMA - Laporan penyepuhan emas
Kimia SMA - Laporan penyepuhan emas
 
Laporan pengamatan Biologi SMA - Pengaruh Air terhadap Pertumbuhan Dan Perkem...
Laporan pengamatan Biologi SMA - Pengaruh Air terhadap Pertumbuhan Dan Perkem...Laporan pengamatan Biologi SMA - Pengaruh Air terhadap Pertumbuhan Dan Perkem...
Laporan pengamatan Biologi SMA - Pengaruh Air terhadap Pertumbuhan Dan Perkem...
 
No need for Black Chambers: Testing TLS in the E-Mail Ecosystem at Large (hac...
No need for Black Chambers: Testing TLS in the E-Mail Ecosystem at Large (hac...No need for Black Chambers: Testing TLS in the E-Mail Ecosystem at Large (hac...
No need for Black Chambers: Testing TLS in the E-Mail Ecosystem at Large (hac...
 
Karya ilmiah - Manfaat Olahan Buah Durian
Karya ilmiah - Manfaat Olahan Buah Durian Karya ilmiah - Manfaat Olahan Buah Durian
Karya ilmiah - Manfaat Olahan Buah Durian
 
Introduction to and survey of TLS Security
Introduction to and survey of TLS SecurityIntroduction to and survey of TLS Security
Introduction to and survey of TLS Security
 
Materi Kimia SMA - Reaksi senyawa karbon
Materi Kimia SMA - Reaksi senyawa karbonMateri Kimia SMA - Reaksi senyawa karbon
Materi Kimia SMA - Reaksi senyawa karbon
 
Aprovechamiento de la energía solar
Aprovechamiento de la energía solarAprovechamiento de la energía solar
Aprovechamiento de la energía solar
 

Similar to Introduction to and survey of TLS Security

Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
James Wong
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Young Alista
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
David Hoen
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Tony Nguyen
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Luis Goldster
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
Fraboni Ec
 

Similar to Introduction to and survey of TLS Security (20)

Introduction To PKI Technology
Introduction To PKI TechnologyIntroduction To PKI Technology
Introduction To PKI Technology
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
 
computer-security-and-cryptography-a-simple-presentation
computer-security-and-cryptography-a-simple-presentationcomputer-security-and-cryptography-a-simple-presentation
computer-security-and-cryptography-a-simple-presentation
 
Data encryption
Data encryptionData encryption
Data encryption
 
network security
network securitynetwork security
network security
 
METHODS TOWARD ENHANCING RSA ALGORITHM : A SURVEY
METHODS TOWARD ENHANCING RSA ALGORITHM : A SURVEYMETHODS TOWARD ENHANCING RSA ALGORITHM : A SURVEY
METHODS TOWARD ENHANCING RSA ALGORITHM : A SURVEY
 
Cryptography
CryptographyCryptography
Cryptography
 
Encryption Primer por Cathy Nolan
Encryption Primer por Cathy NolanEncryption Primer por Cathy Nolan
Encryption Primer por Cathy Nolan
 
Cryptography & Security
Cryptography & SecurityCryptography & Security
Cryptography & Security
 
Moein
MoeinMoein
Moein
 
A NETWORK SECURITY APPROACH USING RSA.
A NETWORK SECURITY APPROACH USING RSA.A NETWORK SECURITY APPROACH USING RSA.
A NETWORK SECURITY APPROACH USING RSA.
 
security issue
security issuesecurity issue
security issue
 
Ch11 Basic Cryptography
Ch11 Basic CryptographyCh11 Basic Cryptography
Ch11 Basic Cryptography
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 
Introduction to security_and_crypto
Introduction to security_and_cryptoIntroduction to security_and_crypto
Introduction to security_and_crypto
 

Introduction to and survey of TLS Security

  • 1. Introduction to and survey of TLS Security Aaron Zauner azet@azet.org lambda.co.at: Highly-Available, Scalable & Secure Distributed Systems DeepSec 2014 - 21/11/2014
  • 2. Table of Contents Motivation Background Information Security and Cryptography Transport Layer Security Extensions and Trust History & Attacks IETF efforts Mitigation Conclusion
  • 3. Motivation TLS is something we deal with on a daily basis, so this is an obvious topic for education. Keep in mind that these attacks are not only possible for nation-state actors, some of them I can mount on this very laptop. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 1/89
  • 4. Motivation https://www.trustworthyinternet.org/ssl-pulse DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 2/89
  • 5. Motivation https://www.trustworthyinternet.org/ssl-pulse DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 3/89
  • 6. Motivation https://www.trustworthyinternet.org/ssl-pulse DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 4/89
  • 7. Motivation https://www.trustworthyinternet.org/ssl-pulse DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 5/89
  • 8. Background Disclaimer Unfortunately this is not a talk about InfoSec nor cryptography, so I will only cover the very basics needed to understand the topic properly. Background information on Information Security and Cryptography herein is fitted to TLS only. I will recommend appropriate resources for those who want to gain a deeper understanding at the end of my talk. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 6/89
  • 9. Background Basics Information Security mandates at minimum the following three properties in a secure protocol: I Confidentiality I Integrity I Availability (discussed later) ..this is commonly known as the “CIA triad” (seriously). You will see later on why these are paramount. The triad is usually extended by: I Authenticity & Non-repudiation DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 7/89
  • 10. Background Confidentiallity I Prevent unauthorized disclosure of information I Encryption and Decryption of confidential data Example: Rijndael cipher. Later renamed AES (Advanced Encryption Standard) after winning a NIST challenge by the same name. I Symmetric 128, 192 or 256 bit block cipher I Stick figure guide to AES: http://www.moserware.com/ 2009/09/stick-figure-guide-to-advanced.html DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 8/89
  • 11. Background Confidentiallity: Block cipher modes Block ciphers operate on fixed size blocks of data. Online communication is defined by streams of data. Block cipher modes repeatedly apply a given cipher to a stream of data. Examples include: I Cipher-Block Chaining Mode (CBC) I Counter Mode (CTR) I Galois-Counter Mode (GCM) [authenticated] I Counter with CBC-MAC (CCM) [authenticated] I Offset Codebook Mode (OCB) [authenticated] DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 9/89
  • 12. Background Confidentiallity: Block cipher modes I CBC Mode (sequential): DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 10/89
  • 13. Background Confidentiallity: Block cipher modes I CTR Mode (parallel): DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 11/89
  • 14. Background Integrity I Assures consistency of data I e.g. tampered data will be detected (and may be discarded) I Cryptographic hash functions like SHA can provide integrity by acting as a Hash based Message Authentication Code (HMAC) on the message to be sent and recieved I Hash-functions need to be collission-resistant: Two different inputs should never produce the same hash! I Ideally messages should be encrypted first then MACed (encrypt-then-mac, ETM) to prevent against attacks (CCA, CPA) and to provide for integrity of ciphertexts and plaintexts. See: http://bit.ly/1kZA6WR I Authenticated Encryption with Associated Data (AEAD) can be used instead (e.g. GCM, CCM, OCB) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 12/89
  • 15. Background Authenticity & Non-repudiation I Assures that the involved parties are genuine I i.e. are who they say they are I Injection attacks I Man-In-The-Middle (MITM) attacks I Various cryptographic attack vectors Examples: I RSA (Rivest, Shamir, Adleman) I DSA (Digital Signature Algorithm) I ECDSA (Elliptic Curve DSA) I Ed25519 (http://ed25519.cr.yp.to) I ElGamal Signature System DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 13/89
  • 16. Background Authenticity & Non-repudiation: RSA RSA I Used for: I Signatures I Certificates I Authenticated Key-Exchanges (don’t) I Encryption I Security based on the difficulty of factoring integers: I p; q are large prime numbers (e.g. 1024bits) I N = p × q I find factors of N I Best known algorithm (1994): General Number Field Sieve I Computational complexity for n-bits: O exp ( 64 9 n)13 (log n)23 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 14/89
  • 17. Background Authenticity Non-repudiation: RSA RSA Key Generation I integer N is the product of two large primes p and q I (N) = (p − 1)(q − 1) I choose an integer e (usually 65537), such that I 1 e (N) I gcd(e; (N)) = 1 I Public Key: N (modulus), e (public exponent) I Private Key: d e−1 (mod (N)) gcd and denote the Greatest Common Divisor (Euclidian algorithm) and Euler totient function, respectively. Math background: Modular arithmetic. Proof: Euler’s theorem and Fermat’s little theorem. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 15/89
  • 18. Background Authenticity Non-repudiation: RSA Alice sends her public key (modulus N and exponent e) to Bob Bob sends his public key (modulus N and exponent e) to Alice RSA Encryption: I Bob wants to send a message M to Alice, turns M into an integer m (0 m N) using a common padding-scheme I ..computes ciphertext c me (mod N) RSA Decryption: I Bob sends ciphertext to Alice I Alice computes m cd (mod N) I ..recoveres Bob’s message M by reversing the common padding-scheme DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 16/89
  • 19. Background Authenticity Non-repudiation: RSA padding ..a secure padding scheme is really important. Example: Bleichenbacher attack on PKCS#1 http://tinyurl.com/bleichenbacher (real world SSLv3 attack) Not going into that here has been explained in detail in a talk yesterday, see also: http://tinyurl.com/rsa-padding DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 17/89
  • 20. Background Key Agreement A key exchange algorithm exchanges cryptographic keys (i.e. shared secrets) among parties which want to communicate confidentialy. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 18/89
  • 21. Background Key Agreement: Diffie-Hellman The Diffie-Hellman key exchange algorithm (1976) was the first scheme devised to exchange cryptographic keys among multiple parties. It is the most widely used key exchange algorithm to this date. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 19/89
  • 22. Background Key Agreement: Diffie-Hellman Alice and Bob want to communicate with each other and thus agree on a large prime number p and a generator g (0 g p) I Alice choses a secret integer x (private key) ..and calculates gx (mod p) as her public key I Bob choses a secret integer y (private key) ..and calculates gy (mod p) as his public key Math Background: Multiplicative group of integers modulo p https://en.wikipedia.org/wiki/Multiplicative_group_of_integers_modulo_n http://tinyurl.com/multiplicativegroupmodp DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 20/89
  • 23. Background Key Agreement: Diffie-Hellman Alice and Bob exchange their public keys I Alice doesn’t know Bob’s y I Bob doesn’t know Alice’s x But,.. I Alice however knows x and gy ..therefore calculates (gy )x (mod p) = gyx (mod p) I Bob however knows y and gx ..therefore calculates (gx )y (mod p) = gxy (mod p) They now have established a shared secret: gxy (mod p) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 21/89
  • 24. Background Key Agreement: Forward secrecy Forward secrecy (aka Perfect Forward Secrecy - PFS) ensures that only ephemeral session keys are used. Even if a key is compromised in the future, not all communication that may have been recorded is compromised. Simple, at the end of a session: I Alice discards her public-key x I Bob discards his public-key y Hence: Ephemeral Diffie-Hellman (DHE and ECDHE). DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 22/89
  • 25. Background Ciphersuites In SSL/TLS terminology; a ciphersuite combines the previously mentioned cryptographic techniques to work together and forms part of a secure (online) communication protocol DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 23/89
  • 26. Background Ciphersuites Example: I Elliptic Curve Diffie-Hellman (Ephemeral - PFS) I RSA I AES128 I in Galois Counter Mode (GCM) I SHA256 IANA standardized TLS parameters: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 24/89
  • 27. Background Ciphersuites OpenSSL: ECDHE-RSA-AES128-GCM-SHA256 PolarSSL: TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256 GnuTLS: TLS_ECDHE_RSA_AES_128_GCM_SHA256 Apple Crypto Framework: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 Microsoft SChannel: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256 (No ECDHE with RSA and GCM for Microsoft users, you get crappy ECDSA instead.) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 25/89
  • 28. Background Transport Layer Security Before talking about the history and attacks of TLS it just makes sense to point out how TLS actually works (TLS 1.2). DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 26/89
  • 29. Background Transport Layer Security: TLS records TLS deals in “records”. Different types of records exist: Handshake, ChangeCipherSpec, Application data and Alert. In general TLS record looks like this: 1 Byte 1 Byte 1 Byte 1 Byte +−−−−−−−−+−−−−−−−−+−−−−−−−−+−−−−−−−−+ | t y p e | | +−−−−−−−−+−−−−−−−−+−−−−−−−−−−−−−−−−−+ | v e r s i o n | l e n g t h | +−−−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−−−+ | message N | +−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−+ | . | .. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 27/89
  • 30. Background Transport Layer Security: TLS records I Handshake records do have a different message structure I Alert records basically just send an error code (1 byte) and description (1 byte) instead of a full message. Besides Handshake and ChangeCipherSpec records - any records may optionally contain a MAC and padding (up to 4 bytes each) at the end, depending on the previously negotiated ciphersuite. For reference, see: https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_record DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 28/89
  • 31. Background Transport Layer Security: Handshake [ C l i e n t ] [ Se r v e r ] C l i e n tHe l l o −−−−−−−− DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 29/89
  • 32. Background Transport Layer Security: Handshake [ C l i e n t ] [ Se r v e r ] C l i e n tHe l l o −−−−−−−− Se r v e rHe l l o C e r t i f i c a t e Ser verKeyEx change C e r t i f i c a t e R e q u e s t −−−−−−−− Se r v e rHe l l oDone DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 30/89
  • 33. Background Transport Layer Security: Handshake [ C l i e n t ] [ Se r v e r ] C l i e n tHe l l o −−−−−−−− Se r v e rHe l l o C e r t i f i c a t e Ser verKeyEx change C e r t i f i c a t e R e q u e s t −−−−−−−− Se r v e rHe l l oDone C e r t i f i c a t e Cl i entKeyEx change C e r t i f i c a t e V e r i f y [ ChangeCipherSpec ] Fi n i s h e d −−−−−−−− DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 31/89
  • 34. Background Transport Layer Security: Handshake [ C l i e n t ] [ Se r v e r ] C l i e n tHe l l o −−−−−−−− Se r v e rHe l l o C e r t i f i c a t e Ser verKeyEx change C e r t i f i c a t e R e q u e s t −−−−−−−− Se r v e rHe l l oDone C e r t i f i c a t e Cl i entKeyEx change C e r t i f i c a t e V e r i f y [ ChangeCipherSpec ] Fi n i s h e d −−−−−−−− [ ChangeCipherSpec ] −−−−−−−− Fi n i s h e d DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 32/89
  • 35. Background Transport Layer Security: Handshake [ C l i e n t ] [ Se r v e r ] C l i e n tHe l l o −−−−−−−− Se r v e rHe l l o C e r t i f i c a t e Ser verKeyEx change C e r t i f i c a t e R e q u e s t −−−−−−−− Se r v e rHe l l oDone C e r t i f i c a t e Cl i entKeyEx change C e r t i f i c a t e V e r i f y [ ChangeCipherSpec ] Fi n i s h e d −−−−−−−− [ ChangeCipherSpec ] −−−−−−−− Fi n i s h e d A p p l i c a t i o n Data −−−−−−− A p p l i c a t i o n Data DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 33/89
  • 36. Background Session Resumption and False-start Session-resumption and False-start are TLS extensions minimizing round-trip time and CPU cost. Session-resumption: I An “abbreviated handshake” is used I Previously negotiated Handshake parameters are reused False-start (somewhat deprecated): I Optional extension to send data before the Handshake is completed I After ChangeCipherSpec and Finished messages Client or Server data may be sent I Even if the other side has not acknowledged yet For a good description see: http://chimera.labs.oreilly.com/books/1230000000545/ch04.html http://blog.cryptographyengineering.com/2012/04/so-long-false-start-we-hardly-knew-ya.html DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 34/89
  • 37. Background OCSP Online Certificate Status Protocol (OCSP) is a mechanism to check for the validity and revocation of certificates. OCSP has recieved a lot of critique: I MITM attackers may also interfere with OCSP requests I OCSP stapling can be used to mitigate this problem I OCSP latency for large CAs is usually in the hundreds of milliseconds I OCSP infrastructure completely broke down during Heartbleed DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 35/89
  • 38. Background HTTP Strict Transport Security HTTP Strict Transport Security (HSTS) is a security policy that enforces HTTPS connections on following requests (e.g. upgrade every HTTP requests to HTTPS). A small downside: the first HSTS header must be sent over HTTPS to ensure it cannot be tampered with. Effectively disables ssl-stripping attacks. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 36/89
  • 39. Background TLS Renegotiation Indication Extension RFC5746 defines a TLS extension that prevents for TLS Handshake renegotiaton attacks by sending a special Signaling Cipher Suite Value (SCSV) in the ClientHello which ties a renegotiation request to a TLS connection. Called “Secure Renegotiation”. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 37/89
  • 40. Background SPDY, NPN, ALPN and so forth Google drafted specifications for protocol upgrade to SPDY including NPN and ALPN which SPDY effectively relies on. SPDY is the basis for the work in the IETF HTTPBIS-WG that will standardize HTTP2. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 38/89
  • 41. Background Web-of-Trust and X.509 X.509, and Web-of-(mis)trust and ASN.1 would require a two hour talk on their own. Certificate Authorities should and can not be trusted, they are known to behave maliciously at times, give away sub-CAs for DPI to large companies and nations and regularly fuck up their own security processes. Read for example: http://www.certificate-transparency.org/what-is-ct DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 39/89
  • 42. History Attacks Now that you have an idea of the necessary background, let’s take a look at the history of TLS (in)security. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 40/89
  • 43. History Attacks Internet Dark Ages I SSLv1 engineered at Netscape, never released to the public I Kipp Hickman of Netscape introduces SSLv2 as an IETF draft back in 1995: The SSL Protocol is designed to provide privacy between two communicating applications (a client and a server). Second, the protocol is designed to authenticate the server, and optionally the client. [...] http://tools.ietf.org/html/draft-hickman-netscape-ssl-00 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 41/89
  • 44. History Attacks Internet Dark Ages I SSLv2 was fundamentally broken and badly designed. Basically full loss of Confidentiallity and integrity of on-wire data thus susceptible to MITM attacks, see: http://osvdb.org/56387 I CipherSpec is sent in the clear I Size of Block-cipher padding is sent in the clear DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 42/89
  • 45. History Attacks Internet Dark Ages I SSLv3 was introduced in 1996 by Paul Kocher, Phil Karlton and Alan Freier, utilizing an algoritm by Taher ElGamal, a known cryptographer and Chief Scientist at Netscape at the time: https://tools.ietf.org/html/rfc6101 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 43/89
  • 46. History Attacks Internet Dark Ages On a side note; back then the choice algorithms was limited and export ciphers (low security) common as recommended by NSA and mandated by US law. Google: “Bernstein vs. United States” I encryption algorithms (Confidentiality): NULL, FORTEZZA-CBC (NSA), IDEA-CBC, RC2-CBC-40 (40bit security), RC4-128, DES40-CBC (40bit security), DES-CBC (56bit security), Triple-DES-EDE-CBC I hash functions (integrity): NULL, MD5 and SHA DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 44/89
  • 47. History Attacks Internet Dark Ages David Wagner and Bruce Schneier publish a paper entitled “Analysis of the SSL 3.0 protocol”: I Keyexchange algorithm rollback I Protocol fallback to SSLv2 I Protocol leaks known plaintexts - may be used in cryptanalysis I Replay attacks on Anonymous DH (don’t use it anyway!) https://www.schneier.com/paper-ssl.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 45/89
  • 48. History Attacks TLS appears 1999. The SSL protocol is renamed to TLS (version 1) with little improvements over SSLv3. The spec. is almost identical. I Diffie-Hellman, DSS and Triple-DES are now required by implementors I most SSLv3 security issues are still present in TLS 1.0 (RFC2246) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 46/89
  • 49. History Attacks TLS gets padding attacks 2002. Vaudenay publishes a paper entitled “Security Flaws Induced by CBC Padding Applications to SSL, IPSEC, WTLS...” I Side-channel attack on CBC mode padding I valid/invalid padding causes different reactions I can be used to influence decryption operations I introduces “padding oracle attacks” in SSL http://www.iacr.org/cryptodb/archive/2002/EUROCRYPT/2850/2850.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 47/89
  • 50. History Attacks TLS gets extended 2003. TLS extensions get specified in RFC3546. I General: Extended Handshake, ClientHello and ServerHello I Server Name Indication (SNI) for virtual hosting (SNI leaks metadata!) I Certificate Status Request (CSR) support via OCSP I (...) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 48/89
  • 51. History Attacks TLS gets timing attacks 2003. Brumley and Boneh publish a paper entitled “Remote timing attacks are practical”. Timing attack on RSA in SSL/TLS implementations (OpenSSL): I Send specially crafted ClientKeyExchange message I Mesure time between ClienyKeyExchange and Alert response I do a bit of statistics I retrieve Private Key http://dl.acm.org/citation.cfm?id=1251354 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 49/89
  • 52. History Attacks TLS gets padding oracle password retrieval 2003. Canvel, Hiltgen, Vaudenay, Vuagnoux publish “Password Interception in a SSL/TLS Channel”. Extend earlier work of Vaudenay and successfully intercept IMAP passwords in TLS channels. http://www.iacr.org/cryptodb/archive/2003/CRYPTO/1069/1069.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 50/89
  • 53. History Attacks TLS gets chosen plaintext attacks 2004 2006. Bard demonstrates Chosen-Plaintext Attacks against SSL and TLS1.0 Attack on CBC: I CBC exchanges an Initialization Vector (IV) during Handshake I these IVs turn out to be predictable I PINs and Passwords can be decrypted I VPNs/Proxies can also be used to accomplish this task https://eprint.iacr.org/2004/111 https://eprint.iacr.org/2006/136 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 51/89
  • 54. History Attacks TLS gets updated 2006. A new TLS protocol version is standardized: TLS 1.1 I EXPORT ciphers removed I Session resumption I Protection against the CBC attacks by Bard I IANA TLS parameters standardized I (...) (RFC4346) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 52/89
  • 55. History Attacks TLS gets modern crypto 2008. A new TLS protocol version is standardized: TLS 1.2 I MD5/SHA1 removed as pseudorandom function (PRF) I configurable PRFs in ciphersuites (e.g. SHA256) I Authenticated encryption: CCM, GCM I AES ciphersuites I (...) (RFC5246) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 53/89
  • 56. History Attacks Rouge CA Certificates 2008. Sotirov, Stevens, Appelbaum, Lenstra, Molnar, Osvik and de Weger present a paper based on earlier work by Lenstra et al. at 25c3 entitled “MD5 considered harmful today” I MD5 Hash-collision of a CA Certificate I Create colliding (rouge) CA Certificates I Generate any Certificate for MITM you want http://www.win.tue.nl/hashclash/rogue-ca/ https://www.youtube.com/watch?v=PQcWyDgGUVg DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 54/89
  • 57. History Attacks sslstrip 2009. Moxie Marlinspike releases sslstrip at BlackHat DC 2009. I Client connects to server I Attacker intercepts session via MITM I Attacker sends HTTP 301 (moved permanently) I Attacker forwards requests to/from server via SSL/TLS I Client receives data via unencrypted channel I Attacker reads plaintext http://www.thoughtcrime.org/software/sslstrip http://vimeo.com/50018478 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 55/89
  • 58. History Attacks Null-prefix attacks against Certificates 2009. Moxie Marlinspike publishes “Null prefix Attacks against SSL/TLS Certificates”. I Specially crafted domain strings trick CA checking I null-terminate stuff in a domain name I ex.: www.paypal.com0.thoughtcrime.org is valid I ex.: *0.thoughtcrime.org is valid I CA ignores prefix I Client does not - Certificate valid for prefix Moxie updated his sslsniff project to carry out this attack. http://www.thoughtcrime.org/papers/null-prefix-attacks.pdf http://thoughtcrime.org/software/sslsniff DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 56/89
  • 59. History Attacks SSLv2 Forbidden 2011. IETF publishes and standardized a RFC to prohibit negotiation and thus compatibility of SSLv2 in TLS1.0-1.2 entirely. https://tools.ietf.org/html/rfc6176 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 57/89
  • 60. History Attacks Comodo 2011. Comodo CA: Attacker issues 9 certificates via reseller account for popular domains (google.com, yahoo.com, live.com, skype.com [...]) https://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 58/89
  • 61. History Attacks BEAST 2011. Doung and Rizzo publish the BEAST attack at ekoparty and demo a live attack on PayPal. Based on Bards earlier work on predictable IVs in CBC: I Phishing gets victim to visit a certain website I Script on said website makes request to genuine site I Attacker records encrypted cookie information I Tries to guess session-cookie with known CBC attack Same Origin Policy (SOP) forbids this attack in client software. If SOP can be bypassed (as shown by the authors with Java’s SOP) this attack is still practical. http://vnhacker.blogspot.co.at/2011/09/beast.html DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 59/89
  • 62. History Attacks Trustwave 2012. Trustwave CA: Trustwave sells subordinate CAs to big corporations to be used for Deep Packet Inspection. A sub-CA can issue and fake any certificate for MITM attacks. http://blog.spiderlabs.com/2012/02/clarifying-the-trustwave-ca-policy-update.html http://arstechnica.com/business/2012/02/ critics-slam-ssl-authority-for-minting-cert-used-to-impersonate-sites/ DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 60/89
  • 63. History Attacks DigiNotar 2012. DigiNotar CA: Attackers compromise DigiNotar in it’s entirety. I attackers generate tons of certificates I Google Chromes certificate store detects mismatches I DigiNotar acknowledges breach I DigiNotar files for bankrupcy I FOX-IT never gets paid for the investigation https://en.wikipedia.org/wiki/DigiNotar http://cryptome.org/0005/diginotar-insec.pdf http://nakedsecurity.sophos.com/2011/09/05/ operation-black-tulip-fox-its-report-on-the-diginotar-breach DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 61/89
  • 64. History Attacks Certificate validation in non-browser software 2012. Georgiev, Iyengar, Jana, Anubhai, Boneh and Shmatikov publish a paper entitled “The most dangerous code in the world: validating SSL certificates in non-browser software” Certificate validation vulnerabilities in: I OpenSSL I GnuTLS I JSSE I EC2 Java libraries Amazon SDKs I PayPal SDKs I eCommerce/WebShop software I ..cURL, PHP, Python, tons of Java middleware https://crypto.stanford.edu/~dabo/pubs/abstracts/ssl-client-bugs.html DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 62/89
  • 65. History Attacks CRIME 2012. Doung and Rizzo publish an attack against TLS Compression and SPDY titled CRIME. I MITM attacker sees length of compressed ciphertext I compression has direct affect on the length I attacker makes client compress/encrypt data (or uses known data) with secret data I attacker compares I correct guesses yield shorter messages due to compression I repeat until done This is only feasible for small amounts of data, e.g. session strings, cookies and so forth. https://isecpartners.com/blog/2012/september/details-on-the-crime-attack.aspx DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 63/89
  • 66. History Attacks TIME 2013. Be’ery and Shulman present TIME at BlackHat Europe. Extend on the CRIME Attack: I Attacker generates HTTP requests (XSS, injection,..) I Attacker exploits SOP design flaw and measures RTT differences I determines correct or failed guesses by SOP timing leak https://media.blackhat.com/eu-13/briefings/Beery/bh-eu-13-a-perfect-crime-beery-wp.pdf https://www.youtube.com/watch?v=rTIpFfTp3-w DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 64/89
  • 67. History Attacks Lucky13 2013. AlFardan and Paterson present a novel attack against CBC for TLS and DTLS based on timing analysis. I Attacker intercepts and modifies a message including padding I Attacker tempers with the padding of the message I MAC computation takes longer during decryption process I Attacker repeats and measures I Attacker performs padding oracle attack described earlier I (Extremely latency sensitive attack) http://www.isg.rhul.ac.uk/tls/Lucky13.html http://www.isg.rhul.ac.uk/tls/TLStiming.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 65/89
  • 68. History Attacks RC4 Biases 2013. AlFardan, Bernstein, Paterson, Poettering and Schuldt publish a generic attack on the RC4 cipher for TLS and WPA. I Statistical biases in the first 257 bytes of ciphertext I Recovery of the first 200 bytes after 228 to 232 encryption operations of the same plaintext I A broadcast attack: mounted on unique keys I May also be mounted with a single key with repeating target plaintexts I Only feasible for large amounts of data and very time consuming http://www.isg.rhul.ac.uk/tls http://www.isg.rhul.ac.uk/tls/RC4biases.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 66/89
  • 69. History Attacks NIST curves 2013 2014. Daniel J. Bernstein and Tanja Lange voice concern about the NIST Elliptic Cuves that are widely implemented and used in TLS for ECDH and ECDSA I NIST curves defined on recommendations by NSA’s Jerry Solinas I Unclear why these curves and their parameters were chosen I NIST cites efficiency: more efficient and secure curves available I Possible mathematical backdoor through previous analysis and carefully chosen and unexplained parameters I Start SafeCurves project (ongoing) http://www.hyperelliptic.org/tanja/vortraege/20130531.pdf http://cr.yp.to/talks/2013.09.16/slides-djb-20130916-a4.pdf http://safecurves.cr.yp.to https://archive.org/details/ShmooCon2014_SafeCurves DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 67/89
  • 70. History Attacks BREACH 2013. Gluck, Harris and Prado demonstrate yet another attack based on CRIME at BlackHat USA. Very similar to CRIME but the attack works based on information leaks from HTTP compression instead of TLS compression. http://breachattack.com https://www.youtube.com/watch?v=CoNKarq1IYA DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 68/89
  • 71. History Attacks Unused Certificates in Truststores 2014. Perl, Fahl, Smith publish a paper entitled “You Won’t Be Needing These Any More: On Removing Unused Certificates From Trust Stores” I Compared 48 mio. HTTP certificates I 140 CA Certificates are unused in all major trust stores I Of 426 trusted root certificates only 66% are even used http://fc14.ifca.ai/papers/fc14_submission_100.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 69/89
  • 72. History Attacks Triple Handshakes Considered Harmful 2014. Bhargavan, Delignat-Lavaud, Pironti, Langley and Ray present an attack one day before the IETF’89 meeting in London. I Limited to client-certificate authentication with renegotiation I MITM attack on renegotiation with a three-way handshake I Variations of the attack also discussed on their website I Can’t possibly fit this into one slide, homework: understand the attack by reading their excellent description on the website https://secure-resumption.com https://secure-resumption.com/IETF-triple-handshakes.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 70/89
  • 73. History Attacks Frankencerts 2014. Brubaker, Jana, Ray, Khurshid and Shmatikovy publish a paper entitled “Using Frankencerts for Automated Adversarial Testing of Certificate Validation in SSL/TLS Implementations” I Fuzzing of X.509 related code in all major implementations shows serious weaknesses in certificate validation and handling I OpenSSL, NSS, GnuTLS, MatrixSSL, PolarSSL, CyaSSL, cyptlib [...] https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf https://github.com/sumanj/frankencert DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 71/89
  • 74. History Attacks Heartbleed 2014. Heartbleed is independently discovered by Codenomicon and a Google Security engineer. Faulty implementation in OpenSSL of the TLS Heartbleed extension leaks memory content over the wire. This has been all over the media and discussed in detail all over the internet. People have successfully extracted sensitive information (password files et cetera) from victim memory. I wrote an nmap plugin to scan for Heartbleed: https://github.com/azet/nmap-heartbleed http://heartbleed.com DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 72/89
  • 75. History Attacks Virtual Host Confusion 2014. At BlackHat Delignat-Lavaud presents an attack based on SSLv3 downgrade and sharing of session caches I Attacker forces downgrade to SSLv3 I For SSLv3: larger deployments share session caches I attacker exploits a server vulnerability where session caches are reused I attacker requests different subdomain with SSLv3 using the same session I vulnerable server will allow connection w/o authentication I www.company.com vs git.company.com https://bh.ht.vc DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 73/89
  • 76. History Attacks POODLE 2014. POODLE: Padding Oracle On Downgraded Legacy Encryption - OpenSSL/Google I MITM attacker downgrades to SSLv3 (once again) I attacker does block duplication I takes on average 256 requests to decrypt 1 byte (!) I disabling SSLv3 or using the FALLBACK_SCSV TLS extension (draft) mitigates this issue entirely https://www.openssl.org/~bodo/ssl-poodle.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 74/89
  • 77. History Attacks SChannel RCE Patch tuesday Nov. 2014: Remote Code Execution in Microsoft SChannel Enables malicious attackers to initiate ClientCertificate exchange (even if unsupported) with payload in the signature http://blog.beyondtrust.com/triggering-ms14-066 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 75/89
  • 78. History Attacks Implementation Issues There are tons of other issues with TLS stacks and software implementations that have not been discussed. OpenSSL alone published 24 security advisories in 2014 until today. I Apple’s GOTO fail I GnuTLS GOTO fail I various GnuTLS vulnerabilities I wrong use of OpenSSL API in server and client software ... Clearly; a lot of people current have their eyes on this very topic. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 76/89
  • 79. History Attacks Implementation Issues For this crowd: It’s up to you to find them and improve existing implementations, protocols and standards. DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 77/89
  • 80. IETF efforts I n t e r n e t So c i e t y | I n t e r n e t A r c h i t e c t u r e Board | | IETF ( 1 ) IRTF ( 2 ) | | St e e r i n g Group St e e r i n g Group | | | | | | WG WG WG. . WG WG WG. . 1 − I n t e r n e t En g i n e e r i n g Task For ce 2 − I n t e r n e t Resear ch Task For ce DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 78/89
  • 81. IETF efforts post-Snowden I After the Snowden Leaks appeared in press the IETF began discussion on how ‘’pervaisive monitoring” can be prevented I In September 2013 the ‘’PERPASS” (pervaisive, passive monitoring) mailing list was started I People started working on drafts to circumvent ‘’pervaisive monitoring”: http://down.dsg.cs.tcd.ie/misc/perpass.txt DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 79/89
  • 82. IETF efforts I IETF 89 was accompanied by a meeting on the topic (STRINT) with invited speakers on privacy, security and cryptography: https://www.w3.org/2014/strint/ I ‘’strenghtening the internet against pervaisive monitoring” I a lot of good feedback and ideas I main takeaways: threat modeling, CFRG was tasked with TLS-WG guidance on choices of ciphers and which curves/parameters (ECC) to use http://tools.ietf.org/html/draft-iab-strint-report-00 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 80/89
  • 83. IETF efforts New WGs and documents being worked on I UTA-WG (utilizing TLS in applications): working BCPs on how to properly use/implement TLS I TLS-WG (transport layer security): TLS 1.3, chacha20-poly1305, DJB curves (ECC), FALLBACK_SCSV extension,.. I TCPINC (TCP increased security): working on standardization of opportunistic encryption on the TCP layer (similar to tcpcrypt) I DPRIVE (DNS private exchange): working on DNS privacy features I IAB (internet architecture board): threat model, see: https://tools.ietf.org/html/draft-iab-privsec-confidentiality-threat I TRANS (Public Notary Transparency): fight malicious certificate authorities with certificate transparency, see: www.certificate-transparency.org ... DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 81/89
  • 84. IETF efforts Curves Curves Curves I CFRG (cryptography forum research group within IRTF) is working on a standardized set of curves and curve parameters for IETF WGs: expected by the end of 2014 I + Curve25519 (dan bernstein, et al.) I + NUMS (microsoft) I + ed448goldilocks (michael hamburg) In comparison to NIST curves: most new proposals are plugable into existing standards and can be reused within protocols and IETF documents. Good summary (by the Brainpool authors, so a bit biased): http://eprint.iacr.org/2014/832.pdf DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 82/89
  • 85. IETF efforts I Certificate Transparency is now being worked on as an IETF standard: https://datatracker.ietf.org/wg/trans/charter/ I discussion on mandatory encryption in HTTP2 (HTTPBIS-WG) DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 83/89
  • 86. IETF efforts On Nov. 14, 2014 Internet Architecture Board issued a statement recommending deploying encryption by default throughout the protocol stack in further developments. Commended by Internet Society a day later. https://www.iab.org/2014/11/14/iab-statement-on-internet-confidentiality/ http://www.internetsociety.org/news/ internet-society-commends-internet-architecture-board-recommendation-encryption-default DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 84/89
  • 87. Mitigation Get informed! Luckily Mitigation does not require as much slides. Because it’s rather simple: I Use current software and update regularly: Most of these attacks are fixed upstream I Use peer-reviewed and solid configurations: Check out https://bettercrypto.org I Listen to recommendations by security experts I Audit your infrastructure (possibly even pay external contractors to take a look) I Keep track of TLS security and evolving security standards and recommendations DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 85/89
  • 88. Mitigation Future work IETF TLS-WG is currently working on TLS 1.3 to mitigate some of the issues and concerns raised. Drafts like new SCSVs would effectively prevent protocol downgrade attacks. (constant-time) ciphers and curves and DH parameter negotiation have been proposed along with protocol improvements for efficiency, security and privacy. It’s still in the making and worth to keep track of. Cryptography libraries seem to be more actively audited now, which has resulted in some of the disclosures in the paths months. http://www.ietf.org/proceedings/89/slides/slides-89-tls-5.pdf https://tools.ietf.org/html/draft-bmoeller-tls-downgrade-scsv http://tools.ietf.org/html/draft-agl-tls-chacha20poly1305 https://datatracker.ietf.org/doc/draft-gillmor-tls-negotiated-dl-dhe/?include_text=1 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 86/89
  • 89. Mitigation Distribute Trust Certificate Transparency and HPKP are only a few examples of proposed solutions to tackle the issue of malicious certificate authorities, certificate forgery and MITM attacks. I Letsencrypt: Free, Secure, audited and distribtued CA by Cisco, Akamai, UMichigan, EFF and others I Certificate Transparency: distributed consent, monitoring and auditability of certificates and CAs in the wild I HPKP pins keys to certificates to prevent MITM and certificate based attacks https://letsencrypt.org/ http://www.certificate-transparency.org https://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/ DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 87/89
  • 90. Conclusion I “Trust the Math” (Schneier) I Implementation is still a big issue I Software bugs are a big issue I Protocol design is hard and longsome I We’re going to see many more attacks on TLS I TLS and Crypto improvements are being constantly worked on DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 88/89
  • 91. Conclusion Thanks for your patience. Are there any questions? Twitter: @a_z_e_t Mail: azet@azet.org XMPP: azet@jabber.ccc.de GPG Fingerprint: 7CB6 197E 385A 02DC 15D8 E223 E4DB 6492 FDB9 B5D5 DeepSec 2014 - 21/11/2014 Introduction to and survey of TLS Security Aaron Zauner 89/89