OnionService.md (1180B)
1 # Onion Service (Tor Hidden Service) 2 3 **Definition:** An onion service is site accessed through the Tor network. 4 5 ## How It Works 6 7 ### Registering the Server 8 9 #### Setup 10 11 1. Compute a public private key pair 12 2. Compute the hash of the two to serve as the domain name 13 - Can be done a bunch of times with the public private key gen to get a name you want 14 3. Connect to Tor 15 4. Contact a bunch of Tor relays, asking them to be your introduction point 16 - Can have many introduction points at the same time 17 18 #### Discovery 19 20 1. Create Onion Service descriptor with a list of introduction points and authentication keys signed with private key 21 2. Upload the signed descriptor to a distributed hash table 22 23 ### Resolution 24 25 1. Client has Onion address 26 2. Lookup signed descriptor for the Onion service 27 3. Verify signature 28 4. Client picks a Tor relay and establishes a Tor circuit 29 5. Client asks Tor relay to become rendezvous point and gives it a one-time-secret 30 6. Introduction point passes details to the hidden service 31 7. Onion service checks validity of data and connects to the rendezvous point 32 8. Rendezvous point relays encrypted messages from client to service and vice versa