Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity.

Slides:



Advertisements
Similar presentations
Peer-to-peer and agent-based computing Freenet. peer-to-peer and agent-based computing 2 Plan of lecture Freenet Architecture –Goals and Properties Searching.
Advertisements

Scalable Content-Addressable Network Lintao Liu
Peer-to-Peer (P2P) Distributed Storage 1Dennis Kafura – CS5204 – Operating Systems.
Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility Antony Rowstron, Peter Druschel Presented by: Cristian Borcea.
Peer to Peer File Sharing: A Survey Ismail Guvenc and Juan Jose Urdaneta.
Modelling and Analysing of Security Protocol: Lecture 10 Anonymity: Systems.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Free Haven Mads Danquah Troels Krogh. Free Haven Began as a research project started by a group of MIT students in December 1999 Wanted to create a safe.
Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Schenker Presented by Greg Nims.
Denial-of-Service Resilience in Peer-to-Peer Systems D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica and W. Zwaenepoel Presenter: Yan Gao.
Freenet A Distributed Anonymous Information Storage and Retrieval System Ian Clarke Oskar Sandberg Brandon Wiley Theodore W.Hong.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Vault: A Secure Binding Service Guor-Huar Lu, Changho Choi, Zhi-Li Zhang University of Minnesota.
Cryptography In Censorship Resistant Web Publishing Systems By Hema Hariharan Swati B Shah.
FreeNet: A Distributed Anonymous Information Storage and Retrieval System Ian Clark, Oskar Sandberg, Brandon Wiley and Theodore Hong.
P2P: Advanced Topics Filesystems over DHTs and P2P research Vyas Sekar.
1 Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul.
A Scalable Content-Addressable Network Authors: S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker University of California, Berkeley Presenter:
Protecting Free Expression Online with Freenet Presented by Ho Tsz Kin I. Clarke, T. W. Hong, S. G. Miller, O. Sandberg, and B. Wiley 14/08/2003.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Wide-area cooperative storage with CFS
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
1 Freenet  Addition goals to file location: -Provide publisher anonymity, security -Resistant to attacks – a third party shouldn’t be able to deny the.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presentation by Theodore Mao CS294-4: Peer-to-peer Systems August 27, 2003.
F REENET UDAYA S PISIPATI 02/26/08. C ONTENTS  Introduction  Design goals  Architecture  Basic model  Keys in searching  Retrieving data  Storing.
1 A scalable Content- Addressable Network Sylvia Rathnasamy, Paul Francis, Mark Handley, Richard Karp, Scott Shenker Pirammanayagam Manickavasagam.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
1 Grid vs. Peer-to-Peer Yin Chen 25 June 2003.
Information-Centric Networks05b-1 Week 5 / Paper 2 A survey of peer-to-peer content distribution technologies –Stephanos Androutsellis-Theotokis, Diomidis.
1 Plaxton Routing. 2 Introduction Plaxton routing is a scalable mechanism for accessing nearby copies of objects. Plaxton mesh is a data structure that.
Survey of Peer to Peer Technologies Authors: Bratislav Milić, Jelena Krunić, Veljko Milutinović,
Wide-area cooperative storage with CFS Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris, Ion Stoica.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
1 1.Freenet Architecture a)Goals b)Properties 2.Searching a network a)Searching/Routing algorithm b)Adaptive behaviour c)Differences with other algorithms.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Peer to Peer Research survey TingYang Chang. Intro. Of P2P Computers of the system was known as peers which sharing data files with each other. Build.
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Presenter: Chris Grier ECE 598nb Spring 2006.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Ian Clarke, Oskar Sandberg, Brandon Wiley,Theodore W. Hong Presented by Zhengxiang.
Freenet File sharing for a political world. Freenet: A Distributed Anonymous Information Storage and Retrieval System I. Clarke, O. Sandberg, B. Wiley,
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
Freenet: A Distributed Anonymous Information Storage and Retrieval System Josh Colvin CIS 590, Fall 2011.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Freenet Ubiquitous Computing - Assignment Guided By: Prof. Niloy Ganguly Department of Computer Science and Engineering Submitted By: o Parin Deepak Cheda.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
1. Efficient Peer-to-Peer Lookup Based on a Distributed Trie 2. Complex Queries in DHT-based Peer-to-Peer Networks Lintao Liu 5/21/2002.
Data Indexing in Peer- to-Peer DHT Networks Garces-Erice, P.A.Felber, E.W.Biersack, G.Urvoy-Keller, K.W.Ross ICDCS 2004.
A Reputation-Based Approach for Choosing Reliable Resources in Peer-to-Peer Networks E. Damiani S. De Capitani di Vimercati S. Paraboschi P. Samarati F.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Freenet: Anonymous Storage and Retrieval of Information
Company LOGO Freenet By Yogesh Kalyani. OUTLINE  Introducing P2P  Overview of Freenet  Key’s  Protocol  Security Analysis  Improvement  Strength.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Freenet A Distributed Anonymous Information System and Retrieval System I. Clarke, O. Sandberg, B. Wiley, W. Hong ECE 6102 Presented By: Kaushik Chowdhury.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
Peer-to-Peer (P2P) File Systems. P2P File Systems CS 5204 – Fall, Peer-to-Peer Systems Definition: “Peer-to-peer systems can be characterized as.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
CS 268: Lecture 22 (Peer-to-Peer Networks)
CHAPTER 3 Architectures for Distributed Systems
Presentation by Theodore Mao CS294-4: Peer-to-peer Systems
Unstructured Routing : Gnutella and Freenet
Freenet.
Presentation transcript:

