Top Banner
The Design of Cryptosystems 1 Stefan Lucks The Design of Cryptosystems: The Interplay between Proofs and Attacks French-German-Singaporean Workshop on Applied Cryptography 3rd of December, 2010 Stefan Lucks Bauhaus-Universit¨ at Weimar, Germany
48

The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

Feb 20, 2019

Download

Documents

vandiep
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: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems 1Stefan Lucks

The Design of Cryptosystems:

The Interplay between Proofs and AttacksFrench-German-Singaporean Workshop on Applied Cryptography

3rd of December, 2010

Stefan Lucks

Bauhaus-Universitat Weimar, Germany

Page 2: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems 2Stefan Lucks

Roadmap

Example: Entity Recognition

The Problem with Proofs

The Jane Doe Protocol

The Random Oracle Debate

The Jane Doe Protocol (revisited)

Summary

Page 3: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems 3Stefan Lucks

Page 4: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 4Stefan Lucks

Example: Entity Recognition

The Problem with Proofs

The Jane Doe Protocol

The Random Oracle Debate

The Jane Doe Protocol (revisited)

Summary

Page 5: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 5Stefan Lucks

Example: Entity Recognition

Alice(Sender)

Bob(Receiver)

I Alice (“Jane Doe”) and Bob meet at a party.They make a bet. Others listen.

I Much later, when it had turned out that Alice won, Bob receivesa mail from “Jane Doe”:“Bob, please transfer the money I have won to . . .

I How can Bob verify that this mail is from Alice?

Page 6: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 5Stefan Lucks

Example: Entity Recognition

Alice(Sender)

Bob(Receiver)

I Alice (“Jane Doe”) and Bob meet at a party.They make a bet. Others listen.

I Much later, when it had turned out that Alice won, Bob receivesa mail from “Jane Doe”:“Bob, please transfer the money I have won to . . .

I How can Bob verify that this mail is from Alice?

Page 7: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 6Stefan Lucks

Entity Recognition: More Formal

Alice(Sender)

Bob(Receiver)

I The initial communication may be observed – but nottampered with

I Later, communication may be observed but also tampered with(read, modify, suppress, or re-send data).

Page 8: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 6Stefan Lucks

Entity Recognition: More Formal

Alice(Sender)

Bob(Receiver)

I The initial communication may be observed – but nottampered with

I Later, communication may be observed but also tampered with(read, modify, suppress, or re-send data).

Page 9: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 7Stefan Lucks

“Cheap” Symmetric OperationsHash Chaina0 := H(H(. . . (H(an)))) :

a0

an−2

an−1an

an−1

a1

Assumption (one-wayness):given ai−1:infeasible to find any a′ withH(a′) = ai−1

Message Authentication Code (MAC)

message key

tag

secret

Assumption(secure against existentialforgery):given many (tag,message) pairs:infeasible to forge tag for anothermessage

Page 10: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 7Stefan Lucks

“Cheap” Symmetric OperationsHash Chaina0 := H(H(. . . (H(an)))) :

a0

an−2

an−1an

an−1

a1

Assumption (one-wayness):given ai−1:infeasible to find any a′ withH(a′) = ai−1

Message Authentication Code (MAC)

message key

tag

secret

Assumption(secure against existentialforgery):given many (tag,message) pairs:infeasible to forge tag for anothermessage

Page 11: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 7Stefan Lucks

“Cheap” Symmetric OperationsHash Chaina0 := H(H(. . . (H(an)))) :

a0

an−2

an−1an

an−1

a1

Assumption (one-wayness):given ai−1:infeasible to find any a′ withH(a′) = ai−1

Message Authentication Code (MAC)

message key

tag

secret

Assumption(secure against existentialforgery):given many (tag,message) pairs:infeasible to forge tag for anothermessage

Page 12: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 7Stefan Lucks

“Cheap” Symmetric OperationsHash Chaina0 := H(H(. . . (H(an)))) :

a0

an−2

an−1an

an−1

a1

Assumption (one-wayness):given ai−1:infeasible to find any a′ withH(a′) = ai−1

Message Authentication Code (MAC)

message key

tag

secret

Assumption(secure against existentialforgery):given many (tag,message) pairs:infeasible to forge tag for anothermessage

