Universal Composition ZK Proofs (cntd.) Universal Composition - - PowerPoint PPT Presentation

universal composition
SMART_READER_LITE
LIVE PREVIEW

Universal Composition ZK Proofs (cntd.) Universal Composition - - PowerPoint PPT Presentation

ZK Proofs (cntd.) Universal Composition ZK Proofs (cntd.) Universal Composition Lecture 16 An Example RECALL An Example RECALL Graph Isomorphism An Example RECALL Graph Isomorphism (G 0 ,G 1 ) in L iff there exists an isomorphism such


slide-1
SLIDE 1

ZK Proofs (cntd.) Universal Composition

slide-2
SLIDE 2

ZK Proofs (cntd.) Universal Composition

Lecture 16

slide-3
SLIDE 3

An Example

RECALL

slide-4
SLIDE 4

An Example

Graph Isomorphism

RECALL

slide-5
SLIDE 5

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

RECALL

slide-6
SLIDE 6

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ

RECALL

slide-7
SLIDE 7

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

RECALL

slide-8
SLIDE 8

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G*

RECALL

slide-9
SLIDE 9

G* := π(G1) (random π)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G*

RECALL

slide-10
SLIDE 10

G* := π(G1) (random π)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G* G*

RECALL

slide-11
SLIDE 11

G* := π(G1) (random π)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G* G*

random bit b RECALL

slide-12
SLIDE 12

G* := π(G1) (random π)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G* G*

random bit b

b

RECALL

slide-13
SLIDE 13

G* := π(G1) (random π)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G* G*

random bit b

b

if b=1, π* := π if b=0, π* := πoσ RECALL

slide-14
SLIDE 14

G* := π(G1) (random π)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G* G*

random bit b

b

if b=1, π* := π if b=0, π* := πoσ

π*

RECALL

slide-15
SLIDE 15

G* := π(G1) (random π)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol

Bob sees only b, π* and G* s.t. π*(Gb) = G* G*

random bit b

b

if b=1, π* := π if b=0, π* := πoσ G*=π*(Gb)?

π*

RECALL

slide-16
SLIDE 16

The Legend of William Tell

A Side Story

slide-17
SLIDE 17

The Legend of William Tell

A Side Story

Bob: William Tell is a great marksman!

slide-18
SLIDE 18

The Legend of William Tell

A Side Story

Bob: William Tell is a great marksman! Charlie: How do you know?

slide-19
SLIDE 19

The Legend of William Tell

A Side Story

Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this!

slide-20
SLIDE 20

The Legend of William Tell

A Side Story

Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this!

slide-21
SLIDE 21

The Legend of William Tell

A Side Story

Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up!

slide-22
SLIDE 22

The Legend of William Tell

A Side Story

Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-23
SLIDE 23

The Legend of William Tell

A Side Story

Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-24
SLIDE 24

The Legend of William Tell

A Side Story

Bob: G0 and G1 are isomorphic! Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-25
SLIDE 25

The Legend of William Tell

A Side Story

Bob: G0 and G1 are isomorphic! Charlie: How do you know? Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-26
SLIDE 26

The Legend of William Tell

A Side Story

Bob: G0 and G1 are isomorphic! Charlie: How do you know? Bob: Alice just proved it to me! See this: Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-27
SLIDE 27

The Legend of William Tell

A Side Story

Bob: G0 and G1 are isomorphic! Charlie: How do you know? Bob: Alice just proved it to me! See this: G*, b, π* s.t. G*=π*(Gb) Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-28
SLIDE 28

The Legend of William Tell

A Side Story

Bob: G0 and G1 are isomorphic! Charlie: How do you know? Bob: Alice just proved it to me! See this: G*, b, π* s.t. G*=π*(Gb) Charlie: That convinced you? Anyone could have made it up! Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-29
SLIDE 29

The Legend of William Tell

A Side Story

Bob: G0 and G1 are isomorphic! Charlie: How do you know? Bob: Alice just proved it to me! See this: G*, b, π* s.t. G*=π*(Gb) Charlie: That convinced you? Anyone could have made it up! Bob: But I picked b at random and she had no trouble answering me... Bob: William Tell is a great marksman! Charlie: How do you know? Bob: I just saw him shoot an apple placed on his son’s head! See this! Charlie: That apple convinced you? Anyone could have made it up! Bob: But I saw him shoot it...

slide-30
SLIDE 30

A ZK Proof for Graph Colorability

RECALL

slide-31
SLIDE 31

A ZK Proof for Graph Colorability

