Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Can someone please give a simple description of the process that happens when I go to an onion website in Tor? I.e.how many computer send what signals in what order. Also, what would happen if an .onion TLD was created theoretically? Would the only the Tor websites be accessible through Tor, or would the "official" websites only show,or neither, or both?

share|improve this question
    
who keeps on deleting some of the comments and answers? –  ike Oct 1 '13 at 19:55
    
The users can remove their own posts and moderators can remove post on flagging. –  Braiam Oct 2 '13 at 4:27
    

2 Answers 2

Whenever you connect to Tor, you get assigned a direction under the .onion domain based in a static Unique identifier, unique until you uninstall or remove your Tor configuration which is generated using as the base a public key.

When someone else within the network search for your pseudo hostname, it ask for the hashes that has registered such key and it routes your packages to there. There is no "central" repository of all the keys because the obvious structure of how tor is made of, so no DNS but a bunch of routers until the information reach the destination node.

Related articles:

I tried to simplify terms, if something is not clear please comment.

share|improve this answer
    
Whenever you connect to Tor: that means for browsing, or if I'm using the hidden services for my own network? –  ike Oct 1 '13 at 16:24
    
@user85686 whenever you route packages/connections through tor. The browser use connections/packages so I tried to generalize that no only http but any protocol actually. –  Braiam Oct 1 '13 at 16:25
    
So do I get a "pseudo hostname" if I am just browsing and not helping others use Tor –  ike Oct 1 '13 at 16:28
    
I think you are mixing things. You are accessible through the network with this domain, you are a client like you are of the internet. I can ping your hostname/ip. To help others use tor you should configure yourself not to be just a client but a router (relay, endpoint, etc) check the help page for how to set your client to do so. –  Braiam Oct 1 '13 at 16:32

The official Tor Hidden Service Protocol document explains things rather well, but you may not know where the browser is involved. Below contains some exceprts from this document

Here's what happens:

  1. First, the hidden service must be setup. The following happens:

    "A hidden service needs to advertise its existence in the Tor network before clients will be able to contact it. Therefore, the service randomly picks some relays, builds circuits to them, and asks them to act as introduction points by telling them its public key."

    "...the hidden service assembles a hidden service descriptor, containing its public key and a summary of each introduction point, and signs this descriptor with its private key. It uploads that descriptor to a distributed hash table. The descriptor will be found by clients requesting XYZ.onion where XYZ is a 16 character name derived from the service's public key. After this step, the hidden service is set up."

    Now, regarding connecting to it:

  2. You have Tor running and your browser is correctly setup to proxy through Tor.

  3. You enter an .onion address.
  4. The tor program, being setup as a proxy, intercepts this.

    Note that if you do NOT have tor setup correctly, the .onion request will be processed normally by your browser, generally causing a DNS lookup with that address to a public DNS server of some sort. It won't work, but more importantly, you leak the connection attempt to the DNS server and anyone with access to your traffic in your routing path to it.

  5. Now your Tor client is doing the work: "... A client that wants to contact a hidden service needs to learn about its onion address first. After that, the client can initiate connection establishment by downloading the descriptor from the distributed hash table. If there is a descriptor for XYZ.onion (the hidden service could also be offline or have left long ago, or there could be a typo in the onion address), the client now knows the set of introduction points and the right public key to use. Around this time, the client also creates a circuit to another randomly picked relay and asks it to act as rendezvous point by telling it a one-time secret. "

  6. "When the descriptor is present and the rendezvous point is ready, the client assembles an introduce message (encrypted to the hidden service's public key) including the address of the rendezvous point and the one-time secret. The client sends this message to one of the introduction points, requesting it be delivered to the hidden service. Again, communication takes place via a Tor circuit: nobody can relate sending the introduce message to the client's IP address, so the client remains anonymous."

  7. "The hidden service decrypts the client's introduce message and finds the address of the rendezvous point and the one-time secret in it. The service creates a circuit to the rendezvous point and sends the one-time secret to it in a rendezvous message. "

  8. Once the above happens, then communication back and forth between the hidden service and your client can occur. The results are finally piped back to your browser.

share|improve this answer
    
I think this is what I was looking for. So if there were to be a .onion TLD, it wouldn't be usable within Tor because Tor would intercept the DNS lookup? –  ike Oct 1 '13 at 18:15

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.