Browse Source

Adversary model mostly done? Some other small changes in assumptions et passim.

svn:r648
Paul Syverson 22 years ago
parent
commit
ac7a9ccadf
2 changed files with 151 additions and 123 deletions
  1. 9 0
      doc/tor-design.bib
  2. 142 123
      doc/tor-design.tex

+ 9 - 0
doc/tor-design.bib

@@ -798,6 +798,15 @@ full_papers/rao/rao.pdf}},
 }
 }
 
 
 
 
+@InProceedings{danezis-pets03,
+  author = 	 {George Danezis},
+  title = 	 {Mix-networks with Restricted Routes},
+  booktitle = 	 {Privacy Enhancing Technologies (PET 2003)},
+  year =	 2003,
+  editor =	 {Roger Dingledine},
+  publisher =	 {Springer-Verlag LNCS (forthcoming)}
+}
+
 @InProceedings{gap-pets03,
 @InProceedings{gap-pets03,
   author = 	 {Krista Bennett and Christian Grothoff},
   author = 	 {Krista Bennett and Christian Grothoff},
   title = 	 {{GAP} -- practical anonymous networking},
   title = 	 {{GAP} -- practical anonymous networking},

+ 142 - 123
doc/tor-design.tex

@@ -223,8 +223,9 @@ and/or performance limitations. One can also use a cascade (fixed
 shared route) with a relatively fixed set of users. This assumes a
 shared route) with a relatively fixed set of users. This assumes a
 significant degree of agreement and provides an easier target for an active
 significant degree of agreement and provides an easier target for an active
 attacker since the endpoints are generally known. However, a practical
 attacker since the endpoints are generally known. However, a practical
-network with both of these features has been run for many years
-(the Java Anon Proxy, aka Web MIXes, \cite{web-mix}).
+network with both of these features and thousands of active users has
+been run for many years (the Java Anon Proxy, aka Web MIXes,
+\cite{web-mix}).
 
 
 Another low latency design that was proposed independently and at
 Another low latency design that was proposed independently and at
 about the same time as onion routing was PipeNet \cite{pipenet}.
 about the same time as onion routing was PipeNet \cite{pipenet}.
@@ -313,129 +314,30 @@ communication.  Crowds and [XXX] provide anonymity for HTTP requests; [...]
 
 
 
 
 
 
-anonymizer%
-pipenet%
-freedom v1%
-freedom v2%
-onion routing v1%
-isdn-mixes%
-crowds%
-real-time mixes, web mixes%
-anonnet (marc rennhard's stuff)%
-morphmix%
-P5%
-gnunet%
-rewebbers%
-tarzan%
-herbivore%
-hordes%
-cebolla (?)%
+anonymizer\\
+pipenet\\
+freedom v1\\
+freedom v2\\
+onion routing v1\\
+isdn-mixes\\
+crowds\\
+real-time mixes, web mixes\\
+anonnet (marc rennhard's stuff)\\
+morphmix\\
+P5\\
+gnunet\\
+rewebbers\\
+tarzan\\
+herbivore\\
+hordes\\
+cebolla (?)\\
 
 
 [XXX Close by mentioning where Tor fits.]
 [XXX Close by mentioning where Tor fits.]
 
 
-\SubSection{Our threat model}
-\label{subsec:threat-model}
-
-Like all practical low-latency systems, Tor is broken against a global
-passive adversary, the most commonly assumed adversary for analysis of
-theoretical anonymous communication designs. The adversary we assume
-is weaker than global with respect to distribution, but it is not
-merely passive. We assume a threat model derived largely from that of
-\cite{or-pet00}.
-
-[XXX The following is cut in from the OR analysis paper from PET 2000.
-I've already changed it a little, but didn't get very far.
-And, much if not all will eventually
-go. But I thought it a useful starting point. -PS]
-
-The basic adversary components we consider are:
-\begin{description}
-\item[Observer:] can observe a connection (e.g., a sniffer on an
-  Internet router), but cannot initiate connections.
-\item[Disrupter:] can delay (indefinitely) or corrupt traffic on a
-  link.
-\item[Hostile initiator:] can initiate (destroy) connections with
-  specific routes as well as varying the timing and content of traffic
-  on the connections it creates.
-\item[Hostile responder:] can vary the traffic on the connections made
-  to it including refusing them entirely, intentionally modifying what
-  it sends and at what rate, and selectively closing them.
-\item[Compromised Tor-node:] can arbitrarily manipulate the connections
-  under its control, as well as creating new connections (that pass
-  through itself).
-\end{description}
-
-
-All feasible adversaries can be composed out of these basic
-adversaries. This includes combinations such as one or more
-compromised network nodes cooperating with disrupters of links on
-which those nodes are not adjacent, or such as combinations of hostile
-outsiders and observers.  However, we are able to restrict our
-analysis of adversaries to just one class, the compromised Tor-node.
-We now justify this claim.
-
-Especially in light of our assumption that the network forms a clique,
-a hostile outsider can perform a subset of the actions that a
-compromised COR can do. Also, while a compromised COR cannot disrupt
-or observe a link unless it is adjacent to it, any adversary that
-replaces some or all observers and/or disrupters with a compromised
-COR adjacent to the relevant link is more powerful than the adversary
-it replaces. And, in the presence of adequate link padding or bandwidth
-limiting even collaborating observers can gain no useful information about
-connections within the network. They may be able to gain information
-by observing connections to the network (in the remote-COR configuration),
-but again this is less than what the COR to which such connection is made
-can learn. Thus, by considering adversaries consisting of
-collections of compromised CORs we cover the worst case of all
-combinations of basic adversaries. Our analysis focuses on this most
-capable adversary, one or more compromised CORs.
-
-The possible distributions of adversaries are
-\begin{itemize}
-\item{\bf single adversary}
-\item{\bf multiple adversary:} A fixed, randomly distributed subset of
-  Tor-nodes is compromised.
-\item{\bf roving adversary:} A fixed-bound size subset of Tor-nodes is
-  compromised at any one time. At specific intervals, other CORs can
-  become compromised or uncompromised.
-\item{\bf global adversary:} All nodes are compromised.
-\end{itemize}
-
-Onion Routing provides no protection against a global adversary.  If
-all the CORs are compromised, they can know exactly who is talking to
-whom. The content of what was sent will be revealed as it emerges
-from the OR network, unless it has been end-to-end encrypted outside the
-OR network. Even a firewall-to-firewall connection is exposed
-if, as assumed above, our goal is to hide which local-COR is talking to
-which local-COR.
-
-\SubSection{Known attacks against low-latency anonymity systems}
-\label{subsec:known-attacks}
-
-We discuss each of these attacks in more detail below, along with the
-aspects of the Tor design that provide defense. We provide a summary
-of the attacks and our defenses against them in Section \ref{sec:attacks}.
-
-Passive attacks:
-simple observation,
-timing correlation,
-size correlation,
-option distinguishability,
-
-Active attacks:
-key compromise,
-iterated subpoena,
-run recipient,
-run a hostile node,
-compromise entire path,
-selectively DOS servers,
-introduce timing into messages,
-directory attacks,
-tagging attacks
-
 \Section{Design goals and assumptions}
 \Section{Design goals and assumptions}
 \label{sec:assumptions}
 \label{sec:assumptions}
 
 
+
 \subsection{Goals}
 \subsection{Goals}
 % Are these really our goals? ;) -NM
 % Are these really our goals? ;) -NM
 Like other low-latency anonymity designs, Tor seeks to frustrate
 Like other low-latency anonymity designs, Tor seeks to frustrate
@@ -500,7 +402,122 @@ provided by an external service.
 Tor is not steganographic. It doesn't try to conceal which users are
 Tor is not steganographic. It doesn't try to conceal which users are
 sending or receiving communications via Tor.
 sending or receiving communications via Tor.
 
 
-\subsection{Assumptions}
+
+\SubSection{Adversary Model}
+\label{subsec:adversary-model}
+
+Like all practical low-latency systems, Tor is broken against a global
+passive adversary, the most commonly assumed adversary for analysis of
+theoretical anonymous communication designs. The adversary we assume
+is weaker than global with respect to distribution, but it is not
+merely passive.
+We assume a threat model that expands on that from \cite{or-pet00}.
+
+
+The basic adversary components we consider are:
+\begin{description}
+\item[Observer:] can observe a connection (e.g., a sniffer on an
+  Internet router), but cannot initiate connections. Observations may
+  include timing and/or volume of packets as well as appearance of
+  individual packets (including headers and content).
+\item[Disrupter:] can delay (indefinitely) or corrupt traffic on a
+  link. Can change all those things that an observer can observe up to
+  the limits of computational ability (e.g., cannot forge signatures
+  unless a key is compromised).
+\item[Hostile initiator:] can initiate (destroy) connections with
+  specific routes as well as varying the timing and content of traffic
+  on the connections it creates. A special case of the disrupter with
+  additional abilities appropriate to its role in forming connections.
+\item[Hostile responder:] can vary the traffic on the connections made
+  to it including refusing them entirely, intentionally modifying what
+  it sends and at what rate, and selectively closing them. Also a
+  special case of the disrupter.
+\item[Key breaker:] can break the longterm private decryption key of a
+  Tor-node.
+\item[Compromised Tor-node:] can arbitrarily manipulate the connections
+  under its control, as well as creating new connections (that pass
+  through itself).
+\end{description}
+
+
+All feasible adversaries can be composed out of these basic
+adversaries. This includes combinations such as one or more
+compromised Tor-nodes cooperating with disrupters of links on which
+those nodes are not adjacent, or such as combinations of hostile
+outsiders and link observers (who watch links between adjacent
+Tor-nodes).  Note that one type of observer might be a Tor-node. This
+is sometimes called an honest-but-curious adversary. While an observer
+Tor-node will perform only correct protocol interactions, it might
+share information about connections and cannot be assumed to destroy
+session keys at end of a session.  Note that a compromised Tor-node is
+stronger than any other adversary component in the sense that
+replacing a component of any adversary with a compromised Tor-node
+results in a stronger overall adversary (assuming that the compromised
+Tor-node retains the same signature keys and other private
+state-information as the component it replaces).
+
+
+In general we are more focused on traffic analysis attacks than
+traffic confirmation attacks. A user who runs a Tor proxy on his own
+machine, connects to some remote Tor-node and makes a connection to an
+open Internet site, such as a public web server, is vulnerable to
+traffic confirmation. That is, an active attacker who suspects that
+the particular client is communicating with the particular server will
+be able to confirm this if she can attack and observe both the
+connection between the Tor network and the client and that between the
+Tor network and the server. Even a purely passive attacker will be
+able to confirm if the timing and volume properties of the traffic on
+the connnection are unique enough.  This is not to say that Tor offers
+no resistance to traffic confirmation; it does.  We defer discussion
+of this point and of particular attacks until Section~\ref{sec:attacks},
+after we have described Tor in more detail. However, we note here some
+basic assumptions that affect the threat model.
+
+[XXX I think this next subsection should be cut, leaving its points
+for the attacks section. But I'm leaving it here for now. The above
+line refers to the immediately following SubSection.-PS]
+
+
+\SubSection{Known attacks against low-latency anonymity systems}
+\label{subsec:known-attacks}
+
+We discuss each of these attacks in more detail below, along with the
+aspects of the Tor design that provide defense. We provide a summary
+of the attacks and our defenses against them in Section~\ref{sec:attacks}.
+
+Passive attacks:
+simple observation,
+timing correlation,
+size correlation,
+option distinguishability,
+
+Active attacks:
+key compromise,
+iterated subpoena,
+run recipient,
+run a hostile node,
+compromise entire path,
+selectively DOS servers,
+introduce timing into messages,
+directory attacks,
+tagging attacks
+
+
+\SubSection{Assumptions}
+
+All dirservers are honest and trusted.
+
+Somewhere between ten percent and twenty percent of nodes
+are compromised. In some circumstances, e.g., if the Tor network
+is running on a hardened network where all operators have had careful
+background checks, the percent of compromised nodes might be much
+lower. Also, it may be worthwhile to consider cases where many
+of the `bad' nodes are not fully compromised but simply (passive)
+observing adversaries. We assume that all adversary components,
+regardless of their capabilities are collaborating and are connected
+in an offline clique.
+
+
 - Threat model
 - Threat model
 - Mostly reliable nodes: not trusted.
 - Mostly reliable nodes: not trusted.
 - Small group of trusted dirserv ops
 - Small group of trusted dirserv ops
@@ -508,6 +525,7 @@ sending or receiving communications via Tor.
 
 
 [XXX what else?]
 [XXX what else?]
 
 
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
 \Section{The Tor Design}
 \Section{The Tor Design}
@@ -744,11 +762,12 @@ issues remaining to be ironed out. In particular:
 \item \emph{Scalability:} Since Tor's emphasis currently is on simplicity
 \item \emph{Scalability:} Since Tor's emphasis currently is on simplicity
 of design and deployment, the current design won't easily handle more
 of design and deployment, the current design won't easily handle more
 than a few hundred servers, because of its clique topology. Restricted
 than a few hundred servers, because of its clique topology. Restricted
-route topologies \cite{danezis:pet2003} promise comparable anonymity
+route topologies \cite{danezis-pets03} promise comparable anonymity
 with much better scaling properties, but we must solve problems like
 with much better scaling properties, but we must solve problems like
 how to randomly form the network without introducing net attacks.
 how to randomly form the network without introducing net attacks.
-% cascades are a restricted route topology too. we must mention
-% earlier why we're not satisfied with the cascade approach.
+% [cascades are a restricted route topology too. we must mention
+% earlier why we're not satisfied with the cascade approach.]-RD
+% [We do. At least 
 \item \emph{Cover traffic:} Currently we avoid cover traffic because
 \item \emph{Cover traffic:} Currently we avoid cover traffic because
 it introduces clear performance and bandwidth costs, but and its
 it introduces clear performance and bandwidth costs, but and its
 security properties are not well understood. With more research
 security properties are not well understood. With more research