diff options
author | Nick Mathewson <nickm@torproject.org> | 2004-08-15 20:08:39 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2004-08-15 20:08:39 +0000 |
commit | 2728a2e971ba128d84c2710505404d79705fc9e1 (patch) | |
tree | 0411f246eb4bb9e2c974782970cd1a7d4cb60cd2 | |
parent | 488aa52f257627cd75d846f6e0ccee7d600baee4 (diff) | |
download | tor-2728a2e971ba128d84c2710505404d79705fc9e1.tar tor-2728a2e971ba128d84c2710505404d79705fc9e1.tar.gz |
Add IP:Port:KeyDigest format to rend-spec.txt
svn:r2234
-rw-r--r-- | doc/rend-spec.txt | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/doc/rend-spec.txt b/doc/rend-spec.txt index ac2b0aca8..57bb70d24 100644 --- a/doc/rend-spec.txt +++ b/doc/rend-spec.txt @@ -117,21 +117,20 @@ Tor Rendezvous Spec PK Bob's public key [KL octets] TS A timestamp [4 octets] NI Number of introduction points [2 octets] - Ipt A list of NUL-terminated OR nicknames [variable] + Ipt A list of NUL-terminated ORs [variable] SIG Signature of above fields [variable] KL is the length of PK, in octets. (Currently, KL must be 128.) TS is the number of seconds elapsed since Jan 1, 1970. + The members of Ipt may either be OR nicknames, or IP:Port:ID-key-hash + triples. Servers must accept both forms. Before 0.0.7 is obsoleted, + servers should only generate the first form. + [It's ok for Bob to advertise 0 introduction points. He might want to do that if he previously advertised some introduction points, and now he doesn't have any. -RD] - [Shouldn't the nicknames be hostname:port's instead? That way, Alice's - directory servers don't need to know Bob's chosen introduction points. - Not important now, but essential if we ever have a non-total-knowledge - design. -NM] - 1.3. Bob's OP establishes his introduction points. The OP establishes a new introduction circuit to each introduction @@ -160,7 +159,7 @@ Tor Rendezvous Spec currently associated with PK. On success, the OR sends Bob a RELAY_INTRO_ESTABLISHED cell with an empty payload. -1.4. Bob's OP advertises his server descriptor +1.4. Bob's OP advertises his service descriptor Bob's OP opens a stream to each directory server's directory port via Tor. (He may re-use old circuits for this.) @@ -251,10 +250,20 @@ Tor Rendezvous Spec Encrypted to Bob's PK: RP Rendezvous point's nickname [20 octets] RC Rendezvous cookie [20 octets] - g^x Diffie-Hellman data, part 1 [128 octetes] + g^x Diffie-Hellman data, part 1 [128 octets] + OR + VER Version byte: set to 4. [1 octet] + RP:IP IP of rendezvous point [4 octets] + RP:P Port of rendezvous point [2 octets] + RP:ID ID key hash of rendezvous pt [20 octets] + RC Rendezvous cookie [20 octets] + g^x Diffie-Hellman data, part 1 [128 octets] PK_ID is the hash of Bob's public key. RP is NUL-padded. + Implementations must accept both variants, but should only generate the + first so long as Tor 0.0.7. + The hybrid encryption to Bob's PK works just like the hybrid encryption in CREATE cells (see main spec). Thus the payload of the RELAY_INTRODUCE1 cell on the wire will contain 20+42+16+20+20+128=246 |