Page 13: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 8Stefan Lucks

Protocols for Entity Recognition

I “Zero Common-Knowledge”: Weimerskirch, Westhoff, 2003.

I “Jane Doe”: (not yet using that name):Lucks, Zenner, Weimerskirch, Westhoff, 2005.

I “Jane Doe”: Lucks, Zenner, Weimerskirch, Westhoff, 2008.

Page 14: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 9Stefan Lucks

The Zero Common Knowledge ProtocolI one hash chain (a0, a1, . . . ) for Alice, another one (b0, b1, . . . )

for Bob.

I Bob knows ai−1, Alice knows bj−1.

I Alice authenticates m by tag := MACaj+1(m), and aj.

I Bob verifies H(ai) = ai−1 and responds bi.Alice verifies H(bi) = bi−1.

I Alice sends aj+1.Bob verifies H(aj+1) = aj and MACaj+1

(m) = tag.

Page 15: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 10Stefan Lucks

The AttackI one hash chain (a0, a1, . . . ) for Alice, another one (b0, b1, . . . )

for Bob.

I Bob knows ai−1, Alice knows bj−1.

I Alice authenticates m by tag := MACaj+1(m), and aj.

I Bob verifies H(ai) = ai−1 and responds bi.Alice verifies H(bi) = bi−1.

I Alice sends aj+1. Eve does not deliver this to Bob.

I Next time, Alice will send tag := MAC(. . .), and aj+2.

I Eve then knows aj+1 and aj+2 from Alice’s hash chain, which areunknown to Bob.

I This allows her to forge a message for Bob.

Page 16: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 10Stefan Lucks

The AttackI one hash chain (a0, a1, . . . ) for Alice, another one (b0, b1, . . . )

for Bob.

I Bob knows ai−1, Alice knows bj−1.

I Alice authenticates m by tag := MACaj+1(m), and aj.

I Bob verifies H(ai) = ai−1 and responds bi.Alice verifies H(bi) = bi−1.

I Alice sends aj+1. Eve does not deliver this to Bob.

I Next time, Alice will send tag := MAC(. . .), and aj+2.

I Eve then knows aj+1 and aj+2 from Alice’s hash chain, which areunknown to Bob.

I This allows her to forge a message for Bob.

Page 17: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 11Stefan Lucks

Comments

I The Zero Common Knowledge Protocol has been published atSAC 2003 and proven secure!

I The proof makes the (implicit) assumption that messages arealways delivered.

I We could “repair” this by making the assumption explicit.

I The proof would be theoretically sound, but (most probably)practically useless!

Page 18: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Example: Entity Recognition 11Stefan Lucks

Comments

I The Zero Common Knowledge Protocol has been published atSAC 2003 and proven secure!

I The proof makes the (implicit) assumption that messages arealways delivered.

I We could “repair” this by making the assumption explicit.

I The proof would be theoretically sound, but (most probably)practically useless!

Page 19: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Problem with Proofs 12Stefan Lucks

Example: Entity Recognition

The Problem with Proofs

The Jane Doe Protocol

The Random Oracle Debate

The Jane Doe Protocol (revisited)

Summary

Page 20: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Problem with Proofs 13Stefan Lucks

The Problem with Proofs

I Lars Knudsen: “If it is provably secure, it is probably not”

I Birgit Pfitzmann, Michael Waidner: “How To Break and RepairA ’Provably Secure’ Untraceable Payment System”,CRYPTO 1991

I Birgit Pfitzmann, Matthias Schunter, Michael Waidner: “How toBreak Another Provably Secure Payment System”,EUROCRYPT 1995:

“Short statements of cryptographic properties (formalor informal) should always come with an explicit trustmodel, i.e., for whom a property is guaranteed, andwhich other participants have to be trusted toguarantee this.”

Page 21: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Problem with Proofs 14Stefan Lucks

The Trinity of Cryptographic Security Proofs

A cryptographic “Security Proof” is actuallya trinity of

1. some definitions (trust model,cryptographic assumptions, . . . ),

2. a theorem, and

3. the proof itself.

I Leave it to the theoreticians to verify the proof.

I But understand that the theorem, with the associateddefinitions, is like a contract between

