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

โ–ถ
the memory tightness of authenticated encryption
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

The Memory-Tightness of Authenticated Encryption

Ashrujit Ghoshal

Stefano Tessaro

CRYPTO 2020

Joseph Jaeger

University of Washington

slide-2
SLIDE 2

Concrete security theorems: ๐๐ž๐ฐ resources โ‰ค ๐œ— resources

๐๐ž๐ฐ 1 Traditionally: time ๐‘ข, data complexity/queries ๐‘Ÿ ๐๐ž๐ฐ ๐‘ข, ๐‘Ÿ โ‰ค ๐œ— This work: time ๐‘ข, data complexity/queries ๐‘Ÿ, memory ๐‘‡ ๐๐ž๐ฐ ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค ๐œ—

slide-3
SLIDE 3

This work: Time-memory tradeoffs for (nonce-based) authenticated encryption (AE)

Time-memory tradeoffs for symmetric encryption [TT18, JT19, Dinur20, SS20]

Prior work

F

  • c

u s : c

  • n

f i d e n t i a l i t y

Tl;dr:

Memory-tight reductions [ACFK17, WMHT18, GT20, Bhattacharya20]

F

  • c

u s : p u b l i c

  • k

e y c r y p t

  • Positive results

Negative results

slide-4
SLIDE 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?

slide-5
SLIDE 5

Example: NE.Enc(๐ฟ, ๐‘‚, ๐‘) = E0 ๐‘‚ โŠ• ๐‘

  • Theorem. [JT19 + Dinur20]

Ad AdvNE indr ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค ๐‘‡ โ‹… ๐‘Ÿ log ๐‘Ÿ 2! + Ad AdvE prp ๐‘ข, ๐‘Ÿ, ๐‘‡

indr = indistinguishability from random ciphertexts

E = ๐‘œ-bit block cipher

๐‘ข = time, ๐‘Ÿ = # encryptions, ๐‘‡ = memory

๐‘‡ ๐‘Ÿ secure insecure

Goal: similar results for AE security? (like GCM [MV04])

e.g. beyond-birthday security for ๐‘‡ < 2

! "

slide-6
SLIDE 6
  • Theorem. Ad

AdvNE ae ๐‘ข, ๐‘Ÿ โ‰ค Ad AdvNE indr ๐‘ข, ๐‘Ÿ + Ad AdvNE ctxt ๐‘ข, ๐‘Ÿ

indistinguishability from random ciphertexts ciphertext integrity

Target: combined AE security notion (confidentiality + integrity) Usual proof approach: INDR + CTXT โ‡’ AE

  • Theorem. Ad

AdvNE ae ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค Ad AdvNE indr ๐‘ข, ๐‘Ÿ, ๐‘‡" + Ad AdvNE ctxt ๐‘ข, ๐‘Ÿ, ๐‘‡# Wanted: memory-tight reduction [ACFK17] ๐‘‡" = ๐‘‡# = ๐‘‡

Unclear! Known reduction is not memory-tight!

slide-7
SLIDE 7

๐ฟ โ†

$ NE.Kg

  • Proc. ENC1(๐‘‚, ๐‘)

๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) Return ๐ท

  • Proc. DEC1(๐‘‚, ๐ท)

Return NE.Dec(๐ฟ, ๐‘‚, ๐ท)

  • Proc. DEC0(๐‘‚, ๐ท)

Return L ๐‘‚, ๐ท

  • Proc. ENC1(๐‘‚, ๐‘)

๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) L ๐‘‚, ๐ท โ† ๐‘ Return ๐ท

  • Proc. DEC0(๐‘‚, ๐ท)

Return L ๐‘‚, ๐ท

NE=(NE.Kg, NE.Enc, NE.Dec) Ad AdvNE ctxt(๐‘ข, ๐‘Ÿ, ๐‘‡) ๐Ÿ‘Ž Ad AdvNE indr ๐‘ข, ๐‘Ÿ, ๐‘‡ + ๐‘ƒ(๐‘Ÿ) ๐Ÿ‘

๐ฟ โ†

$ NE.Kg

  • Proc. ENC0(๐‘‚, ๐‘)

๐ท โ† L ๐‘‚, ๐ท โ† ๐‘ Return ๐ท

Ad AdvNE ae ๐‘ข, ๐‘Ÿ, ๐‘‡ ?

slide-8
SLIDE 8
  • Proc. DEC0(๐‘‚, ๐ท)

Return L ๐‘‚, ๐ท

  • Proc. ENC1(๐‘‚, ๐‘)

๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) L ๐‘‚, ๐ท โ† ๐‘ Return ๐ท

  • Proc. DEC0(๐‘‚, ๐ท)

