0

Usually the anonimity aspect of Tor is explained from the client point of view. The entry node can know who you are but cannot know which website you're accessing, and the exit node cannot know who you are.

My question is, how does it keep the host anonymous. When someone accesses a Tor website, the exit node sends the data to & from the website being accessed right? How does Tor prevent the exit node from seeing the IP address of the website being accessed? Sure it won't know who's accessing the website, but won't it know who is hosting the website?

Edit: I understand now that hidden services create Tor circuits to introduction points and clients connect to those with their own tor circuits. I guess a better way to ask my question is this:

Does the first node in the Tor circuit from the hidden service to the introduction point see both the public key and the IP of the hidden service?

2
  • 1
    It doesn't..... – user253751 Oct 20 '20 at 15:37
  • 1
    See 2019.www.torproject.org/docs/onion-services for a good explanation of the process, particularly While the introduction points and others are told the onion service's identity (public key), we don't want them to learn about the onion server's location (IP address). – mti2935 Oct 20 '20 at 16:21
1

Tor hidden services do not operate trough exit nodes. Hidden services picks some nodes as introduction points and builds protected Tor routes to them. Clients connect those services by building own Tor routes to these introduction points.

Only the introduction points know they have route to the hidden service. For the other nodes it looks just like any other encrypted Tor traffic: they cannot distinguish services from each other nor services from clients. It does not matter that the first node sees the IP address, because it has no idea it is the hidden service.

However, it might be possible to deduce a location of a hidden service by its downtimes, if there is just a single instance serving it. Think there are recurring power or Internet outages in your area. If someone can match those with the downtimes of the service, the approximate location or network might be exposed. Furthermore, it would be possible to use e.g. DDoS to delimit it to a single IP address. Having multiple instances to introduce the same service mitigates the threat.

2
  • I don't see how that changes anything. Even though hidden services pick instruction points and build Tor routes to them, the first connection through that Tor route would still know both the public key and the IP address no? – ThunderSea Oct 20 '20 at 18:05
  • 1
    They don't know it. I tried to clarify that. – Esa Jokinen Oct 21 '20 at 4:55
1

It doesn't, kind of.

Hidden services in Tor work by creating two Tor circuits, one for the client and one for the service. If a normal Tor circuit has 3 nodes, the route from the client to the service has 6 nodes. This way, the client's Output Node only knows the service's Input Node.

I skipped a lot of details about how the client finds the service's circuit Input Node. Great explanation can be found here, by the Tor project themselves.

1

Does the first node in the Tor circuit from the hidden service to the introduction point see both the public key and the IP of the hidden service?

No.

See the diagram for step 1 at https://2019.www.torproject.org/docs/onion-services. In this diagram, Bob is running a hidden service. The diagram might be slightly confusing, because the green arrows from Bob to the introduction points might appear as if Bob is directly connected to the introduction points, and therefore Bob's IP address is exposed to the introduction points. However, the green arrows are not direct connections, they are TOR circuits.

Therefore, the connection from Bob to an introduction point is through several TOR nodes. At most, the introduction point can only see the IP address of the node immediately before it. Bob's IP address is several nodes removed from this node. It's analogous to browsing the web through TOR - i.e. the exit node can at most see the IP address of the node immediately before it. The user's IP address is several nodes removed from this node.

2
  • I didn't ask if the introduction point sees the IP, I understand that it doesn't. I am asking if the first node in the TOR circuit between the introduction point and Bob, sees both Bob's IP and the public key of his hidden service. After all some node needs to know Bob's IP. I'm assuming that the node that knows Bob's IP doesn't know the public key, so it doesn't know the IP is where the website is hosted? – ThunderSea Oct 20 '20 at 22:08
  • 1
    That's correct. The TOR node connecting to Bob knows Bob's IP, but does not know Bob's public key. The introduction point knows Bob's public key, but does not know Bob's IP. – mti2935 Oct 20 '20 at 22:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.