|  | @@ -0,0 +1,120 @@
 | 
	
		
			
				|  |  | +Filename: 116-two-hop-paths-from-guards.txt
 | 
	
		
			
				|  |  | +Title: Two hop paths from entry guards
 | 
	
		
			
				|  |  | +Version: $Revision: 13462 $
 | 
	
		
			
				|  |  | +Last-Modified: $Date: 2007-06-17T15:09:35.083173Z $
 | 
	
		
			
				|  |  | +Author: Michael Lieberman
 | 
	
		
			
				|  |  | +Created: 26-Jun-2007
 | 
	
		
			
				|  |  | +Status: Open
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +This proposal is related to (but different from) Mike Perry's proposal 115
 | 
	
		
			
				|  |  | +"Two Hop Paths."
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Overview:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Volunteers who run entry guards should have the option of using only 2
 | 
	
		
			
				|  |  | +additional tor nodes when constructing their own tor circuits.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +While the option of two hop paths should perhaps be extended to every client
 | 
	
		
			
				|  |  | +(as discussed in Mike Perry's thread), I believe the anonymity properties of
 | 
	
		
			
				|  |  | +two hop paths are particularly well-suited to client computers that are also
 | 
	
		
			
				|  |  | +serving as entry guards.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +First I will describe the details of the strategy, as well as possible
 | 
	
		
			
				|  |  | +avenues of attack. Then I will list advantages and disadvantages. Then, I
 | 
	
		
			
				|  |  | +will discuss some possibly safer variations of the strategy, and finally
 | 
	
		
			
				|  |  | +some implementation issues.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Details:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Suppose Alice is an entry guard, and wants to construct a two hop circuit.
 | 
	
		
			
				|  |  | +Alice chooses a middle node at random (not using the entry guard strategy),
 | 
	
		
			
				|  |  | +and gains anonymity by having her traffic look just like traffic from
 | 
	
		
			
				|  |  | +someone else using her as an entry guard.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Can Alice's middle node figure out that she is initiator of the traffic? I
 | 
	
		
			
				|  |  | +can think of four possible approaches for distinguishing traffic from Alice
 | 
	
		
			
				|  |  | +with traffic through Alice:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +1) Notice that communication from Alice comes too fast: Experimentation is
 | 
	
		
			
				|  |  | +needed to determine if traffic from Alice can be distinguished from traffic
 | 
	
		
			
				|  |  | +from a computer with a decent link to Alice.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +2) Monitor Alice's network traffic to discover the lack of incoming packets
 | 
	
		
			
				|  |  | +at the appropriate times. If an adversary has this ability, then Alice
 | 
	
		
			
				|  |  | +already has problems in the current system, because the adversary can run a
 | 
	
		
			
				|  |  | +standard timing attack on Alice's traffic.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +3) Notice that traffic from Alice is unique in some way such that if Alice
 | 
	
		
			
				|  |  | +was just one of 3 entry guards for this traffic, then the traffic should be
 | 
	
		
			
				|  |  | +coming from two other entry guards as well. An example of "unique traffic"
 | 
	
		
			
				|  |  | +could be always sending 117 packets every 3 minutes to an exit node that
 | 
	
		
			
				|  |  | +exits to port 4661. However, if such patterns existed with sufficient
 | 
	
		
			
				|  |  | +precision, then it seems to me that Tor already has a problem. (This "unique
 | 
	
		
			
				|  |  | +traffic" may not be a problem if clients often end up choosing a single
 | 
	
		
			
				|  |  | +entry guard because their other two are down. Does anyone know if this is
 | 
	
		
			
				|  |  | +the case?)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +4) First, control the middle node *and* some other part of the traffic,
 | 
	
		
			
				|  |  | +using standard attacks on a two hop circuit without entry nodes (my recent
 | 
	
		
			
				|  |  | +paper on Browser-Based Attacks would work well for this
 | 
	
		
			
				|  |  | +http://petworkshop.org/2007/papers/PET2007_preproc_Browser_based.pdf). With
 | 
	
		
			
				|  |  | +control of the circuit, we can now cause "unique traffic" as in 3).
 | 
	
		
			
				|  |  | +Alternatively, if we know something about Alice independently, and we can
 | 
	
		
			
				|  |  | +see what websites are being visited, we might be able to guess that she is
 | 
	
		
			
				|  |  | +the kind of person that would visit those websites.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Anonymity Advantages:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +-Alice never has the problem of choosing a malicious entry guard. In some
 | 
	
		
			
				|  |  | +sense, Alice acts as her own entry guard.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Anonymity Disadvantages:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +-If Alice's traffic is identified as originating from herself (see above for
 | 
	
		
			
				|  |  | +how hard that might be), then she has the anonymity of a 2 hop circuit
 | 
	
		
			
				|  |  | +without entry guards.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Additional advantages:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +-A discussion of the latency advantages of two hop circuits is going on in
 | 
	
		
			
				|  |  | +Mike Perry's thread already.
 | 
	
		
			
				|  |  | +-Also, we can advertise this change as "Run an entry guard and decrease your
 | 
	
		
			
				|  |  | +own Tor latency." This incentive has the potential to add nodes to the
 | 
	
		
			
				|  |  | +network, improving the network as a whole.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Safer variations:
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +To solve the "unique traffic" problem, Alice could use two hop paths only
 | 
	
		
			
				|  |  | +1/3 of the time, and choose 2 other entry guards for the other 2/3 of the
 | 
	
		
			
				|  |  | +time. All the advantages are now 1/3 as useful (possibly more, if the other
 | 
	
		
			
				|  |  | +2 entry guards are not always up).
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +To solve the problem that Alice's responses are too fast, Alice could delay
 | 
	
		
			
				|  |  | +her responses (ideally based on some real data of response time when Alice
 | 
	
		
			
				|  |  | +is used an entry guard). This loses most of the speed advantages of the two
 | 
	
		
			
				|  |  | +hop path, but if Alice is a fast entry guard, it doesn't lose everything. It
 | 
	
		
			
				|  |  | +also still has the (arguable) anonymity advantage that Alice doesn't have to
 | 
	
		
			
				|  |  | +worry about having a malicious entry guard.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Implementation details:
 | 
	
		
			
				|  |  | +For Alice to remain anonymous using this strategy, she has to actually be
 | 
	
		
			
				|  |  | +acting as an entry guard for other nodes. This means the two hop option can
 | 
	
		
			
				|  |  | +only be available to whatever high-performance threshold is currently set on
 | 
	
		
			
				|  |  | +entry guards. Alice may need to somehow check her own current status as an
 | 
	
		
			
				|  |  | +entry guard before choosing this two hop strategy.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Another thing to consider: suppose Alice is also an exit node. If the
 | 
	
		
			
				|  |  | +fraction of exit nodes in existence is too small, she may rarely or never be
 | 
	
		
			
				|  |  | +chosen as an entry guard. It would be sad if we offered an incentive to run
 | 
	
		
			
				|  |  | +an entry guard that didn't extend to exit nodes. I suppose clients of Exit
 | 
	
		
			
				|  |  | +nodes could pull the same trick, and bypass using Tor altogether (zero hop
 | 
	
		
			
				|  |  | +paths), though that has additional issues.*
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +Mike Lieberman
 | 
	
		
			
				|  |  | +MIT
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +*Why we shouldn't recommend Exit nodes pull the same trick:
 | 
	
		
			
				|  |  | +1) Exit nodes would suffer heavily from the problem of "unique traffic"
 | 
	
		
			
				|  |  | +mentioned above.
 | 
	
		
			
				|  |  | +2) It would give governments an incentive to confiscate exit nodes to see if
 | 
	
		
			
				|  |  | +they are pulling this trick.
 |