• No results found

Secure Distributed Storage in Peer to Peer Networks

N/A
N/A
Protected

Academic year: 2022

Share "Secure Distributed Storage in Peer to Peer Networks"

Copied!
28
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

Secure Distributed Storage in Peer-to-peer networks

Øyvind Hanssen

07.02.2007

(2)

Motivation

Mobile and ubiquitous computing

Persistent information in untrusted networks

Sharing of storage and information

But privacy and integrity

Digital archiving

Very durable storage

Very robust storage

But high availability

Scalability

Global network...

(3)

Outline

Peer to peer computing

Infrastructure, overlays ...

Structured vs. unstructured

Structured overlays (distributed hash tables)

Example: Pastry

(Other: Chord, CAN, Tapestry, etc.)

Some security issues

Secure Storage

Challenges

Techniques: Cryptographic, byzantine agreement

Examples: Past, Oceanstore, Pesto, Pacisso,

(4)

What is P2P computing?

Different definitions in litterature

Strictest: Totally distributed system in which all nodes are completely equivalent

“...class of applications that take advantage of resources ...

available at the edges of the internet” (Shirky, 2000)

“...the sharing of computer resources and services by direct exchange between systems” (Milojicic et.al 2002)

“... interconnected nodes able to self-organize into network topologies with the purpose of sharing resources ... capable of adapting to failures... without requiring the intermediation or

support of a global centralized server or authority” (Androutsellis &

Spinnellis, 2004)

(5)

P2P applications

Communication and collaboration

E.g. ICQ, Jabber, Skype

Distributed computation

E.g. SetiAtHome

Internet service support

E.g. Multicast systems

Database systems

Queries, semantic web etc..

Content distribution

File sharing

Storage systems (focus: persistence, security)

(6)

Infrastrucure

Location and routing infrastructure (overlay network)

P2P application layer

API:

put(key, value) get(key) -> value remove(key)

Nodes (peers) Data objects

(7)

Overlay networks

Centralization

Purely decentralized

All nodes are equal

Partially centralized

Some nodes are “more equal than others”

But there should be no single points of failure

Hybrid decentralized

Central servers

Network structure

Unstructured

Loose rules, ad hoc

Structured

Content placed deterministically at locations

(8)

Network structure

Unstructured P2P

Typically: Flooding to send queries

Good for popular items, bad for rare items

Cannot guarantee that item is found

Structured P2P

Distributed Hash Tables

Efficient location of rare items, some overhead for popular items

Can guarantee that item is found

Scalable

(9)

Outline

Peer to peer computing

Infrastructure, overlays ...

Structured vs. unstructured

Structured overlays (distributed hash tables)

Example: Pastry

(Other: Chord, CAN, Tapestry, etc.)

Some security issues

Secure Storage

Challenges

Techniques: Cryptographic, byzantine agreement

Examples: Past, Oceanstore, Pesto, Pacisso,

(10)

Distributed hash tables

Goal: Locate data objects identities to nodes

Uniform “random” identifiers

Assigned to nodes (nodeId)

Assigned to application objects (keys)

Routing

Each node has a routing table and neighbour set