Return L ๐‘‚, ๐ท

  • Proc. ENC0(๐‘‚, ๐‘)

๐ท โ† L ๐‘‚, ๐ท โ† ๐‘ Return ๐ท

  • Proc. ENC1(๐‘‚, ๐‘)

๐ท โ† NE.Enc(๐ฟ, ๐‘‚, ๐‘) Return ๐ท

  • Proc. ENC0(๐‘‚, ๐‘)

๐ท โ† Return ๐ท

indr security Requires memory proportional to #

  • f queries!
slide-9
SLIDE 9

Our results, in a nutshell

  • 1. Memory-tight reduction and time-memory trade-
  • ffs 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!

slide-10
SLIDE 10

Channel setting: motivation

  • implicit nonces = counter

ENC ๐ฟ, 0, ๐‘$ , ENC ๐ฟ, 1, ๐‘" , โ‹ฏ

  • receiver aborts upon the first decryption failure
  • in-order delivery

Channel setting captures this AE often used to establish a secure communication channel, as in TLS

slide-11
SLIDE 11

The channel setting

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

slide-12
SLIDE 12

The channel setting: correctness

CH.Sg ๐œ% ๐œ& ๐‘" CH.S ๐ท" ๐œ% CH.S ๐‘# ๐ท# ๐œ% CH.S ๐‘' ๐ท' ๐œ% CH.R ๐ท" ๐‘" ๐œ& CH.R ๐ท# ๐‘# ๐œ& CH.R ๐ท' ๐‘' ๐œ& CH=(CH.Sg, CH.S, CH.R)

slide-13
SLIDE 13

The channel setting: security

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

slide-14
SLIDE 14

