Freenet: A Distributed Anonymous Information Storage and Retrieval System Ian Clarke, Oskar Sandberg, Brandon Wiley,Theodore W. Hong Presented by Zhengxiang Pan Jan. 30 Design Goals Anonymity for both producers and consumers of information Deniability for storers of information Resistance to attempts by third parties to deny access to information Efficient dynamic storage and routing of information Decentralization of all network functions Architecture -overview A cooperative distributed file system Location independence Transparent lazy replication Local datastore & dynamic routing table No privilege No hierarchy No central point Architecture –Keys and Searching KSK: keyword-signed key Easy to remember Problematic flat global namespace SSK: signed-subspace key Personal namespace Manage directory CHK: content-hash key Pseudo-unique file key Useful for updating and splitting Architecture –Retrieving data Architecture –Storing data Calculate file key Send insert message like request If “all clear” send the data to insert Stored in each node alone the path Each node add entry to routing table associating the key and the data source (can be random decided) Architecture –others Managing data LRU: Least Recently Used Cache Routing table entries: in same fashion but will be kept longer Encrypted contents Adding nodes Find existing nodes by out-of-band means New-node announcement Consistent random key for new node in routing table Protocol details Flexible in transport mechanism Node address e.g. tcp/192.168.1.1:19114 64-bit transaction ID Hops-to-live & depth Performance analysis -convergence Time evolution of the request pathlength Performance analysis -scalability Request pathlength VS network size Performance analysis –fault tolerance Change in request pathlength under network failure Performance analysis –small world model Distribution of link number among Freenet nodes Security Anonymity of requestors and inserters Key anonymity: vulnerable to dictionary attack Sender anonymity: local eavesdrop Anonymity of storer: encrypted contents Malicious modification: keys Denial-of-service: a large number of junk files More ? http://www.freenetproject.org/