|
@@ -29,24 +29,25 @@ foo
|
|
|
|
|
|
\section{Introduction}
|
|
|
|
|
|
-Tor is a low-latency anonymous communication overlay network
|
|
|
-\cite{tor-design} designed to be practical and usable for securing TCP
|
|
|
-streams over the Internet. We have been operating a publicly deployed
|
|
|
-Tor network since October 2003.
|
|
|
+Tor is a low-latency anonymous communication overlay network designed
|
|
|
+to be practical and usable for securing TCP streams over the Internet
|
|
|
+\cite{tor-design}. We have been operating a publicly deployed Tor network
|
|
|
+since October 2003 that has grown to over a hundred nodes and carries
|
|
|
+over 70 megabits per second of average traffic.
|
|
|
|
|
|
Tor aims to resist observers and insiders by distributing each transaction
|
|
|
over several nodes in the network. This ``distributed trust'' approach
|
|
|
means the Tor network can be safely operated and used by a wide variety
|
|
|
of mutually distrustful users, providing more sustainability and security
|
|
|
than previous attempts at anonymizing networks.
|
|
|
-
|
|
|
The Tor network has a broad range of users, including ordinary citizens
|
|
|
who want to avoid being profiled for targeted advertisements, corporations
|
|
|
who don't want to reveal information to their competitors, and law
|
|
|
enforcement and government intelligence agencies who need
|
|
|
to do operations on the Internet without being noticed.
|
|
|
|
|
|
-Tor has been funded by the U.S. Navy, for use in securing government
|
|
|
+Tor research and development has been funded by the U.S. Navy, for use
|
|
|
+in securing government
|
|
|
communications, and also by the Electronic Frontier Foundation, for use
|
|
|
in maintaining civil liberties for ordinary citizens online. The Tor
|
|
|
protocol is one of the leading choices
|
|
@@ -58,9 +59,9 @@ interests helps maintain both the stability and the security of the
|
|
|
network.
|
|
|
|
|
|
Tor has a weaker threat model than many anonymity designs in the
|
|
|
-literature. This is because we our primary requirements are to have a
|
|
|
-practical and useful network, and from there we aim to provide as much
|
|
|
-anonymity as we can.
|
|
|
+literature, because our primary requirements are to have a
|
|
|
+practical and useful network. Given that fixed assumption, we then aim
|
|
|
+to provide as much anonymity as we can.
|
|
|
|
|
|
|
|
|
|
|
@@ -233,40 +234,14 @@ dries up.
|
|
|
|
|
|
good uses are kept private, bad uses are publicized. not good.
|
|
|
|
|
|
-\subsection{Reputability}
|
|
|
-
|
|
|
-Yet another factor in the safety of a given network is its reputability:
|
|
|
-the perception of its social value based on its current users. If I'm
|
|
|
-the only user of a system, it might be socially accepted, but I'm not
|
|
|
-getting any anonymity. Add a thousand Communists, and I'm anonymous,
|
|
|
-but everyone thinks I'm a Commie. Add a thousand random citizens (cancer
|
|
|
-survivors, privacy enthusiasts, and so on) and now I'm hard to profile.
|
|
|
-
|
|
|
-The more cancer survivors on Tor, the better for the human rights
|
|
|
-activists. The more script kiddies, the worse for the normal users. Thus,
|
|
|
-reputability is an anonymity issue for two reasons. First, it impacts
|
|
|
-the sustainability of the network: a network that's always about to be
|
|
|
-shut down has difficulty attracting and keeping users, so its anonymity
|
|
|
-set suffers. Second, a disreputable network attracts the attention of
|
|
|
-powerful attackers who may not mind revealing the identities of all the
|
|
|
-users to uncover the few bad ones.
|
|
|
-
|
|
|
-While people therefore have an incentive for the network to be used for
|
|
|
-``more reputable'' activities than their own, there are still tradeoffs
|
|
|
-involved when it comes to anonymity. To follow the above example, a
|
|
|
-network used entirely by cancer survivors might welcome some Communists
|
|
|
-onto the network, though of course they'd prefer a wider variety of users.
|
|
|
-
|
|
|
-The impact of public perception on security is especially important
|
|
|
-during the bootstrapping phase of the network, where the first few
|
|
|
-widely publicized uses of the network can dictate the types of users it
|
|
|
-attracts next.
|
|
|
-
|
|
|
\subsection{Tor and file-sharing}
|
|
|
|
|
|
Bittorrent and dmca. Should we add an IDS to autodetect protocols and
|
|
|
snipe them?
|
|
|
|
|
|
+because only at the exit is it evident what port or protocol a given
|
|
|
+tor stream is, you can't choose not to carry file-sharing traffic.
|
|
|
+
|
|
|
\subsection{Tor and blacklists}
|
|
|
|
|
|
Takedowns and efnet abuse and wikipedia complaints and irc
|
|
@@ -388,30 +363,30 @@ over to arbitrary IP traffic.
|
|
|
\begin{enumerate}
|
|
|
\setlength{\itemsep}{0mm}
|
|
|
\setlength{\parsep}{0mm}
|
|
|
-\item [IP packets reveal OS characteristics.] We still need to do
|
|
|
+\item \emph{IP packets reveal OS characteristics.} We still need to do
|
|
|
IP-level packet normalization, to stop things like IP fingerprinting
|
|
|
\cite{ip-fingerprinting}. There exist libraries \cite{ip-normalizing}
|
|
|
that can help with this.
|
|
|
-\item [Application-level streams still need scrubbing.] We still need
|
|
|
+\item \emph{Application-level streams still need scrubbing.} We still need
|
|
|
Tor to be easy to integrate with user-level application-specific proxies
|
|
|
such as Privoxy. So it's not just a matter of capturing packets and
|
|
|
anonymizing them at the IP layer.
|
|
|
-\item [Certain protocols will still leak information.] For example,
|
|
|
+\item \emph{Certain protocols will still leak information.} For example,
|
|
|
DNS requests destined for my local DNS servers need to be rewritten
|
|
|
to be delivered to some other unlinkable DNS server. This requires
|
|
|
understanding the protocols we are transporting.
|
|
|
-\item [The crypto is unspecified.] First we need a block-level encryption
|
|
|
+\item \emph{The crypto is unspecified.} First we need a block-level encryption
|
|
|
approach that can provide security despite
|
|
|
packet loss and out-of-order delivery. Freedom allegedly had one, but it was
|
|
|
never publicly specified, and we believe it's likely vulnerable to tagging
|
|
|
attacks \cite{tor-design}. Also, TLS over UDP is not implemented or even
|
|
|
specified, though some early work has begun on that \cite{ben-tls-udp}.
|
|
|
-\item [We'll still need to tune network parameters]. Since the above
|
|
|
+\item \emph{We'll still need to tune network parameters}. Since the above
|
|
|
encryption system will likely need sequence numbers and maybe more to do
|
|
|
replay detection, handle duplicate frames, etc, we will be reimplementing
|
|
|
some subset of TCP anyway to manage throughput, congestion control, etc.
|
|
|
-\item [Exit policies for arbitrary IP packets mean building a secure
|
|
|
-IDS.] Our server operators tell us that exit policies are one of
|
|
|
+\item \emph{Exit policies for arbitrary IP packets mean building a secure
|
|
|
+IDS.} Our server operators tell us that exit policies are one of
|
|
|
the main reasons they're willing to run Tor over previous attempts
|
|
|
at anonymizing networks. Adding an IDS to handle exit policies would
|
|
|
increase the security complexity of Tor, and would likely not work anyway,
|
|
@@ -422,7 +397,7 @@ and IP floods), so exit policies become even \emph{more} important as
|
|
|
we become able to transport IP packets. We also need a way to compactly
|
|
|
characterize the exit policies and let clients parse them to decide
|
|
|
which nodes will allow which packets to exit.
|
|
|
-\item [The Tor-internal name spaces would need to be redesigned.] We
|
|
|
+\item \emph{The Tor-internal name spaces would need to be redesigned.} We
|
|
|
support hidden service \tt{.onion} addresses, and other special addresses
|
|
|
like \tt{.exit} (see Section \ref{subsec:}), by intercepting the addresses
|
|
|
when they are passed to the Tor client.
|
|
@@ -569,6 +544,12 @@ uses a helper node (but not Alice), then the attacker figures the real
|
|
|
source was a client that is using Alice as a helper node. [How's my
|
|
|
logic here?]
|
|
|
|
|
|
+people are using hidden services as a poor man's vpn and firewall-buster.
|
|
|
+rather than playing with dyndns and trying to pierce holes in their
|
|
|
+firewall (say, so they can ssh in from the outside), they run a hidden
|
|
|
+service on the inside and then rendezvous with that hidden service
|
|
|
+externally.
|
|
|
+
|
|
|
in practice, sites like bloggers without borders (www.b19s.org) are
|
|
|
running tor servers but more important are advertising a hidden-service
|
|
|
address on their front page. doing this can provide increased robustness
|