| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%deffont "standard" xfont "comic sans ms-medium-r"%%deffont "thick" xfont "arial black-medium-r"%%deffont "typewriter" xfont "courier new-bold-r"%%deffont "type2writer" xfont "arial narrow-bold-r"%%deffont "standard"   tfont "standard.ttf",   tmfont "kochi-mincho.ttf"%%deffont "thick"      tfont "thick.ttf",      tmfont "goth.ttf"%%deffont "typewriter" tfont "typewriter.ttf", tmfont "goth.ttf"%deffont "standard" xfont "helvetica-medium-r", tfont "arial.ttf", tmfont "times.ttf"%deffont "thick" xfont "helvetica-bold-r", tfont "arialbd.ttf", tmfont "hoso6.ttf"%deffont "italic" xfont "helvetica-italic-r", tfont "ariali.ttf", tmfont "hoso6.ttf"%deffont "typewriter" xfont "courier-medium-r", tfont "typewriter.ttf", tmfont "hoso6.ttf"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Default settings per each line numbers.%%%default 1 leftfill, size 8, fore "black", back "white", font "thick", hgap 1%default 2 size 8, vgap 10, prefix " ", ccolor "black"%default 3 size 6, bar "gray70", vgap 0%default 4 size 6, fore "black", vgap 0, prefix " ", font "standard"%%%%default 1 area 90 90, leftfill, size 9, fore "yellow", back "blue", font "thick"%%default 2 size 9, vgap 10, prefix " "%%default 3 size 7, bar "gray70", vgap 10%%default 4 size 7, vgap 30, prefix " ", font "standard"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Default settings that are applied to TAB-indented lines.%%%tab 1 size 5, vgap 40, prefix "     ", icon arc "red" 50%tab 2 size 4, vgap 35, prefix "            ", icon delta3 "blue" 40%tab 3 size 3, vgap 35, prefix "                        ", icon dia "DarkViolet" 40%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%page%nodefault%center, size 9, font "thick", back "white", fore "black"Tor: %size 8Next-generation Onion Routing%size 7Roger DingledineNick MathewsonPaul SyversonThe Free Haven Project%font "typewriter", fore "blue"http://freehaven.net/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageLow-latency anonymity system%leftfillDeployed: 20 nodes, hundreds (?) of usersMany improvements on earlier designFree software -- modified BSD licenseDesign is not covered by earlier onion routingpatentUses SOCKS to interface with client apps%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageWe have working code(14 kloc of C)and a design document,and a byte-level specification,and a Debian package (in Unstable)Works on Linux, BSD, OSX, Cygwin, ...User-space, doesn't need kernel mods or root%size 9http://freehaven.net/tor/%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%page%%%%Talk Overview%%%%A bit about Onion Routing%%%%Improvements we've made%%%%Some related work%%%%Ask me questions%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageAnonymity: Who needs it?Private citizens	advocacy, counseling, whistleblowing, reporting, ...%size 6Higher-level protocols	voting, e-cash, auctions%size 6Government applications	research, law enforcement%size 6Business applications%size 5(hide relationships and volumes of communication)	Who is visiting job sites?	Which groups are talking to patent lawyers?	Who are your suppliers and customers?	Is the CEO talking to a buyout partner?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageAnonymity is a network effect	Systems need traffic (many low-sensitivity users) to attract the high-sensitivity users	Most users do not value anonymity much	Weak security (fast system) can mean more users		which can mean %cont, font "italic"stronger %cont, font "standard"anonymity	High-sensitivity agents have incentive to run nodes		so they can be certain first node in their path is good		to attract traffic for their messages	There can be an optimal level of free-riding%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageOnion Routing is...An overlay networkUsers build virtual circuits through the networkOne layer of encryption at each hopFixed-size cells%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageTor's goalsConservative design	minimize new design work needed%size 6Support testing of future researchDesign for deployment; deploy for use%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageThreat model -- what we aim forProtect against somebody watching AliceProtect against curious BobProtect against `some' curious nodes in the middle%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageDifferences / limitationsWe're TCP-only, not all IP (but we're user-space and very portable)Not as strong as high-latency systems (Mixmaster, Mixminion)Not peer-to-peerNo protocol normalizationNot unobservable (no steg, etc)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pagePerfect forward secrecyTelescoping circuit	negotiates keys at each hop	no more need for replay detection%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageNo mixing, padding, traffic shaping (yet)Please show us they're worth the usability tradeoff%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%page%%%%Many TCP streams can share one circuit%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageMany TCP streams share a circuitPrevious designs built a new circuit for each stream	lots of public key ops per request	plus anonymity dangers from making so many circuits%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageLeaky-pipe circuit topologyAlice can direct cells to any node in her circuit	So we can support long-range padding,	have multiple streams exiting at different places in the circuit	etc%size 6Unclear whether this is dangerous or usefulMore research needed%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageCongestion controlSimple rate limitingPlus have to keep internal nodes from overflowing(Can't use global state or inter-node control)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageDirectory serversTo solve the `introduction' problemApprove new serversTell clients who's up right now	plus their keys, location, etc%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageVariable exit policiesEach server allows different outgoing connectionsE.g. no servers allow outgoing mail currently%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageEnd-to-end integrity checkingIn previous onion routing, an insider could changethe text being transmitted:"dir" => "rm *"Even an external adversary could do this!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageRendezvous pointsallow hidden servicesdon't need (brittle) reply onions	Access-controlled: Bob can control who he talks to	Robust: Bob's service is available even when some Tor nodes go down	Smear-resistant: Evil service can't frame a rendezvous router	Application-transparent: Don't need to modify Bob's apache%size 6(Not implemented yet)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageHow do we compare security?Assume adversary owns c of n nodes	can choose which%size 6What's the chance for a random Alice and Bob that he wins?Freedom, Tor: (c/n)^2Peekabooty, six-four, etc: c/nJap (if no padding): 1 if c>1Anonymizer: 1 if c>0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageFuture workThreshold directory agreementScalability: Morphmix/p2p extensions?Restricted-route (non-clique topology)Non-TCP transportImplement rendezvous pointsMake it work better%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pageWe have working codePlus a design document,and a byte-level specificationand a Debian package (in Unstable)%size 9http://freehaven.net/tor/%size 6Privacy Enhancing Technologies workshop%size 9http://petworkshop.org/
 |