SSL/TLS Overview
SSL/TLS provides security ‘at TCP layer’.
SSL/TLS Basic Features
SSL/TLS is widely used in Web browsers and servers to secure traffic:
SSL architecture provides two layers:
SSL Protocol Architecture
SSL Record Protocol
Session concept:
SSL Record Protocol
SSL Record Protocol provides:
Data from application/upper layer SSL protocol partitioned into fragments (max size 214 bytes).
SSL Records Protocol Grafik
SSL Record Format Grafik
SSL Handshake Protocol: Security Goals
Entity authentication of participating parties.
Establishment of a fresh, shared secret.
Secure ciphersuite negotiation.
SSL Handshake Protocol – Key Exchange
SSL supports several key establishment mechanisms.
Most common is RSA encryption
Can create pre_master_secret from:
SSL Handshake Protocol – Entity Authentication
SSL supports several different entity authentication mechanisms.
Most common based on RSA.
Less common: DSS or RSA signatures on nonces (and other fields, e.g. Diffie-Hellman values).
SSL Handshake Protocol
SSL uses symmetric keys:
These keys are established as part of the SSL Handshake Protocol.
The SSL Handshake Protocol is a complex protocol with many options…
SSL Key Dervation
Keys used for MAC and encryption in Record Layer derived from pre_master_secret:
SSL Handshake Protocol Run
We choose the most common use of SSL.
No client authentication.
client sends pre_master_secret using Server’s RSA public encryption key from Server certificate.
Server authenticated by ability to decrypt to obtain pre_master_secret, and construct correct finished message.
SSL Encryption
Master secret
Key material
Encryption keys
SSL Handshake Protocol Run Questions
1. Is the client authenticated to the server in this protocol run?
2. Can an adversary learn the value of pre_master_secret?
3. Is the server authenticated to the client?
SSL Handshake Protocol - Additional Features
SSL Handshake Protocol supports session resumption and ciphersuite re-negotiation.
Other SSL Protocols
Alert protocol.
Change cipher spec protocol.
SSL and TLS
Additional alert codes.
More client certificate types.
Variable length padding.
SSL/TLS Applications
Secure e-commerce using SSL/TLS.
Secure e-commerce: some issues.
Secure electronic banking
Issues: Registration, secure storage of private keys, revocation and re-issue.
What else does client use same password for?
Enforce from server.
SSL/TLS Security Flaws
(Historical) flaws in random number generation for SSL.
Flaws in error reporting.
Timing attacks.
Security and Network Layers 1
Security and Network Layers 2