public key 0 rtt protocols
play

Public-Key 0-RTT Protocols Tibor Jager Paderborn University Summer - PowerPoint PPT Presentation

Public-Key 0-RTT Protocols Tibor Jager Paderborn University Summer School on Real-World Crypto and Privacy ibenik, Croatia June 20 th , 2019 Outline Mass surveillance and Forward Security 0-RTT Protocols and their Forward Security


  1. Public-Key 0-RTT Protocols Tibor Jager Paderborn University Summer School on Real-World Crypto and Privacy Šibenik, Croatia June 20 th , 2019

  2. Outline • Mass surveillance and Forward Security • 0-RTT Protocols and their Forward Security – Challenges – Impossibility? • Forward-Secure 0-RTT Protocols – Rather theoretical solution (EUROCRYPT 2017) – Somewhat practical solution (EUROCRYPT 2018) – Practical solution for TLS 1.3 (EUROCRYPT 2019) 2

  3. Before ca. 2011 Internet Encrypted = Not encrypted = 3

  4. Before ca. 2011 Internet J Encrypted = Not encrypted = 4

  5. https://searchengineland.com/google-to-begin-encrypting-searches-outbound-clicks-by-default-97435 5

  6. https://searchengineland.com/google-to-begin-encrypting-searches-outbound-clicks-by-default-97435 https://www.facebook.com/notes/facebook-engineering/secure- browsing-by-default/10151590414803920/ 6

  7. https://searchengineland.com/google-to-begin-encrypting-searches-outbound-clicks-by-default-97435 https://www.facebook.com/notes/facebook-engineering/secure- browsing-by-default/10151590414803920/ April 5, 2016 https://blog.whatsapp.com/10000618/end-to-end-encryption?l=en 7

  8. Today Internet L Encrypted = Not encrypted = 8

  9. Mass Surveillance of Encrypted Data Internet Database Encrypted = Not encrypted = 9

  10. Mass Surveillance of Encrypted Data Internet Google, we need your secret key. Database Encrypted = Not encrypted = 10

  11. Mass Surveillance of Encrypted Data Internet Google, we need your secret key. Database Encrypted = Not encrypted = 11

  12. Lavabit 12

  13. Lavabit https://en.wikipedia.org/wiki/Lavabit#Connection_to_Edward_Snowden 13

  14. Lavabit https://en.wikipedia.org/wiki/Lavabit#Connection_to_Edward_Snowden https://arstechnica.com/tech-policy/2014/04/lavabit-held-in-contempt-of-court-for- 14 printing-crypto-key-in-tiny-font/

  15. Mass Surveillance Everywhere https://techcrunch.com/2016/01/14/no-backdoors-but-uk-government- still-wants-encryption-decrypted-on-request/ https://www.forbes.com/sites/kenrapoza/2017/10/16/russia-fines- https://zoomapps.club/whatsapp-threema-and-co- cryptocurrency-worlds-preferred-messaging-app-telegram/#767569eef765 seehofer-wants-to-enforce-decryption-of-chats/ 15

  16. Forward Security* Makes 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 *aka. Forward Secrecy, aka. Perfect Forward Secrecy/Security, aka. pre-compromise security 16

  17. Outline • Mass surveillance and Forward Security • 0-RTT Protocols and their Forward Security – Challenges – Impossibility? • Forward-Secure 0-RTT Protocols – Rather theoretical solution (EUROCRYPT 2017) – Somewhat practical solution (EUROCRYPT 2018) – Practical solution for TLS 1.3 (EUROCRYPT 2019) 17

  18. Key Establishment with TLS 1.3 Server S Client ClientHello ServerHello Compute session key k Cert, Cert Vfy., SFIN Client Finished CFIN Enc k (Payload) 18

  19. Key Establishment with TLS 1.3 Server S Client ClientHello ServerHello Compute 1 RTT session key k Cert, Cert Vfy., SFIN Client Finished CFIN Enc k (Payload) 19

  20. Key Establishment with TLS 1.3 Server S Client SYN 1 RTT SYN/ACK ACK ClientHello ServerHello Compute 1 RTT session key k Cert, Cert Vfy., SFIN Client Finished CFIN Enc k (Payload) 20

  21. Key Establishment with TLS 1.3 Server S Client SYN 1 RTT SYN/ACK ACK ClientHello ServerHello Compute 1 RTT session key k Cert, Cert Vfy., SFIN Client Finished CFIN Enc k (Payload) 2 RTTs before first payload message can be sent Is this really necessary? 21

  22. Key Establishment with TLS 1.3 Server S Client SYN 1 RTT SYN/ACK ACK ClientHello ServerHello Compute 1 RTT session key k Cert, Cert Vfy., SFIN Client Finished CFIN Enc k (Payload) Using UDP instead of TCP saves one RTT Enc k (Payload) 22

  23. Key Establishment with TLS 1.3 Server S Client SYN 1 RTT SYN/ACK ACK ClientHello ServerHello Compute 1 RTT session key k Cert, Cert Vfy., SFIN Client Finished CFIN Enc k (Payload) Using UDP instead of TCP saves one RTT Enc k (Payload) Objective: send cryptographically protected payload in first message from client to server (“0-RTT KE”) 23

  24. Why 0-RTT? • Delay page delivery by 100 ms ⇒ -1% revenue (Amazon, 2006) • 500 ms RTT not unusual for * – Mobile internet – Satellite internet – Rural broadband connections • Why not! 24 (*) http://glinden.blogspot.se/2006/11/marissa-mayer-at-web-20.html

  25. Why 0-RTT? • Delay page delivery by 100 ms ⇒ -1% revenue Yearly revenue in 2018: 232.9 billion USD (Amazon, 2006) • 500 ms RTT not unusual for * – Mobile internet – Satellite internet – Rural broadband connections • Why not! 25 (*) http://glinden.blogspot.se/2006/11/marissa-mayer-at-web-20.html

  26. Why 0-RTT? • Delay page delivery by 100 ms ⇒ -1% revenue Yearly revenue in 2018: 232.9 billion USD (Amazon, 2006) • 500 ms RTT not unusual for * – Mobile internet – Satellite internet – Rural broadband connections • Why not! 26 (*) http://glinden.blogspot.se/2006/11/marissa-mayer-at-web-20.html

  27. Why 0-RTT? • Delay page delivery by 100 ms ⇒ -1% revenue Yearly revenue in 2018: 232.9 billion USD (Amazon, 2006) • 500 ms RTT not unusual for * – Mobile internet – Satellite internet – Rural broadband connections • Latency requirements of applications 27 (*) http://glinden.blogspot.se/2006/11/marissa-mayer-at-web-20.html

  28. Trivial Protocol (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) Client Server 28

  29. Trivial Protocol (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) Client Server Major deficiencies: 1. No Forward Secrecy 2. Vulnerable to replay attacks 29

  30. Replay Attack (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) 30

  31. Replay Attack (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) C = Enc pk (k) SymEnc(k, payload) 31

  32. Replay Attack (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) C = Enc pk (k) SymEnc(k, payload) C = Enc pk (k) SymEnc(k, payload) 32

  33. Breaking Confidentiality with a Replay Attack Web Server GoodCitizensManual.pdf DissidentsHandbook.pdf Colm MacCárthaigh, Security Review of TLS1.3 0-RTT, 33 https://github.com/tlswg/tls13-spec/issues/1001

  34. Breaking Confidentiality with a Replay Attack Web Server GET DissidentsHandbook.pdf GoodCitizensManual.pdf DissidentsHandbook.pdf Colm MacCárthaigh, Security Review of TLS1.3 0-RTT, 34 https://github.com/tlswg/tls13-spec/issues/1001

  35. Breaking Confidentiality with a Replay Attack Web Server GET DissidentsHandbook.pdf DissidentsHandbook.pdf GoodCitizensManual.pdf DissidentsHandbook.pdf Colm MacCárthaigh, Security Review of TLS1.3 0-RTT, 35 https://github.com/tlswg/tls13-spec/issues/1001

  36. Breaking Confidentiality with a Replay Attack Web Server GET DissidentsHandbook.pdf DissidentsHandbook.pdf GoodCitizensManual.pdf DissidentsHandbook.pdf GET DissidentsHandbook.pdf Colm MacCárthaigh, Security Review of TLS1.3 0-RTT, 36 https://github.com/tlswg/tls13-spec/issues/1001

  37. Breaking Confidentiality with a Replay Attack Web Server GET DissidentsHandbook.pdf DissidentsHandbook.pdf GoodCitizensManual.pdf DissidentsHandbook.pdf GET DissidentsHandbook.pdf Colm MacCárthaigh, Security Review of TLS1.3 0-RTT, 37 https://github.com/tlswg/tls13-spec/issues/1001

  38. Breaking Confidentiality with a Replay Attack Web Server GET DissidentsHandbook.pdf DissidentsHandbook.pdf GoodCitizensManual.pdf DissidentsHandbook.pdf GET DissidentsHandbook.pdf Colm MacCárthaigh, Security Review of TLS1.3 0-RTT, 38 https://github.com/tlswg/tls13-spec/issues/1001

  39. Breaking Confidentiality with a Replay Attack Web Server GET DissidentsHandbook.pdf DissidentsHandbook.pdf GoodCitizensManual.pdf DissidentsHandbook.pdf GET DissidentsHandbook.pdf ERROR 404 not found Colm MacCárthaigh, Security Review of TLS1.3 0-RTT, 39 https://github.com/tlswg/tls13-spec/issues/1001

  40. Preventing replays for 0-RTT Protocols • Server may remember all received messages – Difficult in applications with multiple servers (load balancing, multiple data centers, …) • Alternatively, use this only for applications where replay attacks are “not harmful”™ • Eric Rescorla in a talk (*) about TLS 1.3 0-RTT: – “Difficult application integration issue” – “But too big a win not to do” 40 (*) http://web.stanford.edu/class/ee380/Abstracts/151118-slides.pdf

  41. Preventing replays for 0-RTT Protocols • Server may remember all received messages – Difficult in applications with multiple servers (load balancing, multiple data centers, …) • Or use only for applications where replay attacks are “not harmful”™ • Eric Rescorla in a talk (*) about TLS 1.3 0-RTT: – “Difficult application integration issue” – “But too big a win not to do” 41 (*) http://web.stanford.edu/class/ee380/Abstracts/151118-slides.pdf

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