| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 | 
\documentclass[times,10pt,twocolumn]{article}\usepackage{latex8}\usepackage{times}\usepackage{url}\usepackage{graphics}\usepackage{amsmath}\pagestyle{empty}\renewcommand\url{\begingroup \def\UrlLeft{<}\def\UrlRight{>}\urlstyle{tt}\Url}\newcommand\emailaddr{\begingroup \def\UrlLeft{<}\def\UrlRight{>}\urlstyle{tt}\Url}% If an URL ends up with '%'s in it, that's because the line *in the .bib/.tex% file* is too long, so break it there (it doesn't matter if the next line is% indented with spaces). -DH%\newif\ifpdf%\ifx\pdfoutput\undefined%   \pdffalse%\else%   \pdfoutput=1%   \pdftrue%\fi\begin{document}%% Use dvipdfm instead. --DH%\ifpdf%  \pdfcompresslevel=9%  \pdfpagewidth=\the\paperwidth%  \pdfpageheight=\the\paperheight%\fi\title{Tor: Design of a Next-generation Onion Router}\author{Roger Dingledine \\ The Free Haven Project \\ arma@freehaven.net \andNick Mathewson \\ The Free Haven Project \\ nickm@freehaven.net \andPaul Syverson \\ Naval Research Lab \\ syverson@itd.nrl.navy.mil}\maketitle\thispagestyle{empty}\begin{abstract}We present Tor, a connection-based low-latency anonymous communicationsystem which addresses many flaws in the original onion routing design.Tor works in a real-world Internet environment,requires little synchronization or coordination between nodes, andprotects against known anonymity-breaking attacks as wellas or better than other systems with similar design parameters.\end{abstract}%\begin{center}%\textbf{Keywords:} anonymity, peer-to-peer, remailer, nymserver, reply block%\end{center}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\Section{Overview}\label{sec:intro}Onion routing is a distributed overlay network designed to anonymizelow-latency TCP-based applications such as web browsing, secureshell, and instant messaging. Users choose a path through thenetwork and build a \emph{virtual circuit}, in which each node inthe path knows its predecessor and successor, but no others. Trafficflowing down the circuit is unwrapped by a symmetric key at eachnode which reveals the downstream node. The original onion routingproject published several design and analysis papers several yearsago \cite{or-journal,or-discex,or-ih,or-pet}, but because the onlyimplementation was a fragile proof-of-concept that ran on a singlemachine, many critical design and deployment issues were not consideredor addressed. Here we describe Tor, a protocol for asynchronous, looselyfederated onion routers that provides the following improvements overthe old onion routing design:\begin{itemize}\item \textbf{Applications talk to the onion proxy via Socks:}The original onion routing design required a separate proxy for eachsupported application protocol, resulting in a lot of extra code (mostof which was never written) and also meaning that a lot of TCP-basedapplications were not supported. Tor uses the unified and standard Socks\cite{socks4,socks5} interface, allowing us to support any TCP-basedprogram without modification.\item \textbf{No mixing or traffic shaping:} The original onion routingdesign called for full link padding both between onion routers and betweenonion proxies (that is, users) and onion routers \cite{or-journal}. Thelater analysis paper \cite{or-pet} suggested \emph{traffic shaping}schemes that would provide similar protection but use less bandwidth,but did not go into detail. However, recent research \cite{econymics}and deployment experience \cite{freedom2-arch} indicate that this levelof resource use is not practical or economical, especially if.\item \textbf{Directory servers:} Traditional link state\item \textbf{Congestion control:} Traditional flow control solutions Our decentralized ack-based congestion controlallows nodes at the edges of the network to detect incidental congestionor flooding attacks and send less data until the congestion subsides.\item \textbf{Forward security:}\item \textbf{Many applications can share one circuit:}leaky pipes\item \textbf{End-to-end integrity checking:}\item \textbf{Robustness to node failure:} router twins\item \textbf{Exit policies:}Tor provides a consistent mechanism for each node to specify andadvertise an exit policy.\item \textbf{Rendezvous points:}location-protected servers\end{itemize}We review mixes and mix-nets in Section \ref{sec:background},describe our goals and assumptions in Section \ref{sec:assumptions},and then address the above list of improvements in Sections\ref{sec:design}-\ref{sec:nymservers}. We then summarize how our designstands up to known attacks, and conclude with a list of open problems.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\Section{Threat model and background}\label{sec:background}anonymizerpipenetfreedomonion routingisdn-mixescrowdsreal-time mixes, web mixesanonnet (marc rennhard's stuff)morphmixP5gnunetrewebberstarzanherbivore\SubSection{Known attacks against low-latency anonymity systems}We discuss each of these attacks in more detail below, along with theaspects of the Tor design that provide defense. We provide a summaryof the attacks and our defenses against them in Section \ref{sec:attacks}.\Section{Design goals and assumptions}\label{sec:assumptions}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\Section{The Tor Design}\label{sec:design}\Section{Other design decisions}\SubSection{Exit policies and abuse}\label{subsec:exitpolicies}\SubSection{Directory Servers}\label{subsec:dir-servers}\Section{Rendezvous points: pseudonyms with responder anonymity}\label{sec:rendezvous}\Section{Maintaining anonymity sets}\label{sec:maintaining-anonymity}\SubSection{Using a circuit many times}\label{subsec:many-messages}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\Section{Attacks and Defenses}\label{sec:attacks}Below we summarize a variety of attacks and how well our design withstandsthem.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\Section{Future Directions and Open Problems}\label{sec:conclusion}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\Section{Acknowledgments}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\bibliographystyle{latex8}\bibliography{minion-design}\end{document}% Style guide:%     U.S. spelling%     avoid contractions (it's, can't, etc.)%     'mix', 'mixes' (as noun)%     'mix-net'%     'mix', 'mixing' (as verb)%     'Mixminion Project'%     'Mixminion' (meaning the protocol suite or the network)%     'Mixmaster' (meaning the protocol suite or the network)%     'middleman'  [Not with a hyphen; the hyphen has been optional%         since Middle English.]%     'nymserver'%     'Cypherpunk', 'Cypherpunks', 'Cypherpunk remailer'%%     'Whenever you are tempted to write 'Very', write 'Damn' instead, so%     your editor will take it out for you.'  -- Misquoted from Mark Twain
 |