CS7380: Privacy Aware Computing Oblivious RAM 1. Motivation  Starting from software protection Prevent from software piracy A valid method is using hardware.

Slides:



Advertisements
Similar presentations
David Luebke 1 6/7/2014 ITCS 6114 Skip Lists Hashing.
Advertisements

Equality Join R X R.A=S.B S : : Relation R M PagesN Pages Relation S Pr records per page Ps records per page.
Bio Michel Hanna M.S. in E.E., Cairo University, Egypt B.S. in E.E., Cairo University at Fayoum, Egypt Currently is a Ph.D. Student in Computer Engineering.
Virtualization and Cloud Computing. Definition Virtualization is the ability to run multiple operating systems on a single physical system and share the.
Why Simple Hash Functions Work : Exploiting the Entropy in a Data Stream Michael Mitzenmacher Salil Vadhan.
Kai-Min Chung (Academia Sinica) joint work with Zhenming Liu (Princeton) and Rafael Pass (Cornell NY Tech)
Segmented Hash: An Efficient Hash Table Implementation for High Performance Networking Subsystems Sailesh Kumar Patrick Crowley.
Hash-based Indexes CS 186, Spring 2006 Lecture 7 R &G Chapter 11 HASH, x. There is no definition for this word -- nobody knows what hash is. Ambrose Bierce,
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Data Structures Using C++ 2E
CompSci Searching & Sorting. CompSci Searching & Sorting The Plan  Searching  Sorting  Java Context.
1 CS 361 Lecture 5 Approximate Quantiles and Histograms 9 Oct 2002 Gurmeet Singh Manku
Traitor Tracing Vijay Ramachandran CS 655: E-commerce Foundations October 10, 2000.
B+-tree and Hashing.
FALL 2004CENG 3511 Hashing Reference: Chapters: 11,12.
METU Department of Computer Eng Ceng 302 Introduction to DBMS Disk Storage, Basic File Structures, and Hashing by Pinar Senkul resources: mostly froom.
© 2006 Pearson Addison-Wesley. All rights reserved13 B-1 Chapter 13 (excerpts) Advanced Implementation of Tables CS102 Sections 51 and 52 Marc Smith and.
History-Independent Cuckoo Hashing Weizmann Institute Israel Udi WiederMoni NaorGil Segev Microsoft Research Silicon Valley.
Data Structures Hashing Uri Zwick January 2014.
Maps A map is an object that maps keys to values Each key can map to at most one value, and a map cannot contain duplicate keys KeyValue Map Examples Dictionaries:
ObliviStore High Performance Oblivious Cloud Storage Emil StefanovElaine Shi
Basic File Structures and Hashing Lectured by, Jesmin Akhter, Assistant professor, IIT, JU.
CALTECH CS137 Winter DeHon 1 CS137: Electronic Design Automation Day 12: February 6, 2006 Sorting.
02/22/2005 Joint Seminer Satoshi Koga Information Technology & Security Lab. Kyushu Univ. A Distributed Online Certificate Status Protocol with Low Communication.
CHAPTER 09 Compiled by: Dr. Mohammad Omar Alhawarat Sorting & Searching.
Skip Lists Mrutyunjay. Introduction ▪ Linked Lists Benefits & Drawbacks: – Benefits: – Easy Insert and Deletes, implementations. – Drawbacks: – Hard to.
© 2006 Pearson Addison-Wesley. All rights reserved13 B-1 Chapter 13 (continued) Advanced Implementation of Tables.
Peacock Hash: Deterministic and Updatable Hashing for High Performance Networking Sailesh Kumar Jonathan Turner Patrick Crowley.
David Luebke 1 10/25/2015 CS 332: Algorithms Skip Lists Hash Tables.
1 CSE 326: Data Structures: Hash Tables Lecture 12: Monday, Feb 3, 2003.
HASHING PROJECT 1. SEARCHING DATA STRUCTURES Consider a set of data with N data items stored in some data structure We must be able to insert, delete.
Segmented Hash: An Efficient Hash Table Implementation for High Performance Networking Subsystems Sailesh Kumar Patrick Crowley.
David Luebke 1 11/26/2015 Hash Tables. David Luebke 2 11/26/2015 Hash Tables ● Motivation: Dictionaries ■ Set of key/value pairs ■ We care about search,
File Structures. 2 Chapter - Objectives Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and.
Chapter 5: Hashing Collision Resolution: Open Addressing Extendible Hashing Mark Allen Weiss: Data Structures and Algorithm Analysis in Java Lydia Sinapova,
Privacy Preserving Payments in Credit Networks By: Moreno-Sanchez et al from Saarland University Presented By: Cody Watson Some Slides Borrowed From NDSS’15.
Hashing 1 Hashing. Hashing 2 Hashing … * Again, a (dynamic) set of elements in which we do ‘search’, ‘insert’, and ‘delete’ n Linear ones: lists, stacks,
Chapter 15 A External Methods. © 2004 Pearson Addison-Wesley. All rights reserved 15 A-2 A Look At External Storage External storage –Exists beyond the.
Onion ORAM: A Constant Bandwidth Blowup ORAM
CS6045: Advanced Algorithms Data Structures. Hashing Tables Motivation: symbol tables –A compiler uses a symbol table to relate symbols to associated.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Lec 5 part2 Disk Storage, Basic File Structures, and Hashing.
Searching Over Encrypted Data Charalampos Papamanthou ECE and UMIACS University of Maryland, College Park Research Supported By.
Cuckoo Filter: Practically Better Than Bloom Author: Bin Fan, David G. Andersen, Michael Kaminsky, Michael D. Mitzenmacher Publisher: ACM CoNEXT 2014 Presenter:
Secure Data Outsourcing
Hash Tables Ellen Walker CPSC 201 Data Structures Hiram College.
Keyword search on encrypted data. Keyword search problem  Linux utility: grep  Information retrieval Basic operation Advanced operations – relevance.
Chapter 5 Record Storage and Primary File Organizations
CSC 413/513: Intro to Algorithms Hash Tables. ● Hash table: ■ Given a table T and a record x, with key (= symbol) and satellite data, we need to support:
SSE-2 Step1: keygen(1 k ):s {0,1} k,output K=s Step2:Buildindex(K,D): 建立 table T, p=word bit+max bit R 假設 w 1 出現在 D 1,D 3 T[π s (w 1 ||1)]=D 1 T[π s (w.
Oblivious Parallel RAM: Improved Efficiency and Generic Constructions
May 17th – Comparison Sorts
Active Learning of Computational Thinking
OblivP2P: An Oblivious Peer-to-Peer Content Sharing System
The Variable-Increment Counting Bloom Filter
CS 332: Algorithms Hash Tables David Luebke /19/2018.
OblivP2P: An Oblivious Peer-to-Peer Content Sharing System
CSCI 104 Log Structured Merge Trees
Oblivious RAM: A Dissection and Experimental Evaluation
3.2 Virtualisation.
Verifiable Oblivious Storage
CS7380: Privacy Aware Computing
Data Structures and Algorithms
Cloud Security 李芮,蒋希坤,崔男 2018年4月.
CS202 - Fundamental Structures of Computer Science II
CS639: Data Management for Data Science
CS203 Lecture 15.
DATA STRUCTURES-COLLISION TECHNIQUES
Path Oram An Extremely Simple Oblivious RAM Protocol
Collision Resolution: Open Addressing Extendible Hashing
Presentation transcript:

CS7380: Privacy Aware Computing Oblivious RAM 1

Motivation  Starting from software protection Prevent from software piracy A valid method is using hardware key to protect the validity of the software; hardware key cannot be duplicated Still the memory access between the HW and SW components can leak information  Attacker can deceive or skip the checking with the HW component

Oblivious RAM definition  How to protect from observing memory access pattern? Memory access is probabilistic The probabilistic distribution is independent of the input

First solution: the square-root algorithm 1.For each accesses, randomly permute the first m+ memory 2.For accessing a word, check the sheltered words first. If it is there, we access one of the dummy words 2. If it is not there, find the permuted location  (i). t steps of original RAM access can be simulated with t+sqrt(m) steps ORAM

Key operation  Oblivious random permutation Random mapping f: {1,2,..,n} -> {1,2,..,n logn }, so that (i)=k if f(i) is the k- smallest in f(1)..f(n) Using Batcher’s Sorting Network to sort permuted tags f(i) – the sequence of access if fixed, independent of input  binary search over the sorted tags f(i) to find (i)

Cost analysis  Per access cost :

The hierarchical algorithm  Each memory cell is modeled as (Vi, Xi) Vi is the location, Xi is the value  Basic idea Consider the shelter memory as a buffer; extend it to multiple levels of buffers Use oblivious hash function

Hierarchical scheme

Setting  each level i has 4 i buckets  Each bucket has log t items, where t is the total number of accesses by the current program  Total number of levels N = 1+ ceil(log 4 t)  Each level has a randomly selected hash function

 Initially Load program to the N level, which has 4t buckets  For each level If (V, X) is already found, randomly pick a bucket to access Otherwise, check the bucket h_i(V)  Put (V, X) to the 1 st level (may cause overflowing to the lower levels). If the first i levels are full, move all 1 to i levels to i+1 levels and empty the first i levels

 Reading Check the bucket h_i(V) from each level i Only one real match Remaining are dummy entries Client Server real dummy

 Writing Chose a new hash for level i+1, Shuffle consecutively filled levels. Write into next unfilled level. Clear the source levels Server (before) Server (after) Client shuffle values

Cost analysis  time cost: Each level cost O(log t), total log t levels Cost per access: O((log t) 2 ) Hashing cost: O(t(log t) 3 )  Storage cost (t log t)

Improved schemes  Paper: oblivious ram revisited  Improvement Storage O(n) Time O((log n) 2 ) In context of cloud computing  Key idea Using Cuckoo hashing  Mapping n items to 2(1+e)n bins and at most a signle item is mapped into a bin  Reduce storage to O(n) Randomized shell sort

Williams and Sion solution  Usable PIR. In NDSS,  Use O(sqrt(n)) secure client side memory and oblivious merge sort to improve the performance to O((log n) 2 )  Building castles out of mud: Practical access pattern privacy and correctness on untrusted storage. In ACM CCS,2008 Use Bloom Filter to further improve the performance to O(logn*loglog n)

A number of methods Pinkas and Reinman

Remaining challenges  Storage cost  Reshuffling  Client-server interactions

Most recent development  ObliviousRam/ ObliviousRam/  Oblivious storage