(๐œ", ๐œ#) โ†

$ CH.Sg

  • Proc. ENC1(๐‘)

(๐œ", ๐ท) โ† CH.S(๐œ", ๐‘) Return ๐ท

  • Proc. DEC1(๐ท)

(๐œ#, ๐‘) โ† CH.R(๐œ#, ๐ท) Return ๐‘

CH=(CH.Sg, CH.S, CH.R)

AE security for channels

  • Proc. DEC0(๐ท)

(๐‘$, ๐ท$) โ† Dequeue() If sync then If ๐ท = ๐ท$ then return ๐‘โ€ฒ sync โ† false Return โŠฅ

  • Proc. ENC0(๐‘)

๐ท โ† Enqueue(๐‘, ๐ท) Return ๐ท sync โ† true Ad AdvNE chโˆ’ae ๐‘ข, ๐‘Ÿ, ๐‘‡

slide-15
SLIDE 15

Main theorem

  • Theorem. [this work] โˆ€ ๐œ‡ โˆˆ โ„•

Ad AdvCH ch%ae ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค Ad AdvCH ch%ctxt ๐‘ข, ๐‘Ÿ, ๐‘‡ + 2 โ‹… Ad AdvCH ch%indr ๐‘ข, ๐‘Ÿ, 3๐‘‡ + ๐‘ƒ(log๐‘Ÿ + ๐œ‡) + 1 2&

Memory-tight!

ae security for channels indistinguishability from random ciphertexts for channels ciphertext integrity for channels

New technique: Memory-adaptive reduction

slide-16
SLIDE 16

DEC1

Ad AdvCH ch(ctxt(๐‘ข, ๐‘Ÿ, ๐‘‡) easy 2 โ‹… Ad AdvCH ch(indr ๐‘ข, ๐‘Ÿ, 3๐‘‡ + ๐‘ƒ log ๐‘Ÿ + ๐œ‡ + 1 2) next up!

ENC1 DEC0 ENC0 ENC1 DEC0

slide-17
SLIDE 17

(๐‘!, ๐ท!)

Issue: size of queue grows with the number of queries

(๐‘", ๐ท") (๐‘#, ๐ท#)

ENC*(๐‘"), ENC* ๐‘# , ENC* ๐‘' ๐ท", ๐ท#, ๐ท' Queue ๐‘ โ†

$ {0,1}

DEC$ ๐ท" ๐‘"

slide-18
SLIDE 18

Key idea: bounding queue size does not change behavior DEC$ ๐ท" , DEC$ ๐ท# , DEC$(๐ท') Adversary had to remember ๐ท", ๐ท#, ๐ท' to cause this! Example: only store โ‰ค 2 pairs

(๐‘!, ๐ท!) (๐‘", ๐ท")

ENC*(๐‘"), ENC* ๐‘# , ENC* ๐‘' ๐ท", ๐ท#, ๐ท' Queue ๐‘ โ†

$ {0,1}

๐‘", ๐‘#, โŠฅ Bound queue size to ฮ” = 2๐‘‡ + log ๐‘Ÿ + ๐œ‡ bits

slide-19
SLIDE 19

Information-theoretic game

๐ต" ๐ต# ๐‘† โ†

$ 0,1 ,

(๐‘—, ๐œ) ๐‘— โ‰ค ๐‘€ โˆ’ ฮ” ๐œ โ‰ค ๐‘‡ ๐‘€, ฮ” โˆˆ โ„•, ฮ” โ‰ค ๐‘€

  • Lemma. If ฮ” = 2๐‘‡ + ๐‘ƒ log ๐‘€ + ๐œ‡ then

Pr[ ๐ต", ๐ต# wins] โ‰ค 1 2) =

?

๐‘— ฮ” ฮ”

slide-20
SLIDE 20

Application to GCM

CAU [BT16] : an abstraction of GCM

  • ne of the most widely

deployed encryption schemes encryption scheme from block cipher ๐น and hash function ๐ผ

  • Theorem. [this work]

Ad AdvNCH ch]ae ๐‘ข, ๐‘Ÿ, ๐‘‡ โ‰ค 4 โ‹… Ad AdvE prp ๐‘ข, ๐‘ƒ ๐‘Ÿ , ๐‘ƒ(๐‘‡) + ๐‘ƒ ๐‘‡๐‘Ÿ log ๐‘Ÿ 2^ channel induced by CAU

๐‘œ-bit block cipher AXU

slide-21
SLIDE 21

Our results, in a nutshell

  • 1. Memory-tight reduction and time-memory trade-
  • ffs 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!

slide-22
SLIDE 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

slide-23
SLIDE 23

Our result

  • Theorem. [this work] โˆ€ INDR+CTXT-secure NE โˆƒ AE

adversary ๐ตโˆ— making ๐‘Ÿ queries, using memory ๐‘ƒ(log ๐‘Ÿ) s.t. 1) 1) Ad AdvNE ae ๐ตโˆ— โ‰ˆ 1 2) โˆ€ โ€œefficientโ€ black-box reductions ๐‘† using additional memory ๐‘‡ = ๐‘ ๐‘Ÿ then Ad AdvNE indr ๐‘†[๐ตโˆ—] = negl 3) โˆ€ โ€œefficientโ€ black-box reductions ๐‘†โ€ฒ Ad AdvNE ctxt ๐‘†โ€ฒ[๐ตโˆ—] = negl

inefficient

slide-24
SLIDE 24

Our result

  • Theorem. [this work] โˆ€ INDR+CTXT-secure NE โˆƒ AE

adversary ๐ตโˆ— making ๐‘Ÿ queries, using memory ๐‘ƒ(log ๐‘Ÿ) s.t. 1) 1) Ad AdvNE ae ๐ตโˆ— โ‰ˆ 1 2) โˆ€ โ€œefficientโ€ restricted black-box reductions ๐‘† using additional memory ๐‘‡ = ๐‘ ๐‘Ÿ then Ad AdvNE indr ๐‘†[๐ตโˆ—] = negl 3) โˆ€ โ€œefficientโ€ restricted black-box reductions ๐‘†โ€ฒ Ad AdvNE ctxt ๐‘†โ€ฒ[๐ตโˆ—] = negl

slide-25
SLIDE 25

Restricted black-box reduction

1. faithful

  • 2. nonce-respecting ๐ตโˆ— โ‡’ nonce-respecting ๐‘†
  • 3. straightline or fully-rewinding

ENC'(๐‘‚, ๐‘)

๐ตโˆ— ๐‘† ENC`

ENC'(๐‘‚, ๐‘) ๐ท ๐ท

โ‹ฎ

slide-26
SLIDE 26

The adversary ๐ตโˆ—: basic idea

  • In round ๐‘— = 1, โ‹ฏ , ๐‘ 
  • Encrypt random ๐‘(, ๐‘), โ‹ฏ , ๐‘* โ†

$ 0,1 โ„“

๐ท

, โ† ENC'( ๐‘—, ๐‘˜ , ๐‘ ,)

  • Sample ๐‘˜โˆ— โ†

$ [๐‘ฃ]

๐‘ โ† DEC'( ๐‘—, ๐‘˜โˆ— , ๐ท,โˆ—)

  • If ๐‘,โˆ— โ‰  ๐‘ then ABORT
  • All rounds succeed โŸน Inefficiently break the scheme

Intuition: reduction w/ memory ๐‘™ โ‹… โ„“ bits succeeds in each round w/ probability โ‰ค .

*

slide-27
SLIDE 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

slide-28
SLIDE 28

Open problems

  • Memory-sensitive bounds for other practical examples
  • f channels?
  • More applications of memory-adaptive reductions?
slide-29
SLIDE 29

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