Sponge-based PRNGs A Provable Security Perspective Stefano Tessaro - - PowerPoint PPT Presentation

sponge based prngs a provable security perspective
SMART_READER_LITE
LIVE PREVIEW

Sponge-based PRNGs A Provable Security Perspective Stefano Tessaro - - PowerPoint PPT Presentation

Sponge-based PRNGs A Provable Security Perspective Stefano Tessaro UCSB Base on joint work with Peter Gai (IST Austria) wr0ng Paris, April 30, 2017 The Sponge Construction [BDP V A08] M {0,1}* M 1 M 2 M L r-bit blocks: r 0 H (M)


slide-1
SLIDE 1

Sponge-based PRNGs A Provable Security Perspective

Stefano Tessaro

UCSB

wr0ng Paris, April 30, 2017 Base on joint work with Peter Gaži (IST Austria)

slide-2
SLIDE 2

π π π

M1 M2 ML

The Sponge Construction [BDPVA08]

M∈ {0,1}*

H(M) (invertible) permutation n → n bits r c = n - r r-bit blocks: truncate to r bits

slide-3
SLIDE 3

The Sponge Paradigm – Beyond hashing The sponge paradigm has been used to build:

  • Authenticated encryption schemes
  • Message-authentication codes / PRFs
  • PRNGs
slide-4
SLIDE 4

Pseudorandom Number Generators

entropy pool weak randomne ss pseudorandom bits

  • Few PRNGs come with security proofs.

[Barak-Halevi, CCS’15], [Dodis-Pointcheval-Ruhault-Vergnaud-Wichs, CCS’13], [Shrimpton-Tarashima, EC’15], [Dodis-Shamir-Stephens- Davidovitz-Wichs, C’15]

  • Real-world PRNGs rarely designed with

provable security in mind! PRNG with input!

slide-5
SLIDE 5

This talk, in a nutshell

Discuss state of the art on sponge-based PRNGs, and challenges in their provable security!

Talk based on: Peter Gaži and Stefano Tessaro. Provably Robust Sponge-Based PRNGs and KDFs. EUROCRYPT ‘16

Main take-home messages:

  • 1. Sponge-based PRNGs are elegant designs.
  • 2. Proper analysis of sponge-based PRNGs

presents several technical challenges.

  • 3. This will bring up some food-for-thought.
slide-6
SLIDE 6

Roadmap of this talk

  • 1. PRNGs: Sponge-based Instantiations
  • 2. Provably-robust sponge-based PRNGs
  • 3. Conclusions and open questions
slide-7
SLIDE 7

PRNGs with Input [DPRVW13]

next state

  • utput

new state

seed seed state

new state

input refresh setup refresh

𝑇"

refresh next refresh next seed seed seed seed seed

slide-8
SLIDE 8

Desiderata – Pseudorandomness Pseudorandomness: Output bits of next are indistinguishable from truly random bits, provided enough entropy is injected.

refresh refresh next refresh next seed seed seed seed seed Random! Random!

slide-9
SLIDE 9

Desiderata – Forward secrecy Forward secrecy: Even if the attacker compromises the state, it cannot distinguish previous outputs from random!

refresh refresh next refresh next seed seed seed seed seed Random! Possibly not random!

slide-10
SLIDE 10

Desiderata – Backward secrecy Backward secrecy: Even if the attacker compromises the state, future bits are pseudorandom after enough entropy is injected.

refresh refresh next refresh next seed seed seed seed seed Random! Possibly not random!

slide-11
SLIDE 11

π π π

M1 M2 ML

The Sponge Construction [BDPVA08]

M∈ {0,1}*

H(M) (invertible) permutation n → n bits r c = n - r r-bit blocks: truncate to r bits

slide-12
SLIDE 12

π

refresh

π π

Sponge-based PRNGs: Existing Proposal [BDPvA10]

next

  • simple and elegant
  • analysis in simple model
  • implemented, e.g., on

microcontrollers [vHV14]

refresh

π

refresh

π

next

Three main issues with design + analysis we are aiming two resolve!

slide-13
SLIDE 13

Problem 1: No Forward Secrecy

  • recognized in [BDPVA10]
  • proposed patch: zeroing upper bits after next

– not analyzed

π

refresh

π π

next refresh

π

refresh

π

next 𝑈