Freenet “…an adaptive peer-to-peer network application that permits the publication, replication, and retrieval of data while protecting the anonymity of both authors and readers.” Clarke, et.al.

Goals & Properties Anonymity for producers and consumers Deniability for storers Resistance to denial of service attacks Efficient storage and routing Decentralization Whole file is the unit of storage No guarantee of permanent storage Operates at application layer Files named by location-independent keys Transparent lazy replication Goals Properties

Assigning a Key keyword-signed key : key is derived from a short descriptive string chosen by the user when the file is inserted into the system signed-subspace key : key is derived from the public key generated by the user; creates a personal namespace content-hash key : key is derived from hashing the file’s contents Note: content-hash key and signed-subspace key can be used with an indirection mechanism to handle updatable files.

Keyword-signed key key generation string private key public key hash file key file signature encrypt stored file Note: retrieval requires only “string” Problems resulting from “flat” name space: Collisions (different users selecting same string for different files) Key-squatting (junk files in popularly named positions)

Signed-subspace key string public key hash file key encrypt stored file private key file signature hash xor Notes: retrieval requires (string, public key) directory simulation through a file containing descriptive strings for other files

Content-hash key random key file key encrypt stored file file hash Note: retrieval requires (file key, random key)

Updateable Files Notes: A combination of content-hash keys and signed-subspace keys To update: 1.Insert new file using CHK method using new (file key, random key) 2.Insert new indirect file using original (public key, string) Key collisions on indirect file causes older version to be discarded Old version of file still available using its (file key, random key) index Technique can also be used to split large files into parts file (1) insert using CHK (file key, random key) indirect file (2) insert using SSK (3) publish (public key, string)

Message Structure Incremented at each hop Used to set hops-to-live in response Initialized to small random value When =1, not automatically incremented with probability p transaction IDhops-to-livedepthpayload Set by sender to limit propogation Decremented on each hop When = 1, forwarded again with probability p 64 bit randomly generated Used to prevent routing cycles request/reply

Retrieval (key, hops-to-live) local node local store (1) request (2) check local store (3) send request using routing table (5) cache (4) file & source (6) Update route table (7) deliver file Notes: Request contains (key, hops-to-live) Any node on reply path can change source to be itself or any other node File cached at all nodes along return path 1.Improved subsequent access 2.Redundancy improve fault tolerance

key 1 node 1 key 2 node 2 …… Notes: Each node maintains routing table Route request to node which has the closest lexicographic matching key Use depth-first-search with backtracing Table entries added as new files acquired by the node routing table Routing

Insertion local node local store (1) insert (2) check local store (3) send insert using routing table (5a) if file, cache (4) file or OK (5a) if file, update route table filekey (5b) If OK, send file Notes: Inserted file stored at all nodes along search path Any node on path can change the source to itself or any other node Inserts announce the existence of the node Attempts to insert junk files are rejected and the real file is further propagated

Scalability

Fault Tolerance

Free Haven “…the Free Haven Project aims to design, implement, and deploy a functioning distributed anonymous storage service.” Dingledine et.al.

Forms of Anonymity Anonymity of agents (authors, publishers, readers, and servers) – no link between the agent and a given document Document anonymity – servers do not know what documents they store Query anonymity – servers do not know the identity of documents which satisfies a users request

Structure Documents (file) –Each document is divided into shares –Each document is assigned an expiration date Servers –Community of servers – servnet –Each server has a persistent identification – pseudonym –Each server exposes a public key and a (set of) r er reply blocks –Each server has a database of the public keys and the r er reply blocks of all other servers –Servers form contracts to store shares for a specified interval of time –Fulfilling a contract increases that server’s reputation

Insertion ce41f889d e89edbdddf243662d8c :25:24 … …digital signature of above… A file F is broken into shares f 1, …, f n where k (<n) shares are needed to reconstruct the file A key pair (PK doc, SK doc ) is generated for F Each share is signed All shares of a given file are indexed by Hash(PK doc ) Possible share representation:

Retrieval Reader –Generates (PK client, SK client ) key pair for the transaction –Generates a one-time r er reply block (rrb) –Broadcast request (H(PK doc ), PK client, rrb) to all servers Server –Checks for availability of any shares with index of H(PK doc ) –Encrypts each found share with PK client –Sends each encrypted share using rrb

R er Reply Blocks Goal: a sender is provided by a receiver (nym) with the means to transmit a message to that receiver such that the sender has no knowledge of the actual receiver server

Constructing a reply block Anon-To: Encrypt-Key: key1 Encrypt with public key of Anon-To: Encrypt-Key: key2 replyblock-1 Anon-To: Encrypt-Key: key3 replyblock-2 Encrypt with public key of

Encryptions in transit message cyphertext-A sign; encrypt with nym public key encrypt with key3 cyphertext-B cyphertext-A encrypt with key2 cyphertext-C cyphertext-B encrypt with key1

Flow of data replyblock-2 cyphertext-A server cyphertext-C replyblock-1 cyphertext-B