I a service provider (the crypto-designer) andI a client (the application designer).

Page 22: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Problem with Proofs 14Stefan Lucks

The Trinity of Cryptographic Security Proofs

A cryptographic “Security Proof” is actuallya trinity of

1. some definitions (trust model,cryptographic assumptions, . . . ),

2. a theorem, and

3. the proof itself.

I Leave it to the theoreticians to verify the proof.

I But understand that the theorem, with the associateddefinitions, is like a contract between

I a service provider (the crypto-designer) andI a client (the application designer).

Page 23: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Problem with Proofs 14Stefan Lucks

The Trinity of Cryptographic Security Proofs

A cryptographic “Security Proof” is actuallya trinity of

1. some definitions (trust model,cryptographic assumptions, . . . ),

2. a theorem, and

3. the proof itself.

I Leave it to the theoreticians to verify the proof.

I But understand that the theorem, with the associateddefinitions, is like a contract between

I a service provider (the crypto-designer) andI a client (the application designer).

Page 24: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Problem with Proofs 15Stefan Lucks

The Proof as a Contract

I obligations for the client, such aschoosing primitives (MAC, Hash,. . . ), secure against well-definedclasses of attack

I responsibility of the serviceprovider (security against thespecified class of attacks in thespecified trust model)

I if the client follows her obligations,mathematical laws guarantee thepromised security

This is an extremely useful concept for Applied Cryptography!But the client must understand the contract!

Page 25: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 16Stefan Lucks

Example: Entity Recognition

The Problem with Proofs

The Jane Doe Protocol

The Random Oracle Debate

The Jane Doe Protocol (revisited)

Summary

Page 26: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 17Stefan Lucks

The Jane Doe Protocolia i−1a

ibi−1b

Alice

I Two hash chains (a0, a1, . . . ) for Alice, and (b0, b1, . . . ) forBob. Initially, Alice knows bi−1 and Bob knows ai−1.

I Later, Alice will reveal ai, and Bob will reveal bi.

I Alice sends message m and tag := MACai(m).

I Bob responds with bi. Alice verifies H(bi) = bi−1.I Alice sends ai.

Bob verifies H(ai) = ai−1 and MACai(m) = tag.

Page 27: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 17Stefan Lucks

The Jane Doe Protocolia i−1a

ibi−1b

iatag := MAC (m)m, tag

Alice

I Two hash chains (a0, a1, . . . ) for Alice, and (b0, b1, . . . ) forBob. Initially, Alice knows bi−1 and Bob knows ai−1.

I Later, Alice will reveal ai, and Bob will reveal bi.

I Alice sends message m and tag := MACai(m).

I Bob responds with bi. Alice verifies H(bi) = bi−1.I Alice sends ai.

Bob verifies H(ai) = ai−1 and MACai(m) = tag.

Page 28: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 17Stefan Lucks

The Jane Doe Protocolia i−1a

ibi−1b

iatag := MAC (m)m, tag

Alice

m, tag

I Two hash chains (a0, a1, . . . ) for Alice, and (b0, b1, . . . ) forBob. Initially, Alice knows bi−1 and Bob knows ai−1.

I Later, Alice will reveal ai, and Bob will reveal bi.I Alice sends message m and tag := MACai

(m).

I Bob responds with bi. Alice verifies H(bi) = bi−1.I Alice sends ai.

Bob verifies H(ai) = ai−1 and MACai(m) = tag.

Page 29: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 17Stefan Lucks

The Jane Doe Protocolia i−1a

ibi−1b

iatag := MAC (m)m, tag

ib

Alice

m, tag

I Two hash chains (a0, a1, . . . ) for Alice, and (b0, b1, . . . ) forBob. Initially, Alice knows bi−1 and Bob knows ai−1.

I Later, Alice will reveal ai, and Bob will reveal bi.I Alice sends message m and tag := MACai

(m).

I Bob responds with bi. Alice verifies H(bi) = bi−1.I Alice sends ai.

Bob verifies H(ai) = ai−1 and MACai(m) = tag.

Page 30: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 17Stefan Lucks

The Jane Doe Protocolia i−1a

ibi−1b

ib

iatag := MAC (m)m, tag

