mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-25 04:43:31 +01:00
14459fe94e
svn:r15279
129 lines
6.0 KiB
Plaintext
129 lines
6.0 KiB
Plaintext
Filename: 133-unreachable-ors.txt
|
|
Title: Incorporate Unreachable ORs into the Tor Network
|
|
Author: Robert Hogan
|
|
Created: 2008-03-08
|
|
Status: Draft
|
|
|
|
Overview:
|
|
|
|
Propose a scheme for harnessing the bandwidth of ORs who cannot currently
|
|
participate in the Tor network because they can only make outbound
|
|
TCP connections.
|
|
|
|
Motivation:
|
|
|
|
Restrictive local and remote firewalls are preventing many willing
|
|
candidates from becoming ORs on the Tor network.These
|
|
ORs have a casual interest in joining the network but their operator is not
|
|
sufficiently motivated or adept to complete the necessary router or firewall
|
|
configuration. The Tor network is losing out on their bandwidth. At the
|
|
moment we don't even know how many such 'candidate' ORs there are.
|
|
|
|
|
|
Objective:
|
|
|
|
1. Establish how many ORs are unable to qualify for publication because
|
|
they cannot establish that their ORPort is reachable.
|
|
|
|
2. Devise a method for making such ORs available to clients for circuit
|
|
building without prejudicing their anonymity.
|
|
|
|
Proposal:
|
|
|
|
ORs whose ORPort reachability testing fails a specified number of
|
|
consecutive times should:
|
|
1. Enlist themselves with the authorities setting a 'Fallback' flag. This
|
|
flag indicates that the OR is up and running but cannot connect to
|
|
itself.
|
|
2. Open an orconn with all ORs whose fingerprint begins with the same
|
|
byte as their own. The management of this orconn will be transferred
|
|
entirely to the OR at the other end.
|
|
2. The fallback OR should update it's router status to contain the
|
|
'Running' flag if it has managed to open an orconn with 3/4 of the ORs
|
|
with an FP beginning with the same byte as its own.
|
|
|
|
Tor ORs who are contacted by fallback ORs requesting an orconn should:
|
|
1. Accept the orconn until they have reached a defined limit of orconn
|
|
connections with fallback ORs.
|
|
2. Should only accept such orconn requests from listed fallback ORs who
|
|
have an FP beginning with the same byte as its own.
|
|
|
|
Tor clients can include fallback ORs in the network by doing the
|
|
following:
|
|
1. When building a circuit, observe the fingerprint of each node they
|
|
wish to connect to.
|
|
2. When randomly selecting a node from the set of all eligible nodes,
|
|
add all published, running fallback nodes to the set where the first
|
|
byte of the fingerprint matches the previous node in the circuit.
|
|
|
|
Anonymity Implications:
|
|
|
|
At least some, and possibly all, nodes on the network will have a set
|
|
of nodes that only they and a few others can build circuits on.
|
|
|
|
1. This means that fallback ORs might be unsuitable for use as middlemen
|
|
nodes, because if the exit node is the attacker it knows that the
|
|
number of nodes that could be the entry guard in the circuit is
|
|
reduced to roughly 1/256th of the network, or worse 1/256th of all
|
|
nodes listed as Guards. For the same reason, fallback nodes would
|
|
appear to be unsuitable for two-hop circuits.
|
|
|
|
2. This is not a problem if fallback ORs are always exit nodes. If
|
|
the fallback OR is an attacker it will not be able to reduce the
|
|
set of possible nodes for the entry guard any further than a normal,
|
|
published OR.
|
|
|
|
Possible Attacks/Open Issues:
|
|
|
|
1. Gaming Node Selection
|
|
Does running a fallback OR customized for a specific set of published ORs
|
|
improve an attacker's chances of seeing traffic from that set of published
|
|
ORs? Would such a strategy be any more effective than running published
|
|
ORs with other 'attractive' properties?
|
|
|
|
2. DOS Attack
|
|
An attacker could prevent all other legitimate fallback ORs with a
|
|
given byte-1 in their FP from functioning by running 20 or 30 fallback ORs
|
|
and monopolizing all available fallback slots on the published ORs.
|
|
This same attacker would then be in a position to monopolize all the
|
|
traffic of the fallback ORs on that byte-1 network segment. I'm not sure
|
|
what this would allow such an attacker to do.
|
|
|
|
4. Circuit-Sniffing
|
|
An observer watching exit traffic from a fallback server will know that the
|
|
previous node in the circuit is one of a very small, identifiable
|
|
subset of the total ORs in the network. To establish the full path of the
|
|
circuit they would only have to watch the exit traffic from the fallback
|
|
OR and all the traffic from the 20 or 30 ORs it is likely to be connected
|
|
to. This means it is substantially easier to establish all members of a
|
|
circuit which has a fallback OR as an exit (sniff and analyse 10-50 (i.e.
|
|
1/256 varying) + 1 ORs) rather than a normal published OR (sniff all 2560
|
|
or so ORs on the network). The same mechanism that allows the client to
|
|
expect a specific fallback OR to be available from a specific published OR
|
|
allows an attacker to prepare his ground.
|
|
|
|
Mitigant:
|
|
In terms of the resources and access required to monitor 2000 to 3000
|
|
nodes, the effort of the adversary is not significantly diminished when he
|
|
is only interested in 20 or 30. It is hard to see how an adversary who can
|
|
obtain access to a randomly selected portion of the Tor network would face
|
|
any new or qualitatively different obstacles in attempting to access much
|
|
of the rest of it.
|
|
|
|
|
|
Implementation Issues:
|
|
|
|
The number of ORs this proposal would add to the Tor network is not known.
|
|
This is because there is no mechanism at present for recording unsuccessful
|
|
attempts to become an OR. If the proposal is considered promising it may be
|
|
worthwhile to issue an alpha series release where candidate ORs post a
|
|
primitive fallback descriptor to the authority directories. This fallback
|
|
descriptor would not contain any other flag that would make it eligible for
|
|
selection by clients. It would act solely as a means of sizing the number of
|
|
Tor instances that try and fail to become ORs.
|
|
|
|
The upper limit on the number of orconns from fallback ORs a normal,
|
|
published OR should be willing to accept is an open question. Is one
|
|
hundred, mostly idle, such orconns too onerous?
|
|
|