real world authenticated key exchange
play

Real-World Authenticated Key Exchange Tibor Jager Paderborn - PowerPoint PPT Presentation

Real-World Authenticated Key Exchange Tibor Jager Paderborn University Summer School on Real-World Crypto and Privacy ibenik, Croatia June 17 th , 2019 Outline Security of the Diffie-Hellman Key Exchange Man-in-the-Middle attacks


  1. Real-World Authenticated Key Exchange Tibor Jager Paderborn University Summer School on Real-World Crypto and Privacy Šibenik, Croatia June 17 th , 2019

  2. Outline • Security of the Diffie-Hellman Key Exchange – Man-in-the-Middle attacks – Forward Security • TLS 1.3 – Overview – The cryptographic core of TLS 1.3 • Real-World Problems – Problems arising from backwards compatibility – Middleboxes and ETS • Further reading, open research problems 2

  3. Diffie-Hellman Key Exchange Public parameters: Group description (G,g,q) a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b t A t B k AB := t Ab k AB := t Ba 3

  4. Man-in-the-middle Attack on DH a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b a’ ß {0, …, q-1} t A t A ’ := g a’ t A ’ 4

  5. Man-in-the-middle Attack on DH a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b a’ ß {0, …, q-1} t A t A ’ := g a’ t A ’ t B ’ t B b’ ß {0, …, q-1} t B ’ := g b’ 5

  6. Man-in-the-middle Attack on DH a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b a’ ß {0, …, q-1} t A t A ’ := g a’ t A ’ t B ’ t B b’ ß {0, …, q-1} t B ’ := g b’ k AB’ = g ab’ k A’B = g a’b 6

  7. Man-in-the-middle Attack on DH a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b a’ ß {0, …, q-1} t A t A ’ := g a’ t A ’ t B ’ t B b’ ß {0, …, q-1} t B ’ := g b’ k AB’ = g ab’ k A’B = g a’b • This is an active attack • DH is provably secure against passive (”eavesdropping”) attacks 7

  8. Signed Diffie-Hellman Public parameters: (pk B , sk B ) ß SigKeyGen() Group description (G,g,q) (pk A , sk A ) ß SigKeyGen() pk A , pk B 8

  9. Signed Diffie-Hellman Public parameters: (pk B , sk B ) ß SigKeyGen() Group description (G,g,q) (pk A , sk A ) ß SigKeyGen() pk A , pk B a ß {0, …, q-1} t A := g a s A := Sign(sk A ,t A ) t A , s A 9

  10. Signed Diffie-Hellman Public parameters: (pk B , sk B ) ß SigKeyGen() Group description (G,g,q) (pk A , sk A ) ß SigKeyGen() pk A , pk B a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b s A := Sign(sk A ,t A ) s B := Sign(sk B ,t B ) t A , s A t B , s B 10

  11. Signed Diffie-Hellman Public parameters: (pk B , sk B ) ß SigKeyGen() Group description (G,g,q) (pk A , sk A ) ß SigKeyGen() pk A , pk B a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b s A := Sign(sk A ,t A ) s B := Sign(sk B ,t B ) t A , s A t B , s B If Vfy(pk A , t A , s A ) = TRUE then: If Vfy(pk B , t B , s B ) = TRUE then: k AB := t Ab k AB := t Ba 11

  12. Signed Diffie-Hellman Public parameters: (pk B , sk B ) ß SigKeyGen() Group description (G,g,q) (pk A , sk A ) ß SigKeyGen() pk A , pk B a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b s A := Sign(sk A ,t A ) s B := Sign(sk B ,t B ) t A , s A t B , s B If Vfy(pk A , t A , s A ) = TRUE then: If Vfy(pk B , t B , s B ) = TRUE then: k AB := t Ab k AB := t Ba Security of the signature scheme prevents the MITM attack 12

  13. Forward Security Objective: Make large-scale collection of encrypted data useless 13

  14. Forward Security Objective: Make large-scale collection of encrypted data useless Session 1 Session 3 Session 2 Session 4 with Alice with Charlie with Bob with Alice Time 14

  15. Forward Security Objective: Make large-scale collection of encrypted data useless Secret key Session 1 Session 3 Session 2 Session 4 with Alice with Charlie with Bob with Alice Time 15

  16. Forward Security Objective: Make large-scale collection of encrypted data useless Secret key Session 1 Session 3 Session 2 Session 4 with Alice with Charlie with Bob with Alice Time 16

  17. Forward Security Objective: Make large-scale collection of encrypted data useless Secret key Session 1 Session 3 Session 2 Session 4 with Alice with Charlie with Bob with Alice Time 17

  18. Forward Security Objective: Make large-scale collection of encrypted data useless Secret key Session 1 Session 3 Session 2 Session 4 with Alice with Charlie with Bob with Alice Time • Widely used : • Standard security goal of modern protocols 18

  19. Forward Security of Signed DH Public parameters: Group description (G,g,q) (pk A , sk A ) ß SigKeyGen() (pk B , sk B ) ß SigKeyGen() pk A , pk B a ß {0, …, q-1} b ß {0, …, q-1} t A := g a t B = g b s A := Sign(sk A ,t A ) s B := Sign(sk B ,t B ) t A , s A t B , s B If Vfy(pk Alice , t A , s A ) = TRUE then: If Vfy(pk Bob , t B , s B ) = TRUE then: k AB := t Ab k AB := t Ba Forward secure (if ephemeral exponents are not stored) 19

  20. Are we done? • Signed DH is a beautiful protocol… – Clean and simple – Easy to implement and analyze – Forward Security • … but lacking features considered important in the real world, for instance: – How are public keys distributed? – No key confirmation – Fixed DH groups and signature schemes – Protocol for encryption of payload data not specified 20

  21. Are we done? • Signed DH is a beautiful protocol… – Clean and simple – Easy to implement and analyze – Forward Security • … but lacking features considered important in the real world, for instance: – How are public keys distributed? – No key confirmation – Fixed DH groups and signature schemes – Protocol for encryption of payload data not specified 21

  22. Are we done? • Signed DH is a beautiful protocol… – Clean and simple – Easy to implement and analyze Further issues: – Forward Security • How to deal with errors – Alert messages – Protocol spec. • … but lacking features considered important in • Interoperability the real world, for instance: – Message formats – How are public keys distributed? – Protocol headers • Possible extensions – No key confirmation • Implementational issues – Fixed DH groups and signature schemes • … – Protocol for encryption of payload data not specified 22

  23. Outline • Security of the Diffie-Hellman Key Exchange – Man-in-the-Middle attacks – Forward Security • TLS 1.3 – Overview – The cryptographic core of TLS 1.3 • Real-World Problems – Problems arising from backwards compatibility – Middleboxes and ETS • Further reading, open research problems 23

  24. Transport Layer Security (TLS) Client Server http, smtp, imap, Application Application pop3, ftp, sip, … Transport Transport TLS Network Network Link Link Physical communication Goal: provide confidential , authenticated , integrity-protected channel 24

  25. Transport Layer Security (TLS) Client Server http, smtp, imap, Application Application pop3, ftp, sip, … Transport Transport TLS Network Network Link Link Network communication Goal: provide confidential , authenticated , integrity-protected channel 25

  26. TLS vs. SSL 2006 2008 2018 1994 1995 1999 SSL 1.0 and 2.0 TLS 1.0 (=SSL 3.1) TLS 1.3 (Netscape) TLS 1.1 (IETF standard) TLS 1.2 SSL 3.0 (Netscape & Microsoft PCT) 26

  27. Use of SSL/TLS Versions in Practice June 2019 27 https://www.ssllabs.com/ssl-pulse/

  28. Use of SSL/TLS Versions in Practice June 2019 Standardized in 1999! 28 https://www.ssllabs.com/ssl-pulse/

  29. Use of SSL/TLS Versions in Practice June 2019 Standardized in 1999! Security protocols have an extremely long life time 29 https://www.ssllabs.com/ssl-pulse/

  30. TLS Sessions: Handshake + Record Layer Encryption Server Client 1. Handshake Handshake: • Negotiation of cryptographic algorithms (KE, Sig., Cipher Suite ) • Authentication of comm. partners • Establishment of session key k 30

  31. TLS Sessions: Handshake + Record Layer Encryption Server Client 1. Handshake 2. Record Layer Handshake: Record Layer Encryption: • Negotiation of cryptographic • Data encryption and algorithms (KE, Sig., Cipher Suite ) authentication using key k • Authentication of comm. partners • Establishment of session key k 31

  32. The Cryptographic Core of the The Cryptographic Core of the TLS 1.3 Handshake TLS 1.3 Handshake Optional Server S pk Client pk C Server S pk Client 35 32

  33. The Cryptographic Core of the The Cryptographic Core of the TLS 1.3 Handshake TLS 1.3 Handshake Server S pk Client Server S pk Client 35 33

  34. The Cryptographic Core of the TLS 1.3 Handshake Server S pk ClientHello: Client • Supported cipher suites, sigs, (DH groups) • Client random r C • Diffie-Hellman share g c 34

  35. The Cryptographic Core of the TLS 1.3 Handshake Server S pk ClientHello: Client • Supported cipher suites, sigs, (DH groups) • Client random r C • Diffie-Hellman share g c ServerHello: • Selected Cipher Suite • Server random r S • Diffie-Hellman share g s 35

  36. The Cryptographic Core of the TLS 1.3 Handshake Server S pk ClientHello: Client • Supported cipher suites, sigs, (DH groups) • Client random r C • Diffie-Hellman share g c ServerHello: • Selected Cipher Suite • Server random r S • Diffie-Hellman share g s Replaced with HelloRetryRequest , if necessary 36

  37. The Cryptographic Core of the TLS 1.3 Handshake Server S pk ClientHello: Client • Supported cipher suites, sigs, (DH groups) • Client random r C • Diffie-Hellman share g c ServerHello: k = KDF(g cs , r C , r S ) • Selected Cipher Suite k = KDF(g cs , r C , r S ) • Server random r S k’ = KDF’(g cs , r C , r S ) k’ = KDF’(g cs , r C , r S ) • Diffie-Hellman share g s 37

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend