22

I know there are potential risks of carrying out multiple activities over Tor at the same time, when I don't want them to be linked.

For example, I might browse one website giving one pseudonym, then switch to another where I want to use a different pseudonym. There is the possibility that Tor one circuit will be used for both websites, so the exit-node operator would be able to discover hat the two pseudonyms correspond to the same person.

Also, I might run two applications which both use Tor (say Firefox with TorButton, as well as Pidgin) at the same time, and I don't want my activity in one being linked to the other. As a extreme, I've read (in "Compromising Tor Anonymity Exploiting P2P Information Leakage") that if one application leaks my public IP address, someone observing the exit node could discover that my IP address is linked to activities carried out by other applications which connect via Tor.

What are the best ways to isolate activities so as to prevent these attacks?

21

Browsing different websites

At the moment, it is not advisable to browse two different websites at the same time when you don't want your activity to be linked. The Tor client can't tell which tab/window you are using for each request so might send requests for both sites over the same circuit. The exit node operator could then spot the correspondence.

Instead, you should browse one website at a time. When you've finished on one site you should click the "New Identity" button in the TorButton menu. This will close your existing tabs and then you can start your browsing with the second website. Any circuits which were used before you clicked "New Identity" will not be used after, so preventing an exit node from linking activities on the two websites.

Don't press "New Identity" too much though, because it increases load on the Tor network. Any circuit which was first used more than 10 minutes ago (unless changed by the MaxCircuitDirtiness Tor option) will automatically be ineligible for new requests.

There are plans to improve the situation, by letting your Tor client know when two requests correspond to different browser tabs or go to different domain names. At the moment though you are safest just browsing one website at a time.

Running different applications

The situation is different if you are interested in preventing activity on different applications at the same time, as proposal 171 introduced features to allow activities carried out by one application to be isolated from activities carried out by another.

By default, requests to the Tor client's SOCKS port coming from different IP addresses are isolated, as are requests which have different SOCKS authentication information. So the easiest way to isolate two applications is to configure them to use the same SOCKS port but with different SOCKS usernames and passwords (what you use as the username and password doesn't matter, as long as each application has a different setting).

You can also configure how the Tor client isolates connections by setting isolation flags for your SocksPort, TransPort, DNSPort or NATDPort. See the description of SOCKSPort in the Tor manual for the possible flags. Do bear in mind however that enabling more isolation will both increase load on the Tor network and lower your performance.

  • 5
    Actually, clicking new identity from inside Torbutton (i.e. the onion icon in your browser) will blow away all your current tabs, as well as reset your browser state. That's probably the better way to do it, rather than using Vidalia's interface (especially as Vidalia will go away when we move to TBB 3.0). – Roger Dingledine Sep 26 '13 at 10:28
3

If you don't want two things to be linked, don't do them on the same machine. The simplest approach would be to use multiple instances of Whonix. Whonix is a pair of VirtualBox Debian VMs. One runs Tor, and the other is workspace with Tor-optimized Firefox etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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