Securing Chord for ShadowWalker. Nandit Tiku Department of Computer Science University of Illinois at Urbana-Champaign

Size: px
Start display at page:

Download "Securing Chord for ShadowWalker. Nandit Tiku Department of Computer Science University of Illinois at Urbana-Champaign"

Transcription

1 Securing Chord for ShadowWalker Nandit Tiku Department of Computer Science University of Illinois at Urbana-Champaign

2 ABSTRACT Peer to Peer anonymous communication promises to eliminate issues of scalability and single points of failure. ShadowWalker[1] proposed by Prateek Mittal and Prof. Nikita Borisov tackles this problem. However, the underlying DHT being used, Chord[2], can be made more secure and stable for use with ShadowWalker[1]. In this paper, we demonstrate ways to make Chord[2] more secure. We calculate the benefits of maintaining successor and predecessor lists and not just the immediate successor and predecessor. We provide an efficient algorithm to deal with stabilizing these lists and ensuring that the node values are as close to the current network. We use redundancy to validate the shadows of a given node using our secure application level lookups. We use Chord[2], to perform secure DHT level lookups and demonstrate how redundancy can be used to reduce the threat of application level attacks. We also show that NISAN[3] protocol can be used to efficiently and successfully secure Chord[2] preventing DHT level attacks. Finally we provide ways to authenticate the identity of the nodes and ensure secure communication between nodes. performing secure application level lookups. We also show how NISAN[3] can be used to secure the DHT. Having both secure application level and DHT level lookups address the issues with ShadowWalker[1] as pointed out in Balancing the Shadows[4]. Finally, we provide suggestions for authenticating nodes and performing secure communications between nodes. 1.1 Terms rlookup : Redundancy parameter for secure lookups. rsucc : Redundancy parameter for successor list and predecessor list stabilization. 2. Secure Stabilize Successor and Predecessor Lists ShadowWalker[1] utilizes a single successor and a single predecessor. This can easily be exploited by a malicious party. 2.1 Current ShadowWalker Implementation 1. INTRODUCTION The paper is broken down into four parts. The first part addresses the inherent issue with having only a single successor and a single predecessor. We suggest a simple algorithm for securely stabilizing a successor list and predecessor list. Next, we address Figure 1: Identifying new predecessor A sends stabilize request to B; i.e, A contacts B to check if A is still its predecessor. 1. B replies with its successor list which contains its immediate predecessor. 2 of 9

3 2. Two scenarios: A is still the predecessor of B. If a new node C is now the predecessor of B, A needs to contact C to notify it that A is its predecessor. 3. A notifies its immediate successor that A is its predecessor. The immediate successor (B or C) updates its successor list, and predecessor accordingly. 4. A updates its successor list accordingly. 2.2 Weakness of Current Implementation If node B is malicious, then it can return incorrect successor list data to A. We need to verify that the information sent by B is correct. Moreover, all communication between the nodes are in plain-text. This issue is addressed in Section 5. Messages can easily be intercepted and altered. We need to encrypt all traffic between nodes during stabilization. 2.3 Proposal for Secure Stabilization 1. Each node keeps track of its m successors and m predecessors. 2. On receiving the stabilize_reply from B, we use the information returned and redundantly verify its correctness. We check every node in the successor list of B and make a request to obtain their respective predecessor list and successor list. 3. We then perform a smart merge on these lists. We use the algorithm described in Section 2.4 to securely stabilize both the successor and predecessor lists. 2.4 Algorithm 1. Send request to first rsucc successors of the node where 1 <= rsucc <= m. 2. Reducing rsucc is a speed vs security tradeoff. 3. Find union of the successor list and predecessor list. 4. Only consider nodes with ID > ID of A. 5. Sort the list by id and authenticate nodes. Authenticate pings(tcp) as well as verifies ID to IP address mapping. See Section 3 for more information. 2.5 Pseudo Code /* Global variables */ node* possiblesuccessors = {} int m int rsucc = m /* Send stabilize request to nodes */ stabilizesuccessorlistrequest(): // reset possiblesuccessors possiblesuccessors = {} // Obtain the successorlist and // predecessorlist of first rsucc nodes in the // current successor list for first rsucc nodes in stabilize_list as node: // send get succ & pred list getsuccandpredrequest(node) // call stabilizesuccessorlist after timeout set_timeout (stabilizesuccessorlist, timeout) /* Called after timeout or after obtaining response from nodes */ stabilizesuccessorlist (): // let us sort possiblesuccessors by node ids sort(possiblesuccessors) Remove(possibleSuccessors, greaterthan(myid)) 3 of 9