Can easily compute 𝜌%&(𝑈) and distinguish!

slide-14
SLIDE 14

Problem 2: No Seed Pseudorandomness: If inputs have sufficient entropy, then output should be uniform!

π

refresh

π π

next refresh

𝐽& 𝐽* 𝑎

𝐽&, 𝐽* uniformly distributed such that first bit of 𝑎 equals 0. Clearly, 𝑎 is not pseudorandom! Yet, 𝐽&, 𝐽* has almost max entropy! (only one bit loss)

[BDPVA10] did not have this issue, due to technical reasons in their proof … coming next ...

slide-15
SLIDE 15

Problem 3: Modeling the Permutation

Proofs for sponge-based construction rely on the random permutation model! I.e., 𝜌 is random + adversary has access to 𝜌 / 𝜌%&

π

refresh

π π

next refresh

π

refresh

π

next

Previous attack: Input distribution depends on 𝜌!!! Existing proofs: Distribution is independent of 𝜌!!!

slide-16
SLIDE 16

Permutation-dependence and the seed: Why care?

Typical argument: Real-world distributions behave nicely! Possible, but … it is not easy to characterize what “real-world distribution” means...

slide-17
SLIDE 17

Roadmap of this talk

  • 1. PRNGs: Sponge-based Instantiations
  • 2. Provably-robust sponge-based PRNGs
  • 3. Conclusions and open questions
slide-18
SLIDE 18

Our goals Goal: Find a sponge-based PRNG with:

  • Forward secrecy + backward secrecy.
  • Pseudorandomness for all high-entropy

sources

– including those that may depend on the permutation.

slide-19
SLIDE 19

π π

input

  • utput

refresh next seed

π

  • setup: sample seed
  • refresh: input whitening using seed
  • next: upper-state zeroing, additional π-call

SPRG: Our Proposal for Sponge-based PRNGs

slide-20
SLIDE 20

How to model security? Robustness notion [DPRVW13] adapted to the random permutation model.

Main ideas:

  • The source of weak randomness is also adversarial.
  • Incorporates both forward and backward security

within same security game!

Distribution sampler D

  • generates inputs to PRNG
  • legitimate: provides truthful

entropy lower bounds

  • does not know seed!

Attacker A

  • knows the seed
  • can compromise state
  • can trigger refresh
  • can ask for a real-or-random

challenge

slide-21
SLIDE 21

Robust PRNGs [DPRVW13]

refresh refresh next refresh next seed seed seed seed seed D D D A A A A A seed 𝐽& 𝐽* 𝐽- 𝑍

&

𝑍

*

𝑨&, 𝛿& 𝑨*, 𝛿* 𝑨-, 𝛿-

Legitimate sampler: 𝐈2 𝐽

3 𝐽453, 𝑨&, 𝑨*, . . , 𝑨7 ≥ 𝛿3

Here: 𝐈2 𝑌 𝑍 = min

> 𝐈2(𝑌|𝑍 = 𝑧)

slide-22
SLIDE 22

Robust PRNGs [DPRVW13]

get-state: returns current state set-state: sets current state get-challenge: 𝑆0 ← 𝐨𝐟𝐲𝐮(𝑡𝑓𝑓𝑒); 𝑆1 ← $ if (∑𝛿4 ≥ 𝛿∗ since last compromise) return 𝑆𝑐 else return 𝑆0 init:

  • 𝑡𝑓𝑓𝑒 ← 𝐭𝐟𝐮𝐯𝐪()
  • inital state ← IV
  • 𝑐 ← {0,1}

b’ 𝑡𝑓𝑓𝑒 A

AdvZ[\]

