TLS Security
EPL682 Neophytos Christou
TLS Security EPL682 Neophytos Christou What is TLS? - - - PowerPoint PPT Presentation
TLS Security EPL682 Neophytos Christou What is TLS? - Cryptographic protocols that provide secure communication on the internet - Consists of two phases: - TLS Handshake protocol: agree on the cipher suite that will be used to encrypt
EPL682 Neophytos Christou
the internet
be used to encrypt messages
the agreed symmetric encryption cipher and session key
GnuTLS and many more)
signed by a trusted Certificate Authority
using the syntax defined by the ASN.1 standard
A TLS certificate illustrated
CAs), whose certificates are stored on the client’s machine
authenticate presents
certificate of the CA that signed the certificate
CA is a root CA
for leaf certificates with public keys that will be used for session key encryption etc.)
path length: number of intermediate CAs between the leaf and the current certificate
recognize a critical extension
Using Frankencerts for Automated Adversarial Testing of Certificate Validation in SSL/TLS Implementations
Chad Brubaker, Suman Jana, Baishakhi Ray, Sarfraz Khurshid, Vitaly Shmatikov
cryptographic libraries correctly validate certificates
random fuzzing
implementations
certificates correctly
certificates
parts from the collected certificate and combining them into a new certificate that will be used for testing
follow constraints defined by X.509 standard
reject certificates that don’t follow the standard
when creating the certificate, even though they follow the ASN.1 grammar
by common certificates, because of unusual combinations of certificate fields.
certificates for testing, which were unlikely to discover any errors in the implementation
MitM attacks
issue certificates for other intermediate CAs even though it is not allowed to
without keyCertSign, server certificates not authorized for use in TLS/server authentication
etc
to ignore a recently expired certificate error)
multiple errors: more serious errors were sometimes hidden by a lower-risk error
512-bit RSA) or weak hash functions (e.g. MD5)
Nadhem AlFardan, Daniel J. Bernstein, Kenneth G. Paterson, Bertram Poettering, and Jacob C.N. Schuldt
1/256 to appear, but this is not the case for the first 256 bytes
the RC4 algorithm
using a newly generated key each time.
ciphertext, calculate the distribution on the RC4 keystream required to get the observed values.
different keystreams. Will work with a single key by encrypting a plaintext repeatedly (concatenated with itself P = P1 || P2 || … || Pn ).
likely byte at the next position based on the multi-byte biases.
sessions
fixed position (e.g a cookie):
sent package, thus renewing RC4 key each time
connection to cause this effect
number of ciphertexts
plaintext is encrypted many times with the same keystream
Javascript directs HTTP requests from the client to the legitimate server over the established TLS connection
to fully recover the cookie