a model of onion routing with provable anonymity financial cryptography 07 2/12/07 aaron johnson...

99
A Model of Onion Routing with Provable Anonymity Financial Cryptography ’07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Upload: alexis-mcfadden

Post on 26-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

A Model of Onion Routing with Provable Anonymity

Financial Cryptography ’072/12/07

Aaron Johnson

with

Joan Feigenbaum

Paul Syverson

0

Page 2: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Overview

• Formally model onion routing using input/output automata

• Characterize the situations that provide anonymity

1

Page 3: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Anonymous Communication

• Mix Networks (1981)

• Dining cryptographers (1988)

• Onion routing (1999)

• Anonymous buses (2002)

2

Page 4: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Anonymous Communication

• Mix Networks (1981)

• Dining cryptographers (1988)

• Onion routing (1999)

• Anonymous buses (2002)

2

Page 5: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Onion Routing

• Practical design with low latency and overhead

• Open source implementation (http://tor.eff.org)

• Over 800 volunteer routers

• Estimated 200,000 users

3

Page 6: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Anonymous Communication

Mix Networks

Dining cryptographers

Onion routing

Anonymous buses

Deployed Analyzed

4

Page 7: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Related work• A Formal Treatment of Onion Routing

Jan Camenisch and Anna LysyanskayaCRYPTO 2005

• A formalization of anonymity and onion routingS. Mauw, J. Verschuren, and E.P. de VinkESORICS 2004

• I/O Automaton Models and Proofs for Shared-Key Communication SystemsNancy LynchCSFW 1999

5

Page 8: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Overview

• Formally model onion routing using input/output automata

• Characterize the situations that provide anonymity

6

Page 9: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Overview

• Formally model onion routing using input/output automata– Simplified onion-routing protocol– Non-cryptographic analysis

• Characterize the situations that provide anonymity

6

Page 10: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Overview

• Formally model onion routing using input/output automata– Simplified onion-routing protocol– Non-cryptographic analysis

• Characterize the situations that provide anonymity– Send a message, receive a message,

communicate with a destination– Possibilistic anonymity

6

Page 11: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

User u running client Internet destination d

Routers running servers

u d

1 2

3

45

7

Page 12: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

1 2

3

45

7

Page 13: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

1 2

3

45

7

Page 14: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

1 2

3

45

7

Page 15: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

1 2

3

45

7

Page 16: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

{{{m}3}4}1 1 2

3

45

7

Page 17: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

{{m}3}4

1 2

3

45

7

Page 18: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

{m}3

1 2

3

45

7

Page 19: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

m

1 2

3

45

7

Page 20: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

m’

1 2

3

45

7

Page 21: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

{m’}3

1 2

3

45

7

Page 22: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

{{m’}3}4

1 2

3

45

7

Page 23: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged

{{{m’}3}4}11 2

3

45

7

Page 24: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged.

4. Stream is closed.

1 2

3

45

7

Page 25: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u

1. u creates 3-hop circuit through routers

2. u opens a stream in the circuit to d

3. Data is exchanged.

4. Stream is closed.

5. Circuit is changed every few minutes.

1 2

3

45

d

7

Page 26: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u

1 2

3

45

d

8

Page 27: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u

1 2

3

45

d

8

Page 28: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u

1 2

3

45

d

Main theorem: Adversary can only determine parts of a circuit it controls or is next to.

8

Page 29: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

How Onion Routing Works

u

1 2

3

45

d

Main theorem: Adversary can only determine parts of a circuit it controls or is next to.

u 1 2

8

Page 30: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Anonymous Communication

• Sender anonymity: Adversary can’t determine the sender of a given message

• Receiver anonymity: Adversary can’t determine the receiver of a given message

• Unlinkability: Adversary can’t determine who talks to whom

9

Page 31: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Adversaries

• Passive & Global

• Active & Local

10

Page 32: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Adversaries

• Passive & Global

• Active & Local

10

Page 33: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Adversaries

• Passive & Global

• Active & Local

10

Page 34: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Adversaries

• Passive & Global

• Active & Local

10

Page 35: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Model• Constructed with I/O automata

– Models asynchrony– Relies on abstract properties of cryptosystem

• Simplified onion-routing protocol– No key distribution– No circuit teardowns– No separate destinations– No streams– No stream cipher– Each user constructs a circuit to one destination– Circuit identifiers

11

Page 36: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 37: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 38: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 39: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 40: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 41: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 42: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 43: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 44: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 45: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Automata Protocol

u

v

w

12

Page 46: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

u 1 2 3

13

Page 47: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

[0,{CREATE}1]

1. CREATE/CREATED

u 1 2 3

13

Page 48: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

[0,CREATED]

1. CREATE/CREATED

u 1 2 3

13

Page 49: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

u 1 2 3

13

Page 50: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

[0,{[EXTEND,2,{CREATE}2]}1]

u 1 2 3

14

Page 51: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

[l1,{CREATE}2]

u 1 2 3

14

Page 52: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

[l1,CREATED]u 1 2 3

14

Page 53: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

[0,{EXTENDED}1]u 1 2 3

14

Page 54: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

[0,{{[EXTEND,3,{CREATE}3]}2}1]

u 1 2 3

15

Page 55: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

u 1 2 3[l1,{[EXTEND,3,{CREATE}3]}2]

15

Page 56: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

[l2,{CREATE}3]

u 1 2 3

15

Page 57: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

[l2,CREATED]u 1 2 3

15

Page 58: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

[l1,{EXTENDED}2]u 1 2 3

15

Page 59: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

[0,{{EXTENDED}2}1]u 1 2 3

15

Page 60: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Input/Ouput Automata• States• Actions

– Input, ouput, internal

– Actions transition between states

• Every state has enabled actions• Input actions are always enabled• Alternating state/action sequence is an execution• In fair executions actions enabled infinitely often

occur infinitely often• In cryptographic executions no encrypted control

messages are sent before they are received unless the sender possesses the key

16

Page 61: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

I/O Automata Model

• Automata– User

– Server

– Fully-connected network of FIFO Channels

– Adversary replaces some servers with arbitrary automata

• Notation– U is the set of users

– R is the set of routers

– N = U R is the set of all agents

– A N is the adversary

– K is the keyspace

– l is the (fixed) circuit length

– k(u,c,i) denotes the ith key used by user u on circuit c

17

Page 62: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

User automaton

18

Page 63: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

User automaton

18

Page 64: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

User automaton

18

Page 65: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

User automaton

18

Page 66: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

User automaton

18

Page 67: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

User automaton

18

Page 68: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

User automaton

18

Page 69: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 70: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 71: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 72: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 73: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 74: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 75: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 76: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Server automaton

19

Page 77: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

AnonymityDefinition (configuration):

A configuration is a function URl mapping each user to his circuit.

20

Page 78: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Anonymity

Definition (indistinguishability):Executions and are indistinguishable to adversary A when his actions in are the same as in after possibly applying the following:

: A permutation on the keys not held by A. : A permutation on the messages encrypted by

a key not held by A.

Definition (configuration):A configuration is a function URl mapping each user to his circuit.

20

Page 79: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

AnonymityDefinition (anonymity):

User u performs action anonymously in configuration C with respect to adversary A if, for every execution of C in which u performs , there exists an execution that is indistinguishable to A in which u does not perform .

21

Page 80: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Anonymity

Definition (unlinkability):User u is unlinkable to d in configuration C with respect to adversary A if, for every fair, cryptographic execution of C in which u talk to d, there exists a fair, cryptographic execution that is indistinguishable to A in which u does not talk to d.

Definition (anonymity):User u performs action anonymously in configuration C with respect to adversary A if, for every execution of C in which u performs , there exists an execution that is indistinguishable to A in which u does not perform .

21

Page 81: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Theorem: Let C and D be configurations for which there exists a permutation : UU such that Ci(u) = Di((u)) if Ci(u) or Di((u)) is compromised or is adjacent to a compromised router. Then for every fair, cryptographic execution of C there exists an indistinguishable, fair, cryptographic execution of D. The converse also holds.

22

Page 82: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Cu

v

1 2

3

45

Theorem: Let C and D be configurations for which there exists a permutation : UU such that Ci(u) = Di((u)) if Ci(u) or Di((u)) is compromised or is adjacent to a compromised router. Then for every fair, cryptographic execution of C there exists an indistinguishable, fair, cryptographic execution of D. The converse also holds.

22

Page 83: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

u

v

1 2

3

45

32

C D

Theorem: Let C and D be configurations for which there exists a permutation : UU such that Ci(u) = Di((u)) if Ci(u) or Di((u)) is compromised or is adjacent to a compromised router. Then for every fair, cryptographic execution of C there exists an indistinguishable, fair, cryptographic execution of D. The converse also holds.

22

Page 84: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

u

v

1 2

3

45

32

C Dv

u

2 25

4

Theorem: Let C and D be configurations for which there exists a permutation : UU such that Ci(u) = Di((u)) if Ci(u) or Di((u)) is compromised or is adjacent to a compromised router. Then for every fair, cryptographic execution of C there exists an indistinguishable fair, cryptographic execution of D. The converse also holds.

22

Page 85: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

u

v

1 2

3

45

C D

Theorem: Let C and D be configurations for which there exists a permutation : UU such that Ci(u) = Di((u)) if Ci(u) or Di((u)) is compromised or is adjacent to a compromised router. Then for every fair, cryptographic execution of C there exists an indistinguishable fair, cryptographic execution of D. The converse also holds.

u

v

1 2

3

45

22

Page 86: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 87: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Proof: To construct : 1. Replace any message sent or received between u (v) and C1(u) (C1(v)) in with a message sent or received between v (u) and C1(u) (C1(v)).

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 88: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Proof: To construct : 1. Replace any message sent or received between u (v) and C1(u) (C1(v)) in with a message sent or received between v (u) and C1(u) (C1(v)). 2. Let the permutation send u to v and v to u and other users to themselves. Apply to the encryption keys.

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 89: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Proof: To construct : 1. Replace any message sent or received between u (v) and C1(u) (C1(v)) in with a message sent or received between v (u) and C1(u) (C1(v)). 2. Let the permutation send u to v and v to u and other users to themselves. Apply to the encryption keys. is an execution of D:

is fair:

is cryptographic:

is indistinguishable:

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 90: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Proof: To construct : 1. Replace any message sent or received between u (v) and C1(u) (C1(v)) in with a message sent or received between v (u) and C1(u) (C1(v)). 2. Let the permutation send u to v and v to u and other users to themselves. Apply to the encryption keys. is an execution of D: Only actions by u, v, C1(u), and C1(v) have been added. These actions are modified so that they remain valid. is fair:

is cryptographic:

is indistinguishable:

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 91: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Proof: To construct : 1. Replace any message sent or received between u (v) and C1(u) (C1(v)) in with a message sent or received between v (u) and C1(u) (C1(v)). 2. Let the permutation send u to v and v to u and other users to themselves. Apply to the encryption keys. is an execution of D: Only actions by u, v, C1(u), and C1(v) have been added. These actions are modified so that they remain valid. is fair: No new actions have been added. Router enabling is invariant under user permutations. Users only communicate with first router. is cryptographic:

is indistinguishable:

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 92: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Proof: To construct : 1. Replace any message sent or received between u (v) and C1(u) (C1(v)) in with a message sent or received between v (u) and C1(u) (C1(v)). 2. Let the permutation send u to v and v to u and other users to themselves. Apply to the encryption keys. is an execution of D: Only actions by u, v, C1(u), and C1(v) have been added. These actions are modified so that they remain valid. is fair: No new actions have been added. Router enabling is invariant under user permutations. Users only communicate with first router. is cryptographic: Key permutations are applied to the entire sequence, and the original sequence was cryptographic. is indistinguishable:

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 93: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Proof: To construct : 1. Replace any message sent or received between u (v) and C1(u) (C1(v)) in with a message sent or received between v (u) and C1(u) (C1(v)). 2. Let the permutation send u to v and v to u and other users to themselves. Apply to the encryption keys. is an execution of D: Only actions by u, v, C1(u), and C1(v) have been added. These actions are modified so that they remain valid. is fair: No new actions have been added. Router enabling is invariant under user permutations. Users only communicate with first router. is cryptographic: Key permutations are applied to the entire sequence, and the original sequence was cryptographic. is indistinguishable:The permutation needed to make look like to A is just the reverse of the key permutation used to create .

Lemma: Let u, v be two distinct users such that neither they nor the first routers in their circuits are compromised in configuration C. Let D be identical to C except the circuits of users u and v are switched. For any fair, cryptographic execution of C there exists a fair, cryptographic execution of D that is indistinguishable to A.

23

Page 94: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

UnlinkabilityCorollary: A user is unlinkable to its destination when:

24

Page 95: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Unlinkability

23u 4?5?

The last router is unknown.

Corollary: A user is unlinkable to its destination when:

24

Page 96: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

OR

Unlinkability

23u 4?5?

The last router is unknown.

12 4The user is unknown and another unknown user has an unknown destination.

5 2?5?

4?

Corollary: A user is unlinkable to its destination when:

24

Page 97: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

OR

OR

12 4The user is unknown and another unknown user has a different destination.

5 1 2

Unlinkability

23u 4?5?

The last router is unknown.

12 4The user is unknown and another unknown user has an unknown destination.

5 2?5?

4?

Corollary: A user is unlinkable to its destination when:

24

Page 98: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Model Robustness

• Only single encryption still works

• Can remove circuit identifiers

• Can include stream ciphers

• May allow users to create multiple circuits

25

Page 99: A Model of Onion Routing with Provable Anonymity Financial Cryptography 07 2/12/07 Aaron Johnson with Joan Feigenbaum Paul Syverson 0

Future Work

• Construct better models of time

• Exhibit a cryptosystem with the desired properties

• Incorporate probabilistic behavior by users

26