IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

38
Secure Distributed Data Structures for Peer-to-Peer-based Social Networks P2PCS as part of CTS 2014 Secure Distributed Data Structures for Peer-to-Peer-based Social Networks P2PCS as part of CTS 2014 May 21, 2014 Jens Janiuk Alexander Mäcker Kalman Graffi Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 1 HEINZ NIXDORF INSTITUTE University of Paderborn

description

Jens Janiuk, Alexander Mäcker, Kalman Graffi - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks In IEEE CTS ’14: Proceedings of the IEEE International Conference on Collaboration Technologies and Systems, 2014. Abstract—Online social networks are attracting billions of nowadays, both on a global scale as well as in social enter- prise networks. Using distributed hash tables and peer-to-peer technology allows online social networks to be operated securely and efficiently only by using the resources of the user devices, thus alleviating censorship or data misuse by a single network operator. In this paper, we address the challenges that arise in implementing reliably and conveniently to use distributed data structures, such as lists or sets, in such a distributed hash-table- based online social network. We present a secure, distributed list data structure that manages the list entries in several buckets in the distributed hash table. The list entries are authenticated, integrity is maintained and access control for single users and also groups is integrated. The approach for secure distributed lists is also applied for prefix trees and sets, and implemented and evaluated in a peer-to-peer framework for social networks. Evaluation shows that the distributed data structure is convenient and efficient to use and that the requirements on security hold.

Transcript of IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Page 1: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Secure Distributed Data Structures forPeer-to-Peer-based Social NetworksP2PCS as part of CTS 2014

Secure Distributed Data Structures forPeer-to-Peer-based Social NetworksP2PCS as part of CTS 2014

May 21, 2014

Jens JaniukAlexander MäckerKalman Graffi

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 1

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 2: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1 Introduction

2 Distributed List Concept

3 Access Control in Distributed ListRead and Write AccessKey Distribution

4 Evaluation

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 2

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 3: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Facebook, Google+, Twitter, . . . heavily used nowadays(semi-) public user profilescommunicationcollaboration: sharing and searching user generated content

Current approaches are centralized

full access to data: massive data-miningcensorshipsingle point of failure, scalabilityhigh operational costs

IntroductionOnline Social Networks (OSNs)

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 3

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 4: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Facebook, Google+, Twitter, . . . heavily used nowadays(semi-) public user profilescommunicationcollaboration: sharing and searching user generated content

Current approaches are centralized

full access to data: massive data-miningcensorshipsingle point of failure, scalabilityhigh operational costs

IntroductionOnline Social Networks (OSNs)

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 3

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 5: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Peer-to-Peer based OSNs address drawbacks

DHT-based solution (e.g. PeerSoN, LifeSocial)

users build a structured P2P overlaykey-based routingDHT: get, putjoining and leavingreplication

0x11 0x1A0x53

0xA10xCB

0xD1

0x13

IntroductionDecentralized Approaches For OSNs

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 4

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 6: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1 Introduction

2 Distributed List Concept

3 Access Control in Distributed ListRead and Write AccessKey Distribution

4 Evaluation

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 5

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 7: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

DHT operations (get, put) on single items do not match OSN applications

Functionalities operate oncollection of items

guestbooks/ wall entriesphoto albumsmessage history, . . .

Distributed List ConceptMotivation For Distributed Data Structures

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 6

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 8: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

A) List =̂ DHT item+ single get to retrieve list- overloaded peers- no parallelization

B) List element =̂ DHT item+ parallelization+ overloading less probable- many messages

0x11 0x1A0x53

0xA10xCB

0xD1

C) Partition list into buckets, store buckets in DHT+ splitsize gives tradeoff between A) and B)

i-th element has id=hash(listname + bi/splitsizec)

Distributed List ConceptStorage Organization

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 7

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 9: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

A) List =̂ DHT item+ single get to retrieve list- overloaded peers- no parallelization

B) List element =̂ DHT item+ parallelization+ overloading less probable- many messages

0x11 0x1A0x53

0xA10xCB

0xD1

C) Partition list into buckets, store buckets in DHT+ splitsize gives tradeoff between A) and B)

i-th element has id=hash(listname + bi/splitsizec)

Distributed List ConceptStorage Organization

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 7

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 10: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

A) List =̂ DHT item+ single get to retrieve list- overloaded peers- no parallelization

B) List element =̂ DHT item+ parallelization+ overloading less probable- many messages

0x11 0x1A0x53

0xA10xCB

0xD1

C) Partition list into buckets, store buckets in DHT+ splitsize gives tradeoff between A) and B)

i-th element has id=hash(listname + bi/splitsizec)

Distributed List ConceptStorage Organization

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 7

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 11: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

A) List =̂ DHT item+ single get to retrieve list- overloaded peers- no parallelization

B) List element =̂ DHT item+ parallelization+ overloading less probable- many messages

0x11 0x1A0x53

0xA10xCB

0xD1

C) Partition list into buckets, store buckets in DHT+ splitsize gives tradeoff between A) and B)

i-th element has id=hash(listname + bi/splitsizec)

Distributed List ConceptStorage Organization

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 7

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 12: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Operations on list by put/get functionalities inefficientwhole buckets are sent through network, e.g.,set(i): retrieve bucket, send back bucketcontains(item): retrieve (several) bucket(s)

Introduce Remote Operationsuse lookup function to issue commandsmessage contains request, possibly some data+ less traffic

Distributed List ConceptRemote Operations

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 8

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 13: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Operations on list by put/get functionalities inefficientwhole buckets are sent through network, e.g.,set(i): retrieve bucket, send back bucketcontains(item): retrieve (several) bucket(s)

Introduce Remote Operationsuse lookup function to issue commandsmessage contains request, possibly some data+ less traffic

Distributed List ConceptRemote Operations

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 8

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 14: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1 Introduction

2 Distributed List Concept

3 Access Control in Distributed ListRead and Write AccessKey Distribution

4 Evaluation

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 9

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 15: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

User Alice has friends Bob and Carol

Alice has guestbook/ wall for friends (distributed list)Only Alice and friends can read wallOnly Alice and friends may create new entriesOnly author can modify existing entry

Alice

Bob Carol

Access Control in Distributed ListExample

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 10

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 16: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

User Alice has friends Bob and CarolAlice has guestbook/ wall for friends (distributed list)

Only Alice and friends can read wallOnly Alice and friends may create new entriesOnly author can modify existing entry

Alice

Bob Carol

Access Control in Distributed ListExample

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 10

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 17: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

User Alice has friends Bob and CarolAlice has guestbook/ wall for friends (distributed list)Only Alice and friends can read wall

Only Alice and friends may create new entriesOnly author can modify existing entry

Alice

Dave

Access Control in Distributed ListExample

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 10

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 18: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

User Alice has friends Bob and CarolAlice has guestbook/ wall for friends (distributed list)Only Alice and friends can read wallOnly Alice and friends may create new entries

Only author can modify existing entry

Alice

Bob Carol

Access Control in Distributed ListExample

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 10

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 19: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

User Alice has friends Bob and CarolAlice has guestbook/ wall for friends (distributed list)Only Alice and friends can read wallOnly Alice and friends may create new entries

Only author can modify existing entry

Alice

DaveBob Carol

Access Control in Distributed ListExample

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 10

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 20: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

User Alice has friends Bob and CarolAlice has guestbook/ wall for friends (distributed list)Only Alice and friends can read wallOnly Alice and friends may create new entriesOnly author can modify existing entry

Alice

DaveBob Carol

Access Control in Distributed ListExample

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 10

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 21: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Restrict read accessencrypt elements with common symmetric key

Restrict changing elements

sign elements with author’s private key (+nonce)storing peer verifies signatures

Restrict adding elements

bucket signed with common key of Alice and friends

Access Control in Distributed ListUsing Cryptographic Means

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 11

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 22: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Restrict read accessencrypt elements with common symmetric key

Restrict changing elementssign elements with author’s private key (+nonce)storing peer verifies signatures

Restrict adding elements

bucket signed with common key of Alice and friends

Access Control in Distributed ListUsing Cryptographic Means

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 11

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 23: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Restrict read accessencrypt elements with common symmetric key

Restrict changing elementssign elements with author’s private key (+nonce)storing peer verifies signatures

Restrict adding elementsbucket signed with common key of Alice and friends

Access Control in Distributed ListUsing Cryptographic Means

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 11

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 24: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1 Introduction

2 Distributed List Concept

3 Access Control in Distributed ListRead and Write AccessKey Distribution

4 Evaluation

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 12

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 25: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Bootstrap security (Graffi et al. IEEE LCN 2009)derive private key from user name and passwordderive public key = identifier of user

Create and store a group itemasymmetric key pair (eG, dG), symmetric key SG

stored encrypted for each member

Access Control in Distributed ListKey Distribution by Groups

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 13

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 26: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Bootstrap security (Graffi et al. IEEE LCN 2009)derive private key from user name and passwordderive public key = identifier of user

Create and store a group itemasymmetric key pair (eG, dG), symmetric key SG

stored encrypted for each member

Access Control in Distributed ListKey Distribution by Groups

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 13

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 27: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1 Introduction

2 Distributed List Concept

3 Access Control in Distributed ListRead and Write AccessKey Distribution

4 Evaluation

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 14

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 28: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Simulation of 1000 list operationseach bucket stored at different nodeelements of size 1 kB

traffic considerably reducedtraffic depends on splitsize

Operation A Bget(i) 0.5 0.93add(item) 0.375 0.053remove(i) 0.125 0.017

EvaluationImpact on Traffic

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 15

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 29: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Simulation of 1000 list operationseach bucket stored at different nodeelements of size 1 kBtraffic considerably reduced

traffic depends on splitsize

Operation A Bget(i) 0.5 0.93add(item) 0.375 0.053remove(i) 0.125 0.017

0 200 400 600 800 1000

050

000

1500

0025

0000

operations

traffi

c (k

B)

