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

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