I realise this might be a tor issue, but I’m not sure.
I think i’ve been doing sometihng very stupid.
I was under the illusion that shutting down tor browser and then opening it again would do what the New identity button does. However this is not the case as the Ip stays the same. Does this mean that all my web activity is now linked to one single profile (for each starting up of whonix)? Is there anyway that this is not the case?
I woudl appreciate some detailed input…
I’ve been researching this topic a bit and I’m going to disagree with some things that @Patrick said (!!).
Right. This is a Tor Browser issue. Whonix is not involved here. Shutting down and restarting is specific to Whonix (per HulaHoop’s comment.) Tor Browser has built-in circuit isolation features. A more descriptive title would be “Tor Browser circuit isolation”.
Assuming my edit of your question is what you intended, your web browsing was never (since TBB v4.5a1) limited to a single circuit. There are two ways that your browsing activities are isolated from each other:
Tor periodically creates new circuits. When a circuit is used it becomes dirty, and after ten minutes new connections will not use it. When all of the connections using an expired circuit are done the circuit is closed.
2. By first-party domain name
Several places in the Whonix wiki (including https://www.whonix.org/wiki/Tor_Browser) refer to Tor Browser Tab Isolation. AFAICT this is incorrect. https://trac.torproject.org/projects/tor/ticket/3455 explains that streams are isolated by SOCKSauth and that SOCKS username is a function of the base url first-party domain name. This can be seen by opening an arbitrary number of tabs and browsing to check.torproject.org. All of the tabs will show the same IP address. In order for multiple connections to the same website to use a different circuit, a separate instance of Tor Browser is required.
This is Whonix specific though. With stock TBB the bundled Tor instance shutdown with the browser and so a new circuit is built on a restart. Not so with Whonix because it’s a system Tor daemon on the GW that keeps running.
I think this is a very important failsafe feature - but iyou should mention its for designs like Whonix.
Indeed a good point. I see now why I thought this is the case. I even remember that it was recommended to restart tor browser rather than click the new id button but that was a long time ago.
Otherwise thanks for the responses.
entr0py, you are saying that actually only the periodical change of circuit would be able to stop linking my tor profile, given the second reason is not correct? So what if I changed ‘identities’ withing 10 minutes, then the identities are linked?
What I’m asking is - Does restarting the tor browser in whonix do exactly the same thing as opening a new tab in a current session i.e. nothing? If the answer is yes, then theoretically my profiles should be linked, right?
In this case, both Joe and Mary would have connected to gmail.com over the same Tor circuit.
Restarting Tor Browser deleted all application-level data so, for example, Joe and Mary would have had different cookies.
You can watch this process yourself by installing onioncircuits. It’s a great tool to learn about stream isolation.
This is a very concerning issue. I can imagine someone creating a bitcoin wallet at blockchain.info. Then, transferring bitcoins from wallet1 to wallet2 via some anonymizing service. Then, closing Tor Browser and logging into wallet2. While the bitcoin trail might have been obfuscated, both wallets would have been accessed from the same source.
[This example is complicated because blockchain.info doesn’t allow clearnet connections from Tor exit nodes. But I confirmed that the connection to the hidden service occurs over the same Tor circuit as well. However, I don’t know enough about hidden services to know what identifying metadata can be collected regarding the source of the connection - meaning IP addresses aren’t used, but can the relay be identified as being the same by it’s fingerprint?]
Yes, this is what I was asking. I assume it applies if joe logs into a different website than marry within those 10 minutes? Would this be enough to conclude that joe and marry are the same person?
Can this analysys be done only in real time or can it be backtracked?
Say if an adversary decided to look into marry’s activity now?
As a stopgap Whonix’s tb-starter /usr/bin/torbrowser could request newnym before starting Tor Browser and/or after Tor Browser has terminated. Does automation of that sound sane or can you imagine any ill effects?
No, it doesn’t. That’s why I specifically mentioned gmail.com. You asked the following earlier:
If “second reason” is referring to:
why would that not be correct? The only way that Tor Browser would not isolate different websites is if you used some type of proxy after Tor, in which case, all of your browsing would occur over a single circuit until a relay died.
The fact that 2 connections originate from the same Tor exit node within a short timeframe would constitute some circumstantial evidence. People are free to draw whatever conclusions they want.
Thanks for the replies and patience, entr0py. I think I’m getting there.
As you say, you think the first-party domain is incorrect because it does show the same IP for every checked tab within one session. I have no idea what the SOCKSAuth does, but if the tabs use the same IP, how does that help keeping profiles apart?
And why is it different if it’s not logging into the the same website?
If joe logs into say an onion website, then restarts Tor Browser and logs into a clearnet website as marry, then both should be connected the same way as if they would have logged in one website?
Can you please elaborate on what you mean by “Depends on logging”? The logs that the websites keep or something else?
No problem. We have found the source of the confusion!
I never said or implied this. What I said was that every checked tab showed the same IP for the same website. This proved that Tor Browser doesn’t automatically create a new circuit for every tab.
In fact, Tor Browser creates a new circuit for every new first-party base domain URL. That means mail.google.com and accounts.google.com will stream over the same circuit but mail.facebook.com will generate a new circuit. All the additional URLs that are generated from the initial request will also stream over the respective initial (first-party) circuit. This is Tor Browser’s default behavior - like unused circuits dying at 10 mins - it has nothing to do with restarting the browser or clicking “New Identity”. (Also don’t worry about SOCKSAuth. That’s just the mechanism that Tor Browser uses to differentiate websites).
Whatever logs websites keep, whatever logs ISPs keep, whatever logs the NSA keeps… Basically, I don’t know.
@winibub To be absolutely certain that activities from your last session are not detectable in your new one - you should create a snapshot of a freshly installed GW after Tor is initially started up and rollback to it along with your WS clean state.
Want to run multi-WSs same time? You must have a separate GW assigned for every WS. Be sure to apply the advice above here too.
After restarting Tor Browser, connections should be stream isolated. Even to same domain. This is because Tor Browser sets a socks user name that contains a random string per first level domain the is different after a browser restart.