Let’s say we want to talk to each other in secret, and we are going to do so by exchanging letters via the postal system.
I start by writing you a letter. I lock that letter in a tiny metal box, one that only you have the key for. Assume that this box is completely indestructible and its contents cannot be read in any possible way without having the key to open it. That way, even if this box gets intercepted somehow, our messages are safe. Real-world Internet communication using regular browsers is already like this right now. (Ever notice that little padlock up top?)
To send you the locked box, I have to put it in a cardboard shipping box and write “TO: /u/Lowrider_Fan1969” on the outside. If I didn’t, how would the post office know to get it to you? Additionally, I have to also write “FROM: /u/DiamondIceNS” on the outside, because if you wanted to reply, the post office would also need to know where to send it back to. This can present a problem, as even though the contents of our communications are safe, a snooping postal worker can still see that *we are talking to each other*, as we have to publicly tell them where our packages are coming from and heading to. Internet traffic in regular browsers has a similar problem.
We could throw off the scent by using a middleman. Instead of me sending all of my packages to you, I’ll send my packages to the middleman, with instructions to forward the package to you. So anyone watching my mail won’t see me talking to you, they only see me talking to the middleman. To keep the instructions private so no one knows that the mail is going to be forwarded after it gets to my middleman, I’ll lock the instructions and the metal box from before inside another, bigger metal box, this time one that only the middleman has the key for. What we essentially have at this point is what we’d call a *proxy*. A slight variation of this idea is also how *VPN* services work.
With enough investigation, it could be deduced that we’re using a middleman. To throw off the scent even more, we could choose to use a chain of many middlemen. Each one requires us to put a box inside of another box, so we get a crazy nested Russian doll of boxes containing more boxes. All these layers start to look like an onion, which is where the association between Tor and onions comes from.
One extra feature that gives onion routing (the secret sauce behind Tor) its anonymizing power is that not only are you and I using a long chain of middlemen to communicate, but so is everyone else. Including all of the middlemen themselves. We’re also middlemen for other random people! Each middleman is constantly receiving a deluge of packages from other middlemen on the network and passing them on to some other random middlemen somewhere else on the network in one hopelessly complex shuffle. In this situation, since *everyone* is a middleman for *everyone* else, no one person on the network stands out as suspicious for any specific communication line. And since *every* package is a hopelessly nested Russian doll of locked boxes within locked boxes, no one package is going to help you trace a route of who is *really* talking to whom.
Latest Answers