Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol

Similar documents
The Ascend Secure Processor. Christopher Fletcher MIT

Ascend: Architecture for Secure Computation on Encrypted Data Oblivious RAM (ORAM)

Design and Implementation of the Ascend Secure Processor. Ling Ren, Christopher W. Fletcher, Albert Kwon, Marten van Dijk, Srinivas Devadas

Onion ORAM: Constant Bandwidth ORAM Using Additively Homomorphic Encryption Ling Ren

Searchable Encryption Using ORAM. Benny Pinkas

Design space exploration and optimization of path oblivious RAM in secure processors

CSC 5930/9010 Cloud S & P: Cloud Primitives

Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors

Making Searchable Encryption Scale to the Cloud. Ian Miers and Payman Mohassel

Main Memory and the CPU Cache

Secure Remote Storage Using Oblivious RAM

Memory Defenses. The Elevation from Obscurity to Headlines. Rajeev Balasubramonian School of Computing, University of Utah

TSKT-ORAM: A Two-Server k-ary Tree Oblivious RAM without Homomorphic Encryption

Asymptotically Tight Bounds for Composing ORAM with PIR

ObliviSync: Practical Oblivious File Backup and Synchronization

Two-Party Fine-Grained Assured Deletion of Outsourced Data in Cloud Systems

Eindhoven University of Technology MASTER. Evolution of oblivious RAM schemes. Teeuwen, P.J.P. Award date: 2015

Cloud Computing CS

Computer Memory. Data Structures and Algorithms CSE 373 SP 18 - KASEY CHAMPION 1

Freecursive ORAM: [Nearly] Free Recursion and Integrity Verification for Position-based Oblivious RAM

Storage and File Hierarchy

Banshee: Bandwidth-Efficient DRAM Caching via Software/Hardware Cooperation!

Authenticated Storage Using Small Trusted Hardware Hsin-Jung Yang, Victor Costan, Nickolai Zeldovich, and Srini Devadas

COS 318: Operating Systems

Crypto for PRAM from io (via Succinct Garbled PRAM)

Architecture- level Security Issues for main memory. Ali Shafiee

File Systems. What do we need to know?

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23

arxiv: v1 [cs.ar] 4 Nov 2016

A Dropbox-like Personal Cloud for OpenStack Swift

COS 318: Operating Systems. File Systems. Topics. Evolved Data Center Storage Hierarchy. Traditional Data Center Storage Hierarchy

PageVault: Securing Off-Chip Memory Using Page-Based Authen?ca?on. Blaise-Pascal Tine Sudhakar Yalamanchili

Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability

A HIGH-PERFORMANCE OBLIVIOUS RAM CONTROLLER ON THE CONVEY HC-2EX HETEROGENEOUS COMPUTING PLATFORM

System-Level Protection Against Cache-Based Side Channel Attacks in the Cloud. Taesoo Kim, Marcus Peinado, Gloria Mainar-Ruiz

GP-ORAM: A Generalized Partition ORAM

File Structures and Indexing

Exploring Timing Side-channel Attacks on Path-ORAMs

Storage and File System

Towards Thousand-Core RISC-V Shared Memory Systems. Quan Nguyen Massachusetts Institute of Technology 30 November 2016

File System Internals. Jo, Heeseung

CS127: B-Trees. B-Trees

Efficient Oblivious Data Structures for Database Services on the Cloud

Sieve: Cryptographically Enforced Access Control for User Data in Untrusted Clouds

ViewBox. Integrating Local File Systems with Cloud Storage Services. Yupu Zhang +, Chris Dragga + *, Andrea Arpaci-Dusseau +, Remzi Arpaci-Dusseau +

Balanced Search Trees

Privacy-Preserving Computation with Trusted Computing via Scramble-then-Compute

Binary Search Tree (3A) Young Won Lim 6/2/18

Restoring from Mac and PC backups. John Steele (PC) Mike Burton (MAC)

ObfusMem: A Low-Overhead Access Obfuscation for Trusted Memories

CIS Operating Systems Memory Management Cache and Demand Paging. Professor Qiang Zeng Spring 2018

External File Storage for bpm'online. User manual

Read-Copy Update in a Garbage Collected Environment. By Harshal Sheth, Aashish Welling, and Nihar Sheth

(2,4) Trees. 2/22/2006 (2,4) Trees 1

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Secure DIMM: Moving ORAM Primitives Closer to Memory

Binary Search Tree (2A) Young Won Lim 5/17/18

CIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2017

Oasis: An Active Storage Framework for Object Storage Platform

At Course Completion Prepares you as per certification requirements for AWS Developer Associate.

Obliviate: A Data Oblivious File System for Intel SGX. Adil Ahmad Kyungtae Kim Muhammad Ihsanulhaq Sarfaraz Byoungyoung Lee

Knockoff: Cheap versions in the cloud. Xianzheng Dou, Peter M. Chen, Jason Flinn

Computer Systems Laboratory Sungkyunkwan University

CS3600 SYSTEMS AND NETWORKS

Raccoon: Closing Digital Side-Channels through Obfuscated Execution

HTTP/WebDAV synchronization protocol optimizations. Piotr Mrowczynski

Motivation. Operating Systems. File Systems. Outline. Files: The User s Point of View. File System Concepts. Solution? Files!

Recursive ORAMs with Practical Constructions

Developing Microsoft Azure Solutions (70-532) Syllabus

Da-Wei Chang CSIE.NCKU. Professor Hao-Ren Ke, National Chiao Tung University Professor Hsung-Pin Chang, National Chung Hsing University

Technology Partners.

Memory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358

Module 4: Index Structures Lecture 13: Index structure. The Lecture Contains: Index structure. Binary search tree (BST) B-tree. B+-tree.

Windows File System. File allocation table (FAT) NTFS - New Technology File System. used in Windows 95, and MS-DOS

CS 550 Operating Systems Spring File System

Ring ORAM: Closing the Gap Between Small and Large Client Storage Oblivious RAM

CMSC424: Database Design. Instructor: Amol Deshpande

Chapter 6: File Systems

arxiv: v1 [cs.cr] 19 Sep 2017

PebblesDB: Building Key-Value Stores using Fragmented Log Structured Merge Trees

Shared snapshots. 1 Abstract. 2 Introduction. Mikulas Patocka Red Hat Czech, s.r.o. Purkynova , Brno Czech Republic

File Systems. File system interface (logical view) File system implementation (physical view)

Kathleen Durant PhD Northeastern University CS Indexes

Practical Oblivious RAM and its Applications

Using the Cloud Howard Verne 7/10/2013

File Systems Management and Examples

Developing Microsoft Azure Solutions (70-532) Syllabus

Files & I/O. Today. Comp 104: Operating Systems Concepts. Operating System An Abstract View. Files and Filestore Allocation

Binary Search Tree (3A) Young Won Lim 6/6/18

Kyle Gettig. Mentor Benjamin Iriarte Fourth Annual MIT PRIMES Conference May 17, 2014

Binary Search Tree (3A) Young Won Lim 6/4/18

Caching and reliability

Multi-Client Oblivious RAM Secure Against Malicious Servers

Veeam Backup & Replication on IBM Cloud Solution Architecture

INTEGRATIONS INTEGRATION PARTNERS. ShareFile sharefile.com Box box.com Dropbox dropbox.com NetDocuments netdocuments.com Egnyte egnyte.

EaSync: A Transparent File Synchronization Service across Multiple Machines

Column Stores vs. Row Stores How Different Are They Really?

Usable PIR. Network Security and Applied. Cryptography Laboratory.

Red-black trees (19.5), B-trees (19.8), trees

Malling U3A Computer Group. Cloud Storage. Chris Daly 3 rd April 2017

Transcription:

Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol Nathan Wolfe and Ethan Zou Mentors: Ling Ren and Xiangyao Yu Fourth Annual MIT PRIMES Conference May 18, 2014

Outline 1. Background 2. What is Oblivious RAM? 3. New Features 4. Evaluations 5. Future Work

Dropbox

Dropbox Security Problems Dropbox matches your files with other users files to save space Encryption The federal government can compel Dropbox to release data Encryption Dropbox can see what files you change (access pattern) Oblivious RAM

ORAM: The Solution added layer of encryption on client s end (1 & 2) obfuscation of access pattern and access type (3)

Outline 1. Background 2. What is Oblivious RAM? 3. New Features 4. Evaluations 5. Future Work

Oblivious RAM Naïve ORAM Access all the data blocks for each memory access

Our Design: The Big Picture Path ORAM Implementation