G,coloring

RECALL

slide-32
SLIDE 32

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

G,coloring

F

RECALL

slide-33
SLIDE 33

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

Use random colors

G,coloring

F

RECALL

slide-34
SLIDE 34

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

Use random colors

G,coloring

F

c

  • m

m i t t e d

RECALL

slide-35
SLIDE 35

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge Use random colors

edge G,coloring

F

c

  • m

m i t t e d

RECALL

slide-36
SLIDE 36

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge Use random colors

edge G,coloring

F

reveal edge c

  • m

m i t t e d

RECALL

slide-37
SLIDE 37

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring

F

reveal edge c

  • m

m i t t e d

RECALL

slide-38
SLIDE 38

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring OK

F

reveal edge c

  • m

m i t t e d

RECALL

slide-39
SLIDE 39

Uses a commitment protocol as a subroutine At least 1/m probability of catching a wrong proof

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring OK

F

reveal edge c

  • m

m i t t e d

RECALL

slide-40
SLIDE 40

Uses a commitment protocol as a subroutine At least 1/m probability of catching a wrong proof Soundness amplification: Repeat say mk times (with independent color permutations)

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring OK

F

reveal edge c

  • m

m i t t e d

RECALL

slide-41
SLIDE 41

A Commitment Protocol

slide-42
SLIDE 42

Using a OWP f and a hardcore predicate for it B

A Commitment Protocol

slide-43
SLIDE 43

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

slide-44
SLIDE 44

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

b

slide-45
SLIDE 45

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

b

slide-46
SLIDE 46

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b

slide-47
SLIDE 47

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b committed

slide-48
SLIDE 48

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b committed

slide-49
SLIDE 49

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b committed reveal

slide-50
SLIDE 50

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b x,b committed reveal

slide-51
SLIDE 51

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b x,b committed reveal

slide-52
SLIDE 52

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b b x,b committed reveal

slide-53
SLIDE 53

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding Perfectly binding because f is a permutation

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b b x,b committed reveal

slide-54
SLIDE 54

Using a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding Perfectly binding because f is a permutation Hiding because B(x) is pseudorandom given f(x)

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b b x,b committed reveal

slide-55
SLIDE 55

ZK Proofs: What for?

slide-56
SLIDE 56

Authentication

ZK Proofs: What for?

slide-57
SLIDE 57

Authentication

Using ZK Proof of Knowledge

ZK Proofs: What for?

slide-58
SLIDE 58

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

ZK Proofs: What for?

slide-59
SLIDE 59

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols

ZK Proofs: What for?

slide-60
SLIDE 60

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

slide-61
SLIDE 61

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

slide-62
SLIDE 62

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

Prove to me x1 is what you should have sent me now

slide-63
SLIDE 63

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

Prove to me x1 is what you should have sent me now

slide-64
SLIDE 64

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

Prove to me x1 is what you should have sent me now OK

slide-65
SLIDE 65

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK

slide-66
SLIDE 66

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK

slide-67
SLIDE 67

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK

slide-68
SLIDE 68

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK OK

slide-69
SLIDE 69

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1 x2

Prove to me x1 is what you should have sent me now OK OK

slide-70
SLIDE 70

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1 x2

Prove to me x1 is what you should have sent me now Prove x2 is what... OK OK

slide-71
SLIDE 71

Does it fit in?

x1 y1 x2

slide-72
SLIDE 72

Does the proof stay ZK in the big picture?

Does it fit in?

x1 y1 x2

slide-73
SLIDE 73

Does the proof stay ZK in the big picture?

Composition

Does it fit in?

x1 y1 x2

slide-74
SLIDE 74

Does the proof stay ZK in the big picture?

Composition

Several issues: auxiliary information from previous runs, concurrency issues, malleability/man-in-the- middle

Does it fit in?

x1 y1 x2

slide-75
SLIDE 75

Does the proof stay ZK in the big picture?

Composition

Several issues: auxiliary information from previous runs, concurrency issues, malleability/man-in-the- middle

In general, to allow composition more complicated protocols

Does it fit in?

x1 y1 x2

slide-76
SLIDE 76

Non-Interactive ZK

slide-77
SLIDE 77

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?
slide-78
SLIDE 78

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof!

slide-79
SLIDE 79

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof! NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS

slide-80
SLIDE 80

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof! NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs

slide-81
SLIDE 81

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof! NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs Note: CRS is a part of the proof, but prover is not allowed to choose it (otherwise no soundness)

