codecon04.mgp 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  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. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  14. %%
  15. %% Default settings per each line numbers.
  16. %%
  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"
  21. %%
  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. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  27. %%
  28. %% Default settings that are applied to TAB-indented lines.
  29. %%
  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
  33. %%
  34. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  35. %page
  36. %nodefault
  37. %center, size 9, font "thick", back "white", fore "black"
  38. Tor:
  39. %size 8
  40. Next-generation Onion Routing
  41. %size 7
  42. Roger Dingledine
  43. Nick Mathewson
  44. Paul Syverson
  45. The Free Haven Project
  46. %font "typewriter", fore "blue"
  47. http://freehaven.net/
  48. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  49. %page
  50. Low-latency anonymity system
  51. %leftfill
  52. Deployed: 20 nodes, hundreds (?) of users
  53. Many improvements on earlier design
  54. Free software -- modified BSD license
  55. Design is not covered by earlier onion routing
  56. patent
  57. Uses SOCKS to interface with client apps
  58. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  59. %page
  60. We have working code
  61. (14 kloc of C)
  62. and a design document,
  63. and a byte-level specification,
  64. and a Debian package (in Unstable)
  65. Works on Linux, BSD, OSX, Cygwin, ...
  66. User-space, doesn't need kernel mods or root
  67. %size 9
  68. http://freehaven.net/tor/
  69. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  70. %%page
  71. %%
  72. %%Talk Overview
  73. %%
  74. %%A bit about Onion Routing
  75. %%
  76. %%Improvements we've made
  77. %%
  78. %%Some related work
  79. %%
  80. %%Ask me questions
  81. %%
  82. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  83. %page
  84. Anonymity: Who needs it?
  85. Private citizens
  86. advocacy, counseling, whistleblowing, reporting, ...
  87. %size 6
  88. Higher-level protocols
  89. voting, e-cash, auctions
  90. %size 6
  91. Government applications
  92. research, law enforcement
  93. %size 6
  94. Business applications
  95. %size 5
  96. (hide relationships and volumes of communication)
  97. Who is visiting job sites?
  98. Which groups are talking to patent lawyers?
  99. Who are your suppliers and customers?
  100. Is the CEO talking to a buyout partner?
  101. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  102. %page
  103. Anonymity is a network effect
  104. Systems need traffic (many low-sensitivity users) to attract the high-sensitivity users
  105. Most users do not value anonymity much
  106. Weak security (fast system) can mean more users
  107. which can mean
  108. %cont, font "italic"
  109. stronger
  110. %cont, font "standard"
  111. anonymity
  112. High-sensitivity agents have incentive to run nodes
  113. so they can be certain first node in their path is good
  114. to attract traffic for their messages
  115. There can be an optimal level of free-riding
  116. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  117. %page
  118. Onion Routing is...
  119. An overlay network
  120. Users build virtual circuits through the network
  121. One layer of encryption at each hop
  122. Fixed-size cells
  123. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  124. %page
  125. Tor's goals
  126. Conservative design
  127. minimize new design work needed
  128. %size 6
  129. Support testing of future research
  130. Design for deployment; deploy for use
  131. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  132. %page
  133. Threat model -- what we aim for
  134. Protect against somebody watching Alice
  135. Protect against curious Bob
  136. Protect against `some' curious nodes in the middle
  137. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  138. %page
  139. Differences / limitations
  140. We're TCP-only, not all IP (but we're user-space and very portable)
  141. Not as strong as high-latency systems (Mixmaster, Mixminion)
  142. Not peer-to-peer
  143. No protocol normalization
  144. Not unobservable (no steg, etc)
  145. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  146. %page
  147. Perfect forward secrecy
  148. Telescoping circuit
  149. negotiates keys at each hop
  150. no more need for replay detection
  151. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  152. %page
  153. No mixing, padding, traffic shaping (yet)
  154. Please show us they're worth the usability tradeoff
  155. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  156. %%page
  157. %%
  158. %%Many TCP streams can share one circuit
  159. %%
  160. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  161. %page
  162. Many TCP streams share a circuit
  163. Previous designs built a new circuit for each stream
  164. lots of public key ops per request
  165. plus anonymity dangers from making so many circuits
  166. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  167. %page
  168. Leaky-pipe circuit topology
  169. Alice can direct cells to any node in her circuit
  170. So we can support long-range padding,
  171. have multiple streams exiting at different places in the circuit
  172. etc
  173. %size 6
  174. Unclear whether this is dangerous or useful
  175. More research needed
  176. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  177. %page
  178. Congestion control
  179. Simple rate limiting
  180. Plus have to keep internal nodes from overflowing
  181. (Can't use global state or inter-node control)
  182. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  183. %page
  184. Directory servers
  185. To solve the `introduction' problem
  186. Approve new servers
  187. Tell clients who's up right now
  188. plus their keys, location, etc
  189. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  190. %page
  191. Variable exit policies
  192. Each server allows different outgoing connections
  193. E.g. no servers allow outgoing mail currently
  194. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  195. %page
  196. End-to-end integrity checking
  197. In previous onion routing, an insider could change
  198. the text being transmitted:
  199. "dir" => "rm *"
  200. Even an external adversary could do this!
  201. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  202. %page
  203. Rendezvous points
  204. allow hidden services
  205. don't need (brittle) reply onions
  206. Access-controlled: Bob can control who he talks to
  207. Robust: Bob's service is available even when some Tor nodes go down
  208. Smear-resistant: Evil service can't frame a rendezvous router
  209. Application-transparent: Don't need to modify Bob's apache
  210. %size 6
  211. (Not implemented yet)
  212. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  213. %page
  214. How do we compare security?
  215. Assume adversary owns c of n nodes
  216. can choose which
  217. %size 6
  218. What's the chance for a random Alice and Bob that he wins?
  219. Freedom, Tor: (c/n)^2
  220. Peekabooty, six-four, etc: c/n
  221. Jap (if no padding): 1 if c>1
  222. Anonymizer: 1 if c>0
  223. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  224. %page
  225. Future work
  226. Threshold directory agreement
  227. Scalability: Morphmix/p2p extensions?
  228. Restricted-route (non-clique topology)
  229. Non-TCP transport
  230. Implement rendezvous points
  231. Make it work better
  232. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  233. %page
  234. We have working code
  235. Plus a design document,
  236. and a byte-level specification
  237. and a Debian package (in Unstable)
  238. %size 9
  239. http://freehaven.net/tor/
  240. %size 6
  241. Privacy Enhancing Technologies workshop
  242. %size 9
  243. http://petworkshop.org/