Path ORAM 0 1 2 3 A,0 dummy C,2 D,3 Path ORAM is organized as a binary tree. L levels Dropbox B,1 dummy E,1 Binary Tree ORAM Interface Unoccupied nodes are filled with dummy blocks Dummy and real blocks are indistinguishable after encryption Client

Path ORAM 0 1 2 3 A,0 dummy C,2 D,3 B,1 dummy Stash A small list of data blocks Background eviction prevents stash overflow L levels Dropbox ORAM Interface F,3 E,1 Stash Binary Tree Position Map Position Map maps each program address to a random leaf Client

Path ORAM 0 1 2 3 A,0 dummy C,2 D,3 L levels Dropbox B,1 dummy E,1 Binary Tree Path ORAM invariant: If block a is mapped to leaf s, then a is stored along the path from root to leaf s, or in the stash within the ORAM interface. ORAM Interface F,3 Stash Position Map Client

Path ORAM Example 0 1 2 3 A,0 dummy C,2 D,3 B,1 dummy Load Block A Lookup position map, s = PosMap(A) L levels Dropbox E,1 Binary Tree Load the path into stash ORAM Interface F,3 Stash leaf 0 Position Map Client address A

Path ORAM Example 0 1 2 3 L levels Dropbox ORAM Interface dummy C,2 D,3 Stash F,3 A,2 A,0 B,1 E,1 dummy Binary Tree Position Map Access and Remap Read/Update Block A Remap A to a random leaf. PosMap(A) = rand() Each path ORAM access will access a random leaf Client

Path ORAM Example 0 1 2 3 dummy B,1 L levels E,1 Dropbox dummy C,2 D,3 dummy Binary Tree Write Back Each block a i in the stash is written back to the tree, or stays in the stash ORAM Interface F,3 A,2 Stash Position Map Client

Outline 1. Background 2. What is Oblivious RAM? 3. New Features 4. Evaluations 5. Future Work

New Features 1. Dynamic Tree Growing/Shrinking 2. User File System 3. Multi-Computer

Dynamic Growing/Shrinking Dropbox limited space, subscribe for additional possibility to store unsecured files alongside Saves space when the tree is unnecessarily large Prevents overflow of the tree if too much data

Dynamic Growing/Shrinking

User File System allows writing of files of different sizes partitions files into manageable chunks and assigns each data segment with a unique segment ID writes/reads to and from the ORAM controller

User File System Birds.jpg 1 User File System 2 3 0 data segments data segments Various metadata dictionaries, the stash, the position map and the tree ORAM Controller 4 5

Multi-Computer Syncing done by Dropbox service Dropbox Server Local Dropbox Folder Another computer: data structures are downloaded, ORAM is reconstructed and ready to use again! ORAM Data Structures (Stash, Position Map, Tree, etc.) to be written to Dropbox ORAM data structures are written to the Dropbox folder

Outline 1. Background 2. What is Oblivious RAM? 3. New Features 4. Evaluations 5. Future Work

With ORAM vs Without it File Type/Size Without ORAM With ORAM With vs. Without Photo (30.9 KB) 0.0009 sec (34,333 KB/sec) 0.045869 sec (674 KB/sec) 51x slower PDF (170 KB) 0.0011576 sec (146,856 KB/sec) 0.5202 sec (327 KB/sec) 449x slower Video (64.5 MB) 0.17809 sec (370,869 KB/sec) 2131.38207 sec (31 KB/sec) 11,964x slower Parameters: z = 3, segment size = 4 KB

Does segsize affect efficiency?

Outline 1. Background 2. What is Oblivious RAM? 3. New Features 4. Evaluations 5. Future Work

Future Research Software package Crash recovery User interface graphics directories Optimizations hybrid ORAM dynamic segment size multi-block accesses

Acknowledgements Our mentors, Ling and Xiangyao, for their guidance and insight Professor Srini Devadas for suggesting the project and encouraging us along the way MIT PRIMES for making this research possible Our parents for their continuous support (and for transportation :) )

Stash Eviction Dropbox dummy ORAM Interface F,3 0 1 2 3 L levels dummy C,2 D,3 A,2 B,1 E,1 Stash dummy Binary Tree Position Map Write Back Each block a i in the stash is written back to the common subpath of the accessed path and PosMap(a i ) as high as possible, or stays in the stash overhead = 2 x Z x L Client