a standard model security analysis of tls dhe
play

A Standard-Model Security Analysis of TLS-DHE Tibor Jager - PowerPoint PPT Presentation

A Standard-Model Security Analysis of TLS-DHE Tibor Jager 1 , Florian Kohlar 2 , Sven Schge 3 , and Jrg Schwenk 2 1 Karlsruhe Ins-tute of Technology


  1. A ¡Standard-­‑Model ¡ Security ¡Analysis ¡of ¡TLS-­‑DHE ¡ Tibor ¡Jager 1 , ¡Florian ¡Kohlar 2 , ¡Sven ¡Schäge 3 , ¡and ¡Jörg ¡Schwenk 2 ¡ ¡ 1 ¡Karlsruhe ¡Ins-tute ¡of ¡Technology ¡ 2 ¡Horst ¡Görtz ¡Ins-tute ¡for ¡IT ¡Security, ¡Bochum ¡ 3 ¡University ¡College ¡London ¡ ¡ ¡ Royal ¡Holloway, ¡University ¡of ¡London ¡ March ¡29, ¡2012 ¡ ¡ 1 ¡

  2. Outline ¡ • Some ¡facts ¡about ¡TLS ¡ • AuthenNcated ¡Key ¡Exchange ¡(AKE) ¡ – TLS ¡Handshake ¡is ¡ not ¡a ¡secure ¡AKE ¡protocol ¡ – Truncated ¡TLS ¡Handshake ¡is ¡provably ¡secure ¡ • Auth. ¡ConfidenNal ¡Channel ¡Establishment ¡(ACCE) ¡ – ACCE ¡security ¡model ¡ – Full ¡TLS ¡is ¡a ¡secure ¡ACCE ¡protocol ¡ • InterpretaNon, ¡extensions, ¡open ¡problems ¡ 2 ¡

  3. Outline ¡ • Some ¡facts ¡about ¡TLS ¡ • AuthenNcated ¡Key ¡Exchange ¡(AKE) ¡ – TLS ¡is ¡ not ¡a ¡secure ¡AKE ¡protocol ¡ – Truncated ¡TLS ¡is ¡provably ¡secure ¡ • Auth. ¡ConfidenNal ¡Channel ¡Establishment ¡(ACCE) ¡ – ACCE ¡security ¡model ¡ – Security ¡proof ¡of ¡ full ¡TLS ¡ • InterpretaNon, ¡extensions, ¡open ¡problems ¡ 3 ¡

  4. Transport ¡Layer ¡Security ¡(TLS) ¡ Client ¡ Server ¡ ApplicaNon ¡ ApplicaNon ¡ hZp, ¡smtp, ¡imap, ¡ PresentaNon ¡ PresentaNon ¡ pop3, ¡[p, ¡sip, ¡… ¡ Session ¡ Session ¡ Transport ¡ TLS ¡ 🔓 ¡ Transport ¡ Network ¡ Network ¡ Data ¡Link ¡ Data ¡Link ¡ Physical ¡ Physical ¡ Confiden3al ¡and ¡ authen3c ¡ communicaNon ¡channel ¡ 4 ¡

  5. TLS ¡and ¡SSL ¡ 2006 ¡ 2008 ¡ 1994 ¡ 1995 ¡ 1999 ¡ SSL ¡1.0 ¡and ¡2.0 ¡ TLS ¡1.0 ¡(=SSL ¡3.1) ¡ (Netscape) ¡ TLS ¡1.1 ¡ TLS ¡1.2 ¡ (IETF ¡standard) ¡ SSL ¡3.0 ¡ (Netscape ¡& ¡Microso[ ¡PCT) ¡ • TLS ¡1.0 ¡and ¡1.1 ¡are ¡sNll ¡widely ¡used ¡ • In ¡this ¡talk: ¡TLS ¡≈ ¡TLS ¡1.0 ¡≈ ¡TLS ¡1.1 ¡≈ ¡TLS ¡1.2 ¡ 5 ¡

  6. TLS ¡Sessions: ¡ Handshake ¡+ ¡Record ¡Layer ¡ Server ¡ Client ¡ 1. ¡Handshake ¡ 2. ¡Record ¡Layer ¡ Handshake: ¡ • NegoNaNon ¡of ¡ cryptographic ¡ Record ¡Layer: ¡ parameters ¡ • Data ¡ encryp3on ¡and ¡ (selecNon ¡of ¡ Cipher ¡Suite ) ¡ authen3ca3on ¡using ¡key ¡k ¡ • (Mutual) ¡ authen3ca3on ¡ • Establishment ¡of ¡ session ¡key ¡ k ¡ 6 ¡

  7. Cipher ¡Suites ¡ • Standardized ¡selec3on ¡of ¡algorithms ¡ for ¡key ¡ exchange, ¡signature, ¡hashing, ¡encrypNon ¡ – TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA ¡ • 3 ¡families ¡ of ¡Cipher ¡Suites: ¡ – Ephemeral ¡Diffie-­‑Hellman ¡(TLS_DHE) ¡ – StaNc ¡Diffie-­‑Hellman ¡(TLS_DH) ¡ – RSA ¡encrypNon ¡(TLS_RSA) ¡ • Cipher ¡Suite ¡determines ¡ sequence ¡and ¡ content ¡of ¡messages ¡in ¡handshake ¡ 7 ¡

  8. TLS_DHE ¡Handshake ¡ 1. ¡Cipher ¡suite ¡agreement: ¡ r C , ¡supported ¡Cipher ¡Suites ¡ S ¡has ¡signature ¡ C ¡has ¡signature ¡ r S , ¡selected ¡Cipher ¡Suite ¡ key ¡(pk S, ¡sk S ) ¡ key ¡(pk C, ¡sk C ) ¡ 2. ¡Key ¡exchange: ¡ g s ¡mod ¡p, ¡Sig(sk S ; ¡ all ¡previous ¡data ) ¡ c ¡ ß ¡Z q ¡ s ¡ ß ¡Z q ¡ g c ¡mod ¡p, ¡Sig(sk C ; ¡ all ¡previous ¡data ) ¡ pms ¡= ¡g cs ¡mod ¡p ¡ pms ¡= ¡g cs ¡mod ¡p ¡ ms ¡= ¡PRF(pms;L 1 ,r C ,r S ) ¡ ms ¡= ¡PRF(pms;L 1 ,r C ,r S ) ¡ k ¡= ¡PRF(ms;L 2 ,r C ,r S ) ¡ k ¡= ¡PRF(ms;L 2 ,r C ,r S ) ¡ 3. ¡FINISHED ¡messages: ¡ Enc(k;const S , ¡fin S ) ¡ fin S ¡= ¡PRF(ms; ¡L 3 , prev. ¡data ) ¡ “Accept” ¡key ¡k ¡ with ¡partner ¡S ¡ Enc(k;const C , ¡fin C ) ¡ fin C ¡= ¡PRF(ms; ¡L 4 , prev. ¡data ) ¡ “Accept” ¡key ¡k ¡ with ¡partner ¡C ¡ Is ¡this ¡ secure? ¡ 8 ¡

  9. Outline ¡ • Some ¡facts ¡about ¡TLS ¡ • AuthenNcated ¡Key ¡Exchange ¡(AKE) ¡ – TLS ¡is ¡ not ¡a ¡secure ¡AKE ¡protocol ¡ – Truncated ¡TLS ¡is ¡provably ¡secure ¡ • Auth. ¡ConfidenNal ¡Channel ¡Establishment ¡(ACCE) ¡ – ACCE ¡security ¡model ¡ – Security ¡proof ¡of ¡ full ¡TLS ¡ • InterpretaNon, ¡extensions, ¡open ¡problems ¡ 9 ¡

  10. Secure ¡AuthenNcated ¡Key ¡Exchange ¡ • Desired ¡properNes: ¡ – Authen3ca3on ¡of ¡communicaNon ¡partners ¡ – Good ¡cryptographic ¡keys ¡ • Several ¡security ¡models ¡ formalizing ¡this ¡noNon ¡ – We ¡use ¡ enhanced ¡version ¡of ¡Bellare-­‑Rogaway ¡ [BR’93] ¡ • Adopted ¡to ¡the ¡public-­‑key ¡sesng ¡ • Cf. ¡Blake-­‑Wilson ¡et ¡al. ¡[BJM’99] ¡ • Model ¡described ¡by ¡two ¡components: ¡ – Execu3on ¡model ¡ – Security ¡defini3on ¡ 10 ¡

  11. ExecuNon ¡Model ¡ S 2 ¡ (pk S2 ,sk S2 ) ¡ C 1 ¡ (pk C1 ,sk C1 ) ¡ C 2 ¡ (pk C2 ,sk C2 ) ¡ Protocol ¡Π ¡ S 1 ¡ (pk S1 ,sk S1 ) ¡ S 3 ¡ (pk S3 ,sk S3 ) ¡ C 3 ¡ (pk C3 ,sk C3 ) ¡ 11 ¡

  12. ExecuNon ¡Model ¡ S 2 ¡ (pk S2 ,sk S2 ) ¡ C 1 ¡ (pk C1 ,sk C1 ) ¡ C 2 ¡ (pk C2 ,sk C2 ) ¡ S 1 ¡ (pk S1 ,sk S1 ) ¡ S 3 ¡ (pk S3 ,sk S3 ) ¡ C 3 ¡ (pk C3 ,sk C3 ) ¡ 12 ¡

  13. ExecuNon ¡Model ¡ S 2 ¡ (pk S2 ,sk S2 ) ¡ C 1 ¡ (pk C1 ,sk C1 ) ¡ C 2 ¡ (pk C2 ,sk C2 ) ¡ sk C1 ¡ sk C2 ,k ¡ S 1 ¡ (pk S1 ,sk S1 ) ¡ k ¡ S 3 ¡ (pk S3 ,sk S3 ) ¡ C 3 ¡ (pk C3 ,sk C3 ) ¡ 13 ¡

  14. Security ¡DefiniNon ¡ C ¡ (pk C ,sk C ) ¡ S ¡ (pk S ,sk S ) ¡ Protocol ¡Π ¡ “Test” ¡ k ¡/ ¡rnd ¡ “accept” ¡with ¡key ¡ k ¡and ¡partner ¡S ¡ “real” ¡/ ¡“random” ¡ • AZacker ¡breaks ¡the ¡protocol ¡if ¡ 1. C ¡(or ¡S) ¡“ accepts ” ¡with ¡partner ¡S ¡(or ¡C), ¡but ¡ S ¡and ¡C ¡do ¡not ¡have ¡ matching ¡conversa-ons , ¡or ¡ 2. it ¡ dis3nguishes ¡“real” ¡from ¡“random” ¡key ¡ 14 ¡

  15. The ¡TLS ¡Handshake ¡is ¡not ¡a ¡ Secure ¡AKE ¡Protocol ¡ 1. ¡Cipher ¡suite ¡agreement ¡ 2. ¡Key ¡exchange ¡ 3. ¡FINISHED ¡messages: ¡ fin S ¡= ¡PRF(ms; ¡L 3 ,prev. ¡data) ¡ Enc(k;const S , ¡fin S ) ¡ “Accept” ¡key ¡k ¡ with ¡partner ¡S ¡ Enc(k;const C , ¡fin C ) ¡ “Accept” ¡key ¡k ¡ fin C ¡= ¡PRF(ms; ¡L 4 ,prev. ¡data) ¡ with ¡partner ¡C ¡ • Enc(k;const S ,fin S ) ¡ allows ¡to ¡dis3nguish ¡ real ¡key ¡k ¡from ¡ random ¡ • AJack: ¡ Given ¡k’ ¡ ∈ ¡{k,rnd}, ¡ – Compute ¡m’ ¡= ¡Dec(k’,(Enc(k;const S ,fin S )) ¡ – If ¡m’ ¡= ¡(const S ,fin S ) ¡then ¡output ¡“real” ¡ – Else ¡output ¡“random” ¡ ¡ • Applies ¡to ¡TLS_DHE, ¡TLS_DHS, ¡and ¡TLS_RSA ¡ 15 ¡

  16. UnsaNsfying ¡SituaNon ¡ • TLS ¡is ¡the ¡ most ¡important ¡ security ¡protocol ¡ • TLS ¡handshake ¡ is ¡insecure ¡ in ¡ any ¡ indisNnguishability-­‑based ¡security ¡model ¡ • Two ¡approaches ¡ to ¡resolve ¡this ¡issue: ¡ 1. Consider ¡a ¡“truncated” ¡TLS ¡handshake, ¡ without ¡encryp3on ¡of ¡FINISHED ¡messages ¡ 2. Develop ¡a ¡ new ¡security ¡model ¡ which ¡allows ¡to ¡ analyze ¡full ¡TLS ¡(handshake ¡+ ¡record ¡layer) ¡ 16 ¡

  17. 1 st ¡Approach: ¡Truncated ¡TLS ¡ 1. ¡Ciphersuite ¡agreement ¡ 2. ¡Key ¡exchange ¡ 3. ¡FINISHED ¡messages: ¡ fin S ¡= ¡PRF(ms; ¡L 3 ,prev. ¡data) ¡ “Accept” ¡key ¡k ¡ fin S ¡ with ¡partner ¡S ¡ fin C ¡ fin C ¡= ¡PRF(ms; ¡L 4 ,prev. ¡data) ¡ “Accept” ¡key ¡k ¡ with ¡partner ¡C ¡ Theorem: ¡ Truncated ¡ TLS-­‑DHE ¡is ¡secure ¡in ¡the ¡Bellare-­‑Rogaway ¡model, ¡if ¡ • the ¡PRF ¡is ¡a ¡ secure ¡pseudo-­‑random ¡func3on , ¡ • the ¡digital ¡signature ¡scheme ¡is ¡ EUF-­‑CMA ¡secure , ¡ • and ¡the ¡ DDH ¡assump3on ¡ holds ¡in ¡the ¡Diffie-­‑Hellman ¡group ¡ 17 ¡

Recommend


More recommend