Caching issues was Re: Migration path, please! (Re: [freenet-support] Freenet 0, 5 and 0, 7

Matthew Toseland <toad-EI5O+8PHWbJeeLb3ft/[email protected]> Tue, 29 Aug 2006 20:54:04 +0100
Newsgroups gmane.network.freenet.technical,gmane.network.freenet.general
Message-ID <[email protected]>
On Fri, Aug 25, 2006 at 08:59:23AM -0400, [email protected] wrote:
>   
> Juiceman wrote:
> >With 10 connections, the data that could intercepted by one attacker
> >is roughly 10%. The problem is the attacker doesn't know how many
> >connections you have, so you could just be passing on data from any
> >number of connections you have.
>  
> 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).

What do you suggest we do? A "client cache" (temporary cache using
ephemeral keys) would help slightly. Premix routing would seem to be the
ultimate solution, but is difficult, and thus not to be implemented
before 0.8. I have been toying with the idea of some kind of
non-encrypted semi-permanent tunnels to provide some request security; a
tunnel would be a random route taken by a whole bunch of requests, or
even all local requests from a node over a period; it would be randomly
either forwarded or broken up and the requests routed on each hop. While
it is being forwarded, the requests aren't cached, and don't check the
cache. This would provide a small anonymity set, but better than
nothing.
-- 
Matthew J Toseland - toad-EI5O+8PHWbJeeLb3ft/[email protected]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.

_______________________________________________
Tech mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/tech
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFE9JtcOHFIJVywduQRAs5oAJ40MnnEehFbm5ig6+sSF8grsAuozwCaAxjM
WwlNQh1Iwn1JfQqka/RRBAU=
=cRnK
-----END PGP SIGNATURE-----