On which side of the circuit does the RP get selected? Is it a random node that the client making the connection to the HS selects or something decided at one of the IPs or by the HS itself?

  • I believe client chooses Rendezvous point and sends it to Introducing point. – balki Jul 8 '15 at 20:14
  • Would this leave a higher risk of attack since you're dictating which RP's (that could be owned by the attacker) instead of the HS choosing the RP? – Lizbeth Jul 9 '15 at 2:20
  • Connection between HS and RP is again via tor. So even if RP is compromised, it does not affect either. – balki Jul 9 '15 at 2:22
  • Right. I'm just wondering if it falls into the concern about deterministic path selection because my understanding is unlike a normal three node circuit a HS includes the RP as its final node in the circuit. So in the case of a malicious RP, she would see the IP from the HS's previous node and that node has access to the guard node that the HS is using. While the contents of the connection are protected, does it offer enough defense from data correlation attacks of the HS since there's only two nodes (not 3) remaining to protect the identity of the HS. – Lizbeth Jul 10 '15 at 12:58

According to the Tor documentation it is the client that randomly selects the Rendezvous Point. From step three of the documentation:

Around this time, the client also creates a circuit to another randomly picked relay and asks it to act as rendezvous point by telling it a one-time secret.

The above is the default behavior of Tor clients, but there is an exception. It is also possible for a client to select, non-randomly, a specific relay to use as a rendezvous point. This is described in a Tor Project ticket and rendezvous points to prefer may be specified in your torrc. The relevant field is called Tor2webRendezvousPoints and the Tor2webMode field must be enabled. Google for the Tor manual, I can't post more than two links.


The paragraph above slide 6 in the Tor documentation link in the 1st answer says the following:

In general, the complete connection between client and hidden service consists of 6 relays: 3 of them were picked by the client with the third being the rendezvous point and the other 3 were picked by the hidden service.

So my understanding is that the rendezvous point is the equivalent of the clients exit node on a circuit that is not going to a HS. The HS has a complete (3 node) Tor circuit of its own, which you can see in the Tor circuit view when you connect to a hidden service because you can't see the IP addresses of the 3 nodes on the HS side. The circuit view shows a circuit that looks something like this:

Tor Browser (client) - Entry Guard - Node - Rendezvous Point - Node - Node - Entry Guard - HS

To the point on correlation, If the rendezvous point is owned by an adversary it should not allow them to correlate any data. To perform a correlation attack they would need to own the two entry guards or you and the HS would need to share the same entry guard, and they would need to own that one guard node. See this link to the Tor design document https://svn.torproject.org/svn/projects/design-paper/tor-design.html most importantly, section 5.1

The RP connects Alice's circuit to Bob's. Note that RP can't recognize Alice, Bob, or the data they transmit.

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.