As I understood, when a client connects through Tor he connects to the central Tor servers, picks up three (or more) public keys, connects to the first, makes a chain to the second and makes a chain to the third. This is the only way to prevent a Tor entry node from being an entry node, middle node and exit node.

Now what happens if a certain three letter agency gets access to the Tor server? If they want to spy on a particular person (who's IP is known), the Tor directory server (now under their control) just sends them three public keys of servers anonymously under control of a three letter agency.

Now they know everything.

Note, even self compiling (after analyzing source code) won't help, as the hack is on the server + a three letter agency can enforce gag-orders.

  • A good question, I'm interested too. Commented Feb 12, 2016 at 11:21

1 Answer 1


This is not what is actually happening. When a Tor client first starts, it does connect to the central Tor servers (Directory Authorities, they're called), but it gets the list of all Tor relays including their keys, not just a few of them. This list is signed by a majority of the Directory Authorities, so any attacker has to compromise (via technical or legal means) a majority of them to target your client. The DAs are placed in different jurisdictions to make the legal attack less likely, and the operators try to take good care of them to ensure technical integrity.

Unfortunately, there is no stronger mechanism in place.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .