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 – 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
Before ca. 2011 Internet Encrypted = Not encrypted = 3
Before ca. 2011 Internet J Encrypted = Not encrypted = 4
https://searchengineland.com/google-to-begin-encrypting-searches-outbound-clicks-by-default-97435 5
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
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
Today Internet L Encrypted = Not encrypted = 8
Mass Surveillance of Encrypted Data Internet Database Encrypted = Not encrypted = 9
Mass Surveillance of Encrypted Data Internet Google, we need your secret key. Database Encrypted = Not encrypted = 10
Mass Surveillance of Encrypted Data Internet Google, we need your secret key. Database Encrypted = Not encrypted = 11
Lavabit 12
Lavabit https://en.wikipedia.org/wiki/Lavabit#Connection_to_Edward_Snowden 13
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/
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
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
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
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
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
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
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
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
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
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
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
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
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
Trivial Protocol (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) Client Server 28
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
Replay Attack (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) 30
Replay Attack (pk, sk) C = Enc pk (k) k = Dec sk (C) SymEnc(k, payload) C = Enc pk (k) SymEnc(k, payload) 31
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
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
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
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
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
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
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
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
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
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
Recommend
More recommend