Home » Blog » Blogs and bloggers » Tor – Onion routing and the modern dissident

Tor – Onion routing and the modern dissident

I received excellent feedback on the first draft of the technical guide to internet anonymity I wrote a few days back for Global Voices. One of the questions I was asked (multiple times, and sometimes quite forcefully!) was why I hadn’t included the Tor (The Onion Router) network in the draft document.

The simple answer: I hadn’t had time to play with the system yet, and couldn’t talk about it in other than theoretical terms. (And I have this thing about not praising or panning software without actually using it…)

But I had some “free” (heh) time this morning and wanted to fire it up so I could add a section to the document, and see if Tor is something I’d want to run on a regular basis.

I was pretty damned impressed with the ease of installation of Tor on my Mac. I was all set to blame the Tor folks for releasing a broken .dmg file (the format used for Mac installation packages), when I discovered that I couldn’t install any .dmgs after installing Apple’s 10.3.9 update – nice work, Apple. (If you’re getting this page as a response to a search query for error -536870208 after installing 10.3.9, try running Disk First Aid, fixing any permissions errors you encounter and restarting. Worked like a charm for me.) But Tor installed itself and Privoxy, an exemplary adblocker and proxy, with almost no intervention on my behalf. After a restart, I only had to change preferences in Firefox, setting 127.0.0.1:8118 as my proxy for HTTP and HTTPS, to get the system up and working.

(Uninstallation is another matter. The installer doesn’t have an uninstall option. And the Tor-FAQ wiki is less than helpful regarding uninstallation: “This depends entirely on how you installed it. If you installed a package, then hopefully your package has a way to uninstall itself. If you installed by source, I’m afraid there is no easy uninstall method. But on the bright side, by default it only installs into /usr/local/ and it should be pretty easy to notice things there.” Gee, thanks.)

Uninstallation aside, it’s pretty clear that the developers of Tor are thinking hard about usability – as I read the draft of the paper they’re now working on, Challenges in Low-Latency Anonymity, I felt a certain amount of contrition about the rant I wrote last week about usability and anonymity. (Only a little contrition. I am a blogger, after all.)

Paper authors Roger Dingledine, Nick Mathewson and Paul Syverson make it clear that usability is one of the major goals of the system:

“The ideal Tor network would be practical, useful and anonymous. When trade-offs arise between these properties, Tor’s research strategy has been to remain useful enough to attract many users, and practical enough to support them. Only subject to these constraints do we try to maximize anonymity.”

This isn’t just because Tor’s architects are trying to be nice to their users. It’s because no anonymity strategy works if there are insufficient users. If you’re the only user of a particular strategy, you’re pretty damned visible to someone doing network analysis.

“Usability for anonymity systems contributes to their security, because usability affects the possible anonymity set. Conversely, an unusable system attracts few users and thus can’t provide much anonymity.”

Because they’re worried about maintaining large networks of users and anonymizing servers, they’re also very concerned about who uses Tor. If all the users are bad guys, it’s unlikely that universities, ISPs and other organizations capable of hosting high-bandwidth nodes will continue to participate.

“…the network’s reputability affects its operator base: more people are willing to run a service if they believe it will be used by human rights workers than if they believe it will be used exclusively for disreputable ends… So the more cancer survivors on Tor, the better for the human rights activists. The more malicious hackers, the worse for the normal users.”

So how well does Tor work, from the perspective of someone trying to recommend tools to human rights workers? For the most part, it works really, really well. Using IPID and noreply, I checked the IP I appeared to be coming from a couple dozen times. Six different “exit nodes” registered, from around the world. (Oddly, the first was a Harvard server, which caused me to worry for a few seconds.)

Tor automatically generates a path through proxy servers, encrypting traffic so that each router only knows the next router in the chain, and doesn’t know the contents of your packets. I’m guessing that Tor maintains each of these chains for a few minutes, changing them if they get congested, or otherwise when they “time out” – I noticed that I had the same exit node for a couple minutes at a time. (It’s, of course, possible that the intervening chain changed and the exit stayed the same.)

