Freenet: A Distributed Anonymous Information Storage and Retrieval System

advertisement
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/
Download