^∗%_`a 𝐵, 𝐸 = 2 ⋅ Pr 𝑐 = 𝑐h − 1

Compromise!

refresh: 𝐽

3, 𝛿3, 𝑨 3 ← 𝐸; 𝐬𝐟𝐠𝐬𝐟𝐭𝐢 𝑡𝑓𝑓𝑒, 𝐽 3

return (𝑨

3, 𝛿3)

slide-23
SLIDE 23

Extension to the Random Permutation Model

Basic idea: Add permutation access for everyone!

[Yes, even for D!]

get-state: returns current state set-state: sets current state get-challenge: 𝑆0 ← 𝐨𝐟𝐲𝐮𝝆(𝑡𝑓𝑓𝑒); 𝑆1 ← $ if (∑𝛿4 ≥ 𝛿∗ since last compromise) return 𝑆𝑐 else return 𝑆0 init:

  • 𝑡𝑓𝑓𝑒 ← 𝐭𝐟𝐮𝐯𝐪𝝆()
  • initial state ← IV
  • 𝑐 ← {0,1}

b’ 𝑡𝑓𝑓𝑒 𝐵𝝆

Compromise!

refresh: 𝐽

3, 𝛿3, 𝑨 3 ← 𝐸𝝆; 𝐬𝐟𝐠𝐬𝐟𝐭𝐢𝝆 𝑡𝑓𝑓𝑒, 𝐽 3

return (𝑨

3, 𝛿3)

slide-24
SLIDE 24

RPM Legitimate Samplers Catch: What does 𝐈2 𝐽

3 𝐽453, 𝑨&, 𝑨*, . . , 𝑨7 ≥ 𝛿3

mean in the RPM?

– 𝐽

3 may be unpredictable only for attackers with

bounded queries to 𝝆 – Example: 𝐽

3 = 𝝆7(0o)

Current definition of legitimate sampler: A somewhat-unsatisfactory monster!

slide-25
SLIDE 25

Legitimate samplers

𝐈2 𝐽

3 𝐽453, 𝑨&, 𝑨*, . . , 𝑨7 ≥ 𝛿3

“No adversary making 𝑟q queries to 𝜌 should be able to guess 𝐽

3 with prob. better than 2%^r,

even given all 𝐽4 for 𝑘 ≠ 𝑗, 𝑨&, … , 𝑨7, and all permutations queries made by 𝐸, except those needed to compute 𝐽

3”

“𝑟q-legitimate sampler”

slide-26
SLIDE 26

π π

input

  • utput

refresh next

seed

π

Main Theorem – Robustness

  • Theorem. [Informal] ∀𝐸, 𝐵 making ≤ 𝑟q queries, and 𝐵 making

≤ 𝑟y real-or-random queries: AdvZ[\]

^∗%_`a 𝐵, 𝐸 ≤ 𝑟y×(something small)

As long as: 𝑟q ≤ min{2^∗, 2

ƒ „, 2_}

𝑠 bits 𝑑 bits 𝑜 = 𝑠 + 𝑑

e.g., 𝑜 = 1600, 𝑑 ≥ 1024

slide-27
SLIDE 27

Proof overview – Two Steps

𝜹∗-recovering security preserving security

refresh refresh next seed seed seed seed A 𝐽&

𝑍

𝐽* vs refresh refresh next D D 𝐽& 𝐽* refresh D 𝐽7 𝑇" If initialized with “good state”, output of next is pseudorandom for adversarially chosen 𝐽&, 𝐽*, … 𝛿&, 𝑨& 𝛿*, 𝑨* 𝛿7, 𝑨7 seed seed seed seed

𝑍 vs

seed A

∑𝛿4 ≥ 𝛿∗

“good state”

slide-28
SLIDE 28

π

seed

IV

π

seed

source material

  • u

t

Two key lemmas

Analysis of next “Sponge extraction lemma”

𝑎

π

next

π

S 0_ 𝑇 𝑈

slide-29
SLIDE 29

Key Lemma– Sponge Extraction

Key question: Can sponges act as good randomness extractors?

π

seed

IV

π

seed

  • u

t

E.g. 𝑡𝑓𝑓𝑒, 𝑝𝑣𝑢 ≈ (𝑡𝑓𝑓𝑒, $) if 𝐈2 𝐽& … 𝐽7 ≥ 𝛿∗

𝐽& 𝐽7

slide-30
SLIDE 30

It depends: One-round case

π

seed

IV

𝐽

𝑍

e.g., imagine source samples 𝐽 = 0||𝑋 where W is a uniform 𝑠 − 1 - bit string. The attack was possible because we have been able to query 𝜌%& 𝑍 … so what if we can’t?

Distinguisher 𝐸 𝑡𝑓𝑓𝑒, 𝑍 : 𝑈 ← 𝜌%&(𝑍) if 𝑈 1 ⊕ 𝐽𝑊 1 ⊕ 𝑡𝑓𝑓𝑒 1 = 0 then return 1 else return 𝟏

