the memory tightness of authenticated encryption
play

The Memory-Tightness of Authenticated Encryption Stefano Tessaro - PowerPoint PPT Presentation

The Memory-Tightness of Authenticated Encryption Stefano Tessaro Ashrujit Ghoshal Joseph Jaeger University of Washington CRYPTO 2020 Concrete security theorems: resources 1 0 resources Traditionally: time


  1. The Memory-Tightness of Authenticated Encryption Stefano Tessaro Ashrujit Ghoshal Joseph Jaeger University of Washington CRYPTO 2020

  2. Concrete security theorems: ๐๐ž๐ฐ resources โ‰ค ๐œ— 1 ๐๐ž๐ฐ 0 resources Traditionally: time ๐‘ข , data complexity/queries ๐‘Ÿ ๐๐ž๐ฐ ๐‘ข, ๐‘Ÿ โ‰ค ๐œ— This work : time ๐‘ข , data complexity/queries ๐‘Ÿ , memory ๐‘‡ ๐๐ž๐ฐ ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค ๐œ—

  3. Prior work F F o o c c u u s s : : p c u o b n l f i i c d - k e e n c y t i r a y l i p t t y o Time-memory tradeoffs Memory-tight reductions for symmetric encryption [ACFK17, WMHT18, GT20, [TT18, JT19, Dinur20, Bhattacharya20] SS20] This work: Time-memory tradeoffs for (nonce-based) authenticated encryption (AE) Positive results Tl;dr: Negative results

  4. Nonce-based encryption NE=(NE.Kg, NE.Enc, NE.Dec) NE.Kg Security holds only if encryption under distinct nonces ๐ฟ ๐ฟ ๐ฟ ๐‘‚ ๐‘‚ ๐ท NE.Enc NE.Dec ๐‘/โŠฅ ๐‘ ๐ท Long line of work on concrete security of nonce-based AE [BR00, RBBK01, R02, RS06 โ€ฆ] Can we extend them to consider memory?

  5. Example : NE.Enc(๐ฟ, ๐‘‚, ๐‘) = E 0 ๐‘‚ โŠ• ๐‘ E = ๐‘œ -bit block cipher indr = indistinguishability from random ciphertexts Theorem. [JT19 + Dinur20] indr ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค ๐‘‡ โ‹… ๐‘Ÿ log ๐‘Ÿ prp ๐‘ข, ๐‘Ÿ, ๐‘‡ Ad Adv NE + Ad Adv E 2 ! ๐‘ข = time, ๐‘Ÿ = # encryptions, ๐‘‡ = memory ! e.g. beyond-birthday security for ๐‘‡ < 2 " insecure ๐‘‡ secure Goal : similar results for AE security ? (like GCM [MV04]) ๐‘Ÿ

  6. Target: combined AE security notion (confidentiality + integrity) Usual proof approach: INDR + CTXT โ‡’ AE indistinguishability from ciphertext integrity random ciphertexts ae ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค Ad indr ๐‘ข, ๐‘Ÿ, ๐‘‡ " + Ad ctxt ๐‘ข, ๐‘Ÿ, ๐‘‡ # ae ๐‘ข, ๐‘Ÿ โ‰ค Ad indr ๐‘ข, ๐‘Ÿ + Ad ctxt ๐‘ข, ๐‘Ÿ Theorem. Ad Adv NE Adv NE Adv NE Theorem. Ad Adv NE Adv NE Adv NE Wanted: memory-tight reduction [ACFK17] ๐‘‡ " = ๐‘‡ # = ๐‘‡ Unclear! Known reduction is not memory-tight!

  7. NE=(NE.Kg, NE.Enc, NE.Dec) ae ๐‘ข, ๐‘Ÿ, ๐‘‡ ? Ad Adv NE Proc . ENC1(๐‘‚, ๐‘) Proc . ENC1(๐‘‚, ๐‘) Proc . ENC0(๐‘‚, ๐‘) ๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) ๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) ๐ท โ† L ๐‘‚, ๐ท โ† ๐‘ L ๐‘‚, ๐ท โ† ๐‘ Return ๐ท Return ๐ท Return ๐ท Proc . DEC1(๐‘‚, ๐ท) Proc . DEC0(๐‘‚, ๐ท) Proc . DEC0(๐‘‚, ๐ท) Return NE.Dec(๐ฟ, ๐‘‚, ๐ท) Return L ๐‘‚, ๐ท Return L ๐‘‚, ๐ท $ NE.Kg $ NE.Kg ๐ฟ โ† ๐ฟ โ† indr ๐‘ข, ๐‘Ÿ, ๐‘‡ + ๐‘ƒ(๐‘Ÿ) ๐Ÿ‘ ctxt(๐‘ข, ๐‘Ÿ, ๐‘‡) ๐Ÿ‘Ž Adv NE Ad Adv NE Ad

  8. Proc . ENC1(๐‘‚, ๐‘) Proc . ENC1(๐‘‚, ๐‘) ๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) ๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) L ๐‘‚, ๐ท โ† ๐‘ Return ๐ท Return ๐ท Proc . DEC0(๐‘‚, ๐ท) Requires Return L ๐‘‚, ๐ท indr memory security proportional to # Proc . DEC0(๐‘‚, ๐ท) of queries! Return L ๐‘‚, ๐ท Proc . ENC0(๐‘‚, ๐‘) Proc . ENC0(๐‘‚, ๐‘) ๐ท โ† ๐ท โ† L ๐‘‚, ๐ท โ† ๐‘ Return ๐ท Return ๐ท

  9. Our results, in a nutshell 1. Memory-tight reduction and time-memory trade- offs in the channel setting โ€ข Typical usage within protocols like TLS โ€ข New technique: memory-adaptive reduction 2. Impossibility result for general memory-tight reduction INDR + CTXT โ‡’ AE!

  10. Channel setting: motivation AE often used to establish a secure communication channel, as in TLS implicit nonces = counter โ€ข ENC ๐ฟ, 0, ๐‘ $ , ENC ๐ฟ, 1, ๐‘ " , โ‹ฏ receiver aborts upon the first decryption failure โ€ข in-order delivery โ€ข Channel setting captures this

  11. The channel setting CH=(CH.Sg, CH.S, CH.R) ๐œ & ๐œ % CH.Sg ๐ท ๐‘ ๐ทโ€ฒ ๐‘โ€ฒ / โŠฅ CH.S CH.R ๐œ % ๐œ &

  12. The channel setting: correctness CH=(CH.Sg, CH.S, CH.R) ๐œ & ๐œ % CH.Sg ๐ท " ๐‘ " ๐‘ " ๐ท " CH.S CH.R ๐œ % ๐œ & ๐‘ # ๐ท # ๐ท # ๐‘ # CH.S CH.R ๐œ % ๐œ & ๐‘ ' ๐ท ' ๐ท ' ๐‘ ' CH.S CH.R ๐œ & ๐œ %

  13. The channel setting: security CH=(CH.Sg, CH.S, CH.R) ๐œ & ๐œ % CH.Sg ๐ท " ๐‘ " ๐‘ " ๐ท " CH.S CH.R ๐œ % ๐œ & ๐‘ # ๐ท ' ๐ท # โŠฅ CH.S CH.R ๐œ % ๐œ & ๐ท # ๐ท ' ๐‘ ' โŠฅ CH.S CH.R ๐œ & ๐œ %

  14. AE security for channels CH=(CH.Sg, CH.S, CH.R) Proc . ENC0(๐‘) Proc . ENC1(๐‘) (๐œ " , ๐ท) โ† CH.S(๐œ " , ๐‘) ๐ท โ† Enqueue(๐‘, ๐ท) Return ๐ท Return ๐ท chโˆ’ae ๐‘ข, ๐‘Ÿ, ๐‘‡ Proc . DEC0(๐ท) Proc . DEC1(๐ท) Adv NE Ad (๐‘ $ , ๐ท $ ) โ† Dequeue() (๐œ # , ๐‘) โ† CH.R(๐œ # , ๐ท) If sync then Return ๐‘ If ๐ท = ๐ท $ then return ๐‘โ€ฒ sync โ† false Return โŠฅ $ CH.Sg (๐œ " , ๐œ # ) โ† sync โ† true

  15. Main theorem indistinguishability from random ciphertexts for ciphertext integrity for channels ae security for channels channels Theorem. [this work] โˆ€ ๐œ‡ โˆˆ โ„• ch % indr ๐‘ข, ๐‘Ÿ, 3๐‘‡ + ๐‘ƒ(log๐‘Ÿ + ๐œ‡) + 1 ch % ae ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค Ad ch % ctxt ๐‘ข, ๐‘Ÿ, ๐‘‡ + 2 โ‹… Ad Adv CH Ad Adv CH Adv CH 2 & Memory-tight! New technique: Memory-adaptive reduction

  16. ENC0 ENC1 ENC1 DEC1 DEC0 DEC0 easy next up! ch ( ctxt(๐‘ข, ๐‘Ÿ, ๐‘‡) ch ( indr ๐‘ข, ๐‘Ÿ, 3๐‘‡ + ๐‘ƒ log ๐‘Ÿ + ๐œ‡ + 1 Ad Adv CH 2 โ‹… Ad Adv CH 2 )

  17. Issue : size of queue grows with the number of queries $ {0,1} ๐‘ โ† ENC * (๐‘ " ), ENC * ๐‘ # , ENC * ๐‘ ' (๐‘ ! , ๐ท ! ) ๐ท " , ๐ท # , ๐ท ' (๐‘ " , ๐ท " ) (๐‘ # , ๐ท # ) DEC $ ๐ท " ๐‘ " Queue

  18. Key idea : bounding queue size does not change behavior Example: only store โ‰ค 2 pairs $ {0,1} ๐‘ โ† ENC * (๐‘ " ), ENC * ๐‘ # , ENC * ๐‘ ' (๐‘ ! , ๐ท ! ) ๐ท " , ๐ท # , ๐ท ' (๐‘ " , ๐ท " ) DEC $ ๐ท " , DEC $ ๐ท # , DEC $ (๐ท ' ) ๐‘ " , ๐‘ # , โŠฅ Adversary had to remember ๐ท " , ๐ท # , ๐ท ' to cause this! Queue Bound queue size to ฮ” = 2๐‘‡ + log ๐‘Ÿ + ๐œ‡ bits

  19. Information-theoretic game ๐‘€, ฮ” โˆˆ โ„• , ฮ” โ‰ค ๐‘€ $ 0,1 , ๐‘† โ† ๐ต " ๐‘— โ‰ค ๐‘€ โˆ’ ฮ” ฮ” ๐‘— (๐‘—, ๐œ) ๐œ โ‰ค ๐‘‡ ? ๐ต # = ฮ” Lemma. If ฮ” = 2๐‘‡ + ๐‘ƒ log ๐‘€ + ๐œ‡ then Pr[ ๐ต " , ๐ต # wins] โ‰ค 1 2 )

  20. one of the most widely Application to GCM deployed encryption schemes CAU [BT16] : an abstraction of GCM encryption scheme from block cipher ๐น and hash function ๐ผ ๐‘œ -bit block cipher AXU Theorem. [this work] prp ๐‘ข, ๐‘ƒ ๐‘Ÿ , ๐‘ƒ(๐‘‡) + ๐‘ƒ ๐‘‡๐‘Ÿ log ๐‘Ÿ ch ] ae ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค 4 โ‹… Ad Ad Adv NCH Adv E 2 ^ channel induced by CAU

  21. Our results, in a nutshell 1. Memory-tight reduction and time-memory trade- offs in the channel setting โ€ข Typical usage within protocols like TLS โ€ข New technique: memory-adaptive reduction 2. Impossibility result for general memory-tight reduction INDR + CTXT โ‡’ AE!

  22. Negative result for the general setting Impossibility result for proving INDR+CTXT โ‡’ AE in a โ€ข memory-tight way for nonce-based encryption schemes Similar spirit as prior work [ACFK17,WMHT18,GT20] โ€ข Also rules out memory-adaptive reductions (like the one โ€ข for channels) Evidence that some restriction necessary for memory- โ€ข tight reduction

  23. Our result inefficient Theorem. [this work] โˆ€ INDR+CTXT-secure NE โˆƒ AE adversary ๐ต โˆ— making ๐‘Ÿ queries, using memory ๐‘ƒ(log ๐‘Ÿ) s.t. ae ๐ต โˆ— โ‰ˆ 1 1) 1) Ad Adv NE 2) โˆ€ โ€œefficientโ€ black-box reductions ๐‘† using additional memory ๐‘‡ = ๐‘ ๐‘Ÿ then indr ๐‘†[๐ต โˆ— ] = negl Ad Adv NE 3) โˆ€ โ€œefficientโ€ black-box reductions ๐‘†โ€ฒ ctxt ๐‘†โ€ฒ[๐ต โˆ— ] = negl Ad Adv NE

  24. Our result Theorem. [this work] โˆ€ INDR+CTXT-secure NE โˆƒ AE adversary ๐ต โˆ— making ๐‘Ÿ queries, using memory ๐‘ƒ(log ๐‘Ÿ) s.t. ae ๐ต โˆ— โ‰ˆ 1 1) 1) Ad Adv NE 2) โˆ€ โ€œefficientโ€ restricted black-box reductions ๐‘† using additional memory ๐‘‡ = ๐‘ ๐‘Ÿ then indr ๐‘†[๐ต โˆ— ] = negl Ad Adv NE 3) โˆ€ โ€œefficientโ€ restricted black-box reductions ๐‘†โ€ฒ ctxt ๐‘†โ€ฒ[๐ต โˆ— ] = negl Ad Adv NE

  25. Restricted black-box reduction 1. faithful ENC ' (๐‘‚, ๐‘) ๐ท ๐ต โˆ— ๐‘† ENC ` ENC ' (๐‘‚, ๐‘) โ‹ฎ ๐ท 2. nonce-respecting ๐ต โˆ— โ‡’ nonce-respecting ๐‘† 3. straightline or fully-rewinding

  26. The adversary ๐ต โˆ— : basic idea In round ๐‘— = 1, โ‹ฏ , ๐‘  โ€ข $ 0,1 โ„“ Encrypt random ๐‘ ( , ๐‘ ) , โ‹ฏ , ๐‘ * โ† โ€ข Intuition : reduction w/ memory ๐‘™ โ‹… โ„“ bits succeeds in each ๐ท , โ† ENC ' ( ๐‘—, ๐‘˜ , ๐‘ , ) round w/ probability โ‰ค . $ [๐‘ฃ] Sample ๐‘˜ โˆ— โ† * โ€ข ๐‘ โ† DEC ' ( ๐‘—, ๐‘˜ โˆ— , ๐ท , โˆ— ) If ๐‘ , โˆ— โ‰  ๐‘ then ABORT โ€ข All rounds succeed โŸน Inefficiently break the scheme โ€ข

  27. Conclusions Memory-sensitive bounds for the AE security of โ€ข channels Time-memory tradeoffs for the AE security of a TLS like channel instantiated with GCM New technique: Memory-adaptive reductions โ€ข Impossibility for full AE security โ€ข Evidence that restricting AE security to specific settings is inherent for memory-tight reductions

  28. Open problems Memory-sensitive bounds for other practical examples โ€ข of channels? More applications of memory-adaptive reductions? โ€ข

  29. Paper: https://eprint.iacr.org/2020/785

Recommend


More recommend