Freenet Project

Can we bypass censorship on the Internet?

The story was that the Internet was designed to bypass censorship (in the sense of reroute around disruptions) and that the technology was therefore inherently democratic. Now we worry this won’t stay true as we discover that countries can censor the net and commercial interests (RIAA) can scare beharior. We are discovering what political activists have always known, you can’t count on systems by themselves – you have to pay attention to achieve values. The Freenet Project (thanks to Matt for this) is an example of paying attention – building the human and technical network to support redundant distribution of information.

My memory of Freenet was of something different – local free internet ISPs in the days when there were few affordable options for those outside the university – hmmm is this the same org morphed?

Anyway, they are doing what James Chartrand and I imagined and called the Beacon project. (As always, if you have a good idea that just helps you recognize that someone else had it before.)

Here is a summary of what James and I imagined:

1. We imagine software that can be distributed for free, but for which there could be services developed for payment.

2. One model is the following:

2.1 Beacon Client
– This would be a screen saver. When you install it you choose one or more channels to subscribe to.
– Each channel represents a project whose materials you agree to assign a certain amount of disk space to.
– When you chose a channel you set the disk space allotment and you can enter a public key if that has been given to you.
– Typically you would download a client from a project with the client preselected so that it would work immediately once you set the disk space. If you want to know about other channels you could go to a web site where legitimate channels are advertised.
– When the screen saver kicks in the client connects to the server and checks out blocks of material to archive. If the material is encrypted and you do not have the public key then you would not see portions of the materials you are archiving. If the material is open or you have the key then you could see random snippets scroll around the screen.
– There would be a message facility so that messages from the channel provider could pop up (Eg. “New Russel Volume available…”)
– There would be a management environment one could open up where one could do things like:
i. Change the diskspace allottment
ii. Subscribe or Unsubscribe to channels
iii. Change screen saver settings
iv. Decrypt materials given the public key

2.2 Beacon Server
– The server is what makes a channel available and manages the content on clients. It needs to be on most of the time.
– The server would encrypt the content to be archived in manageable blocks.
– When you add materials to the archive you would be prompted to enter metadata about the materials which would be attached to the materials in an open format (?)
– The server when contacted by a client would take blocks and send them to the client for archiving.
– There would be a setting panel for the server where one could control various features like:
i. The encryption of the materials
ii. The redundancy desired (how many independent copies do you want at a given time.)
iii. Notices to go out as messages
iv. Choices about how long before you worry that a client is no longer archiving your materials

2.3 Eventually we could combine the two tools into a client/server that can be used by workgroups to share files.

3. Encyrption
One idea would be to have two levels of encryption. The outer level is to make sure that blocks come from the server subscribed to. All blocks would encrypted using the level 1 private key and all clients would, on subscription, get the level 1 public key. That way only blocks that decrypt using the level 1 public key would be archived at all. Also, the metadata, messages, and open materials would be visible once decrypted using the level 1 key.

The level 2 encryption would be for materials within the blocks that the channel does not want visible to clients. These would be archived in an encrypted fashion with associated metadata. Should the channel server provide a particular user the level 2 key then all the materials could be decrypted. This might happen if there was a catastrophic failure of the server archive and the materials have to be retrieved from the clients. (Which is the whole point of archiving.)

4. Commercialization
Here are some ideas for funding:

4.1 We get a grant to do this.
4.2 We sell the server license
4.3 We sell customized clients. In this model anyone could get the server and an open client, but if they want to distribute a customized client that connects automatically to a channel they pay for the customization.
4.4 We sell the client/server version for workgroups
4.5 We sell services based on the software – training, installation and so on.