On the Security of the Pre-Shared Key Ciphersuites of TLS
Yong Li 1, Sven Schäge2, Zheng Yang1, Florian Kohlar1, and Jörg Schwenk1
1 Horst Görtz Institute for IT Security, Bochum 2 University College London
Buenos Aires, Argentina March 28, 2014
1
On the Security of the Pre-Shared Key Ciphersuites of TLS Yong Li 1 - - PowerPoint PPT Presentation
On the Security of the Pre-Shared Key Ciphersuites of TLS Yong Li 1 , Sven Schge 2 , Zheng Yang 1 , Florian Kohlar 1 , and Jrg Schwenk 1 1 Horst Grtz Institute for IT Security, Bochum 2 University College London Buenos Aires, Argentina
Yong Li 1, Sven Schäge2, Zheng Yang1, Florian Kohlar1, and Jörg Schwenk1
1 Horst Görtz Institute for IT Security, Bochum 2 University College London
Buenos Aires, Argentina March 28, 2014
1
– A Security Model for Authentication via (Symmetric) Pre-Shared Keys – Security Results for Pre-Shared Key Ciphersuites of TLS
2
– A Security Model for Authentication via (Symmetric) Pre-Shared Keys – Security Results for Pre-Shared Key Ciphersuites of TLS
3
4
– Authentication protocol based on TLS-PSK for EMV smart cards – Application of TLS-PSK in the Generic Authentication, the
– New electronic German ID (eID) card supports online remote authentication
5
– A Security Model for Authentication via (Symmetric) Pre-Shared Keys – Security Results for Pre-Shared Key Ciphersuites of TLS
6
7
Transport Internet Application Network
8
TLS
Client Server TLS IP http, smtp, ftp, … Ethernet,… TCP Transport Internet Application Network TLS IP http, smtp, ftp, … Ethernet,… TCP
9
TLS Handshake Protocol TLS Record Protocol Client Server TLS Handshake:
TLS Record Layer:
the session key k
10
– A Security Model for Authentication via (Symmetric) Pre-Shared Keys – Security Results for Pre-Shared Key Ciphersuites of TLS
11
12
13
Client2 (pskC2) Server3 (pskC3,...) Server2 (pskC2,...) Client1 (pskc1) Server1 (pskC1,...) Client3 (pskC3) Network Protocol Execution
14
Client2 (PSKC2) Server3 (PSKC3,...) Server2 (PSKC2,...) Client1 (PSKc1) Server1 (PSKC1,...) Client3 (PSKC3) Network Protocol Execution
15
16
Client2 (PSKC2) Server3 (PSKC3,...) Server2 (PSKC2,...) Client1 (PSKc1) Server1 (PSKC1,...) Client3 (PSKC3) Network Protocol Execution Decrypt(c) m= Dec(k2,c) Corrupt() pskC2 k1 RevealKey() pskC3 Corrupt() k1 k2
17
Distinguish C from uniform random C‘ Wins if he is authenticated
distinguishes C. Break Authentication Client 1 (PSKC1) Server 1 (PSKC1, ...) Client i (PSKCi) Server j (PSKC1, ...) C
18
– A Security Model for Authentication via (Symmetric) Pre-Shared Keys – Security Results for Pre-Shared Key Ciphersuites of TLS
19
20
rC, Supported Cipher Suites rS, selected Cipher Suite Enc(k; constS, finC) finS = PRF(ms; Label4,H(prev. data)) finC = PRF(ms; Label3, H(prev. data)) Enc(k; constC, finS) “Accept”, session key k with Client Cipher Suite Agreement Phase: Symmetric Encryption Phase: Client has PSK |PSK|=N bytes long Key Exchange Phase: PSK identity pointing to the PSK used for authentication “Accept”, session key k with Server ms = PRF(pms; Label1, rC, rS) pms=N ||0...0||N ||PSK k = PRF(ms; Label2, rC, rS) ms = PRF(pms; Label1, rC, rS) pms=N ||0...0||N ||PSK k = PRF(ms; Label2, rC, rS) Server has PSK |PSK|=N bytes long
21
Theorem:
sLHAE [PRS’11]:
22
rC, Supported Cipher Suites rS, selected Cipher Suite gs mod p gc mod p Cipher Suite Agreement Phase: Key Exchange Phase: Symmetric Encryption Phase: Client has PSK |PSK|=N bytes long Server has PSK |PSK|=N bytes long
23
Enc(k; constS, finS) finS = PRF(ms; Label3, H(prev. data)) finC = PRF(ms; Label4, H(prev. data)) Enc(k; constC, finC) “Accept”, session key k with Client “Accept”, session key k with Server T = gsc mod p k = PRF(ms;Label2,rC,rS) ms = DPRF(pms;Label1,rC,rS) c Zq |T|= LT bytes long pms := LT||T||N||PSK T = gcs mod p k = PRF(ms;Label2,rC,rS) ms = DPRF(pms;Label1,rC,rS) c Zq |T|= LT bytes long pms := LT||T||N||PSK
24
Theorem:
25
26
rC, Supported Cipher Suites rS, selected Cipher Suite Ciphertext: C Cipher Suite Agreement Phase: Key Exchange Phase: Symmetric Encryption Phase: Client has PSK |PSK|=N bytes long |PSK|=N bytes long
26
Enc(k; constS, finS) finS = PRF(ms; Label3, H(prev. data)) finC = PRF(ms; Label4, H(prev. data)) Enc(k; constC, finC) “Accept”, session key k with Client “Accept”, session key k with Server C = Enc(pkS, R) k = PRF(ms;Label2,rC,rS) ms = DPRF(pms;Label1,rC,rS) |R|= 46 bytes long V = 2-byte version number pms := 48||V||R||N||PSK random value R R = Dec(skS, R) k = PRF(ms;Label2,rC,rS) ms = DPRF(pms;Label1,rC,rS) |R|= 46 bytes long V = 2-byte version number pms := 48||V||R||N||PSK random value R Server has PSK and RSA key pair: (pkS, skS)
27
Theorem:
– A Security Model for Authentication via (Symmetric) Pre-Shared Keys – Security Results for Pre-Shared Key Ciphersuites of TLS
28
29
30