a formal analysis of onion routing 10/26/2007 aaron johnson (yale) with joan feigenbaum (yale) paul...

80
A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Upload: mary-cobb

Post on 26-Mar-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

A Formal Analysis of Onion Routing

10/26/2007

Aaron Johnson (Yale)

with

Joan Feigenbaum (Yale)

Paul Syverson (NRL)

Page 2: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Papers

1. A Model of Onion Routing with Provable AnonymityFinancial Cryptography and Data Security 2007

2. A Probabilistic Analysis of Onion Routing in a Black-box ModelWorkshop on Privacy in the Electronic Society 2007

Page 3: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

• Relationship anonymity: Adversary can’t determine who talks to whom

Page 4: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

• Relationship anonymity: Adversary can’t determine who talks to whom

Page 5: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

How Onion Routing Works

User u running client Internet destination d

Routers running servers

u d

1 2

3

45

Page 6: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

1 2

3

45

Page 7: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

1 2

3

45

Page 8: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

How Onion Routing Works

u d

1. u creates 3-hop circuit through routers

1 2

3

45

Page 9: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 10: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 11: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 12: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 13: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 14: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 15: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 16: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 17: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 18: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 19: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 20: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Results

Page 21: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Results1. Formally model onion routing using

input/output automata

Page 22: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Results1. Formally model onion routing using

input/output automata

2. Analyze relationship anonymitya. Characterize situations with possibilistic

anonymity

b. Bound probabilistic anonymity in worst-case and typical situations

Page 23: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Related Work

• A Formal Treatment of Onion RoutingJan Camenisch and Anna LysyanskayaCRYPTO 2005

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

• Towards an Analysis of Onion Routing SecurityP. Syverson, G. Tsudik, M. Reed, and C. LandwehrPET 2000

Page 24: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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– Each user constructs a circuit to one destination– Circuit identifiers

Page 25: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 26: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 27: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 28: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 29: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 30: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 31: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 32: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 33: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 34: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Automata Protocol

u

v

w

Page 35: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

u 1 2 3

Page 36: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

[0,{CREATE}1]

1. CREATE/CREATED

u 1 2 3

Page 37: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

[0,CREATED]

1. CREATE/CREATED

u 1 2 3

Page 38: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

u 1 2 3

Page 39: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

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

u 1 2 3

Page 40: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

[l1,{CREATE}2]

u 1 2 3

Page 41: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

[l1,CREATED]u 1 2 3

Page 42: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

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

Page 43: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 44: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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]

Page 45: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

[l2,{CREATE}3]

u 1 2 3

Page 46: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

[l2,CREATED]u 1 2 3

Page 47: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

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

Page 48: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Creating a Circuit

1. CREATE/CREATED

2. EXTEND/EXTENDED

3. [Repeat with layer of encryption]

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

Page 49: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Adversary

u

1 2

3

45

d

Active & Local

Page 50: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Possibilistic Anonymity

Page 51: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

AnonymityLet U be the set of users.Let R be the set of routers.Let l be the path length.

Page 52: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Anonymity

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

Let U be the set of users.Let R be the set of routers.Let l be the path length.

Page 53: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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.

Let U be the set of users.Let R be the set of routers.Let l be the path length.

Page 54: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

AnonymityDefinition (fair): In fair executions actions enabled infinitely often occur infinitely often

Definition (cryptographic): In cryptographic executions no encrypted control messages are sent before they are received unless the sender possesses the key

Page 55: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Theorem 1: 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.

Page 56: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Cu

v

1 2

3

45

Theorem 1: 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.

Page 57: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

u

v

1 2

3

45

32

C D

Theorem 1: 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.

Page 58: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

u

v

1 2

3

45

32

C Dv

u

2 25

4

Theorem 1: 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.

Page 59: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

u

v

1 2

3

45

C D

Theorem 1: 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

Page 60: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Relationship anonymityCorollary : A user and destination have rel. anonymity iff:

Page 61: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Relationship anonymity

23u 4?5?

The last router is unknown.

Corollary : A user and destination have rel. anonymity iff:

Page 62: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

OR

Relationship anonymity

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 and destination have rel. anonymity iff:

Page 63: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

OR

OR

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

5 1 2

