Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Tor
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Hiro
Tor
Commits
aed5aae5
Commit
aed5aae5
authored
20 years ago
by
Roger Dingledine
Browse files
Options
Downloads
Patches
Plain Diff
clean up stream-vs-packet section
svn:r3577
parent
6c77900c
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/design-paper/challenges.tex
+37
-43
37 additions, 43 deletions
doc/design-paper/challenges.tex
with
37 additions
and
43 deletions
doc/design-paper/challenges.tex
+
37
−
43
View file @
aed5aae5
...
...
@@ -7,11 +7,10 @@
\usepackage
{
epsfig
}
\setlength
{
\textwidth
}{
6in
}
\setlength
{
\textheight
}{
9
in
}
\setlength
{
\textheight
}{
8
in
}
\setlength
{
\topmargin
}{
0in
}
\setlength
{
\oddsidemargin
}{
.1in
}
\setlength
{
\evensidemargin
}{
.1in
}
\setlength
{
\oddsidemargin
}{
1cm
}
\setlength
{
\evensidemargin
}{
1cm
}
\newenvironment
{
tightlist
}{
\begin{list}
{$
\bullet
$}{
\setlength
{
\itemsep
}{
0mm
}
...
...
@@ -23,7 +22,7 @@
\begin{document}
\title
{
Challenges in deploying low-latency anonymity
(DRAFT)
}
\title
{
Challenges in deploying low-latency anonymity
}
\author
{
Roger Dingledine
\inst
{
1
}
\and
Nick Mathewson
\inst
{
1
}
\and
Paul Syverson
\inst
{
2
}}
\institute
{
The Free Haven Project
\email
{
<
\{
arma,nickm
\}
@freehaven.net>
}
\and
...
...
@@ -36,7 +35,7 @@ Naval Research Lab \email{<syverson@itd.nrl.navy.mil>}}
\begin{abstract}
There are many unexpected or unexpectedly difficult obstacles to
deploying anonymous communications. Drawing on our experiences deploying
Tor (the
next
-generation onion routing network), we describe social
Tor (the
second
-generation onion routing network), we describe social
challenges and technical issues that must be faced
in building, deploying, and sustaining a scalable, distributed, low-latency
anonymity network.
...
...
@@ -362,6 +361,7 @@ collaboratively blend the traffic from many organizations and private
citizens, so that an eavesdropper can't tell which users are which,
and who is looking for what information. By bringing more users onto
the network, all users become more secure~
\cite
{
econymics
}
.
[XXX I feel uncomfortable saying this last sentence now. -RD]
Naturally, organizations will not want to depend on others for their
security. If most participating providers are reliable, Tor tolerates
...
...
@@ -372,9 +372,6 @@ hasn't been read or modified. This even works for Internet services that
don't have built-in encryption and authentication, such as unencrypted
HTTP or chat, and it requires no modification of those services.
%Tor doesn't try to provide steg (but see Section~\ref{subsec:china}), or
%the other non-goals listed in tor-design.
\subsection
{
Related work
}
Tor is not the only anonymity system that aims to be practical and useful.
Commercial single-hop proxies~
\cite
{
anonymizer
}
, as well as unsecured
...
...
@@ -629,7 +626,7 @@ abuse complaints.
%One potentially problematical area with deploying Tor has been our response
%to file-sharing applications.
Once users have configured their applications to work with Tor, the largest
remaining usability issue
s
is performance. Users begin to suffer
remaining usability issue is performance. Users begin to suffer
when websites ``feel slow''.
Clients currently try to build their connections through nodes that they
guess will have enough bandwidth. But even if capacity is allocated
...
...
@@ -746,7 +743,7 @@ to shut it down in order to get unblocked themselves.
% up in the standoff!]
%[XXX Mention: it's not dumb, it's strategic!]
%[XXX Mention: for some servops, any blacklist is a blacklist too many,
% because it is risky. (Guy lives in apt with one IP.)]
% because it is risky. (Guy lives in apt
_building_
with one IP.)]
Problems of abuse occur mainly with services such as IRC networks and
Wikipedia, which rely on IP blocking to ban abusive users. While at first
...
...
@@ -814,11 +811,11 @@ be addressed as the network develops.
\label
{
subsec:stream-vs-packet
}
\label
{
subsec:tcp-vs-ip
}
Tor transports streams; it does not tunnel packets.
We periodically
run into d
evelopers of the old Freedom network~
\cite
{
freedom21-security
}
who
tell us that
anonymizing
IP addresses should ``obviously'' be
done
at the IP layer.
Here are th
e issues
that
need to be resolved before
we'
ll be ready to
switch Tor over to
arbitrary IP traffic
.
Tor transports streams; it does not tunnel packets.
D
evelopers of the old Freedom network~
\cite
{
freedom21-security
}
keep
tell
ing
us that IP addresses should ``obviously'' be
anonymized
at the IP layer.
Thes
e issues need to be resolved before
Tor wi
ll be ready to
carry
arbitrary IP traffic
:
\begin{enumerate}
\setlength
{
\itemsep
}{
0mm
}
...
...
@@ -831,8 +828,8 @@ 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
\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
we must rewrite
DNS requests destined for local DNS servers
to
be delivered to some unlinkable DNS server. This requires
understanding the protocols we are transporting.
\item
\emph
{
The crypto is unspecified.
}
First we need a block-level encryption
approach that can provide security despite
...
...
@@ -843,7 +840,7 @@ specified, though some early work has begun on that~\cite{dtls}.
\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.
a
subset of TCP anyway.
\item
\emph
{
Exit policies for arbitrary IP packets mean building a secure
IDS
\@
.
}
Our node operators tell us that exit policies are one of
the main reasons they're willing to run Tor.
...
...
@@ -853,8 +850,8 @@ as evidenced by the entire field of IDS and counter-IDS papers. Many
potential abuse issues are resolved by the fact that Tor only transports
valid TCP streams (as opposed to arbitrary IP including malformed packets
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 th
e exit policies
and let
clients
parse them to
predict
we become able to transport IP packets. We also need to compactly
describ
e exit policies
so
clients
can
predict
which nodes will allow which packets to exit.
\item
\emph
{
The Tor-internal name spaces would need to be redesigned.
}
We
support hidden service
{
\tt
{
.onion
}}
addresses, and other special addresses
...
...
@@ -862,32 +859,29 @@ like {\tt{.exit}} for the user to request a particular exit node,
by intercepting the addresses when they are passed to the Tor client.
\end{enumerate}
This list is discouragingly long right now, but we recognize that it
would be good to investigate each of these items in further depth and to
understand which are actual roadblocks and which are easier to resolve
than we think. Greater flexibility to transport various protocols obviously
has some advantages.
This list is discouragingly long, but being able to transport more
protocols obviously has some advantages. It would be good to learn which
items are actual roadblocks and which are easier to resolve than we think.
To be fair, Tor's stream-based approach has run into
practical
To be fair, Tor's stream-based approach has run into
stumbling blocks as well. While Tor supports the SOCKS protocol,
which provides a standardized interface for generic TCP proxies, many
applications do not support SOCKS
\@
.
Supporting such applications requires
replac
ing
the networking system calls with SOCKS-aware
versions, or run
ning
a SOCKS tunnel locally, neither of which is
easy for the average user---even with good instructions.
applications do not support SOCKS
\@
.
For them we must
replac
e
the networking system calls with SOCKS-aware
versions, or run a SOCKS tunnel locally, neither of which is
easy for the average user
.
%
---even with good instructions.
Even when applications do use SOCKS, they often make DNS requests
themselves. (The various versions of the SOCKS protocol include some where
the application tells the proxy an IP address, and some where it sends a
hostname.) By connecting to the DNS server directly, the application breaks
the user's anonymity and advertises where it is about to connect.
So in order to actually provide good anonymity, we need to make sure that
users have a practical way to use Tor anonymously. Possibilities include
writing wrappers for applications to anonymize them automatically; improving
the applications' support for SOCKS; writing libraries to help application
writers use Tor properly; and implementing a local DNS proxy to reroute DNS
requests to Tor so that applications can simply point their DNS resolvers at
localhost and continue to use SOCKS for data only.
themselves before handing the address to Tor, which advertises
where the user is about to connect.
We are still working on usable solutions.
%So in order to actually provide good anonymity, we need to make sure that
%users have a practical way to use Tor anonymously. Possibilities include
%writing wrappers for applications to anonymize them automatically; improving
%the applications' support for SOCKS; writing libraries to help application
%writers use Tor properly; and implementing a local DNS proxy to reroute DNS
%requests to Tor so that applications can simply point their DNS resolvers at
%localhost and continue to use SOCKS for data only.
\subsection
{
Mid-latency
}
\label
{
subsec:mid-latency
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment