notes

Personal notes
git clone git://git.laack.co/notes.git
Log | Files | Refs

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