110 likes | 251 Views
Crash course on SSL/TLS Ran Canetti December 2009 ( Based on slided by Jörg Schwenk). SSL. De facto Standard for client-server security IETF RFC: The TLS Protocol Version 1.0 (RFC 2246) All commodity browsers support SSL
E N D
Crash course on SSL/TLSRan CanettiDecember 2009( Based on slided by Jörg Schwenk)
SSL • De facto Standard for client-server security • IETF RFC: • The TLS Protocol Version 1.0 (RFC 2246) • All commodity browsers support SSL • Open implementations (e.g. SSLRef, SSLPlus, SSLava, SSLeay, openSSL, modSSL)
HTTP(S) Hand-shake Change Cipher Alert Application Record Layer TCP SSL/TLS Framework Key Exchange Data Enc/Auth
HTTP-Data Fragmentation Compression http http http 3.1 3.1 3.1 Length Length Length Encryption MAC Padd. P. Length SSL/TLS Record Layer
SSL/TLS: Handshake bank. com bank. com
TLS Renegotiation • The spec allows a party (either I or R) to initiate a “change cipher” procedure by sending a special message, authenticated under the current session key. • As a result, a new key is negotiated from scratch. • There is no “binding” between the old and new keys – these are two independent sessions. Still the two sessions appear for applications as the same “stream”. • Consequently, it is possible to attack the protocol:
TLS Renegotiation attack Client Attacker Server <----------- Handshake ----------> <======= Initial Traffic ====> <--------------------- Handshake===================> <=============== Client Traffic==================>
TLS Renegotiation attack • Client Attacker Server <----------- Handshake ----------> • <======= Initial Traffic ====> • <--------------------- Handshake===================> <=============== Client Traffic==================> • There is much work currently done at the IETF on how to fix the protocol. • This is a great example for the importance of modeling and proof in practical crypto.