OceanStore: Data Security in an Insecure world John Kubiatowicz OceanStore Context: Ubiquitous Computing • Computing everywhere: – Desktop, Laptop, Palmtop – Cars, Cellphones – Shoes? Clothing? Walls? • Connectivity everywhere: – Rapid growth of bandwidth in the interior of the net – Broadband to the home and office – Wireless technologies such as CMDA, Satelite, laser • But: Where is persistent information? – Must be the network! – Utility Model Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:2 Utility-based Infrastructure Canadian OceanStore Sprint AT&T Pac IBM Bell IBM • How many files in the OceanStore? – Assume 1010 people, 10,000 files/person (very conservative?) – So 1014 files in OceanStore! – If 1 gig files (ok, a stretch), get almost 1 mole of bytes! Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:3 Basic Structure: Untrusted, Peer-to-peer Model Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:4 But What About Security? • End-to-End and Everywhere Else! – Protection at all levels – Data Protected Globally – Attacks recognized and squashed locally • How is information protected? – Encryption for privacy – Secure Naming and Signatures for authenticity – Byzantine commitment for integrity • Is it Available/Durable? – Redundancy with continuous repair – Redistribution for long-term durability • Is it hard to manage? – Automatic optimization, diagnosis and repair Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:5 Secure Naming • Unique, location independent identifiers: – Every version of every unique entity has a permanent, Globally Unique ID (GUID) – GUIDs derived from secure hashes (e.g. SHA-1) – All OceanStore operations operate on GUIDs • Naming hierarchy: – Users map from names to GUIDs via hierarchy of OceanStore objects (ala SDSI) Out-of-Band “Root link” Foo Bar Baz Each link is either a GUID (RO) Or a GUID/public key combination Myfile Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:6 GUIDs Secure Pointers Name+Key Inactive Object Active GUID Archival GUID Signature Global Object Resolution Global Object Resolution Global Object Resolutions Floating Replica (Active Object) RP Keys Commit CKPoint GUID ACLs MetaData Logs Archival GUID Archival GUID Active Data Signature Archival copy or snapshot Archival copy or snapshot Archival copy or snapshot Erasure Coded Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:7 But What About the Red Arrows? Location-Independent Routing! Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:8 Start with: Tapestry Routing Mesh 3 4 NodeID 0x79FE NodeID 0x23FE NodeID 0x993E 4 NodeID 0x035E 3 4 3 1 1 3 NodeID 0xF990 2 3 NodeID 0x555E 1 NodeID 0x73FF Networking Day NodeID 0x43FE 4 NodeID 0x73FE 3 NodeID 0x44FE 2 2 2 NodeID 0xABFE NodeID 0x04FE NodeID 0x13FE 4 NodeID 0x9990 1 2 2 3 NodeID 0x423E NodeID 0x239E ©2001 John Kubiatowicz/UC Berkeley 1 NodeID 0x1290 OceanStore:9 Then add: Location-Independent Routing Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:10 Secure Routing • Node names are hash of public key – Requests can be signed – Validate Responses in Request/response pairs • Data validation built into network: – Pointers signed – Publication process verified – Responses from servers verified by checking GUIDs • Denial of Service resilence: locality/redundancy – – – – Networking Day MACs along all links: local suppression of DoS Multiple roots to avoid single points of failure Multiple links for rapid recovery Pointers provide locality: Find closest version of object ©2001 John Kubiatowicz/UC Berkeley OceanStore:11 What about Update Integrity? Byzantine Agreement! Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:12 The Path of an OceanStore Update Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:13 Consistency Mechanism applied directly to encrypted data! Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:14 Archival Dissemination Built into Update Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:15 Conclusion: End-to-End and Everywhere Else • • • • Secure read-only data Secure the commitment protocols Secure the routing infrastructure Continuous adaptation and repair For more information: http://oceanstore.cs.berkeley.edu/ Networking Day ©2001 John Kubiatowicz/UC Berkeley OceanStore:16