| 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 8
 
- Next-generation Onion Routing
 
- %size 7
 
- Roger Dingledine
 
- Nick Mathewson
 
- Paul Syverson
 
- The Free Haven Project
 
- %font "typewriter", fore "blue"
 
- http://freehaven.net/
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Low-latency anonymity system
 
- %leftfill
 
- Deployed: 20 nodes, hundreds (?) of users
 
- Many improvements on earlier design
 
- Free software -- modified BSD license
 
- Design is not covered by earlier onion routing
 
- patent
 
- Uses SOCKS to interface with client apps
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- We 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 9
 
- http://freehaven.net/tor/
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %%page
 
- %%
 
- %%Talk Overview
 
- %%
 
- %%A bit about Onion Routing
 
- %%
 
- %%Improvements we've made
 
- %%
 
- %%Some related work
 
- %%
 
- %%Ask me questions
 
- %%
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Anonymity: Who needs it?
 
- Private citizens
 
- 	advocacy, counseling, whistleblowing, reporting, ...
 
- %size 6
 
- Higher-level protocols
 
- 	voting, e-cash, auctions
 
- %size 6
 
- Government applications
 
- 	research, law enforcement
 
- %size 6
 
- Business 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?
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Anonymity 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
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Onion Routing is...
 
- An overlay network
 
- Users build virtual circuits through the network
 
- One layer of encryption at each hop
 
- Fixed-size cells
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Tor's goals
 
- Conservative design
 
- 	minimize new design work needed
 
- %size 6
 
- Support testing of future research
 
- Design for deployment; deploy for use
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Threat model -- what we aim for
 
- Protect against somebody watching Alice
 
- Protect against curious Bob
 
- Protect against `some' curious nodes in the middle
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Differences / limitations
 
- We'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-peer
 
- No protocol normalization
 
- Not unobservable (no steg, etc)
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Perfect forward secrecy
 
- Telescoping circuit
 
- 	negotiates keys at each hop
 
- 	no more need for replay detection
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- No mixing, padding, traffic shaping (yet)
 
- Please show us they're worth the usability tradeoff
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %%page
 
- %%
 
- %%Many TCP streams can share one circuit
 
- %%
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Many TCP streams share a circuit
 
- Previous designs built a new circuit for each stream
 
- 	lots of public key ops per request
 
- 	plus anonymity dangers from making so many circuits
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Leaky-pipe circuit topology
 
- Alice 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 6
 
- Unclear whether this is dangerous or useful
 
- More research needed
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Congestion control
 
- Simple rate limiting
 
- Plus have to keep internal nodes from overflowing
 
- (Can't use global state or inter-node control)
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Directory servers
 
- To solve the `introduction' problem
 
- Approve new servers
 
- Tell clients who's up right now
 
- 	plus their keys, location, etc
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Variable exit policies
 
- Each server allows different outgoing connections
 
- E.g. no servers allow outgoing mail currently
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- End-to-end integrity checking
 
- In previous onion routing, an insider could change
 
- the text being transmitted:
 
- "dir" => "rm *"
 
- Even an external adversary could do this!
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Rendezvous points
 
- allow hidden services
 
- don'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)
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- How do we compare security?
 
- Assume adversary owns c of n nodes
 
- 	can choose which
 
- %size 6
 
- What's the chance for a random Alice and Bob that he wins?
 
- Freedom, Tor: (c/n)^2
 
- Peekabooty, six-four, etc: c/n
 
- Jap (if no padding): 1 if c>1
 
- Anonymizer: 1 if c>0
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- Future work
 
- Threshold directory agreement
 
- Scalability: Morphmix/p2p extensions?
 
- Restricted-route (non-clique topology)
 
- Non-TCP transport
 
- Implement rendezvous points
 
- Make it work better
 
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
- %page
 
- We have working code
 
- Plus a design document,
 
- and a byte-level specification
 
- and a Debian package (in Unstable)
 
- %size 9
 
- http://freehaven.net/tor/
 
- %size 6
 
- Privacy Enhancing Technologies workshop
 
- %size 9
 
- http://petworkshop.org/
 
 
  |