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 ๐ข , data complexity/queries ๐ ๐๐๐ฐ ๐ข, ๐ โค ๐ This work : time ๐ข , data complexity/queries ๐ , memory ๐ ๐๐๐ฐ ๐ข, ๐, ๐ โค ๐
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
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?
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]) ๐
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!
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
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 ๐ท
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!
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
The channel setting CH=(CH.Sg, CH.S, CH.R) ๐ & ๐ % CH.Sg ๐ท ๐ ๐ทโฒ ๐โฒ / โฅ CH.S CH.R ๐ % ๐ &
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 ๐ & ๐ %
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 ๐ & ๐ %
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
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
ENC0 ENC1 ENC1 DEC1 DEC0 DEC0 easy next up! ch ( ctxt(๐ข, ๐, ๐) ch ( indr ๐ข, ๐, 3๐ + ๐ log ๐ + ๐ + 1 Ad Adv CH 2 โ Ad Adv CH 2 )
Issue : size of queue grows with the number of queries $ {0,1} ๐ โ ENC * (๐ " ), ENC * ๐ # , ENC * ๐ ' (๐ ! , ๐ท ! ) ๐ท " , ๐ท # , ๐ท ' (๐ " , ๐ท " ) (๐ # , ๐ท # ) DEC $ ๐ท " ๐ " Queue
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
Information-theoretic game ๐, ฮ โ โ , ฮ โค ๐ $ 0,1 , ๐ โ ๐ต " ๐ โค ๐ โ ฮ ฮ ๐ (๐, ๐) ๐ โค ๐ ? ๐ต # = ฮ Lemma. If ฮ = 2๐ + ๐ log ๐ + ๐ then Pr[ ๐ต " , ๐ต # wins] โค 1 2 )
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
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!
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
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
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
Restricted black-box reduction 1. faithful ENC ' (๐, ๐) ๐ท ๐ต โ ๐ ENC ` ENC ' (๐, ๐) โฎ ๐ท 2. nonce-respecting ๐ต โ โ nonce-respecting ๐ 3. straightline or fully-rewinding
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 โข
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
Open problems Memory-sensitive bounds for other practical examples โข of channels? More applications of memory-adaptive reductions? โข
Paper: https://eprint.iacr.org/2020/785
Recommend
More recommend