Collectively maps key to node (key's root)

Replica function

(11)

Pastry

Nodeids/data keys

128 bit

Sequence of digits with base 2b

Routing table

2b columns,128/2b rows (typically 16x8)

Each entry contains IP address of node.

Try to select one which is “nearby”

In addition: A neighbour set (+- l/2 nodeId's. l depends on N)

(12)

Prefix routing (Pastry)

0 1 2 3 4 5 7 8 9 A B C D E F

60 61 62 63 64 66 67 68 69 6A 6B 6C 6D 6E 6F

650 651 652 653 654 655 656 657 658 659 65B 65C 65D 65E 65F

65A0 65A2 65A3 65A4 65A5 65A6 65A7 65A8 65A9 65AA 65AB 65AC 65AD 65DE 65AF

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..

Routing table for nodeId 65A1xxxx

(13)

Routing

0

2

128

-1

Each step: At least one more digit

If no entry found, try a node which is numerically closer (neighbour list).

Random, with some preference for

“nearby” nodes.

If not found, we have reached the destination.

O(log16N) hops

D13DA3

D4213F

D467C4 D46A1C

(14)

Security issues in DHT

Routing attacks

Incorrect lookup

Incorrect routing updates

Partition

Storage and retrieval attacks

Deny existence of data, refuse to serve

Censorship: Take control of all replica roots

Solution: secure/verifiable nodeId assignment

Sybil attack. Attacker gets multiple nodeId's

Misc. attacks

Inconsistent behaviour

Overload targeted nodes

Trick system into unnecessary rebalancing

Unsolicited response messages

(15)

Outline

Peer to peer computing

Infrastructure, overlays ...

Structured vs. unstructured

Structured overlays (distributed hash tables)

Example: Pastry

(Other: Chord, CAN, Tapestry, etc.)

Some security issues

Secure Storage

Challenges

Techniques: Cryptographic, byzantine agreement

Examples: Past, Oceanstore, Pesto, Pacisso,

(16)

Challenges

Availability and durability

Consistency among updates and replicas

Security on top of untrusted P2P network

Secure storage: Privacy and integrity

Authorisation without central authority

Authentication without central authority

(17)

Basic mechanisms

Cryptography

Symmetric crypto

Same key for encrypting and decrypting

Asymmetric crypto (or public-key crypto)

Two keys: One for encrypting and one for decrypting

One key is public and one is private (kept secret)

Encrypt: Encrypt with public key.

Sign: Encrypt with private key.

Certificate

A signed statement

Secure hash

Difficult to reproduce a given hash value by modifying content content

(one way function)

(18)

Byzantine agreement

Consensus, despite failing participants...

Solvable if no more than m of n = 3m+1 are faulty

no yes

yes yes

1 (proposal) 2. correct node 3. Failing node

?

(19)

Byzantine agreement

no yes

yes yes

1 (proposal) 2. correct node 3. Failing node

no yes

4. correct node

yes yes yes

(20)

Some techniques

Encrypted data

Predicates: compare-version, compare size, compare-block, search

Operations: replace-block, insert-block, delete-block, append

Self certifying data

Secure hash and possibly a signature

Information dispersal / erasure coding

Encode files into m blocks where any n < m blocks are sufficient to reproduce them. More efficient than simple replication.

Shamir's Secret sharing

A secret key K can be split into a number of shares. Any subset of size k can reproduce K. k-1 shares can not reproduce K.

Can be combined with mutual signing protocols

Smartcards

(21)

Past w/smartcards

Based on Pastry

Smartcards

Each node, each user

private/public key

Certificate - signed by issuer (broker)

Maintain storage quotas (enforce contract)

Files

Immutable ...

FileID (160 bit)– secure hash of filename, owners public key.

128 most significant bits used to locate node

File certificate:

FileID, replication factor, date, secure hash of content

Signed by owner (owner's smartcard!)

Reclaim certificate:

Storage of FileID can be reclaimed

(22)

Immutable Objects

Mutable files by having multiple versions.

Simplifies some issues related tocaching and replication.

Update – write a new version

What is the latest valid version?

Consistency, serialisability

requirements?

(23)

OceanStore/Pond

Durability, availability, flexible update-semantics..

Some highlights

Built on top of Tapestry (similar to Pastry)

Versioning

Erasure coding for storage + secondary replicas and caching

Uses cryptography and digital certificates

Updates: List of predicate/action pairs

Each data object assigned an “inner ring” of nodes

Primary replica and update semantics

Byzantine agreement protocol

Private key sharing

Proactive threshold signature scheme (replace private key shares)

(24)

OceanStore/Pond

M

d1 d2 d3 d4 d5 d6 d7

M

d6 d7

VGUIDi VGUIDi+1

AGUID

(25)

OceanStore Update

App

Archive

Primary replica (inner ring)

Secondary replica

App

(26)

Other approaches

Pesto

User-User contracts (outside Pesto)

User decides whom to “trust” for specific tasks

Symmetric crypto

Pacisso

Access control by “gatekeeper” nodes

Key-sharing, byzantine agreement ...

Plutus

Lazy revocation, key-rotation...

... and more

(27)

Conclusions

Second generation P2P overlays

Analogy: Distributed hash table

Provides deterministic routing and randomized placement

Can support replication, locality, etc..

Security issues mostly denial of service...

Secure storage systems on top of overlays

Hard to achieve without some central/trusted components or trusted authorities

Smartcards, PKI's

Trusted groups of nodes instead of single nodes

Cryptographic methods

Key management

Replication, redundant encoding

Versioning, file block level replication

Another layer?

(28)

Litterature

S. Androutsellis-Theotokis, D. Spinellis, A Survey of Peer-to-Peer Content Distribution Technologies, ACM Computing Surveys, Vol. 36, No. 4, December 2004, pp. 335-371

E.K. Lua, J. Crowcroft, M. Pias, R. Sharma, S. Lim, A Survey and Comparison of Peer-to-Peer Overlay Network Schemes, IEEE Communications Survey and Tutorial, March 2004.

D.S. Wallach, A Survey of Peer-to-Peer Security Issues, in Proc. Intl. Symposium on Software Security, November 2002.

W. Sit, R. Morris, Security Considerations for peer-to-peer distributed hash tables, in Proc. 2nd Intl.

Workshop on Peer-to-Peer Systems.

P. Druschel, A. Rowstron, PAST: A large-scale, persistent peer-to-peer storage utility, In Proc. 8th Workshop on Hot Topic in Operating Systems, 2001

J. Kubiatowicz, Extracting Guarantees from Chaos, CACM, February 2003.

J. Kubiatowicz, et. al. OceanStore: An Architecture for Global-Scale Persistent Storage, In Proc.

ACM ASPLOS, 2000.

S.Rhea, et. al. Pond:the OceanStore Prototype, In Proc. 2nd Usenix Conference on File and Storage Technologies 2003.

F.W. Dillema, T.Stabell-Kulø, Pesto Flavoured Security, SRDS 2003.

E. Coç, M. Baur, G. Caronni, PACISSO: P2P Access Control Incorporating Scalability and Self- Organization for Storage Systems, Sun Microsystems SMLI TR-2007-167, June 2007

Referanser

RELATERTE DOKUMENTER

Specifically, we use transaction cost economics (TCE), disruptive innovation theory and value network theory to shed light on both why small

Our subject of study warrants a mixed method research approach, although the primary emphasis will be put on qualitative methods. We must first

Peer support worker participation in providing mental health care is based on the principle that peer support workers, unlike formal healthcare professionals, are able

Peer Reviews finden in alle drei Arbeitsformen dieser Aktionsforschung statt: das Peer Review im Plenum (siehe 2.1.3), das digitale Peer Review im Diskussionsforum (siehe

However, Semantic Web Service discovery in peer-to-peer-like, dynamic environments where services and registries are transient cannot be based on current mechanisms for

The algorithm consumes less bandwidth during search with higher TTL s, since the nodes have received more advertisements initially and thus sends fewer request message for

Home ownership Home Ownership status Monthly income Borrowers monthly income Earliest credit line Earliest recorded credit line Open credit lines Number of open credit lines

Each batch inser- tion is assigned an epoch number, which, on a given peer, uniquely identifies samples inserted as a result of a specific observable event.. If an invalidation event