ib

Alice

m, tag

I Two hash chains (a0, a1, . . . ) for Alice, and (b0, b1, . . . ) forBob. Initially, Alice knows bi−1 and Bob knows ai−1.

I Later, Alice will reveal ai, and Bob will reveal bi.I Alice sends message m and tag := MACai

(m).

I Bob responds with bi. Alice verifies H(bi) = bi−1.

I Alice sends ai.Bob verifies H(ai) = ai−1 and MACai

(m) = tag.

Page 31: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 17Stefan Lucks

The Jane Doe Protocolia i−1a

ibi−1b

ia

iatag := MAC (m)m, tag

ib ib

Alice

m, tag

I Two hash chains (a0, a1, . . . ) for Alice, and (b0, b1, . . . ) forBob. Initially, Alice knows bi−1 and Bob knows ai−1.

I Later, Alice will reveal ai, and Bob will reveal bi.I Alice sends message m and tag := MACai

(m).

I Bob responds with bi. Alice verifies H(bi) = bi−1.

I Alice sends ai.Bob verifies H(ai) = ai−1 and MACai

(m) = tag.

Page 32: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 17Stefan Lucks

The Jane Doe Protocolia i−1a

ibi−1b

ia

iatag := MAC (m)m, tag

ib

ia

ib

Alice

m, tag

I Two hash chains (a0, a1, . . . ) for Alice, and (b0, b1, . . . ) forBob. Initially, Alice knows bi−1 and Bob knows ai−1.

I Later, Alice will reveal ai, and Bob will reveal bi.I Alice sends message m and tag := MACai

(m).

I Bob responds with bi. Alice verifies H(bi) = bi−1.I Alice sends ai.

Bob verifies H(ai) = ai−1 and MACai(m) = tag.

Page 33: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 18Stefan Lucks

Assumptions

We need both a one-way (hash)function and secure MAC.

ai−1ai

message key

tag

secret

Problem: For the same Key, the protocol usesboth Hash(Key) and MAC(Key,∗). Thus,MAC(Key,∗) must provide security, even ifHash(Key) is known.

Here comes the problem:

I One can (maliciously) define a secure Hash and a secure MAC

I such that the Jane Doe protocol is actually insecure when usingboth of them together.

Page 34: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 18Stefan Lucks

Assumptions

We need both a one-way (hash)function and secure MAC.

ai−1ai

message key

tag

secretProblem: For the same Key, the protocol usesboth Hash(Key) and MAC(Key,∗). Thus,MAC(Key,∗) must provide security, even ifHash(Key) is known.

Here comes the problem:

I One can (maliciously) define a secure Hash and a secure MAC

I such that the Jane Doe protocol is actually insecure when usingboth of them together.

Page 35: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 18Stefan Lucks

Assumptions

We need both a one-way (hash)function and secure MAC.

ai−1ai

message key

tag

secretProblem: For the same Key, the protocol usesboth Hash(Key) and MAC(Key,∗). Thus,MAC(Key,∗) must provide security, even ifHash(Key) is known.

Here comes the problem:

I One can (maliciously) define a secure Hash and a secure MAC

I such that the Jane Doe protocol is actually insecure when usingboth of them together.

Page 36: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 18Stefan Lucks

Assumptions

We need both a one-way (hash)function and secure MAC.

ai−1ai

message key

tag

secretProblem: For the same Key, the protocol usesboth Hash(Key) and MAC(Key,∗). Thus,MAC(Key,∗) must provide security, even ifHash(Key) is known.

Here comes the problem:

I One can (maliciously) define a secure Hash and a secure MAC

I such that the Jane Doe protocol is actually insecure when usingboth of them together.

Page 37: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 19Stefan Lucks

Two Alternative Solutions

1. introduce a complex nonstandard security definition for thecombined security of MAC and Hash(this is, what we actually did 2005)

2. model Hash as a random oracle

If the security definitions are complex andnonstandard, the client will find it hardto understand the contract. That is bad!

Definitions in the random oracle modelare quite easy to understand.So why not just assume the Hash is arandom oracle?

Page 38: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Jane Doe Protocol 19Stefan Lucks

Two Alternative Solutions

