[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

understanding problem, hidden services



Hi,

Although This *might* be better asked on the dev list I am sure here are
people who can answer this simple question too:

I am referring to this text:
https://gitweb.torproject.org/tor.git?a=blob_plain;hb=HEAD;f=doc/spec/rend-spec.txt

I recently tried to explain the hidden services to somebody and noticed
that there is something I could not answer myself and also could not
find in the above mentioned document:



line 589: (Alice establishes rendezvous point)
==============================================
"It does this by establishing a circuit to a randomly chosen OR"

does this mean
Alice -> OR1 -> OR2 -> Rend
         ^^^^^^^^^^^^^^^^^^
         circuit ending at Rend
or

Alice -> OR1 -> OR2 -> OR3 -> Rend
         ^^^^^^^^^^^^^^^^^
               circuit        connecting to Rend

I believe its the first one, a "circuit to", not a "circuit, connecting
to", but it is not entirely clear from reading the text.



line 609: (Alice connecting to Bob's intro point)
=================================================
"Alice builds a separate circuit to one of Bob's chosen introduction points"

The same wording, the same interpretation?

Alice -> OR1 -> OR2 -> Intro <- ORb <- ORa <- Bob
                       ^^^^^^^^^^^^^^^^^^^
         ^^^^^^^^^^^^^^^^^^^    3
                   3

or are more than 5 nodes involved? More than 5 nodes would destroy the
nice symmetry.



line 688: (Rendezvouz)
======================
"Bob's OP builds a new Tor circuit *ending* at Alice's chosen rendezvous
point"

Here the word "ending" sounds clear to me. The rendezvouz is the last
node in Bob's cicuit:

Rend <- ORb <- ORa <- Bob
^^^^^^^^^^^^^^^^^^
          3


Now dependig on the iterpretation of line 589 mentioned in the beginning
we have either:

Alice -> OR1 -> OR2 -> Rend <- ORb <- ORa <- Bob
         ^^^^^^^^^^^^^^^^^^
                  3    ^^^^^^^^^^^^^^^^^^
                               3

which is nice and symmetrical and involves the same number of nodes from
either side

or we have this:

Alice -> OR1 -> OR2 -> OR3 -> Rend <- ORb <- ORa <- Bob
         ^^^^^^^^^^^^^^^^^^
                  3           ^^^^^^^^^^^^^^^^^^
                                       3

Which I don't believe (alice would have chosen 4 and bob only 2 nodes).


Now here on this website with the nice pictures that tries to explain it
the whole problem is avoided by simply drawing a circuit as a green
arrow, not mentioning how many nodes it has or whether it ends at the
last node or connects to the last node:
http://www.torproject.org/docs/hidden-services.html.en
But in the text below the last image: "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."

This does not fit to *any* possible interpretation of rend-spec.txt:
"Bob's OP builds a new Tor circuit *ending* at Alice's chosen rendezvous
point," This has to be either a 4-node circuit if Bob is allowed to
chose 3 of its nodes or the wording in rend-spec.txt in line 688 is wrong.

How does it really work?

Bernd
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxxx with
unsubscribe or-talk    in the body. http://archives.seul.org/or/talk/