warning: rambling alert The honest truth of the matter is that low latency anonymity networks are just not very good at providing anonymity, and they are even worse at providing anonymity for hidden services. Here is one thing worth mentioning that not many people realize: when accessing a hidden service it is theoretically possible for a single malicious node to deanonymize you. When accessing the clearnet, it is not possible for a single Tor node to deanonymize you. Allow me to elaborate: this is what the path from the hidden services perspective looks like: Hidden Service <-> HS Entry <-> HS Middle <-> HS Final This is what the path from the clients perspective looks like: Client <-> Client Entry <-> Client Middle <-> Client Final (rendezvous) giving us this: Client <-> Client Entry <-> Client Middle <-> Client Final (rendezvous) <-> HS Final <-> HS Middle <-> HS Entry <-> Hidden Service HS entry is capable of determining if it is an entry node for the hidden service simply by sending the hidden services a specifically modulated stream through Tor and looking to see if it relays a stream with this modulation after sending it. Additionally, there is nothing preventing HS Entry and Client Entry from being the same exact node. If they are, then the node operator can link the client and hidden service with an end to end timing attack. When a client accesses the clearnet this is not possible Client <-> Client Entry <-> Client Middle <-> Client Exit <-> Website as the client selects the entire path it will avoid using the same node for entry and exit. Additionally, it will entirely avoid using nodes from the same family. Thus, clients connecting to hidden services can theoretically be deanonymized by an active attacker with a single node, but clients accessing the clearnet cannot be deanonymized by an active attacker with less than two nodes (traffic fingerprinting attacks aside). This is not to say that clients are better off accessing clearnet websites though. Accessing hidden services gives a big advantage in that it makes it more difficult for an arbitrary attacker to position themselves so that they can eavesdrop on traffic to the hidden service. This probably makes doing end to end timing attacks more difficult in the end, even though it does open up the possibility of a single node carrying out an end point timing attack the probability of this being possible to carry out against a large number of clients is small (although it is very likely that some of the clients connecting to such a popular site as SR, are indeed using at least one of the same entry guards as SR is, making them vulnerable to the single node attack I mentioned) I feel like I have strayed from the point I originally set out to make, but only to illustrate a point about hidden service connections that I think many people do not realize (that they are weak to single active node attacks, unlike connections to the regular internet). Back to the point though, using low latency anonymity techniques only can afford so much anonymity. The goal of an anonymity network is to prevent an attacker who can see Alice from determining who Alice communicates with. Likewise, the anonymity network attempts to prevent an attacker who can communicate with Bob from determining who Bob actually is. There are a variety of techniques used to accomplish this goal. Networks like Tor rely on an attacker having only being able to view a small portion of traffic on the network. They protect anonymity entirely by preventing an attacker from watching the traffic leaving from Alice AND the traffic arriving to the person Alice is communicating with, or the traffic arriving at Bob if they are the people communicating with Bob. Tor attempts to do this by having a very large geographically diverse network of volunteer operated nodes. Once the attacker can see the traffic at both ends of a connection, the communicating parties are deanonymized. Unfortunately for Tor and similar networks, tracing communicating parties to their entry guards has proven to be a somewhat trivial task, particularly (although not exclusively) in the case of hidden services. Once a target is traced to its entry guards, deanonymizing it is simply a matter of obtaining logs from the entry guard (either actively or passively) . The situation is equally grim in the case of Alice who uses Tor to visit a website, with the trace starting at Alice rather than the website (in some situations the trace starts at one end, in other situations it starts at the other). If Alice visits honeypot.com which is run by the FBI, they will immediately be able to deanonymize her if they are already monitoring the traffic from her (traffic confirmation). Tor prevents traffic analysis, it does not and cannot prevent traffic confirmation. Even if Alice is visiting notahoneypot.com and the FBI gets logs from it, they can immediately determine that Alice is visiting notahoneypot.com if they are already monitoring her traffic. Tor is really meant for the specific situation in which the feds gather logs from (nota)honeypot.com and they have not yet been able to determine that Alice is someone they are interested in (traffic analysis). Unfortunately even when it comes to traffic analysis Tor leaves a lot to be desired, as mentioned earlier the feds could very well just run several entry nodes and wait until a client that visits (nota)honeypot.com uses them. I don't mean to sound like I am fear mongering, really I do like Tor and I recognize that it provides a lot of anonymity working in the low latency framework that it does. I just also recognize that it is somewhat of a toy compared to high latency anonymity solutions. In a high latency mix network, an attacker can watch Alice send traffic and they can watch that traffic arrive at its destination. Still they are incapable of linking the traffic. In fact in some high latency designs the attacker is capable of watching Alice send a message, passively AND largely (but only partially) actively watching Alice's message on its path all the way to it arriving at her correspondents IP address, and still they cannot link Alice to her correspondent. In some high latency systems, the attacker can send a message to Bob, follow the message all the way to the point that it is delivered to Bob's IP address, and still they cannot determine that Bob's IP address is linked to Bob the pseudonym they communicate with. Comparing high and low latency networks is somewhat apples and oranges, but the difference in the anonymity guarantees between them is extremely massive. I do not believe that low latency networks, including Tor, will continue to hold up to focused attacks. I do believe that a lot of the success of these networks is due to a lack of technical competence on the part of those who wish to attack them. I believe that Tor will continue to provide some degree of anonymity, particularly to people who use it for a very brief period of time before discontinuing its use. It will also continue to provide anonymity to people who desire anonymity but who do not have significant attackers (ie: abusive boy friends, not federal police). But I also strongly believe that it is not the appropriate tool to be using for things upon which your freedom depends. I do believe that currently it will work for these purposes, but I do not think it is the strength of Tor protecting you but rather the weakness of your enemies.