slide-82
SLIDE 82

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof! NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs Note: CRS is a part of the proof, but prover is not allowed to choose it (otherwise no soundness) NIZK schemes exist for all NP languages (using “enhanced” T-OWP)

slide-83
SLIDE 83

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof! NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs Note: CRS is a part of the proof, but prover is not allowed to choose it (otherwise no soundness) NIZK schemes exist for all NP languages (using “enhanced” T-OWP) Also can NIZK-ify some ZK protocols in the RO Model (no CRS)

slide-84
SLIDE 84

An IND-security Notion

slide-85
SLIDE 85

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee

slide-86
SLIDE 86

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI)

slide-87
SLIDE 87

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) Adversarial verifier gives (x,w0,w1) and prover uses (x,wb) for a random b. Adversary has negligible advantage in guessing b.

slide-88
SLIDE 88

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) Adversarial verifier gives (x,w0,w1) and prover uses (x,wb) for a random b. Adversary has negligible advantage in guessing b. A ZK proof is always WI, but not vice-versa

slide-89
SLIDE 89

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) Adversarial verifier gives (x,w0,w1) and prover uses (x,wb) for a random b. Adversary has negligible advantage in guessing b. A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols

slide-90
SLIDE 90

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) Adversarial verifier gives (x,w0,w1) and prover uses (x,wb) for a random b. Adversary has negligible advantage in guessing b. A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols Sometimes with certain other useful properties

slide-91
SLIDE 91

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) Adversarial verifier gives (x,w0,w1) and prover uses (x,wb) for a random b. Adversary has negligible advantage in guessing b. A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols Sometimes with certain other useful properties e.g. WI-PoK, “Sigma protocols”

slide-92
SLIDE 92

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) Adversarial verifier gives (x,w0,w1) and prover uses (x,wb) for a random b. Adversary has negligible advantage in guessing b. A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols Sometimes with certain other useful properties e.g. WI-PoK, “Sigma protocols” Defined in standalone setting, but WI property is preserved under “parallel composition”

slide-93
SLIDE 93

Composition

slide-94
SLIDE 94

GM1 vs. Hacker Hacker vs. GM2

Composition Issues

slide-95
SLIDE 95

GM1 vs. Hacker Hacker vs. GM2

Multiple executions provide new

  • pportunities for the hacker

Composition Issues

slide-96
SLIDE 96

GM1 vs. Hacker Hacker vs. GM2

Will not lose against both! Play the GM’s against each other

Multiple executions provide new

  • pportunities for the hacker

Composition Issues

slide-97
SLIDE 97

GM1 vs. Hacker Hacker vs. GM2

Will not lose against both! Play the GM’s against each other

Multiple executions provide new

  • pportunities for the hacker

Person-in-the-middle attack

Composition Issues

slide-98
SLIDE 98

Multiple executions provide new

  • pportunities for the hacker

Person-in-the-middle attack Simulatability of a single execution doesn’t imply simulation for multiple executions

Composition Issues

slide-99
SLIDE 99

x1 in L x3 in L x4 in L x2 in L wR1,wR2,wR3

Multiple executions provide new

  • pportunities for the hacker

Person-in-the-middle attack Simulatability of a single execution doesn’t imply simulation for multiple executions

Composition Issues

slide-100
SLIDE 100

x1 in L x3 in L x4 in L x2 in L wR1,wR2,wR3

Multiple executions provide new

  • pportunities for the hacker

Person-in-the-middle attack Simulatability of a single execution doesn’t imply simulation for multiple executions

Composition Issues

Or when run along with other protocols

slide-101
SLIDE 101

Universal Composition

slide-102
SLIDE 102

Universal Composition

A security guarantee

slide-103
SLIDE 103

Universal Composition

A security guarantee that can be given for a “composed system”

slide-104
SLIDE 104

Universal Composition

A security guarantee that can be given for a “composed system” such that security for each component separately implies security for the entire system

slide-105
SLIDE 105

Universal Composition

A security guarantee that can be given for a “composed system” such that security for each component separately implies security for the entire system and is meaningful! (otherwise, “everything is secure” is composable)

slide-106
SLIDE 106

Universal Composition

A security guarantee that can be given for a “composed system” such that security for each component separately implies security for the entire system and is meaningful! (otherwise, “everything is secure” is composable) Will use SIM security

slide-107
SLIDE 107

REAL IDEAL REAL (with protocol) is as secure as IDEAL (with functionality) if:

Security

F

Env Env

RECALL

