18
Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Group Management, Permissions, and

Revocation in OceanStore

Barbara EngelhardtGeorge PorterNaveen Sastry

UC BerkeleyJanuary 2002

Page 2: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

OceanStore:1Networking Day ©2001 John Kubiatowicz/UC Berkeley

OceanStore’s world view

Promiscuous caching, untrusted infrastructure, world-wide scale

Page 3: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

OceanStore’s world view No one server can be trusted to provide

access control Data location may not be fully known—it may

not be possible to “hunt and kill” all data files

Unlike traditional operating systems, OceanStore has no trusted kernel

Result: OceanStore has different needs in access control than traditional operating systems and “trusted” distributed filesystems

Page 4: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

The need for groups Administrative need:

commercial setting has 10K+ users and huge number of files

People constantly entering and leaving groups

Any solution likely to be fully distributed

Want: Centralized revocation and control

Aggressive caching and FS’s untrusted nature

Groups must be convenient for both readers/writers and group managers

Page 5: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Problem We cannot assume

security of any particular nodes

Controlling writes can be done in inner ring

Controlling reads more difficult

Cannot trust servers to selectively release information

Solution for Ocean Store: Use inner ring to

verify write requests

Use client-side crypto to prevent unauthorized reads

Keep all needed keys with ACLs

Page 6: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Groups in OceanStore Similar to Kevin Fu’s cryptographic

storage file system, keys are bundled with the files

However, group lists are distributed through the network as regular files

No group server—indirection is introduced to provide end users with the keys they need to read files

Page 7: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Protecting Files Blocks of each file are

encrypted with symmetric keys (IDEA)

Groups each have a keypair (the private key is encrypted to group members with their public keys)

Symmetric keys encrypted with user or group’s public key and stored in ACL

Group manager removes a user by generating new group keypair and reencrypting the private group key with each user’s public key

When update is sent to file, any groups are checked for changes

If changes exist, new symmetric key used for update

Page 8: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Performing a read

File 1

Group G

User1

User2

User3

ACLUser1

User2

Group1

Group2

IDEA keys encrpyted with public keys

Group’s private key encrypted with users’ public keys

Page 9: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Performing a read

File 1

Group 2

User1

User2

User3

ACLUser1

User2

Group1

Group2

•Read block from file 1

•Lookup user’s entry in ACL consulting group lists if needed

Page 10: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Performing a read

File 1

Group 2

User1

User2

User3

ACLUser1

User2

Group1

Group2

•Read block from file 1

•Lookup user's entry in ACL consulting group lists if needed

Encrypted key

Page 11: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Deleting a user from a group

File 1

Group 2

User1

User2

User3

ACLUser1

User2

Group1

Group2

•Group manager generates new group keypair

•This new private key is encrypted to each users’ public key

Group manager

Page 12: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Submitting new update

File 1

Group 2

User1

User2

User3

ACLUser1

User2

Group1

Group2Updat

e

Check to see if any groups changed

Page 13: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Submitting new update

File 1

Group 2

User1

User2

User3

ACLUser1

User2

Group1

Group2Updat

e

•Generate new IDEA key, encrypt to all users and groups

Page 14: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Advantages Decouple group

management from key management

Fully distributed Storing keys in this

fashion is relatively straighforward

Page 15: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Experimental Testbed Simulated above mechanism on Java-based, block-

oriented filesystem with OceanStore assumptions Verified against two workload models (E-mail

model based on IMAP traces and “Congressional Record” model)

Operation Blocks Read Blocks WrittenRead n blocks 1+G+n 0Write n blocks (no recent ACL or group deletion) 1+G+n 1+nWrite n blocks (recent ACL deletion) 1+G+n 2+nAppend n blocks (no recent ACL or group deletion) 1+G 1+nAppend n blocks (recent ACL or group deletion) 1+G 2+nGroup change 1 1ACL change 1 1

Testbed designed with OceanStore assumptions

Page 16: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Integration with OceanStore Inner ring verifies write requests Encrypted keys stored in ACL (as separate

file) Group lists exist as independent files Any mechanisms introduced that restrict

locations of files would decrease opportunity for revoked data to reach end users

Cooperation from servers to delete data on request and aid in “hunt and destroy”

Page 17: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Additional Considerations A weakness of our system is that

group members can deny access to other members of the group

Group managers can determine if new members can see data written before their membership

May be unwieldy for very dynamic groups

Page 18: Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002

Future work Design of user-interface (Tcl/Tk or WWW) Expiring keys after certain time

period/active servers to operate on files, including deletions

Support for policies where new signed updates could imply the deletion of older data (streaming media, for example)