State of TLS: Present and Future
David Leonard | Liron Shimrony
December 15th, 2015
TLS 1.2 is not provably secure under the key-indistinguishability model. Using TLS-DHE, security of TLS can be proved
TLS 1.3 draft-05 uses multiple keys during the handshake and thus it is possible to prove standard key indistinguishability
OPTLS 1.3 adds support for 0-RTT, PSK and hopes to achieve elliptic curves implementations
The TLS (Transport Layer Security) protocol, allows a client and a server to authenticate with each other
The protocol consists of a handshake where the client proves that he who he claims to be and so is the server
After handshake is complete, the parties can exchange messages securely
Client and server exchange messages in TLS (<1.3)
TLS Record Layer
Insecurities in the Handshake Protocol
TLS Record layer exposes a method to check if a key is real or random
Last message sent in the handshake is the finished message
Used to protect against Man in the Middle attacks
Is encrypted using keys generated by TLS Handshake
Adversary can run a Test query using a challenge key
Adversary attempts to decrypt finished message using challenge key
Can now distinguish if the key was random or real
Solutions for proving security of TLS
Consider a truncated version of the TLS Handshake
Don’t encrypt the finished messages
Observe that the core protocol using Ephemeral Diffie-Hellman captures the security properties of both the TLS Handshake and Record Layer
Motivations of TLS-DHE
TLS-DHE provides perfect forward secrecy
As opposed to TLS-RSA
Attacker can use compromised key to decrypt previous session keys
Google is switching over all their services to TLS-DHE
Building Blocks for the TLS-DHE Model
Digital Signature Schemes
Pseudo-Random Functions
Collision-Resistant Hashing
Stateful Length-Hiding Authenticated Encryption
Prevents:
Replay attacks
Dropping messages
Re-ordering of messages
PRF-ODH
Authenticated Key Exchange Protocols
Adversary A:
Can perform adaptive corruptions
Has full control over the network
Can drop, insert, re-order messages
Has access to oracles representing parties in the protocol (server, client) and protocol instances
Can perform Send, Reveal, Corrupt, Test queries
Security of Authenticated Key Exchange Protocols
The Protocol is insecure if A can perform either of the following:
Causes an oracle (client or server) to accept maliciously
Answers the test query successfully
Security of Authenticated Key Exchange Protocol with Truncated TLS
A makes a client-oracle accept maliciously:
A makes a server-oracle accept maliciously:
A answers the Test query successfully:
+
Authenticated and Confidential Channel Establishment
Keys are generated in the pre-accept phase, mirrors Handshake Protocol in TLS
Data is encrypted and transmitted in post-accept phase, mirrors Record Layer in TLS
Constructing an ACCE Protocol
The Protocol is insecure if A can perform either of the following:
Causes an oracle to accept maliciously, known as an authentication-adversary
Answers the encryption challenge successfully
TLS with Ephemeral Diffie-Hellman is a Secure ACCE Protocol
Probability that an auth-adversary succeeds in making an oracle accept maliciously is:
Probability that an adversary succeeds in answering the encryption challenge correctly:
Need for PRF-ODH Assumption
A can perform a man in the middle attack to corrupt an oracle:
TLS 1.2 vs. TLS 1.3
Using intermediate keys. provide confidentiality of handshake data such as the client certificate
Signing the handshake transcript for authentication
Encrypting the Finished message in the handshake and the application data with different keys
Deprecating some cryptographic algorithms that were used in previous versions of TLS
Using authenticated encryption with associated data (AEAD) schemes for symmetric encryption
Less messages during handshake to reduce latency
TLS 1.3 Handshake Protocol
Client and server exchange messages in TLS
During the handshake process multiple keys are being generated
Adversary Model
We consider probabilistic polynomial time adversary
Listen to the network and can intercept, inject and drop messages
In order to keep track on the adversary success we add a LOST flag to our data and initialize it to false
Adversary Interactions:
NewSession
Send
Reveal
Corrupt
Test
Match Security
Match security ensures that the session identifiers (sid) effectively match to the partnered session:
Sessions with the same session identifier for some stage:
Hold the same session key
Agree on that stage’s authentication level
Share the same contributive identifier at that stage
Sessions are partnered with the intended participant
Session identifiers are do not match at different stages
At most two sessions have the same session identifier at any stage
Multi-stage Security
TLS 1.3 provides Perfect Forward Secrecy by default
Keys are derived from HMS and Session_ID
Multi-Stage Security - Client Without a Parenter
Multi-Stage Security - Server Without a Partner
Multi-Stage Security - Server With a Partner
Multi-Stage Security - All Together
TLS 1.3 Advantages
Soundness of Key Separation
Key independence
Encryption of Handshake Messages
Session hash in key derivation
Upstream hashing for signatures
Created to replace many patches in the existing TLS protocol
Serve as a basis to TLS 1.3
Supports 0-RTT, 1-RTT
Forward security
Implement protocols using elliptic curves
Basic of OPTLS server authentication
Server posses signed certificate DH
is the server public key
s is the server secret key
Key derived from and
Provides security even if one of the keys is exposed
Outputs session key
Cached Keys and 0 - RTT
Example of 0 - RTT - search engine (Google)
First message exposed to replay attack
Protected under
Key Derivation
Keys are derived from and
Secure even if one key is exposed
Security Model
Each party can initiate or respond to an instance of the protocol
Parties maintain session state
Protocol outputs a session key
May be aborted without output.
Server Authentication
Each server has public and secret key
Clients can verify servers keys via trustful CA
Public key: static DH
Secret key: DH exponent (s)
Adversary Model
Probabilistic polynomial time
Adversary A has full control over the network (MITM)
Available queries:
StateReveal
Reveal
Corrupt
Basic Security
Match security
Two parties complete the protocol they output the same session key
If session is not exposed, the adversary advantage to guess if b=b’ is ½+negl
Perfect forward security
Sessions are secured even if one of the ephemeral DH keys are exposed
HKDF Assumption
HMAC Key Derivation Function (HKDF)
Using two steps mechanism: extract and expand
Extract: generate randomness from a secret input (not necessarily uniform) and outputs a uniformly random string
Expand: uses the generated string together with a PRF to generate keying material
OPTLS Modes
1-RTT semi-static: The server has a semi-static which can support application data in 0-RTT mode
1-RTT non-static: No static and the ephemeral value acts as
PSK: Used with a pre-shared secret key
PSK-DHE: Augments PSK with Diffie-Hellman key exchange to obtain perfect secrecy
Key Derivations
1-RTT Semi-Static Mode
Assuming that HKDF is secure and both the Gap-DDH and DDH problems are hard:
Perfect forward secrecy with respect to the server secret and long-term signing key
Resilient to disclosure of ephemeral exponents with respect to the server’s exponent y
Early Application Data in 1-RTT
Client can use a cached ssks to send data using eadk. eadk is proven secure via the One-pass security model:
A can perform Reveal() and Test() queries with respect to eadk
Matching conversations are based on (chello, ssks)
If HKDF is secure and the Gap-DDH problem is hard, then this mode achieves One-pass security
1-RTT Non-Static Mode
Assuming that HKDF is secure and the DDH problem are hard:
Achieves perfect forward secrecy with respect to the server’s signing key
Not resilient to disclosure of ephemeral exponents
PSK and PSK-DHE
By the TLS protocol, allows a client and server to use an established secret to start a new connection via pre-shared mode
PSK achieves basic security if HKDF is secure
Does not achieve perfect forward secrecy
PSK-DHE achieves perfect forward secrecy (server’s psk) as well as resilience to leaked ephemeral exponents (server’s y) if HKDF is secure and the DDH problem is hard
Also holds for 0-RTT
Future Work
Prove security of session resumption without restarting the entire handshake
Security model of client-authentication
Security proof of universally-composable security via the client’s a MAC value of client’s third message