slide-108
SLIDE 108

REAL IDEAL REAL (with protocol) is as secure as IDEAL (with functionality) if:

Security

F

Env Env ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL

RECALL

slide-109
SLIDE 109

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

F

slide-110
SLIDE 110

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

F

slide-111
SLIDE 111

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

F F

slide-112
SLIDE 112

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

F F

slide-113
SLIDE 113

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

F F F

slide-114
SLIDE 114

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

  • REAL (with protocols) is as secure as IDEAL (with functionalities) if:

F F F

slide-115
SLIDE 115

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

  • REAL (with protocols) is as secure as IDEAL (with functionalities) if:

F F F

slide-116
SLIDE 116

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

  • REAL (with protocols) is as secure as IDEAL (with functionalities) if:

F F F

slide-117
SLIDE 117

REAL IDEAL

  • Extend to allow a “composed system” with multiple functionalities

Security of Composed Systems

Env Env

  • REAL (with protocols) is as secure as IDEAL (with functionalities) if:

F F F

∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL

slide-118
SLIDE 118

REAL IDEAL Env Env

F

Universal Composition - 1

If each protocol secure (i.e., is as secure as etc.)

F
slide-119
SLIDE 119

REAL IDEAL Env Env

F

Universal Composition - 1

If each protocol secure (i.e., is as secure as etc.)

F
slide-120
SLIDE 120

REAL IDEAL Env Env

F

Universal Composition - 1

If each protocol secure (i.e., is as secure as etc.)

F
slide-121
SLIDE 121

REAL IDEAL Env Env

F

Universal Composition - 1

If each protocol secure (i.e., is as secure as etc.)

F

∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL

slide-122
SLIDE 122

REAL IDEAL then concurrent sessions are secure too

Universal Composition - 1

F F F

Env Env

slide-123
SLIDE 123

REAL IDEAL then concurrent sessions are secure too

Universal Composition - 1

F F F

Env

F F

i.e., is as secure as etc. Env

slide-124
SLIDE 124

Universal Composition - 2

Env

F

F

slide-125
SLIDE 125

Universal Composition - 2

Env

F

F Env

F

P G

slide-126
SLIDE 126

If PG is as secure as F ,

Universal Composition - 2

Env

F

F Env

F

P G

slide-127
SLIDE 127

If PG is as secure as F , and Q is as secure as G,

Universal Composition - 2

Env

F

F Env

F

P G

slide-128
SLIDE 128

If PG is as secure as F , and Q is as secure as G,

Universal Composition - 2

Env

F

F Env P Q Env

F

P G

slide-129
SLIDE 129

If PG is as secure as F , and Q is as secure as G, then PQ is as secure as F

Universal Composition - 2

Env

F

F Env P Q Env

F

P G

slide-130
SLIDE 130

Universal Composition

slide-131
SLIDE 131

Universal Composition

More generally:

slide-132
SLIDE 132

Universal Composition

More generally: Start from world A (think “IDEAL ”)

slide-133
SLIDE 133

Universal Composition

More generally: Start from world A (think “IDEAL ”) Repeat (for any poly number of times):

slide-134
SLIDE 134

Universal Composition

More generally: Start from world A (think “IDEAL ”) Repeat (for any poly number of times): For some 2 “protocols” (that possibly make use of ideal functionalities) I and R such that R is as secure as I, substitute an I-session by an R-session

slide-135
SLIDE 135

Universal Composition

More generally: Start from world A (think “IDEAL ”) Repeat (for any poly number of times): For some 2 “protocols” (that possibly make use of ideal functionalities) I and R such that R is as secure as I, substitute an I-session by an R-session Say we obtain world B (think “REAL ”)

slide-136
SLIDE 136

Universal Composition

More generally: Start from world A (think “IDEAL ”) Repeat (for any poly number of times): For some 2 “protocols” (that possibly make use of ideal functionalities) I and R such that R is as secure as I, substitute an I-session by an R-session Say we obtain world B (think “REAL ”) UC Theorem: Then world B is as secure as world A

slide-137
SLIDE 137

Universal Composition

More generally: Start from world A (think “IDEAL ”) Repeat (for any poly number of times): For some 2 “protocols” (that possibly make use of ideal functionalities) I and R such that R is as secure as I, substitute an I-session by an R-session Say we obtain world B (think “REAL ”) UC Theorem: Then world B is as secure as world A Gives a modular implementation of the IDEAL world

slide-138
SLIDE 138

UC and SIM-security

slide-139
SLIDE 139

