Matthew Toseland
2011-08-06 16:24:15 UTC
Basically, you are vulnerable to your peers (those other freenet
nodes your node connects to). They know your IP address - they have
to to connect to you. They can identify you. As you rightly point
out, your peers can also, with a fair bit of work, and on various
plausible assumptions, identify much of what you are doing on
Freenet.
When will premix routing and tunneling and onion routing be implemented?nodes your node connects to). They know your IP address - they have
to to connect to you. They can identify you. As you rightly point
out, your peers can also, with a fair bit of work, and on various
plausible assumptions, identify much of what you are doing on
Freenet.
you believe that it is a whole tunnel. Even if you use two peers and then try to
find a common friend of a friend of a friend... you are still making some big
assumptions. So as i see it tunnelling can only guarantee safety when you 100%
trust your friends not to spy on you, and in that case you don't really need it.
This will not happen before 0.8 however. It will require a good deal more design and implementation work and since lots of users seem to assume Freenet is perfectly secure anyway (although we try to dispel that in the wizard), it won't help us to get funding, so it can't be a big priority for me or Ian in the near future.
The reason tunneling is expensive is to provide security against a realistic adversary - one who is initially distant (if you're already a suspect they've probably bugged your computer already, freenet is about *anonymity*, i.e. not getting found in the first place) - we have to route through 2 or 3 nodes *distributed across the entire network*, or a large chunk of this. On opennet, you can connect directly to do this - I2P does this, Tor does this. However:
- Opennet is very easy to block. In the first instance, blocking seednodes is trivial. In the second instance, harvesting all known nodes and blocking their IPs is quite feasible. The infrastructure for this is rapidly being built and deployed even in "free" countries, although currently it operates mainly on the transparent HTTP proxy or DNS level.
- This does not help with darknet.
- Duplicating the existing code from other networks is probably not very worthwhile, and a lot more work than it sounds. (And it has its own set of vulnerabilities, e.g. Tor is arguably more vulnerable to traffic analysis than we are). Integrating their code would be very difficult, and politically anathema to those (including Ian) who see Tor as a direct competitor, and to those like me who see darknet as the future.
On darknet, such routing requires that we route between each pair of nodes *ON THE NETWORK*, i.e. it will take 7 or more hops from node 0 to node 1, and from node 1 to node 2, and that's before it starts the actual request. This makes it rather expensive.
Because it is so expensive it will be off by default, apart from predictable blocks mentioned above. We will allow users to create multiple WoT identities with different security settings, upload/download queues etc, or to set specific security settings for particular downloads/uploads.