4 node * succlist = {} // m is the number of nodes we want in our successor // list for node in possiblesuccessors while succlist.size() < m : if (authenticate(node)) : succlist.insert(node) updatepublickeymap(node) // create another stabilize request after some time delay_cb (stabilizesuccessorlistrequest(), time) /* Create get succ and pred request request */ getsuccandpredrequest(node): sendgetsuccandpredrequest (node) 3. Secure Application level lookup ShadowWalker[1] relies heavily on the underlying DHT to perform lookups. When looking for a particular ID, it simply queries its finger table for that ID. 3.1 Weakness of Current Implementation A malicious node in our path could give us incorrect node information or even drop our requests. A network with sufficient number of malicious nodes can perform DoS attacks and greatly compromise privacy and security. /* On receiving request, return requested data. */ getsuccandpredreceive(node): SendSuccAndPredList(node, succlist, predlist) /* On receiving succ and pred lists */ receivesuccandpredlist(listinfo): possiblesuccessors = set_union(possiblesuccessors, listinfo) 3.2 Proposal for Secure Lookup We use a redundancy parameter rlookup to create multiple lookup paths. We then use the information returned and pick the nodeid closest to the ID we were looking for(after authentication). 1 < rlookup < m 2.6 Node Behavior Non malicious nodes return their successor and predecessor lists correctly. Malicious nodes perform a selective DoS attack on nodes by not returning nonmalicious nodes in their successor and predecessor lists. They can include other malicious nodes in their successor and predecessor lists or return non existent node IDs. The redundancy deals with the selective DoS attack and the authentication step described in Section 3 deals with non-existent node IDs. 3.3 Algorithm 1. Send lookup requests to rlookup random nodes in finger table. 2. Wait for a given time period for responses. 3. Combine all the information and pick the node ID closest to the requested ID (after authentication). 4 of 9

5 3.3 Pseudo-Code securelookup(): // Send lookup request to rlookup random nodes in my current finger table. securelookuprequest(): // if looking for myself, i can just set up a lookup reply // with my data. if(lookupid == me): secure_lookupreply(mydata, lookuprequester) // check if node is in my successor list else if(lookupid = in successor list): secure_lookupreply(nodedata, lookuprequester) // propagate message down the finger table else: securelookuprequest( closestnodeinfingertable ) Fig3: Successful lookups vs malicious nodes in network Using successor list size = 2m securelookupreply(): // check if new nodeid returned is more accurate than // current nodeid in fingertable. 3.4 Node Behavior Non malicious nodes return the node ID closest to the requested node or propagate the request down their finger table. Malicious nodes either perform a DoS attack and not respond or return an ID to a malicious node closest to the requested ID in an attempt to attack the node. Fig2: Lookup Failure vs malicious nodes in network. Bigger successor list sizes result in secure lookups. Due to the secure stabilize of our successor and predecessor lists, we can obtain ~10% increase in successful lookups. 5 of 9

6 4. Secure DHT level lookups ShadowWalker[1] uses Chord[2] to create random walks to ensure anonymous communication. We need to ensure that the fingers maintained by the nodes are accurate and do not contain malicious nodes. We use redundancy to try to secure our DHT. We will discuss two methods: partial NISAN[3] (without bounds check), and NISAN[3] (with bounds check). We will also outline the benefits of having a successor list over a single successor. 5. Once we notice that the α closest nodes to X have not changed through an iteration we choose the closest node to X. This is the node we are looking for. 4.1 Partial NISAN (without bounds check) Using simple redundancy to stabilize the finger table is ineffective. Eventually all the fingers in the finger table get poisoned. We can use an aggregated greedy search as suggested in NISAN[3]. We first demonstrate the benefits of having a successor list for stabilizing our DHT by using only the aggregated greedy search part of the NISAN[3] protocol, i.e, we do not perform bounds check. Fig4. DHT level attack on partial NISAN protocol. Using a successor list of size 2m Demonstrates benefits of a successor list Algorithm 1. We use redundancy parameter α. 2. We choose α closest nodes to our query id X from our finger table. 3. We send a request to these α nodes for their finger tables and successor lists. 4. We combine the finger table information returned from these α nodes and then repeat the process from step 2 (but this time using this new set of finger information and not our original finger table). Fig5. DHT level attack on partial NISAN protocol. Successor list not used. 6 of 9

7 4.1.2 Node Behavior Non malicious nodes return their finger table and successor list. Malicious nodes return a malicious finger table and malicious successor list. The list returned contains the closest malicious node ID in the network to the expected ID in the list. The finger table and successor list returned contain only malicious nodes. 4.2 NISAN (with bounds check) NISAN[3] without bounds check does not do a very good job protecting against DHT level attacks. By adding the bounds check and using the complete NISAN[3] protocol, we can efficiently and effectively secure DHT level lookups. 5. Node Authentication and additional security measures 5.1 Node Authentication Malicious nodes can return invalid node IDs in an attempt to poison our successor list, predecessor list and/or finger table. We need to verify that a node ID corresponds to a valid node in the network. 5.2 Algorithm: 1. Make sure that the id to IP address mapping is correct using a hashing function like SHA or MD5. 2. Ping node to check if node is alive or exists. This is also coupled with requesting the fingerprint of the ssh key. 3. Obtain public key of the node. 5.3 Pseudo-Code: authenticate (node): // confirm that nodes IP address maps to nodes id if ( node.id!= hash(node.ipaddress) ): return false // application level 3-way handshake pingrequestfingerprint(node.ipaddress) Fig 6. NISAN protocol used to secure stabilize DHT. Simulated on a network of 10,000 nodes. Node behavior and set up are the same as described in Section 4.1. FT (α) is the fault tolerance factor for bounds check as described in NISAN[3]. updatenodestatus(node, authenticating) wait(time) if ( getstatus ( node ) == alive ): if (authentication_t.getfingerprint(node)!= obtainedfingerprint ): updatepublickeymap(node) return true else: return false 7 of 9