remote ops, splitsize=10, consolidationremote ops, splitsize=infremote ops, splitsize=10no remote ops, splitsize=inf

0 200 400 600 800 1000

020

0060

0010

000

operations

traffi

c (k

B)

remote ops, splitsize=10, consolidationremote ops, splitsize=infremote ops, splitsize=10no remote ops, splitsize=inf

EvaluationImpact on Traffic

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 15

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 30: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Simulation of 1000 list operationseach bucket stored at different nodeelements of size 1 kBtraffic considerably reducedtraffic depends on splitsize

Operation A Bget(i) 0.5 0.93add(item) 0.375 0.053remove(i) 0.125 0.017

0 200 400 600 800 1000

010

000

3000

0

operations

traffi

c (k

B)

splitsize=1, no consolidationsplitsize=5, no consolidationsplitsize=20, no consolidationsplitsize=100, no consolidation

0 200 400 600 800 1000

020

0040

0060

00

operations

traffi

c (k

B)

splitsize=1, no consolidationsplitsize=5, no consolidationsplitsize=20, no consolidationsplitsize=100, no consolidation

EvaluationImpact on Traffic

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 15

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 31: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Distributed datastructures are useful for OSNs

Buckets and remote operations allow flexible, efficient list functionalities

Access control fundamental in OSNs

Cryptographic approaches and groups to control access to list

Summary

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 16

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 32: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

Thank you for your attention!Thank you for your attention!

Alexander Mäcker

Heinz Nixdorf Institute& Department of Computer ScienceUniversity of Paderborn

Address: Fürstenallee 1133102 PaderbornGermany

E-mail: [email protected]: http://www.p2pframework.com

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 17

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 33: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1) C requests item from S; possibly sends hash of its own version of item

2) S replies with current version of item or ACK

3) C performs following steps

perform change locallycompute signaturesend back signature, command and old hash

4) C compares hashes; either performs changes locally and stores or back to step 2

Remote Write Access

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 18

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 34: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1) Initiating node computes B′k and B′

k+1 and signatures Sig(B′k), Sig(B′

k+1).Signatures sent to nodes Sk and Sk+1 storing Bk and Bk+1.

2) Sk and Sk+1 compute B′k and B′

k+1. Cancel if differ from received ones.

3) Sk+1 notifies Sk .

4) On reception of notification, Sk+1 stores B′k and notifies Sk+1.

5) On reception of notification, Sk stores B′k+1 after checking that B′

k is stored asexpected.

Consolidation of Distributed List

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 19

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 35: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1) Initiating node computes B′k and B′

k+1 and signatures Sig(B′k), Sig(B′

k+1).Signatures sent to nodes Sk and Sk+1 storing Bk and Bk+1.

2) Sk and Sk+1 compute B′k and B′

k+1. Cancel if differ from received ones.

3) Sk+1 notifies Sk .

4) On reception of notification, Sk+1 stores B′k and notifies Sk+1.

5) On reception of notification, Sk stores B′k+1 after checking that B′

k is stored asexpected.

Consolidation of Distributed List

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 19

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 36: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1) Initiating node computes B′k and B′

k+1 and signatures Sig(B′k), Sig(B′

k+1).Signatures sent to nodes Sk and Sk+1 storing Bk and Bk+1.

2) Sk and Sk+1 compute B′k and B′

k+1. Cancel if differ from received ones.

3) Sk+1 notifies Sk .

4) On reception of notification, Sk+1 stores B′k and notifies Sk+1.

5) On reception of notification, Sk stores B′k+1 after checking that B′

k is stored asexpected.

Consolidation of Distributed List

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 19

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 37: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1) Initiating node computes B′k and B′

k+1 and signatures Sig(B′k), Sig(B′

k+1).Signatures sent to nodes Sk and Sk+1 storing Bk and Bk+1.

2) Sk and Sk+1 compute B′k and B′

k+1. Cancel if differ from received ones.

3) Sk+1 notifies Sk .

4) On reception of notification, Sk+1 stores B′k and notifies Sk+1.

5) On reception of notification, Sk stores B′k+1 after checking that B′

k is stored asexpected.

Consolidation of Distributed List

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 19

HEINZ NIXDORF INSTITUTE

University of Paderborn

Page 38: IEEE CRS 2014 - Secure Distributed Data Structures for Peer-to-Peer-based Social Networks

1) Initiating node computes B′k and B′

k+1 and signatures Sig(B′k), Sig(B′

k+1).Signatures sent to nodes Sk and Sk+1 storing Bk and Bk+1.

2) Sk and Sk+1 compute B′k and B′

k+1. Cancel if differ from received ones.

3) Sk+1 notifies Sk .

4) On reception of notification, Sk+1 stores B′k and notifies Sk+1.

5) On reception of notification, Sk stores B′k+1 after checking that B′

k is stored asexpected.

Consolidation of Distributed List

Secure Distributed Data Structures for Peer-to-Peer-based Social Networks Alexander Mäcker 19

HEINZ NIXDORF INSTITUTE

University of Paderborn