1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %%deffont "standard" xfont "comic sans ms-medium-r"
3 %%deffont "thick" xfont "arial black-medium-r"
4 %%deffont "typewriter" xfont "courier new-bold-r"
5 %%deffont "type2writer" xfont "arial narrow-bold-r"
6 %%deffont "standard" tfont "standard.ttf", tmfont "kochi-mincho.ttf"
7 %%deffont "thick" tfont "thick.ttf", tmfont "goth.ttf"
8 %%deffont "typewriter" tfont "typewriter.ttf", tmfont "goth.ttf"
9 %deffont "standard" xfont "helvetica-medium-r", tfont "arial.ttf", tmfont "times.ttf"
10 %deffont "thick" xfont "helvetica-bold-r", tfont "arialbd.ttf", tmfont "hoso6.ttf"
11 %deffont "italic" xfont "helvetica-italic-r", tfont "ariali.ttf", tmfont "hoso6.ttf"
12 %deffont "typewriter" xfont "courier-medium-r", tfont "typewriter.ttf", tmfont "hoso6.ttf"
13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15 %% Default settings per each line numbers.
17 %default 1 leftfill, size 8, fore "black", back "white", font "thick", hgap 1
18 %default 2 size 8, vgap 10, prefix " ", ccolor "black"
19 %default 3 size 6, bar "gray70", vgap 0
20 %default 4 size 6, fore "black", vgap 0, prefix " ", font "standard"
22 %%default 1 area 90 90, leftfill, size 9, fore "yellow", back "blue", font "thick"
23 %%default 2 size 9, vgap 10, prefix " "
24 %%default 3 size 7, bar "gray70", vgap 10
25 %%default 4 size 7, vgap 30, prefix " ", font "standard"
26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
28 %% Default settings that are applied to TAB-indented lines.
30 %tab 1 size 5, vgap 40, prefix " ", icon arc "red" 50
31 %tab 2 size 4, vgap 35, prefix " ", icon delta3 "blue" 40
32 %tab 3 size 3, vgap 35, prefix " ", icon dia "DarkViolet" 40
34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
37 %center, size 9, font "thick", back "white", fore "black"
41 Next-generation Onion Routing
49 The Free Haven Project
50 %font "typewriter", fore "blue"
53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 Low-latency anonymity system
59 Deployed: 20 nodes, hundreds (?) of users
61 Many improvements on earlier design
63 Free software -- modified BSD license
65 Design is not covered by earlier onion routing
68 Uses SOCKS to interface with client apps
70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
77 and a design document,
78 and a byte-level specification,
79 and a Debian package (in Unstable)
81 Works on Linux, BSD, OSX, Cygwin, ...
82 User-space, doesn't need kernel mods or root
85 http://freehaven.net/tor/
87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
92 %%A bit about Onion Routing
94 %%Improvements we've made
100 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103 Anonymity: Who needs it?
106 advocacy, counseling, whistleblowing, reporting, ...
108 Higher-level protocols
109 voting, e-cash, auctions
111 Government applications
112 research, law enforcement
114 Business applications
116 (hide relationships and volumes of communication)
117 Who is visiting job sites?
118 Which groups are talking to patent lawyers?
119 Who are your suppliers and customers?
120 Is the CEO talking to a buyout partner?
122 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
125 Anonymity is a network effect
127 Systems need traffic (many low-sensitivity users) to attract the high-sensitivity users
128 Most users do not value anonymity much
129 Weak security (fast system) can mean more users
133 %cont, font "standard"
135 High-sensitivity agents have incentive to run nodes
136 so they can be certain first node in their path is good
137 to attract traffic for their messages
138 There can be an optimal level of free-riding
140 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
147 Users build virtual circuits through the network
149 One layer of encryption at each hop
153 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159 minimize new design work needed
162 Support testing of future research
164 Design for deployment; deploy for use
166 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169 Threat model -- what we aim for
171 Protect against somebody watching Alice
173 Protect against curious Bob
175 Protect against `some' curious nodes in the middle
177 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180 Differences / limitations
183 We're TCP-only, not all IP (but we're user-space and very portable)
185 Not as strong as high-latency systems (Mixmaster, Mixminion)
189 No protocol normalization
191 Not unobservable (no steg, etc)
193 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
196 Perfect forward secrecy
201 negotiates keys at each hop
202 no more need for replay detection
204 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
207 No mixing, padding, traffic shaping (yet)
210 Please show us they're worth the usability tradeoff
212 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215 %%Many TCP streams can share one circuit
218 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
221 Many TCP streams share a circuit
223 Previous designs built a new circuit for each stream
225 lots of public key ops per request
226 plus anonymity dangers from making so many circuits
228 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
231 Leaky-pipe circuit topology
233 Alice can direct cells to any node in her circuit
235 So we can support long-range padding,
236 have multiple streams exiting at different places in the circuit
240 Unclear whether this is dangerous or useful
244 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
252 Plus have to keep internal nodes from overflowing
254 (Can't use global state or inter-node control)
256 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
261 To solve the `introduction' problem
265 Tell clients who's up right now
267 plus their keys, location, etc
269 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
272 Variable exit policies
275 Each server allows different outgoing connections
277 E.g. no servers allow outgoing mail currently
279 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
282 End-to-end integrity checking
285 In previous onion routing, an insider could change
286 the text being transmitted:
290 Even an external adversary could do this!
292 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
297 allow hidden services
299 don't need (brittle) reply onions
301 Access-controlled: Bob can control who he talks to
302 Robust: Bob's service is available even when some Tor nodes go down
303 Smear-resistant: Evil service can't frame a rendezvous router
304 Application-transparent: Don't need to modify Bob's apache
307 (Not implemented yet)
309 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
312 How do we compare security?
314 Assume adversary owns c of n nodes
317 What's the chance for a random Alice and Bob that he wins?
319 Freedom, Tor: (c/n)^2
320 Peekabooty, six-four, etc: c/n
321 Jap (if no padding): 1 if c>1
324 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
329 Threshold directory agreement
331 Scalability: Morphmix/p2p extensions?
332 Restricted-route (non-clique topology)
336 Implement rendezvous points
340 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
345 Plus a design document,
346 and a byte-level specification
347 and a Debian package (in Unstable)
350 http://freehaven.net/tor/
353 Privacy Enhancing Technologies workshop
356 http://petworkshop.org/