Top Banner
Beyond Provable Security: Verifiable IND-CCA Security of OAEP Gilles Barthe 1 Benjamin Grégoire 2 Yassine Lakhnech 3 Santiago Zanella Beguelin 1 1 IMDEA Software, Madrid, Spain 2 INRIA Sophia Antipolis - Méditerranée, France 2 VERIMAG, CNRS Université Joseph Fourier, Grenoble, France
14

Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Oct 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Beyond Provable Security:

Verifiable IND-CCA Security of OAEP

Gilles Barthe1 Benjamin Grégoire2

Yassine Lakhnech3 Santiago Zanella Beguelin1

1 IMDEA Software, Madrid, Spain

2 INRIA Sophia Antipolis - Méditerranée, France

2 VERIMAG, CNRS Université Joseph Fourier, Grenoble, France

Page 2: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Computer-aided security proofs

Something is wrong with cryptographic proofs:

In our opinion, many proofs in cryptography have become

essentially unverifiable. Our field may be approaching a

crisis of rigor. M. Bellare and P. Rogaway, 2006.Do we have a problem with cryptographic proofs? Yes, we

do [...] We generate more proofs than we carefully verify

(and as a consequence some of our published proofs areincorrect). S. Halevi, 2005

Computer-aided proofs

Provide high guarantees of mathematical correctnessHave been used successfully for hardware design, program

verification, compiler verfication, correct-by-construction

operating systems, certified program analysers. . .Can be used successfully for provable cryptography

Page 3: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

CertiCrypt: machine-checking provable security

A framework for checking code-based game-based concrete security

proofs in a general purpose proof assistant

Security goals, properties and hypotheses are explicit

All proof steps are conducted in a unified formalism

The tool provides independently checkable certificates

CertiCrypt has been used for proving:

indistinguishability of encryption schemes

unforgeability of signature schemes

zero-knowledge protocols

indifferentiability from random oracles

Page 4: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Architecture

The code-based view

Game = Probabilistic program

Game transformation = Program transformation

Game-based proof = Program verification

Framework for defining games

Mathematical libraries: group, fields. . .

Semantics and complexity of probabilistic programsAdversarial model and formalization of security definitions

Tools to reason about games

Semantics-preserving program transformations

Observational equivalence and relational logicGame-based lemmas, e.g. failure events

Page 5: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

PWHILE: a probabilistic programming language

C ::= skip nop

| C; C sequence

| V ← E assignment

| V $← T random sampling

| if E then C else C conditional

| while E do C while loop

| V ← P(E , . . . , E) procedure call

| V ← A(E , . . . , E) adversary call

The semantics of the language is instrumented with cost

J·K : C → (S × N)→ (S × N→ [0,1])→ [0,1]

to capture PPT computations

Page 6: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Program equivalence

All game-based reasoning is justified relative to established notions of

program correctness:

Observational equivalence

Relational Hoare Logic

Observational equivalence

� G1 ≃IO G2 iff for all memories m1 and m2:

IF m1 =I m2, i.e. m1 and m2 coincide on input variables I,

THEN JG1K m1 and JG2K m2 coincide on output variables O

Assume � G1 ≃IO G2.

IF m1 =I m2 and A =O A (A only depends on O),

THEN PrG1,m1[A] = PrG2,m2

[A]

Page 7: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Reasoning about program equivalence

Verified library of program transformations

T (G1,G2, I,O) = (G′1,G

′2, I

′,O′) � G′1 ≃

I′

O′ G′2

� G1 ≃IO G2

for

common compiler optimizationsinterprocedural motion of random assignments

Automated information flow analysis: find I such that

� G ≃IO G

Equality of distributions from algebraic equalities

� x $← {0, 1}k ; y ← x ⊕ z ≃

{z}{x,y ,z} y $← {0, 1}

k ; x ← y ⊕ z

Page 8: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Beyond program equivalence: failure events

Fundamental Lemma: if two games G1 and G2 are identical upto some failure event bad then,

|PrG1,m[A]− PrG2,m[A]| ≤ max(PrG1,m[bad],PrG2,m[bad])