slide-31
SLIDE 31

It depends: One-round case

π

seed

IV

𝐽

𝑍

Intuition: If 𝐸 𝑡𝑓𝑓𝑒, 𝑍 cannot query 𝜌%&(𝑍), then needs to query 𝜌(𝐽𝑊 ⊕ 𝑡𝑓𝑓𝑒 ⊕ 𝐽) on all possible 𝐽’s! Work needed to distinguish: 2𝐈•(–) = 2_%& queries to 𝜌!

Main observation: Restriction that 𝜌%&(𝑍) is never queried is valid in applications where 𝑍 is used as a secret key!

slide-32
SLIDE 32

Sponge-Extraction Lemma

D D 𝐽& 𝐽* D (𝐽7, 𝛿7) 𝑇" 𝑨&, 𝛿& 𝑨*, 𝛿* 𝑨7, 𝛿7

𝑍

seed A

∑𝛿4 ≥ 𝛿∗

π

seed

π

seed

π

seed

Lemma 1. Output 𝑍 is pseudorandom, provided:

  • 1. 𝑟q ≤ min{2^∗, 2

ƒ „ , 2_}

here, 𝑟q is # queries by 𝐵 and 𝐸 combined!

  • 2. 𝐵 never queries 𝜌%&(𝑍)
slide-33
SLIDE 33

Lemma 2. 𝑍, 𝑈 ≈ (𝑉_, 0_||𝑉˜) for any distinguisher that makes 𝑟𝝆 ≪ min{2𝐈• š , 2_, 2˜/*} queries to 𝝆.

𝑍

Key Lemma– Analysis of next

π

next

π

S 0_ 𝑇 𝑈

Only assume lower bound on 𝐈2(𝑇)

slide-34
SLIDE 34

Next – Remarks

General distribution on 𝑇 is necessary, as we may call next multiple times!

𝑍

π

next

π

0_

𝑍

π

next

π

0_ 𝑇

≈ 0_||𝑉˜

slide-35
SLIDE 35

Next – Remarks (cont’d) Extra permutation call is necessary!

𝑍

π

next

0_ 𝑈 𝑇

Attacker just checks whether 𝜌%&(𝑍| 𝑈 is in the range of 𝑇 Note: Extra cost of additional permutation call can be mitigated by outputting multiple 𝑍’s.

slide-36
SLIDE 36

Alternative – Open question

Following variant does not fit into our proof framework, but may be fine

  • verall.

𝑇

𝑍

π

next

π

0_

This would prevent a double permutation call when transitioning refresh -> next!

π π π π π

0 π

vs

[Hutchinson, SAC ’16] proposes another approach to next, requires modification of lower bits!

slide-37
SLIDE 37

Further application – Sponge-based KDF

π

seed1 IV

π

seed(i mod s)

π π π source material context variable

  • utput

We show it is a good KDF, even when source material is permutation dependent! Proof combines sponge extraction lemma + PRF analyses for keyed sponges [ADMvA15,GPT15,MRV15]

slide-38
SLIDE 38

Roadmap of this talk

  • 1. PRNGs: Sponge-based Instantiations
  • 2. Provably-robust sponge-based PRNGs
  • 3. Conclusions and open questions
slide-39
SLIDE 39

Permutation-dependence and the seed: Why care?

Typical argument: Real-world distributions behave nicely! Possible, but … it is not easy to characterize what “real-world distribution” means... Personal take: If you can add security for cheap, then why not enable it as an option?

Our seeding is entirely black box – input whitening!

slide-40
SLIDE 40

Open Problems

  • Better security

– Premature next? More general class of samplers?

  • Concrete bounds

– No issue for large-stage (𝑜 = 1600 bits)

  • Small state

– What if state is very small (e.g., 128 bits) and randomness is injected at low rate – Incorrect proposal in our paper L

  • Assumptions

– Random permutation should make things easier, except it does not!

?

slide-41
SLIDE 41

Open Problems – Assumptions Random-permutation assumption problematic

  • Possible way out: Public-seed PRPs [Soni-T,

EC’17]

– Standard-model assumption for (seeded) permutations

  • Caveat: Permutation itself requires a seed!

– See Pratik’s talk on Wednesday [not about PRNGs]

slide-42
SLIDE 42

Thank you!