Matthew Toseland wrote: >> It's currently trivialy easy to find out if a request of a connected peer >> was forwarded by that peer or if it was a local request from that peer >> because local requests aren't stored in the datastore/-cache. >> (http://wiki.freenetproject.org/FreenetZeroPointSevenSecurity, search for >> the headline "Datastore") Thus you only have to probe the datastore of the >> requesting peer after sending the data to it and can find out if it was >> forwarded or originated there. In my opinion this isn't really acceptable on >> either a dark- or opennet (perhaps on a true darknet but that doesn't exist >> right now) but it certainly would cause havoc on an opennet. > > This is true (for inserts; requests are cached anyway). The problem is that > the alternative, caching local inserts, is equally dire; the attack that > the Register highlighted last year: Anything you insert is 100% in your > datastore, so if it is seized, or if an attacker makes the requests > remotely and times them, they can guess what you've been browsing. (As > on 0.5).
The Register attack requires the attacker to seize your node, whereas Juiceman's attack can be performed remotely, which to my mind makes it a more serious threat. In the long run we could prevent the Register attack by padding the datastore and encrypting it with a passphrase-derived key, but I don't see how we could prevent Juiceman's attack. Cheers, Michael
