• 800 likes • 822 Views
This paper explores the formal analysis of Onion Routing, focusing on sender, receiver, and relationship anonymity. It delves into how Onion Routing works, circuit creation, data exchange, and anonymity models. The study uses input/output automata to examine probabilistic and possibilistic anonymity.
E N D
A Formal Analysis of Onion Routing10/26/2007 Aaron Johnson (Yale) with Joan Feigenbaum (Yale) Paul Syverson (NRL)
Papers • A Model of Onion Routing with Provable AnonymityFinancial Cryptography and Data Security 2007 • A Probabilistic Analysis of Onion Routing in a Black-box ModelWorkshop on Privacy in the Electronic Society 2007
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
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
How Onion Routing Works 1 2 u d 3 5 User u running client Internet destination d 4 Routers running servers
How Onion Routing Works 1 2 u d 3 5 4 • u creates 3-hop circuit through routers
How Onion Routing Works 1 2 u d 3 5 4 • u creates 3-hop circuit through routers
How Onion Routing Works 1 2 u d 3 5 4 • u creates 3-hop circuit through routers
How Onion Routing Works 1 2 u d 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d
How Onion Routing Works {{{m}3}4}1 1 2 u d 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 u d 3 5 {{m}3}4 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 u d 3 5 {m}3 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 u m d 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 u d m’ 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 u d 3 5 4 {m’}3 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 u {{m’}3}4 d 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 {{{m’}3}4}1 u d 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged
How Onion Routing Works 1 2 u d 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged. • Stream is closed.
How Onion Routing Works 1 2 u d 3 5 4 • u creates 3-hop circuit through routers • u opens a stream in the circuit to d • Data is exchanged. • Stream is closed. • Circuit is changed every few minutes.
Results • Formally model onion routing using input/output automata
Results • Formally model onion routing using input/output automata • Analyze relationship anonymity • Characterize situations with possibilistic anonymity • Bound probabilistic anonymity in worst-case and typical situations
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
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
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Automata Protocol u v w
Creating a Circuit u 1 2 3
Creating a Circuit [0,{CREATE}1] u 1 2 3 • CREATE/CREATED
Creating a Circuit u 1 2 3 [0,CREATED] • CREATE/CREATED
Creating a Circuit u 1 2 3 • CREATE/CREATED
Creating a Circuit [0,{[EXTEND,2,{CREATE}2]}1] u 1 2 3 • CREATE/CREATED • EXTEND/EXTENDED
Creating a Circuit [l1,{CREATE}2] u 1 2 3 • CREATE/CREATED • EXTEND/EXTENDED
Creating a Circuit u 1 2 3 [l1,CREATED] • CREATE/CREATED • EXTEND/EXTENDED
Creating a Circuit u 1 2 3 [0,{EXTENDED}1] • CREATE/CREATED • EXTEND/EXTENDED
Creating a Circuit [0,{{[EXTEND,3,{CREATE}3]}2}1] u 1 2 3 • CREATE/CREATED • EXTEND/EXTENDED • [Repeat with layer of encryption]
Creating a Circuit [l1,{[EXTEND,3,{CREATE}3]}2] u 1 2 3 • CREATE/CREATED • EXTEND/EXTENDED • [Repeat with layer of encryption]
Creating a Circuit [l2,{CREATE}3] u 1 2 3 • CREATE/CREATED • EXTEND/EXTENDED • [Repeat with layer of encryption]
Creating a Circuit u 1 2 3 [l2,CREATED] • CREATE/CREATED • EXTEND/EXTENDED • [Repeat with layer of encryption]
Creating a Circuit u 1 2 3 [l1,{EXTENDED}2] • CREATE/CREATED • EXTEND/EXTENDED • [Repeat with layer of encryption]
Creating a Circuit u 1 2 3 [0,{{EXTENDED}2}1] • CREATE/CREATED • EXTEND/EXTENDED • [Repeat with layer of encryption]
Adversary 1 2 u d 3 5 4 Active & Local