|
@@ -499,7 +499,7 @@ Details:
|
|
clients and distributes them outside of Tor. The suggested key size is
|
|
clients and distributes them outside of Tor. The suggested key size is
|
|
128 bits, so that descriptor cookies can be encoded in 22 base64 chars
|
|
128 bits, so that descriptor cookies can be encoded in 22 base64 chars
|
|
(which can hold up to 22 * 5 = 132 bits, leaving 4 bits to encode the
|
|
(which can hold up to 22 * 5 = 132 bits, leaving 4 bits to encode the
|
|
- authorization type "1" and allow a client to distinguish this
|
|
+ authorization type (here: "0") and allow a client to distinguish this
|
|
authorization protocol from others like the one proposed below).
|
|
authorization protocol from others like the one proposed below).
|
|
Typically, the contact information for a hidden service using this
|
|
Typically, the contact information for a hidden service using this
|
|
authorization protocol looks like this:
|
|
authorization protocol looks like this:
|
|
@@ -524,12 +524,12 @@ Details:
|
|
### Here comes the voodoo I've conceived:
|
|
### Here comes the voodoo I've conceived:
|
|
###
|
|
###
|
|
### ATYPE Authorization type: set to 1. [1 octet]
|
|
### ATYPE Authorization type: set to 1. [1 octet]
|
|
- ### ALEN Number of authorized clients div 16 [1 octet]
|
|
+ ### ALEN Number of clients := 1 + ((clients - 1) div 16) [1 octet]
|
|
### for each symmetric descriptor cookie:
|
|
### for each symmetric descriptor cookie:
|
|
### ID Client ID: H(descriptor cookie | IV)[:4] [4 octets]
|
|
### ID Client ID: H(descriptor cookie | IV)[:4] [4 octets]
|
|
### SKEY Session key encrypted with descriptor cookie [16 octets]
|
|
### SKEY Session key encrypted with descriptor cookie [16 octets]
|
|
### (end of client-specific part)
|
|
### (end of client-specific part)
|
|
- ### RND Random data [(16 - (number-of-clients mod 16)) * 20 octets]
|
|
+ ### RND Random data [(15 - ((clients - 1) mod 16)) * 20 octets]
|
|
### IV AES initialization vector [16 octets]
|
|
### IV AES initialization vector [16 octets]
|
|
### IPOS Intro points, encrypted with session key [remaining octets]
|
|
### IPOS Intro points, encrypted with session key [remaining octets]
|
|
|
|
|
|
@@ -574,8 +574,8 @@ Details:
|
|
created client key and descriptor cookie, he tells them to the client
|
|
created client key and descriptor cookie, he tells them to the client
|
|
outside of Tor. The contact information string looks similar to the one
|
|
outside of Tor. The contact information string looks similar to the one
|
|
used by the preceding authorization protocol (with the only difference
|
|
used by the preceding authorization protocol (with the only difference
|
|
- that it has "2" encoded as auth-type in the remaining 4 of 132 bits
|
|
+ that it has "1" encoded as auth-type in the remaining 4 of 132 bits
|
|
- instead of "1" as before).
|
|
+ instead of "0" as before).
|
|
|
|
|
|
When creating a hidden service descriptor for an authorized client, the
|
|
When creating a hidden service descriptor for an authorized client, the
|
|
hidden service uses the client key and descriptor cookie to compute
|
|
hidden service uses the client key and descriptor cookie to compute
|