The ever-changing IP addresses lead to some odd web behaviors. Google, which uses geolocation to determine what nation you’re coming from, has greeted me in English, Dutch, Japanese and German over the past four searches. (And, by the way, Google clearly is using different algorithms for different languages – I get very different results for searches involving “Tor” in countries where the word means “bridge”.) That’s okay – I keep meaning to brush up my language skills. But it looks like I’m not going to be an especially good Wikipedian while using Tor. I’m blocked from editing pages because I’m coming from an anonymous proxy. Logging into my user account doesn’t help – I’m still blocked. (Oddly, this turns on and off as well. Perhaps Wikipedia is only blocking certain Tor routers?) The block page invites me to email Jimmy Wales to request a block exception and tells me that if I’m really in so much danger that I need strong anonymity that I shouldn’t contribute to Wikipedia. (I got this block page twice, but have not been able to recreate it lately, so I apologize that I don’t have the exact language.)

And Frontier, the weblog server that Harvard runs, fails utterly, complaining when I post that “the referrer did not match the expected referrer”.

Oh, and it’s slow. Noticeably slower than just using a single proxy, especially when accessing sites with a lot of images. (Flickr, for instance, is a miserable experience through Tor.) This makes sense – each file requested (each image) needs to get encrypted and decrypted several times. Even though each of those operations is pretty quick, they add up when you’re requesting a couple dozen images at a time.

But hey! Those are the only problems I’ve found. Super-complex javascript-dependent pages like gmail work just fine, and I can post to my WordPress blog just fine. And there are some lovely side effects to installing Tor and Privoxy – Privoxy does an astoundingly good job of blocking ads, so good that I’ll likely keep it running even when I disable Tor.

How useful is Tor for the theoretical whistleblower I talk about on Global Voices? Pretty darned useful. There’s three major drawbacks to the system for that imagined user:

  • Internet access in developing nations is already quite slow. Tor will compound some access problems – it uses a fixed block size for messages, so protocols like IRC will suddenly use lots more data. It’s not a problem for most of the world, but it might be for some of the users I’m considering.
  • Unlike using a single proxy server, you can’t use Tor from a public (cybercafe or university) computer without doing a major software install.
  • Tor routers are vulnerable to blocking – a determined Internet censor could download Tor, watch what exit nodes get used and block those on a national level. The same problem exists with any anonymous proxy strategy, but the fact that there are only 100 Tor nodes means this is potentially a huge problem. Furthermore, it would require a very sophisticated user to keep Tor running once censors figured out how to block certain nodes. You would need to know what nodes are being blocked and then tell Tor to stop using those nodes for your messages.

    That said, I’m impressed so far, and suspect that Tor will become increasingly popular for net surfing and publishing in highly monitored countries. I’ll be very interested to hear from my buddies at the Open Net Initiative whether they’re seeing active attempts to block Tor – I guarantee that we’ll see these efforts soon if Tor keeps growing.

  • 7 thoughts on “Tor – Onion routing and the modern dissident”

    1. Thanks for the good and useful Tor writeup! We are indeed focusing a lot of thought on usability, and are working on getting a comprehensive GUI together.

    2. Regarding the speed issue — actually, I’d say most of the speed hit is coming from each packet traversing, let’s say, 4 additional TCP streams in addition to the baseline 1 for a direct connection.

      If that’s the case, then the slow links in developing nations would not be so much of an issue; the slowness you see would be pretty similar to the slowness they’d see, in turn.

      It’s less of an apparent slowdown.

      To explain: let’s say user A in the US can contact site X, with a latency of 100ms, and user B in a developing nation can contact site X with a latency of 300ms. If a Tor connection adds 500ms, then the *difference* (the apparent slowdown) for A-Tor-X compared to A-X would be 600/100 = 6 times slower; but for B-Tor-X compared to B-X it’s 800/300 = 2.66 times slower. does that make sense? ;)

    3. Note that there are already multiple published blacklists of TOR servers. This has resulted in TOR access being (alas) commonly blocked from locations in China (well, in the Shenzhen area at least).

    4. ken – is that documented anywhere? I haven’t been able to find reports of Tor being blocked in China, though i have no doubt that it’s true…

    5. I have solved the problem of Tor requiring an install and not being able to run on university machine. With help, we have combined Tor with Firefox Deer Park Alpha 2, for a relatively secure combination which allows users to browse anonymously and leaving virtually no tracks behind. The whole thing fits on 19MB of storage space, and is designed to run on simple USB keychains. It requires no install or storage, and only the running of a batch file (for now.)

      The upshot is that anyone can walk up to a public terminal, stick in a USB flash card, and surf the web anonymous, clean, and encrypted.

      This will be released to the public very soon, and there will certainly be a Chinese edition.

    6. Pingback: …My heart’s in Accra » TorPark. Pretty Darned Cool.

    7. Pingback: j|turn

    Comments are closed.