8 5.4 Public Keys We can simply request the public key from the node and trust the information returned. However, this can lead to a number of attacks. This is an open issue for now. We assume that the bootstrap server has returned accurate and valid public key information during initialization of the node. Section describes how we can securely obtain a new public key. We use the public key encryption to securely communicate between nodes in the network. This adds additional security to ShadowWalker[1]. Nodes in the finger table, successor list and predecessor list are periodically pinged to check their status. If nodes are alive, they also return the fingerprint of their ssh key. Fingerprint information can be used in two ways. Since ssh keys do not change very often, this information can be used to verify the authenticity of the information returned. A simple sequence number or authentication code encrypted with the nodes public key can be used. The fingerprint returned can also be used to verify that we have the latest ssh keys for the nodes we are aware of. including their public keys. Using simple redundancy, and secure communication using public key encryption we can verify the authenticity of the change of a nodes public key. 6. Concluding Remarks ShadowWalker[1] can be made more secure by securing the underlying DHT (Chord[2]). The use of successor and predecessor lists can be used to both securely find shadows and to securely stabilize the finger tables. Using simple redundancy, we can efficiently and effectively protect against application level attacks. NISAN[3] protocol can be used to prevent against both application and DHT level attacks Change in Public Keys A node will broadcast its new public key to nodes in the network, especially nodes in its predecessor and successor list (the shadows in ShadowWalker[1]). We can then verify a change in ssh key by communicating with a nodes shadow and requesting the new ssh key or fingerprint. The shadows now also have to maintain public key information. By Property 1 of ShadowWalker[1], a node already has information about the shadows 8 of 9

