sporc: group collaboration using untrusted cloud resources ariel j. feldman, william p. zeller,...

22
SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010. Presented by Cintia Silva Sandeep Vasani

Upload: celeste-grisson

Post on 14-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

SPORC: Group Collaboration using Untrusted Cloud Resources

Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010.

Presented byCintia Silva

Sandeep Vasani

Page 2: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Cloud Based Services

• Pros– Global accessibility, High availability– Fault tolerance– Elastic resource allocation and scaling

• Con– Fully trusted servers are high value targets for

server attacks• Must we sacrifice security and privacy to enjoy

the benefits of cloud deployment?

Page 3: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Solution: SPORC

• Generic Centralized Solution• Cloud based system which allows group

collaboration services without requiring to trust your cloud provider

• Server: untrusted, assigns global order, stores updates in encrypted history, can be malicious

• Clients: handles security using Cryptographic Primitives, does conflict resolution and recover from malicious servers

Page 4: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Goals

Flexible framework for a broad class of collaborative services

Propagate modifications quickly Tolerate slow or discounted networks Keep data confidential from server Detect a misbehaving server Recover from malicious server behavior

Page 5: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Problem 1: Consistency• Solution for consistency in optimistic

replication through Operational TransformClient 1 Client 2

o1: ABCDE o2: ABCDE

o1: ABCE o2: ACDE

o1: ACE o2: ABD

Delete(4) Delete(2)

Delete(4)Delete(2)

After the two operations, object view at the clients o1 and o2 different

After the applying OT , object view at the clients o1 and o2 same

Client 1 Client 2

o1: ABCDE o2: ABCDE

o1: ABCE o2: ACDE

o1: ACE o2: ACE

Delete(4) Delete(2)

Delete(3)Delete(2)

Page 6: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Problem 2: Malicious Servers• Clients communicating via untrusted server: they may be provided with different

views• Fork* consistency guarantees that server misbehavior is detected within 1 fork

(partition)

Page 7: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Data Structure

• Server maintains:– Encrypted history of operations

• Client maintains:– Document state (application-view)– Committed history of operations (maintains hash

chain of committed operations)– Pending queue of uncommitted operations

Document state includes both history and queue.

Page 8: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

System Design

• Invariant 1: Local Coherence• Invariant 2: Fork* Consistency• Invariant 3: Client-Order Preservation

Page 9: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Operations

• Client Exchange two types of operations:– Document operation: changes to the content of

the document– Meta-operations: changes to Access Control

List(ACL) • ACL user rights: reader, writer, admin• Symmetric Key Maintenance is done via users

with admin right without server’s involvement

Page 10: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Membership Management

New Shared KeyShared Key (for efficiency)

• Old key needed to decrypt updates encrypted using it (new clients)

• Key shared with the new client• New client generates current state from Ops stores at server

Page 11: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Implementation

• generic server• client-libraries based on application type– sending, receiving, encryption, OT and consistency

checks• Authors have discussed the following

applications:– Key-value store– collaborative text editor

Page 12: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Evaluation

• One server, four machines with multiple clients• All machines were connected by gigabit switched

Ethernet• Two configurations:– Low Load: Single client sends operation– High Load: Every client sends operation

• Metrics:– Latency: “In-flight” time– Server throughput– Client time-to-join

Page 13: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Latency (1/2)

Low Load Text Editor• “Server processing” increases as broadcast to more clients• Client overhead nearly constant

Page 14: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Latency (2/2)

• “Client queuing” increases with more clients• “Server Processing” also increases

High Load Text Editor

Page 15: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Server Throughput

• More payload => More processing/packet• More payload => Processing overhead/byte decreases

Page 16: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Time to Join

Page 17: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Related Work• Google Wave:

– Centralized trusted server– Uses OT for conflict resolution does not make use of Fork* consistency– Like in SPORC only allows one operation “in flight” at once

• Bayou: – Decentralized P2P system– Application need to specify conflict detection and resolution protocol as

an alternative to OT• Venus:

– Only for key-value stores– Requires a “core set” of clients to be online– Membership can’t be revoked

• Depot:– Applications-logic for conflict resolution– Client eq. to server, can also tolerate faulty clients

Page 18: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Discussion (1/2)

• Is the server needed at all?– Limited role: • Assign increasing sequence number to updates – clients

receive updates in the same order (TCP used).• Store history

– Required for timely notification and to achieve cloud based deployment

• Server attack to availability• What if the server fails?

Page 19: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Discussion (2/2)

• How long will it take to detect a malicious server?– Crucial for overall system performance analysis but

not discussed or evaluated in the paper• How to recover from fork?– Use out of band client communication

• What if client is malicious?– Can happen and whole system fails

• They haven’t benchmarked their system to others using the same principles.

Page 20: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Future Work

• Detecting forks through out-of-band communication

• Supporting checkpoints to reduce the size of storing committed history

• Evaluating mean time it takes to detect a malicious server

Page 21: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Conclusion

• SPORC achieves cloud deployment benefits without sacrificing security and privacy with the use of untrusted servers.

• Combines OT and Fork* Consistency protocol to preserve consistency and converge to common shared state.

• System as such is still not completely secured against server availability attacks, malicious clients and server partition of clients.

Page 22: SPORC: Group Collaboration using Untrusted Cloud Resources Ariel J. Feldman, William P. Zeller, Michael J. Freedman, Edward W. Felten Published in OSDI’2010

Thank You

Questions???