1. introduce a complex nonstandard security definition for thecombined security of MAC and Hash(this is, what we actually did 2005)

2. model Hash as a random oracle

If the security definitions are complex andnonstandard, the client will find it hardto understand the contract. That is bad!

Definitions in the random oracle modelare quite easy to understand.So why not just assume the Hash is arandom oracle?

Page 39: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Random Oracle Debate 20Stefan Lucks

Example: Entity Recognition

The Problem with Proofs

The Jane Doe Protocol

The Random Oracle Debate

The Jane Doe Protocol (revisited)

Summary

Page 40: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Random Oracle Debate 21Stefan Lucks

The Random Oracle Debate

Two reasons to criticize the usage of random oracles:

1. “Separation Results”:Some (maliciously designed) cryptosystems are provable securein the ROM, but insecure under any real-world instantiation.So far, this is a theoretical issue, only.

2. “Spoiling the Contract”:Even if “good” primitives exist, the definition and the theoremdon’t tell the client how to choose “good” primitives.

Page 41: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Random Oracle Debate 22Stefan Lucks

Spoiling the Contract

I no “real world object”

I client must choose a real-worldobject, and thus (formally) violateher obligations

I no guarantee by mathematicallaws for client“Trust me! If the primitive is good,you are secure.”“Sorry, the primitive you used is notgood! That is not my fault!”

Page 42: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems The Random Oracle Debate 22Stefan Lucks

Spoiling the Contract

I no “real world object”

I client must choose a real-worldobject, and thus (formally) violateher obligations

I no guarantee by mathematicallaws for client“Trust me! If the primitive is good,you are secure.”“Sorry, the primitive you used is notgood! That is not my fault!”

Page 43: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Jane Doe (revisited) 23Stefan Lucks

Example: Entity Recognition

The Problem with Proofs

The Jane Doe Protocol

The Random Oracle Debate

The Jane Doe Protocol (revisited)

Summary

Page 44: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Jane Doe (revisited) 24Stefan Lucks

The Jane Doe Protocol (revisited)

We need both a one-way (hash)function and secure MAC.

ai−1ai

message key

tag

secretProblem: For the same Key, the protocol usesboth Hash(Key) and MAC(Key,∗). Thus,MAC(Key,∗) must provide security, even ifHash(Key) is known.

Page 45: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Jane Doe (revisited) 25Stefan Lucks

Same Protocol – but Slightly Different

Requirements

Start with a single primitive m∗ (a MAC):

I assume m∗ to be one-way, and

I assume m∗ to be secure against existential forgeries.

Derive a one-way function h and a new MAC m from M∗:

One-way function: h(Key) := m∗(Key, 0) ai−1ai

New MAC: m(Key, Message) := m∗(Key, 1||Message)

message key

tag

secret

Page 46: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Jane Doe (revisited) 25Stefan Lucks

Same Protocol – but Slightly Different

Requirements

Start with a single primitive m∗ (a MAC):

I assume m∗ to be one-way, and

I assume m∗ to be secure against existential forgeries.

Derive a one-way function h and a new MAC m from M∗:

One-way function: h(Key) := m∗(Key, 0) ai−1ai

New MAC: m(Key, Message) := m∗(Key, 1||Message)

message key

tag

secret

Page 47: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Summary 26Stefan Lucks

Example: Entity Recognition

The Problem with Proofs

The Jane Doe Protocol

The Random Oracle Debate

The Jane Doe Protocol (revisited)

Summary

Page 48: The Design of Cryptosystems: The Interplay between Proofs ...ccrg/WAC2010/slides/session_2/2_1_Lucks... · Bauhaus-Universit at Weimar, Germany. The Design of Cryptosystems2 Stefan

The Design of Cryptosystems Summary 27Stefan Lucks

Summary

I Security proofs are an important tool for Applied Cryptography.

I If you want to benefit from security proofs, youmust understand what the proof is about (thedefinitions and the theorem, not necessarily theproof itself).

I If you want people benefit from your proofs, try tomake reading and understanding your definitionsand your theorem as simple as possible.

I Theoretical abstractions (random oracle model, ideal ciphermodel, . . . ) help to avoid complex definitions, but hinder theselection of real primitives (famous example: TDES-RMAC).