Top Banner
Freenet Freenet A Distributed Anonymous A Distributed Anonymous Information Storage and Information Storage and Retrieval System Retrieval System I Clarke O Sandberg I Clarke O Sandberg B Wiley B Wiley T W Hong T W Hong
24

Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

FreenetFreenet

A Distributed Anonymous A Distributed Anonymous Information Storage and Retrieval Information Storage and Retrieval

SystemSystem

I Clarke O SandbergI Clarke O Sandberg

B WileyB Wiley T W HongT W Hong

Page 2: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

IntroductionIntroduction

Design goalsDesign goals– Producer and consumer anonymityProducer and consumer anonymity– Deniability for storers of informationDeniability for storers of information– Resistance to hostile third partiesResistance to hostile third parties– Efficient dynamic storage and routingEfficient dynamic storage and routing– Decentralization of network functionsDecentralization of network functions

Page 3: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

FeaturesFeatures

– Responds adaptively to usage patternsResponds adaptively to usage patterns– Files are moved transparently, replicated and Files are moved transparently, replicated and

deleted without centralized location indexesdeleted without centralized location indexes– It operates at application layer It operates at application layer – Assumes the existence of a secure transport Assumes the existence of a secure transport

layerlayer

Page 4: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Security IssuesSecurity Issues

How to provide anonymity?How to provide anonymity?– Consumers may use browser proxy servicesConsumers may use browser proxy services– However, producers may keep session logsHowever, producers may keep session logs– Contacting a particular server reveals the Contacting a particular server reveals the

information neededinformation needed– Producers may ensure anonymity by using Producers may ensure anonymity by using

encrypted URL servicesencrypted URL services– No protection against the operator of the No protection against the operator of the

service service

Page 5: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

ArchitectureArchitecture

Peer to peer network of nodes that query Peer to peer network of nodes that query one another one another

Each node has it’s local data store and Each node has it’s local data store and dynamic routing tabledynamic routing table

Enables users to share unused disk space Enables users to share unused disk space and increases the storage capacity of the and increases the storage capacity of the networknetwork

Page 6: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Basic ModelBasic Model

Nodes know only their immediate upstream Nodes know only their immediate upstream and downstream neighborsand downstream neighbors

Queries are given a unique identifier and Queries are given a unique identifier and hops-to-live count hops-to-live count

Queries are forwarded to a node based on Queries are forwarded to a node based on previous informationprevious information

Page 7: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

If a previous message is seen, forwarded to If a previous message is seen, forwarded to another nodeanother node

Process continues until file is obtained or Process continues until file is obtained or hops-to-live counter is exceededhops-to-live counter is exceeded

Success or Failure is passed back up the Success or Failure is passed back up the chainchain

Page 8: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Retrieving DataRetrieving Data

User hashes a short descriptive string to User hashes a short descriptive string to obtain file keyobtain file key

She then sends the “Request” message to She then sends the “Request” message to her own nodeher own node

If present, returns with message saying it If present, returns with message saying it was the sourcewas the source

If not, looks up nearest key in routing table If not, looks up nearest key in routing table and forwards to the next nodeand forwards to the next node

Page 9: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

If request is ultimately successful, node If request is ultimately successful, node passes it back up the upstream requestorpasses it back up the upstream requestor

It also makes a local cache of the very same It also makes a local cache of the very same filefile

Future requests will be serviced fasterFuture requests will be serviced faster Similar keys will also be forwarded to the Similar keys will also be forwarded to the

same nodesame node For security, any node along the path can For security, any node along the path can

claim to be the author of the fileclaim to be the author of the file

Page 10: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

If a node cannot forward to it’s preferred If a node cannot forward to it’s preferred downstream node, it sends to it’s second-downstream node, it sends to it’s second-nearest key nearest key

If that doesn’t match, then third nearest key If that doesn’t match, then third nearest key and so onand so on

If none of them match, it sends a failure If none of them match, it sends a failure message to it’s upstream node which message to it’s upstream node which follows the same procedurefollows the same procedure

Page 11: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Storing (Inserting) DataStoring (Inserting) Data

Similar to requesting dataSimilar to requesting data User picks a text string(title) and hashes it User picks a text string(title) and hashes it

to a file key and sends it to her nodeto a file key and sends it to her node If there is a collision, user is informedIf there is a collision, user is informed If no collision, node sends to the closest key If no collision, node sends to the closest key

in routing tablein routing table

Page 12: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

This goes on until hops-to-live is reachedThis goes on until hops-to-live is reached If a collision occurs anywhere, the node If a collision occurs anywhere, the node

sends back the file along with a notice and sends back the file along with a notice and is treated as a requestis treated as a request

If not, the file is sent and copied at each If not, the file is sent and copied at each nodenode

Page 13: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

EffectsEffects

1. New files tend to end up near files with 1. New files tend to end up near files with similar keys enabling efficiencysimilar keys enabling efficiency