UC and SIM-security

Key to universal composition is allowing an arbitrary environment in the SIM-security definition

slide-140
SLIDE 140

UC and SIM-security

Key to universal composition is allowing an arbitrary environment in the SIM-security definition Even when considering only one component, other components could be present in the environment

slide-141
SLIDE 141

UC and SIM-security

Key to universal composition is allowing an arbitrary environment in the SIM-security definition Even when considering only one component, other components could be present in the environment Considering an arbitrary environment is anyway necessary for the security guarantee to be useful

slide-142
SLIDE 142

UC and SIM-security

Key to universal composition is allowing an arbitrary environment in the SIM-security definition Even when considering only one component, other components could be present in the environment Considering an arbitrary environment is anyway necessary for the security guarantee to be useful But by itself may not imply universal composition: e.g. with PPT REAL world, unbounded IDEAL (simulator or functionality)

slide-143
SLIDE 143

UC and SIM-security

Key to universal composition is allowing an arbitrary environment in the SIM-security definition Even when considering only one component, other components could be present in the environment Considering an arbitrary environment is anyway necessary for the security guarantee to be useful But by itself may not imply universal composition: e.g. with PPT REAL world, unbounded IDEAL (simulator or functionality) Also, UC by itself does not imply a meaningful security (nor require an environment)

slide-144
SLIDE 144

UC and SIM-security

Key to universal composition is allowing an arbitrary environment in the SIM-security definition Even when considering only one component, other components could be present in the environment Considering an arbitrary environment is anyway necessary for the security guarantee to be useful But by itself may not imply universal composition: e.g. with PPT REAL world, unbounded IDEAL (simulator or functionality) Also, UC by itself does not imply a meaningful security (nor require an environment) e.g. Define security of composed system as security of each individual component; Or, define everything secure.

slide-145
SLIDE 145

REAL

Proving the UC theorem

Env P Q

slide-146
SLIDE 146

REAL

Proving the UC theorem

Env P Q

slide-147
SLIDE 147

REAL

Proving the UC theorem

Env P Q Consider environment which runs the adversary internally, and depends on “dummy adversaries” to interface with the protocols

slide-148
SLIDE 148

REAL

Proving the UC theorem

Env P Q Consider environment which runs the adversary internally, and depends on “dummy adversaries” to interface with the protocols

slide-149
SLIDE 149

REAL

Proving the UC theorem

Env P Q Consider environment which runs the adversary internally, and depends on “dummy adversaries” to interface with the protocols Now consider new environment s.t. only Q (and its adversary) is outside it

slide-150
SLIDE 150

REAL

Proving the UC theorem

Env P Q Consider environment which runs the adversary internally, and depends on “dummy adversaries” to interface with the protocols Now consider new environment s.t. only Q (and its adversary) is outside it

slide-151
SLIDE 151

REAL

Proving the UC theorem

Env P Q Consider environment which runs the adversary internally, and depends on “dummy adversaries” to interface with the protocols Now consider new environment s.t. only Q (and its adversary) is outside it Use “Q is as secure as G” to get a new world with G and a new adversary Env

F

P G

slide-152
SLIDE 152

REAL

Proving the UC theorem

Env P Q Consider environment which runs the adversary internally, and depends on “dummy adversaries” to interface with the protocols Now consider new environment s.t. only Q (and its adversary) is outside it Use “Q is as secure as G” to get a new world with G and a new adversary Env

F

P G

slide-153
SLIDE 153

Proving the UC theorem

Env

F

P G

slide-154
SLIDE 154

Proving the UC theorem

Env

F

P G Now consider new environment s.t. only P (and adversary) is outside it

slide-155
SLIDE 155

Proving the UC theorem

Env

F

P G Now consider new environment s.t. only P (and adversary) is outside it

slide-156
SLIDE 156

Proving the UC theorem

Env

F

P G Now consider new environment s.t. only P (and adversary) is outside it Note: G and simulator for Q/G are inside the new environment

slide-157
SLIDE 157

Proving the UC theorem

Env

F

P G Now consider new environment s.t. only P (and adversary) is outside it Note: G and simulator for Q/G are inside the new environment Use “P is as secure as F” to get a new world with F and a new adversary

F

Env

F

G

slide-158
SLIDE 158

Proving the UC theorem

Env

F

P G Now consider new environment s.t. only P (and adversary) is outside it Note: G and simulator for Q/G are inside the new environment Use “P is as secure as F” to get a new world with F and a new adversary

F

Env

F

G