Relationship anonymity

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 and destination have rel. anonymity iff:

Page 64: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Probabilistic Anonymity

Page 65: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Adding probability

1. To configurationsa. User u selects destination d with probability

pud.

b. Users select routers randomly.

2. To executionsa. Each execution in a configuration is equally

likely.

Page 66: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Page 67: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

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

Probabilistic relationship anonymity metric:Let X be a random configuration.Let XD: UD be the destinations in X.The metric Y for the relationship anonymity of u and d in C is:

Y(C) = Pr[XD(u)=d | XC]

Page 68: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Probabilistic Anonymity

• Other measures (e.g. entropy, min entropy)

• Measures effect on the individual user

• Exact Bayesian inference– Adversary after long-term intersection attack– Worst-case adversary

Page 69: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Probabilistic Anonymity

1. Fixing u and d doesn’t determine C.

2. Y(C) thus has a distribution.

3. This distribution depends on each pv.

4. E[Y | XD(u)=d]

a. Worst case

b. Typical case

Page 70: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Worst-case Anonymity

Theorem 2: The maximum of E[Y | XD(u)=d] over (pv)vu occurs when

1. pv=1 for all vu OR

2. pvd=1 for all vu

Let pu1 pu

2 pud-1 pu

d+1 … pu

Page 71: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Worst-case EstimatesLet n be the number of nodes.Let b be the fraction of compromised nodes.

Page 72: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Worst-case Estimates

Theorem 3: When pv=1 for all vu:

E[Y | XD(u)=d] = b + b(1-b)pud +

(1-b)2 pud [(1-b)/(1-(1- pu

)b)) + O(logn/n)]

Let n be the number of nodes.Let b be the fraction of compromised nodes.

Page 73: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Worst-case Estimates

Theorem 3: When pv=1 for all vu:

E[Y | XD(u)=d] = b + b(1-b)pud +

(1-b)2 pud [(1-b)/(1-(1- pu

)b)) + O(logn/n)]

Theorem 4: When pvd=1 for all vu:

E[Y | XD(u)=d] = b2 + b(1-b)pud +

(1-b) pud/(1-(1- pu

d)b) + O(logn/n)]

Let n be the number of nodes.Let b be the fraction of compromised nodes.

Page 74: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Worst-case Estimates

Theorem 3: When pv=1 for all vu:

E[Y | XD(u)=d] = b + b(1-b)pud +

(1-b)2 pud [(1-b)/(1-(1- pu

)b)) + O(logn/n)]

Let n be the number of nodes.Let b be the fraction of compromised nodes.

Page 75: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Worst-case Estimates

Theorem 3: When pv=1 for all vu:

E[Y | XD(u)=d] = b + b(1-b)pud +

(1-b)2 pud [(1-b)/(1-(1- pu

)b)) + O(logn/n)]

b + (1-b) pud

Let n be the number of nodes.Let b be the fraction of compromised nodes.

Page 76: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Worst-case Estimates

Theorem 3: When pv=1 for all vu:

E[Y | XD(u)=d] = b + b(1-b)pud +

(1-b)2 pud [(1-b)/(1-(1- pu

)b)) + O(logn/n)]

b + (1-b) pud

E[Y | XD(u)=d] b2 + (1-b2) pud

Let n be the number of nodes.Let b be the fraction of compromised nodes.

Page 77: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Typical Case

Let each user select from the Zipfian distribution: pdi

= 1/(is)

Theorem 5:E[Y | XD(u)=d] = b2 + (1 − b2)pu

d+ O(1/n)

Page 78: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Typical Case

Let each user select from the Zipfian distribution: pdi

= 1/(is)

Theorem 5:E[Y | XD(u)=d] = b2 + (1 − b2)pu

d+ O(1/n)E[Y | XD(u)=d] b2 + (1 − b2)pu

d

Page 79: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Results1. Formally model onion routing using

input/output automata

2. Analyze relationship anonymitya. Characterize situations with possibilistic

anonymity

b. Bound probabilistic anonymity in worst-case and typical situations

Page 80: A Formal Analysis of Onion Routing 10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)

Future Work

1. Extend analysis to other types of anonymity and to other systems.

2. Examine how quickly users distribution are learned.

3. Analyze timing attacks.