2. New nodes can inform the network of their 2. New nodes can inform the network of their existenceexistence

3. An attacker trying to insert a corrupted or 3. An attacker trying to insert a corrupted or empty file under the same key will actually empty file under the same key will actually spread the real file furtherspread the real file further

Page 14: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Managing DataManaging Data

Node storage uses a LRU cacheNode storage uses a LRU cache When a new file arrives, by insert or When a new file arrives, by insert or

request, the least recently used file is request, the least recently used file is removedremoved

Thus, if a file is needed, it will remain on Thus, if a file is needed, it will remain on some nodesome node

Or it will fade awayOr it will fade away

Page 15: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Naming, Searching, UpdatingNaming, Searching, Updating

Possible Name collisions are a problemPossible Name collisions are a problem Solutions :-Solutions :-

– Introduce two level structure, wherein Real Introduce two level structure, wherein Real files are stored under a unique keyfiles are stored under a unique key

– An indirect file consists of a list of binary keys An indirect file consists of a list of binary keys corresponding to that name and a search is corresponding to that name and a search is mademade

– Protects against malicious attacks of Protects against malicious attacks of replacementreplacement

Page 16: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

InsertionInsertion– Author can insert a no. of indirect files with Author can insert a no. of indirect files with

pointers to real filespointers to real files– Collisions could be accepted in these files and Collisions could be accepted in these files and

be a sort of library of similar text titlesbe a sort of library of similar text titles– Private key encryption and public key Private key encryption and public key

decryption could be used to get infodecryption could be used to get info– Indirect file could also inserted under a Indirect file could also inserted under a

signature verifying keysignature verifying key

Page 17: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

PerformancePerformance

• Networks of 500 – 900 nodesNetworks of 500 – 900 nodes• Each with a datastore size of 40 itemsEach with a datastore size of 40 items• Routing table size of 50 addressesRouting table size of 50 addresses• 10 unique items stored in each node10 unique items stored in each node

Page 18: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

SecuritySecurity

Primary Goal – To provide anonymity of Primary Goal – To provide anonymity of requestors and inserters of filesrequestors and inserters of files

Receiver anonymity may be viewed as key Receiver anonymity may be viewed as key anonymity anonymity

In Freenet routing depends on the key, so it In Freenet routing depends on the key, so it is not possibleis not possible

Hashes of keys may be usedHashes of keys may be used

Page 19: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Sender Anonymity Sender Anonymity – A node does not know whether it’s downstream A node does not know whether it’s downstream

neighbor is the actual source or forwarding itneighbor is the actual source or forwarding it– A statistical analysis of network traffic may A statistical analysis of network traffic may

help the attacker in determining the source help the attacker in determining the source – Depth value may also help in determining the Depth value may also help in determining the

sourcesource

Page 20: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

To prevent an eavesdropper, user should To prevent an eavesdropper, user should use the node on her own machine as the use the node on her own machine as the first point of entryfirst point of entry

Messages between nodes are encryptedMessages between nodes are encrypted Pre routing can be added by encrypting with Pre routing can be added by encrypting with

a succession of public keysa succession of public keys This determines the route of the encrypted This determines the route of the encrypted

messagemessage

Page 21: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

Denial of Service AttacksDenial of Service Attacks– Insert a lot of garbage filesInsert a lot of garbage files– Use the Hash Cash scheme to prevent against Use the Hash Cash scheme to prevent against

thisthis– Divide storage into two sections – one for new Divide storage into two sections – one for new

inserts and one for ‘established’ filesinserts and one for ‘established’ files– Protects against a person trying to spread Protects against a person trying to spread

garbage filesgarbage files– Difficulty in introducing genuine new filesDifficulty in introducing genuine new files

Page 22: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

ConclusionConclusion

This scheme keeps information anonymous This scheme keeps information anonymous and is highly scalableand is highly scalable

Provides effective means of storage and Provides effective means of storage and retrievalretrieval

More rigorous tests with many more nodes More rigorous tests with many more nodes and improvements to the basic protocol are and improvements to the basic protocol are requiredrequired

Page 23: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

GnutellaGnutella

Many similarities exist between Freenet and Many similarities exist between Freenet and GnutellaGnutella

Everyone is visible to everyone else as long Everyone is visible to everyone else as long as you are ‘online’as you are ‘online’

Users are split up into groupsUsers are split up into groups Gnutella employs a broadcast search for Gnutella employs a broadcast search for

files which grows exponentiallyfiles which grows exponentially

Page 24: Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.

NapsterNapster

Napster has a centralized server, which does Napster has a centralized server, which does not store any data not store any data

It coordinates searches of usersIt coordinates searches of users Security risk – Security risk –

– If centralized server is shut down, no way of If centralized server is shut down, no way of distributing filesdistributing files

– The law!The law!