Failure Event Lemma (some conditions ommitted):

IF calls to oracle O trigger bad with probability less than ǫAND a maximum of q calls to O are allowed

THEN PrG,m[bad] ≤ q ǫ

Page 9: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Application: RSA-OAEP

1994

Bellare and Rogaway

2001

Shoup

Fujisaki, Okamoto, Pointcheval, Stern

2004

Pointcheval

2009

Bellare, Hofheinz, Kiltz

1994 Purported proof of chosen-ciphertext security

2001 Proof establishes a weaker security notion, but desired

security can be achieved

1 ...for a modified scheme, or2 ...under stronger assumptions

2004 Filled gaps in Fujisaki et al. 2001 proof

2009 Security definition needs to be clarified

2010 Filled gaps and marginally improved bound in 2004 proof

Page 10: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Exact IND-CCA security of OAEP

Game IND-CCA2 :(pk , sk)← KG(η);(m0,m1)← A1(pk);b $← {0,1};c∗ ← Enc(mb);

b ← A2(c∗)

Game PD-OW :(pk , sk)← KG f (η);

s $← {0,1}n+k1 ;

t $← {0,1}k0 ;s ← I(f (pk , s‖ t))

Security statement

∀A,∃I,

2

PrIND-CCA2

[

b = b]

−1

2

qHPrPD-OW[s = s] +3qDecqG + q2

Dec + 4qDec + qG

2k0+

2qDec

2k1

Page 11: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Exact IND-CCA security of OAEP: formal statement

Game IND-CCA2 :LG, LH , LDec ← d ;(pk , sk)← KG(η);(m0,m1)← A1(pk);b $← {0, 1};c∗ ← Enc(mb);c∗

def ← true;

b ← A2(c∗)

Oracle G(r) :if r /∈ dom(LG) then

LG[r ] $← {0, 1}n+k1 ;return LG[r ]

Oracle H(r) : . . .

Oracle Dec(c) :LDec ← (c∗

def , c) :: LDec;. . .

Security statement

∀A, ∃I, WF (A) ∧

Pr

[

IND-CCA2 :|LG| ≤ qG + qDec ∧ |LH | ≤ qH ∧ |LDec| ≤ qDec

∧ (true, c∗) /∈ LDec

]

= 1

=⇒ 2

PrIND-CCA2

[

b = b]

−1

2

qHPrPD-OW[s = s] +3qDecqG + q2

Dec + 4qDec + qG

2k0+

2qDec

2k1

Page 12: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Proof highlights

Calls to hash oracles are eliminated by successive modifications ofthe decryption oracle, as in Pointcheval 2004. Main differences:

Both calls to G are eliminated simultaneously

Elimination of calls to H requires no more calls to G

Justifying eliminations of calls to G

Tag queries to G with origin (adversary vs. decryption oracle),

and set a bad flag in Dec when a valid ciphertext is producedwith G(r) not queried.

Shift flag to G oracle. Apply logic of swapping statements toshow that values that are uniformly distributed and independent

from adversary’s view can be resampled

Apply logic of failure events

Page 13: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Trusting verifiable security

You only need to trust:the checker

foundational formalism, studied by logicians for ≥30 years

=⇒ rock solid

part of CertiCrypt infrastructure

probabilities, programming language semantics

=⇒ well understood

the statement

for OAEP, about 100 lines

=⇒ manageable

You do not need to trust the proof nor even the proof tools

(relational Hoare logic, program transformations, etc), the

sequence of games, etc.

Page 14: Beyond Provable Security: Verifiable IND-CCA Security of OAEPcerticrypt.gforge.inria.fr/2011.RSA.slides.pdf · Application: RSA-OAEP 1994 Bellare and Rogaway 2001 Shoup Fujisaki,

Conclusion and perspectives

Independently verifiable proof of IND-CCA2 security of OAEP

Computer-aided cryptographic proofs are becoming a reality

Next step: build highly automated tools accessible to the working

cryptographers, using state-of-the-art automated tools