8

Is Freenet secure?

Of course, I must elaborate on what I mean by "secure".

  1. Suppose there is a banned book stored on Freenet. May I download it to local storage without the following groups knowing that I now have a copy?

    a. My roommate. He can see all packets I transmit or receive on my network interface. (He can't see my screen nor memory nor file contents--neither can anyone else in this list. Someone who could see that stuff can just do ls /home/dave/books.)

    b. A high level network administrator at my ISP, a national cable company. She can see all packets to and from all the ISP's customers (which includes 5% of all Freenet nodes).

    c. A longtime Freenet developer and elite hacker. He doesn't have any special access to my network, but he knows Freenet inside and out. He may run several nodes of his own and even use sockpuppetry to suggest weak configuration to other users. But, he's just one guy who is neither rich nor crazy. (NB. This character is fictional.)

    d. Some nation-state security type organization (basically NSA). Significant (but finite) resources. Presume that I'm probably uninteresting to them, BUT, they are the ones that "banned" the book! (So, they do care about this content, in this hypothetical.) They can see 40% of all Freenet packets, and the memory content of 2% of Freenet machines (not including mine).

    e. An organized (cyber)crime syndicate. They have money, proxies, botnets, they aren't risk adverse, etc. If they can find my physical address and suspect I have the book, they'll just send someone to steal my computer, then they'll know.

  2. Suppose the same adversaries as above (a through e) but this time... I'm uploading a banned book instead of downloading it.

2
  • Do you exclude the case where person (c) sneaks something into the code to the effect of "send everything done and everyone doing it to me"? – cpast Jan 7 '15 at 22:30
  • Hm, I think the answer to that depends on real-world facts. Has Freenet been evaluated by qualified, disinterested folks? My guess is that "send a copy" code would have been identified long ago. But 1) it could have been added recently or 2) it could be subtle yet effective implementation. Suppose random-node selection almost always includes node#123, which (c) operates... But, I'm speculating! – daveloyall Jan 7 '15 at 22:41
6

Freenet is essentially a distributed encrypted data store. "Insertion" of data into that data store involves generating a "key" (more or less the "URL" for the data), from which encryption keys and block tags are derived. The data is broken up into blocks, the blocks are encrypted and tagged, and the encrypted blocks are pushed to other systems participating in the network.

Routing within the network is by peer-to-peer relaying: a data block might pass through dozens of systems (some of which will cache it) on the way to its destination. The network protocol is designed such that an observer cannot tell the difference between a block being transferred as part of an upload and a block being transferred as part of a download, and cannot trace a block through multiple hops (ie. if computer "A" transfers data to computer "B", and computer "B" then transfers data to computer "C", an observer cannot tell if that was a download by "B" and an upload by "B", a transfer transiting through "B", a download by "B" and a request being fulfilled by "B"'s cache, an upload by "Q" that happened to wind up in "C" after passing through "A" and "B", or any of a number of other scenarios).

To take your examples:

a, b, and c: No. They cannot tell if you've got the book, or even if it passed through your computer on the way to somebody else.

d, e: Maybe. They cannot tell from observing the network, but if the attacker knows what the encrypted version of the book looks like (something a three-letter agency is likely to know), they can inspect your computer's Freenet cache (typically through black-bag cryptanalysis) to see if it contains a copy of it. Depending on the standard of evidence in use, that may or may not be enough to get you in trouble.

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.