9 REFERENCES [1] Prateek Mittal and Nikita Borisov. ShadowWalker: Peer-to-peer Anonymous Communication Using Redundant Structures Topologies. CCS'09, November 9-13, 2009 [2] I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F. Kaashoek, F. Dabek, and H. Balakrishnan. Chord: a scalable peer-to-peer lookup protocol for internet applications. IEEE/ACM Trans. Netw., 11(1):17 32, [3] Andriy Panchenko, Stefan Richter, and Arne Rache NISAN: network information service for anonymization networks. In Proceedings of the 16th ACM conference on Computer and communications security (CCS '09). [4] Max Schuchard, Alexander W. Dean, Victor Heorhiadi, Nicholas Hopper, and Yongdae Kim Balancing the shadows. In Proceedings of the 9th annual ACM workshop on Privacy in the electronic society (WPES '10). 9 of 9

08 Distributed Hash Tables

08 Distributed Hash Tables 08 Distributed Hash Tables 2/59 Chord Lookup Algorithm Properties Interface: lookup(key) IP address Efficient: O(log N) messages per lookup N is the total number of servers Scalable: O(log N) state per

More information

: Scalable Lookup

: Scalable Lookup 6.824 2006: Scalable Lookup Prior focus has been on traditional distributed systems e.g. NFS, DSM/Hypervisor, Harp Machine room: well maintained, centrally located. Relatively stable population: can be

More information

DISTRIBUTED HASH TABLE PROTOCOL DETECTION IN WIRELESS SENSOR NETWORKS

DISTRIBUTED HASH TABLE PROTOCOL DETECTION IN WIRELESS SENSOR NETWORKS DISTRIBUTED HASH TABLE PROTOCOL DETECTION IN WIRELESS SENSOR NETWORKS Mr. M. Raghu (Asst.professor) Dr.Pauls Engineering College Ms. M. Ananthi (PG Scholar) Dr. Pauls Engineering College Abstract- Wireless

More information

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashock, Frank Dabek, Hari Balakrishnan March 4, 2013 One slide

More information

Chord: A Scalable Peer-to-peer Lookup Service For Internet Applications

Chord: A Scalable Peer-to-peer Lookup Service For Internet Applications Chord: A Scalable Peer-to-peer Lookup Service For Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented by Jibin Yuan ION STOICA Professor of CS

More information

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou Scalability In Peer-to-Peer Systems Presented by Stavros Nikolaou Background on Peer-to-Peer Systems Definition: Distributed systems/applications featuring: No centralized control, no hierarchical organization

More information

Chord. Advanced issues

Chord. Advanced issues Chord Advanced issues Analysis Theorem. Search takes O (log N) 5me (Note that in general, when there are m fingers, 2 m may be much larger than N) Proof. A(er log N forwarding steps, distance to key is

More information

Building a low-latency, proximity-aware DHT-based P2P network

Building a low-latency, proximity-aware DHT-based P2P network Building a low-latency, proximity-aware DHT-based P2P network Ngoc Ben DANG, Son Tung VU, Hoai Son NGUYEN Department of Computer network College of Technology, Vietnam National University, Hanoi 144 Xuan

More information

NodeId Verification Method against Routing Table Poisoning Attack in Chord DHT

NodeId Verification Method against Routing Table Poisoning Attack in Chord DHT NodeId Verification Method against Routing Table Poisoning Attack in Chord DHT 1 Avinash Chaudhari, 2 Pradeep Gamit 1 L.D. College of Engineering, Information Technology, Ahmedabad India 1 Chaudhari.avi4u@gmail.com,

More information

Distributed Hash Tables

Distributed Hash Tables Distributed Hash Tables Chord Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Chord 1/29 Outline Overview 1 Overview 2 3 Smruti R. Sarangi

More information

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems 1 Motivation from the File Systems World The App needs to know the path /home/user/my pictures/ The Filesystem

More information

A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables

A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables Takehiro Miyao, Hiroya Nagao, Kazuyuki Shudo Tokyo Institute of Technology 2-12-1 Ookayama, Meguro-ku,

More information

Back-Up Chord: Chord Ring Recovery Protocol for P2P File Sharing over MANETs

Back-Up Chord: Chord Ring Recovery Protocol for P2P File Sharing over MANETs Back-Up Chord: Chord Ring Recovery Protocol for P2P File Sharing over MANETs Hong-Jong Jeong, Dongkyun Kim, Jeomki Song, Byung-yeub Kim, and Jeong-Su Park Department of Computer Engineering, Kyungpook

More information

Providing File Services using a Distributed Hash Table

Providing File Services using a Distributed Hash Table Providing File Services using a Distributed Hash Table Lars Seipel, Alois Schuette University of Applied Sciences Darmstadt, Department of Computer Science, Schoefferstr. 8a, 64295 Darmstadt, Germany lars.seipel@stud.h-da.de

More information

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems 1 In File Systems The App needs to know the path /home/user/my pictures/ The Filesystem looks up the directory

More information

Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report

Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report Computer Communications and Networking (SC 546) Professor D. Starobinksi Brian Mitchell U09-62-9095 James Nunan U38-03-0277

More information

Octopus: A Secure and Anonymous DHT Lookup

Octopus: A Secure and Anonymous DHT Lookup Octopus A Secure and Anonymous DHT Lookup Qiyan Wang Department of Computer Science University of Illinois at Urbana-Champaign IL, U.S.A qwang26@illinois.edu Nikita Borisov Department of Electrical and

More information

Routing Table Construction Method Solely Based on Query Flows for Structured Overlays

Routing Table Construction Method Solely Based on Query Flows for Structured Overlays Routing Table Construction Method Solely Based on Query Flows for Structured Overlays Yasuhiro Ando, Hiroya Nagao, Takehiro Miyao and Kazuyuki Shudo Tokyo Institute of Technology Abstract In structured

More information

TinyTorrent: Implementing a Kademlia Based DHT for File Sharing

TinyTorrent: Implementing a Kademlia Based DHT for File Sharing 1 TinyTorrent: Implementing a Kademlia Based DHT for File Sharing A CS244B Project Report By Sierra Kaplan-Nelson, Jestin Ma, Jake Rachleff {sierrakn, jestinm, jakerach}@cs.stanford.edu Abstract We implemented

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 9: Peer-to-Peer Systems Previous Topics Data Database design Queries Query processing Localization Operators Optimization Transactions

More information

Early Measurements of a Cluster-based Architecture for P2P Systems

Early Measurements of a Cluster-based Architecture for P2P Systems Early Measurements of a Cluster-based Architecture for P2P Systems Balachander Krishnamurthy, Jia Wang, Yinglian Xie I. INTRODUCTION Peer-to-peer applications such as Napster [4], Freenet [1], and Gnutella

More information

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011 Lecture 6: Overlay Networks CS 598: Advanced Internetworking Matthew Caesar February 15, 2011 1 Overlay networks: Motivations Protocol changes in the network happen very slowly Why? Internet is shared

More information

LECT-05, S-1 FP2P, Javed I.

LECT-05, S-1 FP2P, Javed I. A Course on Foundations of Peer-to-Peer Systems & Applications LECT-, S- FPP, javed@kent.edu Javed I. Khan@8 CS /99 Foundation of Peer-to-Peer Applications & Systems Kent State University Dept. of Computer

More information

Distributed K-Ary System

Distributed K-Ary System A seminar presentation Arne Vater and Prof. Schindelhauer Professorship for Computer Networks and Telematik Department of Computer Science University of Freiburg 2007-03-01 Outline 1 2 3 4 5 Outline 1

More information

Page 1. How Did it Start?" Model" Main Challenge" CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks"

Page 1. How Did it Start? Model Main Challenge CS162 Operating Systems and Systems Programming Lecture 24. Peer-to-Peer Networks How Did it Start?" CS162 Operating Systems and Systems Programming Lecture 24 Peer-to-Peer Networks" A killer application: Napster (1999) Free music over the Internet Key idea: share the storage and bandwidth

More information

Architectures for Distributed Systems

Architectures for Distributed Systems Distributed Systems and Middleware 2013 2: Architectures Architectures for Distributed Systems Components A distributed system consists of components Each component has well-defined interface, can be replaced

More information

Telematics Chapter 9: Peer-to-Peer Networks

Telematics Chapter 9: Peer-to-Peer Networks Telematics Chapter 9: Peer-to-Peer Networks Beispielbild User watching video clip Server with video clips Application Layer Presentation Layer Application Layer Presentation Layer Session Layer Session

More information

Introduction to P2P Computing

Introduction to P2P Computing Introduction to P2P Computing Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction A. Peer-to-Peer vs. Client/Server B. Overlay Networks 2. Common Topologies 3. Data Location 4. Gnutella

More information

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili P2P Network Structured Networks: Distributed Hash Tables Pedro García López Universitat Rovira I Virgili Pedro.garcia@urv.net Index Description of CHORD s Location and routing mechanisms Symphony: Distributed

More information

L3S Research Center, University of Hannover

L3S Research Center, University of Hannover , University of Hannover Dynamics of Wolf-Tilo Balke and Wolf Siberski 21.11.2007 *Original slides provided by S. Rieche, H. Niedermayer, S. Götz, K. Wehrle (University of Tübingen) and A. Datta, K. Aberer

More information

Effect of Links on DHT Routing Algorithms 1

Effect of Links on DHT Routing Algorithms 1 Effect of Links on DHT Routing Algorithms 1 Futai Zou, Liang Zhang, Yin Li, Fanyuan Ma Department of Computer Science and Engineering Shanghai Jiao Tong University, 200030 Shanghai, China zoufutai@cs.sjtu.edu.cn

More information

Peer-to-Peer Systems and Distributed Hash Tables

Peer-to-Peer Systems and Distributed Hash Tables Peer-to-Peer Systems and Distributed Hash Tables CS 240: Computing Systems and Concurrency Lecture 8 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Selected

More information

Peer-to-Peer Systems and Security

Peer-to-Peer Systems and Security Peer-to-Peer Systems and Security Attacks! Christian Grothoff Technische Universität München April 13, 2013 Salsa & AP3 Goal: eliminate trusted blender server Idea: Use DHT (AP3: Pastry, Salsa: custom

More information

Scalable Anonymous Communication with Provable Security

Scalable Anonymous Communication with Provable Security Scalable Anonymous Communication with Provable Security Prateek Mittal, Nikita Borisov Dept. of Electrical and Computer Engineering, U. of Illinois at Urbana-Champaign, {mittal2,nikita}@illinois.edu Carmela

More information

DRing: A Layered Scheme for Range Queries over DHTs

DRing: A Layered Scheme for Range Queries over DHTs DRing: A Layered Scheme for Range Queries over DHTs Nicolas Hidalgo, Erika Rosas, Luciana Arantes, Olivier Marin, Pierre Sens and Xavier Bonnaire Université Pierre et Marie Curie, CNRS INRIA - REGAL, Paris,

More information

Peer-to-peer systems and overlay networks

Peer-to-peer systems and overlay networks Complex Adaptive Systems C.d.L. Informatica Università di Bologna Peer-to-peer systems and overlay networks Fabio Picconi Dipartimento di Scienze dell Informazione 1 Outline Introduction to P2P systems

More information

Semester Thesis on Chord/CFS: Towards Compatibility with Firewalls and a Keyword Search

Semester Thesis on Chord/CFS: Towards Compatibility with Firewalls and a Keyword Search Semester Thesis on Chord/CFS: Towards Compatibility with Firewalls and a Keyword Search David Baer Student of Computer Science Dept. of Computer Science Swiss Federal Institute of Technology (ETH) ETH-Zentrum,

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [P2P SYSTEMS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey Byzantine failures vs malicious nodes

More information

ShadowWalker: Peer-to-peer Anonymous Communication Using Redundant Structured Topologies

ShadowWalker: Peer-to-peer Anonymous Communication Using Redundant Structured Topologies ShadowWalker: Peer-to-peer Anonymous Communication Using Redundant Structured Topologies ABSTRACT Prateek Mittal Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign

More information

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented by Veranika Liaukevich Jacobs University

More information

Saarland University Faculty of Natural Sciences and Technology I Department of Computer Science. Masters Thesis

Saarland University Faculty of Natural Sciences and Technology I Department of Computer Science. Masters Thesis Saarland University Faculty of Natural Sciences and Technology I Department of Computer Science Masters Thesis Experimental Comparison of Byzantine Fault Tolerant Distributed Hash Tables submitted by Supriti

More information

P2P: Distributed Hash Tables

P2P: Distributed Hash Tables P2P: Distributed Hash Tables Chord + Routing Geometries Nirvan Tyagi CS 6410 Fall16 Peer-to-peer (P2P) Peer-to-peer (P2P) Decentralized! Hard to coordinate with peers joining and leaving Peer-to-peer (P2P)

More information

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE for for March 10, 2006 Agenda for Peer-to-Peer Sytems Initial approaches to Their Limitations CAN - Applications of CAN Design Details Benefits for Distributed and a decentralized architecture No centralized

More information

Detecting and Recovering from Overlay Routing. Distributed Hash Tables. MS Thesis Defense Keith Needels March 20, 2009

Detecting and Recovering from Overlay Routing. Distributed Hash Tables. MS Thesis Defense Keith Needels March 20, 2009 Detecting and Recovering from Overlay Routing Attacks in Peer-to-Peer Distributed Hash Tables MS Thesis Defense Keith Needels March 20, 2009 Thesis Information Committee: Chair: Professor Minseok Kwon

More information

Secure Routing in Peer-to-Peer Distributed Hash Tables

Secure Routing in Peer-to-Peer Distributed Hash Tables Secure Routing in Peer-to-Peer Distributed Hash Tables Keith Needels Department of Computer Science Rochester Institute of Technology Rochester, NY 14623 keithn@csh.rit.edu Minseok Kwon Department of Computer

More information

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 17. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2016 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

More information

L3S Research Center, University of Hannover

L3S Research Center, University of Hannover , University of Hannover Structured Peer-to to-peer Networks Wolf-Tilo Balke and Wolf Siberski 3..6 *Original slides provided by K. Wehrle, S. Götz, S. Rieche (University of Tübingen) Peer-to-Peer Systems

More information

Athens University of Economics and Business. Dept. of Informatics

Athens University of Economics and Business. Dept. of Informatics Athens University of Economics and Business Athens University of Economics and Business Dept. of Informatics B.Sc. Thesis Project report: Implementation of the PASTRY Distributed Hash Table lookup service

More information

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables Peer-to-Peer Systems and Distributed Hash Tables COS 418: Distributed Systems Lecture 7 Today 1. Peer-to-Peer Systems Napster, Gnutella, BitTorrent, challenges 2. Distributed Hash Tables 3. The Chord Lookup

More information

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations

EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Overlay Networks: Motivations EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley

More information

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Content Overlays. Nick Feamster CS 7260 March 12, 2007 Content Overlays Nick Feamster CS 7260 March 12, 2007 Content Overlays Distributed content storage and retrieval Two primary approaches: Structured overlay Unstructured overlay Today s paper: Chord Not

More information

In Search of an Anonymous and Secure Lookup

In Search of an Anonymous and Secure Lookup In Search of an Anonymous and Secure Lookup Attacks on Structured Peer-to-Peer Anonymous Communication Systems Qiyan Wang UIUC qwang26@illinois.edu Prateek Mittal UIUC mittal2@illinois.edu Nikita Borisov

More information

Distributed Hash Table

Distributed Hash Table Distributed Hash Table P2P Routing and Searching Algorithms Ruixuan Li College of Computer Science, HUST rxli@public.wh.hb.cn http://idc.hust.edu.cn/~rxli/ In Courtesy of Xiaodong Zhang, Ohio State Univ

More information

Distributed Hash Tables

Distributed Hash Tables Distributed Hash Tables CS6450: Distributed Systems Lecture 11 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University.

More information

EE 122: Peer-to-Peer Networks

EE 122: Peer-to-Peer Networks EE 122: Peer-to-Peer Networks Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer

More information

Subway : Peer-To-Peer Clustering of Clients for Web Proxy

Subway : Peer-To-Peer Clustering of Clients for Web Proxy Subway : Peer-To-Peer Clustering of Clients for Web Proxy Kyungbaek Kim and Daeyeon Park Department of Electrical Engineering & Computer Science, Division of Electrical Engineering, Korea Advanced Institute

More information

Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others

Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others Sabina Serbu, Silvia Bianchi, Peter Kropf and Pascal Felber Computer Science Department, University of Neuchâtel

More information

Effects of Churn on Structured P2P Overlay Networks

Effects of Churn on Structured P2P Overlay Networks International Conference on Automation, Control, Engineering and Computer Science (ACECS'14) Proceedings - Copyright IPCO-214, pp.164-17 ISSN 2356-568 Effects of Churn on Structured P2P Overlay Networks

More information

EFFICIENT ROUTING OF LOAD BALANCING IN GRID COMPUTING

EFFICIENT ROUTING OF LOAD BALANCING IN GRID COMPUTING EFFICIENT ROUTING OF LOAD BALANCING IN GRID COMPUTING MOHAMMAD H. NADIMI-SHAHRAKI*, FARAMARZ SAFI, ELNAZ SHAFIGH FARD Department of Computer Engineering, Najafabad branch, Islamic Azad University, Najafabad,

More information

Security for Structured Peer-to-peer Overlay Networks. Acknowledgement. Outline. By Miguel Castro et al. OSDI 02 Presented by Shiping Chen in IT818

Security for Structured Peer-to-peer Overlay Networks. Acknowledgement. Outline. By Miguel Castro et al. OSDI 02 Presented by Shiping Chen in IT818 Security for Structured Peer-to-peer Overlay Networks By Miguel Castro et al. OSDI 02 Presented by Shiping Chen in IT818 1 Acknowledgement Some of the following slides are borrowed from talks by Yun Mao

More information

Topics in P2P Networked Systems

Topics in P2P Networked Systems 600.413 Topics in P2P Networked Systems Week 3 Applications Andreas Terzis Slides from Ion Stoica, Robert Morris 600.413 Spring 2003 1 Outline What we have covered so far First generation file-sharing

More information

A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery

A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery Shawn Chen 1, Steve Liang 2 1 Geomatics, University of Calgary, hschen@ucalgary.ca 2 Geomatics, University of Calgary, steve.liang@ucalgary.ca

More information

CSE 486/586 Distributed Systems

CSE 486/586 Distributed Systems CSE 486/586 Distributed Systems Distributed Hash Tables Slides by Steve Ko Computer Sciences and Engineering University at Buffalo CSE 486/586 Last Time Evolution of peer-to-peer Central directory (Napster)

More information

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

PEER-TO-PEER NETWORKS, DHTS, AND CHORD PEER-TO-PEER NETWORKS, DHTS, AND CHORD George Porter May 25, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons license

More information

Fault Resilience of Structured P2P Systems

Fault Resilience of Structured P2P Systems Fault Resilience of Structured P2P Systems Zhiyu Liu 1, Guihai Chen 1, Chunfeng Yuan 1, Sanglu Lu 1, and Chengzhong Xu 2 1 National Laboratory of Novel Software Technology, Nanjing University, China 2

More information

Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd

Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd Ken Y.K. Hui John C. S. Lui David K.Y. Yau Dept. of Computer Science & Engineering Computer Science Department The Chinese

More information

Three Layer Hierarchical Model for Chord

Three Layer Hierarchical Model for Chord Three Layer Hierarchical Model for Chord Waqas A. Imtiaz, Shimul Shil, A.K.M Mahfuzur Rahman Abstract Increasing popularity of decentralized Peer-to-Peer (P2P) architecture emphasizes on the need to come

More information

Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 11, NO. 1, FEBRUARY 2003 17 Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger,

More information

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4 Xiaowei Yang xwy@cs.duke.edu Overview Problem Evolving solutions IP multicast Proxy caching Content distribution networks

More information

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations.

Goals. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Solution. Overlay Networks: Motivations. Goals CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University of California, Berkeley

More information

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 16. Distributed Lookup Paul Krzyzanowski Rutgers University Fall 2017 1 Distributed Lookup Look up (key, value) Cooperating set of nodes Ideally: No central coordinator Some nodes can

More information

Introduction to Peer-to-Peer Systems

Introduction to Peer-to-Peer Systems Introduction Introduction to Peer-to-Peer Systems Peer-to-peer (PP) systems have become extremely popular and contribute to vast amounts of Internet traffic PP basic definition: A PP system is a distributed

More information

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General 1 ELT-53206 Peer-to-Peer Networks Searching for Shared Resources: DHT in General Mathieu Devos Tampere University of Technology Department of Electronics and Communications Engineering Based on the original

More information

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals.

Overlay Networks: Motivations. EECS 122: Introduction to Computer Networks Overlay Networks and P2P Networks. Motivations (cont d) Goals. Overlay Networks: Motivations CS : Introduction to Computer Networks Overlay Networks and PP Networks Ion Stoica Computer Science Division Department of lectrical ngineering and Computer Sciences University

More information

Searching for Shared Resources: DHT in General

Searching for Shared Resources: DHT in General 1 ELT-53207 P2P & IoT Systems Searching for Shared Resources: DHT in General Mathieu Devos Tampere University of Technology Department of Electronics and Communications Engineering Based on the original

More information

APSALAR: Ad hoc Protocol for Service-Aligned Location Aware Routing

APSALAR: Ad hoc Protocol for Service-Aligned Location Aware Routing APSALAR: Ad hoc Protocol for Service-Aligned Location Aware Routing ABSTRACT Warren Kenny Distributed Systems Group Department of Computer Science Trinity College, Dublin, Ireland kennyw@cs.tcd.ie Current

More information

Page 1. Key Value Storage"

Page 1. Key Value Storage Key Value Storage CS162 Operating Systems and Systems Programming Lecture 14 Key Value Storage Systems March 12, 2012 Anthony D. Joseph and Ion Stoica http://inst.eecs.berkeley.edu/~cs162 Handle huge volumes

More information

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications Introduction to Computer Networks Lecture30 Today s lecture Peer to peer applications Napster Gnutella KaZaA Chord What is P2P? Significant autonomy from central servers Exploits resources at the edges

More information

Lecture 15 October 31

Lecture 15 October 31 CS559: ALGORITHMIC ASPECTS OF COMPUTER NETWORKSFall 2007 Lecture 15 October 31 Lecturer: John Byers BOSTON UNIVERSITY Scribe: Georgios Smaragdakis In today s lecture, we elaborate more on structured eer-to-eer

More information

Peer-to-Peer (P2P) Systems

Peer-to-Peer (P2P) Systems Peer-to-Peer (P2P) Systems What Does Peer-to-Peer Mean? A generic name for systems in which peers communicate directly and not through a server Characteristics: decentralized self-organizing distributed

More information

Chord-based Key Establishment Schemes for Sensor Networks

Chord-based Key Establishment Schemes for Sensor Networks Chord-based Key Establishment Schemes for Sensor Networks Fan Zhang, Zhijie Jerry Shi, Bing Wang Department of Computer Science and Engineering, University of Connecticut, Storrs, CT 06269 Abstract Because

More information

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol Min Li 1, Enhong Chen 1, and Phillip C-y Sheu 2 1 Department of Computer Science and Technology, University of Science and Technology of China,

More information

Distributed Hash Tables: Chord

Distributed Hash Tables: Chord Distributed Hash Tables: Chord Brad Karp (with many slides contributed by Robert Morris) UCL Computer Science CS M038 / GZ06 12 th February 2016 Today: DHTs, P2P Distributed Hash Tables: a building block

More information

Information Leak in the Chord Lookup Protocol

Information Leak in the Chord Lookup Protocol Information Leak in the Chord Lookup Protocol Charles W. O Donnell Vinod Vaikuntanathan Massachusetts Institute of Technology August 25, 2004 4 th IEEE International Conference on Peer-to-Peer Computing

More information

MULTI-DOMAIN VoIP PEERING USING OVERLAY NETWORK

MULTI-DOMAIN VoIP PEERING USING OVERLAY NETWORK 116 MULTI-DOMAIN VoIP PEERING USING OVERLAY NETWORK Herry Imanta Sitepu, Carmadi Machbub, Armein Z. R. Langi, Suhono Harso Supangkat School of Electrical Engineering and Informatics, Institut Teknologi

More information

Security Considerations for Peer-to-Peer Distributed Hash Tables

Security Considerations for Peer-to-Peer Distributed Hash Tables Security Considerations for Peer-to-Peer Distributed Hash Tables Emil Sit and Robert Morris Laboratory for Computer Science, MIT 200 Technology Square, Cambridge, MA 02139, USA {sit,rtm}@lcs.mit.edu Abstract.

More information

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today Network Science: Peer-to-Peer Systems Ozalp Babaoglu Dipartimento di Informatica Scienza e Ingegneria Università di Bologna www.cs.unibo.it/babaoglu/ Introduction Peer-to-peer (PP) systems have become

More information

Degree Optimal Deterministic Routing for P2P Systems

Degree Optimal Deterministic Routing for P2P Systems Degree Optimal Deterministic Routing for P2P Systems Gennaro Cordasco Luisa Gargano Mikael Hammar Vittorio Scarano Abstract We propose routing schemes that optimize the average number of hops for lookup

More information

Understanding Chord Performance

Understanding Chord Performance CS68 Course Project Understanding Chord Performance and Topology-aware Overlay Construction for Chord Li Zhuang(zl@cs), Feng Zhou(zf@cs) Abstract We studied performance of the Chord scalable lookup system

More information

Comparing the performance of distributed hash tables under churn

Comparing the performance of distributed hash tables under churn Comparing the performance of distributed hash tables under churn Jinyang Li, Jeremy Stribling, Thomer M. Gil, Robert Morris, M. Frans Kaashoek MIT Computer Science and Artificial Intelligence Laboratory

More information

Malugo: A peer-to-peer storage system

Malugo: A peer-to-peer storage system Int. J. Ad Hoc and Ubiquitous Computing, Vol. 5, No. 4, 2010 209 Malugo: A peer-to-peer storage system Yu-Wei Chan, Tsung-Hsuan Ho, Po-Chi Shih and Yeh-Ching Chung* Department of Computer Science, National

More information

R/Kademlia: Recursive and Topology-aware Overlay Routing

R/Kademlia: Recursive and Topology-aware Overlay Routing R/Kademlia: Recursive and Topology-aware Overlay Routing Bernhard Heep ATNAC 2010, Auckland, New Zealand, 11/02/2010, KIT University of the State of Baden-Wuerttemberg and National Research Center of the

More information

DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS

DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS Herwig Unger Markus Wulff Department of Computer Science University of Rostock D-1851 Rostock, Germany {hunger,mwulff}@informatik.uni-rostock.de KEYWORDS P2P,

More information

Problems in Reputation based Methods in P2P Networks

Problems in Reputation based Methods in P2P Networks WDS'08 Proceedings of Contributed Papers, Part I, 235 239, 2008. ISBN 978-80-7378-065-4 MATFYZPRESS Problems in Reputation based Methods in P2P Networks M. Novotný Charles University, Faculty of Mathematics

More information

Distributed Information Processing

Distributed Information Processing Distributed Information Processing 14 th Lecture Eom, Hyeonsang ( 엄현상 ) Department of Computer Science & Engineering Seoul National University Copyrights 2016 Eom, Hyeonsang All Rights Reserved Outline

More information

CS535 Big Data Fall 2017 Colorado State University 11/7/2017 Sangmi Lee Pallickara Week 12- A.

CS535 Big Data Fall 2017 Colorado State University  11/7/2017 Sangmi Lee Pallickara Week 12- A. CS Big Data Fall Colorado State University http://www.cs.colostate.edu/~cs // Week - A // CS Big Data - Fall Week -A- CS BIG DATA FAQs PA deadline has been extended (/) PART. SCALABLE FRAMEWORKS FOR REAL-TIME

More information

Time-related replication for p2p storage system

Time-related replication for p2p storage system Seventh International Conference on Networking Time-related replication for p2p storage system Kyungbaek Kim E-mail: University of California, Irvine Computer Science-Systems 3204 Donald Bren Hall, Irvine,

More information

Naming. Distributed Systems IT332

Naming. Distributed Systems IT332 Naming Distributed Systems IT332 2 Outline Names, Identifier, and Addresses Flat Naming Structured Naming 3 Names, Addresses and Identifiers A name is used to refer to an entity An address is a name that

More information

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Outline System Architectural Design Issues Centralized Architectures Application

More information

Peer Clustering and Firework Query Model

Peer Clustering and Firework Query Model Peer Clustering and Firework Query Model Cheuk Hang Ng, Ka Cheung Sia Department of Computer Science and Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong SAR {chng,kcsia}@cse.cuhk.edu.hk

More information