commit some partial slides in case i get hit by a bus
[tor.git] / doc / codecon04.mgp
blobd78191edb6a5ce9ca93970c0267818f22034cb91
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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35 %page
36 %nodefault
37 %center, size 9, font "thick", back "white", fore "black"
39 Tor: 
40 %size 8
41 Next-generation Onion Routing
44 %size 7
45 Roger Dingledine
46 Nick Mathewson
47 Paul Syverson
49 The Free Haven Project
50 %font "typewriter", fore "blue"
51 http://freehaven.net/
53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
54 %page
56 Low-latency anonymity system
58 %leftfill
59 Deployed: 20 nodes, hundreds (?) of users
61 Many improvements on earlier design
63 Free software -- available source code
65 Design is not covered by earlier onion routing
66 patent
68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69 %page
71 Talk Overview
73 A bit about Onion Routing
75 Improvements we've made
77 Some related work
79 Some lessons learned
81 Ask me questions
83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
84 %page
86 Anonymity: Who needs it?
88 Private citizens
89         advocacy, counseling, whistleblowing, reporting, ...
90 %size 6
91 Higher-level protocols
92         voting, e-cash, auctions
93 %size 6
94 Government applications
95         research, law enforcement
96 %size 6
97 Business applications
98         hide relationships and volumes of communication
99         Who is visiting job sites?
100         Which groups are talking to patent lawyers?
101         Who are your suppliers and customers?
102         Is the CEO talking to a buyout partner?
104 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105 %page
107 Anonymity is a network effect
109 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
110 %page
112 Onion Routing is...
114 An overlay network
116 Users build virtual circuits through the network
118 One layer of encryption at each hop
120 Fixed-size cells
122 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
123 %page
125 Tor's goal
127 Conservative design (minimize new design work needed)
129 Support testing of future research
131 Design for deployment; deploy for use
133 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134 %page
136 Threat model
138 Protect against curious Bob
140 Protect against somebody watching Alice
142 Protect against a few curious nodes in the middle
144 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
145 %page
147 Differences / limitations
150 We're TCP-only, not all IP (but we're user-space and very portable)
152 Not peer-to-peer
154 No protocol normalization
156 %%Not unobservable
158 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159 %page
161 Perfect forward secrecy
164 Telescoping circuit
166         negotiates keys at each hop
168 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
169 %%page
171 %%Separation from "protocol cleaning"
173 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
174 %page
176 No mixing, padding, traffic shaping (yet)
179 Please show us they're worth the usability tradeoff
181 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182 %%page
184 %%Many TCP streams can share one circuit
186 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
187 %page
189 Congestion control
192 Simple rate limiting
194 Plus have to keep internal nodes from overflowing
196 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
197 %page
199 Directory servers
202 Approve new servers
204 Tell clients who's up right now
206         plus their keys, location, etc
208 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
209 %page
211 Variable exit policies
214 Each server allows different outgoing connections
216 E.g. no servers allow outgoing mail currently
218 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
219 %page
221 End-to-end integrity checking
224 In previous onion routing, an insider could change
225 the text being transmitted:
227 "dir" => "rm *"
229 Even an external adversary could do this!
231 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
232 %page
234 Rendezvous points
237 allow hidden services
239 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
240 %page
242 Related work
244 c/n vs c^2/n^2 vs 2
246 freedom, peekabooty, jap
248 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
249 %page
251 Future work
253 Threshold directory agreement
255 Restricted-route (non-clique) topology
257 Morphmix/p2p extensions?
259 Location-hidden servers via rendezvous points
261 Make it work better
263 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
264 %page
266 We have working code
269 Plus a design document,
270 and a byte-level specification
272 %size 9
273 http://freehaven.net/tor/
275 %size 6
276 Privacy Enhancing Technologies workshop
278 %size 9
279 http://petworkshop.org/