ObliVM: A Programming Framework for Secure Computation

Slides:



Advertisements
Similar presentations
Yan Huang, David Evans, Jonathan Katz
Advertisements

SkewReduce YongChul Kwon Magdalena Balazinska, Bill Howe, Jerome Rolia* University of Washington, *HP Labs Skew-Resistant Parallel Processing of Feature-Extracting.
Efficient Information Retrieval for Ranked Queries in Cost-Effective Cloud Environments Presenter: Qin Liu a,b Joint work with Chiu C. Tan b, Jie Wu b,
Kai-Min Chung (Academia Sinica) joint work with Zhenming Liu (Princeton) and Rafael Pass (Cornell NY Tech)
Rational Oblivious Transfer KARTIK NAYAK, XIONG FAN.
Distributed Graph Analytics Imranul Hoque CS525 Spring 2013.
ORAM – Used for Secure Computation by Venkatasatheesh Piduri 1.
GARBLED CIRCUITS & SECURE TWO-PARTY COMPUTATION
Automating Efficient RAM- Model Secure Computation Chang Liu, Yan Huang, Elaine Shi, Jonathan Katz, Michael Hicks University of Maryland, College Park.
Weekly Report Ph.D. Student: Leo Lee date: Oct. 9, 2009.
CS333 Algorithms
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Private Analysis of Data Sets Benny Pinkas HP Labs, Princeton.
1 Introduction to Secure Computation Benny Pinkas HP Labs, Princeton.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
Prim’s Algorithm and an MST Speed-Up
Chang Liu, Michael Hicks, Elaine Shi The University of Maryland, College Park.
ObliviStore High Performance Oblivious Cloud Storage Emil StefanovElaine Shi
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Upcrc.illinois.edu OpenMP Lab Introduction. Compiling for OpenMP Open project Properties dialog box Select OpenMP Support from C/C++ -> Language.
Overview of Privacy Preserving Techniques.  This is a high-level summary of the state-of-the-art privacy preserving techniques and research areas  Focus.
Oblivious Data Structures Xiao Shaun Wang, Kartik Nayak, Chang Liu, T-H. Hubert Chan, Elaine Shi, Emil Stefanov, Yan Huang 1.
Secure Computation of the k’th Ranked Element Gagan Aggarwal Stanford University Joint work with Nina Mishra and Benny Pinkas, HP Labs.
Secure storage of cryptographic keys within random volumetric materials Roarke Horstmeyer 1, Benjamin Judkewitz 1, Ivo Vellekoop 2 and Changhuei Yang 1.
ObliVM: A Programming Framework for Secure Computation
Ohio State University Department of Computer Science and Engineering Automatic Data Virtualization - Supporting XML based abstractions on HDF5 Datasets.
Insert presenter logo here on slide master. See hidden slide 4 for directions  Session ID: Session Classification: SEUNG GEOL CHOI UNIVERSITY OF MARYLAND.
GraphSC: Parallel Secure Computation Made Easy Kartik Nayak With Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, Elaine Shi 1.
On the Practical Feasibility of Secure Distributed Computing A Case Study Gregory Neven, Frank Piessens, Bart De Decker Dept. of Computer Science, K.U.Leuven.
Click to edit Master title style Framework for Realizing Efficient Secure Computations An introduction to FRESCO Janus Dam Nielsen, ph.d Research and Innovation.
YOU LI SUPERVISOR: DR. CHU XIAOWEN CO-SUPERVISOR: PROF. LIU JIMING THURSDAY, MARCH 11, 2010 Speeding up k-Means by GPUs 1.
Binary Search From solving a problem to verifying an answer.
Towards a Billion Routing Lookups per Second in Software  Author: Marko Zec, Luigi, Rizzo Miljenko Mikuc  Publisher: SIGCOMM Computer Communication Review,
DATA STRUCTURE & ALGORITHMS (BCS 1223) NURUL HASLINDA NGAH SEMESTER /2014.
Efficient Route Computation on Road Networks Based on Hierarchical Communities Qing Song, Xiaofan Wang Department of Automation, Shanghai Jiao Tong University,
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
Graph Algorithms. Graph Algorithms: Topics  Introduction to graph algorithms and graph represent ations  Single Source Shortest Path (SSSP) problem.
Participatory Privacy: Enabling Privacy in Participatory Sensing
1 BIM304: Algorithm Design Time: Friday 9-12am Location: B4 Instructor: Cuneyt Akinlar Grading –2 Midterms – 20% and 30% respectively –Final – 30% –Projects.
Privacy Preserving Payments in Credit Networks By: Moreno-Sanchez et al from Saarland University Presented By: Cody Watson Some Slides Borrowed From NDSS’15.
1 Longest Common Subsequence as Private Search Payman Mohassel and Mark Gondree U of CalgaryNPS.
Big data Usman Roshan CS 675. Big data Typically refers to datasets with very large number of instances (rows) as opposed to attributes (columns). Data.
Cryptography Against Physical Attacks Dana Dachman-Soled University of Maryland
Weekly Report- Reduction Ph.D. Student: Leo Lee date: Oct. 30, 2009.
High-level Interfaces for Scalable Data Mining Ruoming Jin Gagan Agrawal Department of Computer and Information Sciences Ohio State University.
Privacy-Preserving and Content-Protecting Location Based Queries.
Auditing Information Leakage for Distance Metrics Yikan Chen David Evans TexPoint fonts used in EMF. Read the TexPoint manual.
1 / 23 Efficient Garbling from A Fixed-key Blockcipher Applied MPC workshop February 20, 2014 Mihir Bellare UC San Diego Viet Tung Hoang UC San Diego Phillip.
ETH Zurich – Distributed Computing Group Stephan HolzerSODA Stephan Holzer Silvio Frischknecht Roger Wattenhofer Networks Cannot Compute Their Diameter.
Load Rebalancing for Distributed File Systems in Clouds.
Next Generation of Apache Hadoop MapReduce Owen
Database Laboratory Regular Seminar TaeHoon Kim Article.
Secure Computation Pragmatics Yan Huang Indiana University May 10, 2016.
Matrix Multiplication in Hadoop
Computational Challenges in BIG DATA 28/Apr/2012 China-Korea-Japan Workshop Takeaki Uno National Institute of Informatics & Graduated School for Advanced.
Secure Computation Basics Yan Huang Indiana University May 9, 2016.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Relational Query Processing on OpenCL-based FPGAs Zeke Wang, Johns Paul, Hui Yan Cheah (NTU, Singapore), Bingsheng He (NUS, Singapore), Wei Zhang (HKUST,
BAHIR DAR UNIVERSITY Institute of technology Faculty of Computing Department of information technology Msc program Distributed Database Article Review.
A Fixed-key Blockcipher
Computing and Compressive Sensing in Wireless Sensor Networks
Data structure – is the scheme of organizing related information.
Resource Elasticity for Large-Scale Machine Learning
Pablo Abad, Pablo Prieto, Valentin Puente, Jose-Angel Gregorio
HOP: Hardware makes Obfuscation Practical Kartik Nayak
A Verified DSL for MPC in
Introduction to Computer Systems
What is Computer Science About? Part 2: Algorithms
TensorFlow: A System for Large-Scale Machine Learning
Presentation transcript:

ObliVM: A Programming Framework for Secure Computation http://www.oblivm.com Chang Liu, Xiao Shaun Wang, Kartik Nayak, Yan Huang, Elaine Shi Put UT and Berkeley Logo

Not leaking their sensitive data! Dating: Genetically Not leaking their sensitive data! Good match?

Secure Computation z = f(x, y) Alice Bob Reveal z but nothing more! 𝑥 𝑦 z = f(x, y) Alice Bob Reveal z Too crowded but nothing more! 3

What is ObliVM? Source Programs ObliVM SC Protocols

How non-specialist programmers can securely compute? Programmers’ favorite model AND XOR OR … Cryptographers’ favorite model def binSearch(a, x): lo, hi = 0, len(a) res = -1 while lo <= hi: mid = (lo+hi)//2 midval = a[mid] if midval < x: lo = mid+1 elif midval > x: hi = mid else: res = mid return res Easy but inefficient way: polynomial blowup

Dynamic memory accesses cannot be easily encoded in circuits int binSearch( alice int a[], bob int key, public int n) { int left=0, right=n; while(n>0) { int mid = (left+right)/2; if(a[mid]<key) left = mid + 1; else right = mid; n = (n+1)/2; } return left; Lets look at a concrete examples, findmax. This program is simple, it sequentially scans through an array to find the maximal element. Even though the array h may be secret, we need not place h in an ORAM, because the access pattern is fixed. We essentially only need to encrypt the array h.

Programs in a high level language (e.g. C) Obliviousness: memory accesses do not depend on secret input Programs in a high level language (e.g. C) Oblivious Program Circuits Challenging Relatively easy This talk

Generic ORAM Simulation Oblivious RAM (ORAM) compiles an arbitrary program into an oblivious counterpart [GO96, SCSL11] Generic ORAM Simulation [Liu et al. 2014] Cite nina taft’s paper [GO1996] Software protection and simulation on oblivious RAMs, J. ACM [SCSL2011] Oblivious RAM with 𝑂( log 𝑁 3 ) Worst-Case Cost, ASIACRYPT 2011 [Liu et al. 2014] Automating Efficient RAM-Model Secure Computation, Oakland 2014

Generic ORAM Simulation Nina Taft Distinguished Scientist 5 researchers, 4 months to develop an (efficient) oblivious matrix factorization algorithm over secure computation [Nikolaenko et al. 2013] Generic ORAM Simulation [Liu et al. 2014] Customized protocols Cite nina taft’s paper General, low design cost Efficient, requires expertise [Liu et al. 2014] Automating Efficient RAM-Model Secure Computation, Oakland 2014 [Nikolaenko et al. 2013] Privacy-preserving matrix factorization, CCS 2013

ObliVM: Achieve the Best of Both Worlds http://www.oblivm.com Programs by non-specialists achieve the performance of customized designs.

Key idea: Programming Abstractions Oblivious Data Structures (ODS) MapReduce Loop Coalescing more (GraphSC, etc.) Don’t use bullet list

Analogy to Distributed Computation A program written in MapReduce Successful story in the distributed computing community: MapReduce is a parallel programming abstraction. Compile

Programming Abstractions for Oblivious Computation A program written in ObliVM abstractions ObliVM approach: we provide oblivious programming abstractions. Oblivious representation using ORAM (generic) and oblivious algorithms (problem specific, but efficient) Compile

Goal and Solution language support Goal: serving two users Cryptographers: implement abstractions Non-specialists: use abstractions to build applications Solution: new language features enables abstractions Random type, phantom functions (ORAM, ODS) Bounded loop (loop coalescing) Higher order functions (MapReduce) and more The compiler will be open sourced soon https://github.com/oblivm/ObliVMLang

Better asymptotic complexity than the state-of-the-art! ODS Sparse Graph Algorithms MapReduce Loop Coalescing Depth-First Search Dijkstra’s Shortest Distance Minimum Spanning Tree

Gives oblivious Dijkstra and MST for sparse graphs Loop Coalescing Block 1 ×n Gives oblivious Dijkstra and MST for sparse graphs Block 2 ×m Block 3 ×n Here is a quick example: of PL technique that led to the discovery of new algorithms.

Gives oblivious Dijkstra and MST for sparse graphs Loop Coalescing Gives oblivious Dijkstra and MST for sparse graphs Loop coalescing slide

Hand-crafting vs. Automated Compilation 2013 ObliVM Today Nina Taft Distinguished Scientist Same Tasks Matrix Factorization 1 graduate student-day 10x-20x better performance [NIWJTB-CCS’13] 5 researchers 4 months Ridge Regression [NWIJBT-IEEE S&P ’13] 5 researchers 3 weeks [LWNHS-IEEE S&P ’15] (This work)

ObliVM vs. Prior Best Automated Solution Dijkstra’s algorithm 768K data 7x Backend optimizations speedup 2500x Language and compiler 51x Circuit ORAM Baseline: state-of-the-art [HFKV-CCS12] in 2012, no ORAM [HFKV-CCS’12] Holzer et al. Secure Two-Party Computations in ANSI C. In CCS ‘12

ObliVM vs. Prior Best Automated Solution Dijkstra’s algorithm 768K data 7x Backend optimizations speedup 2500x Language and compiler 51x Circuit ORAM Baseline: state-of-the-art [HFKV-CCS12] in 2012, no ORAM [HFKV-CCS’12] Holzer et al. Secure Two-Party Computations in ANSI C. In CCS ‘12

ObliVM vs. Prior Best Automated Solution Dijkstra’s algorithm 768K data 7x Backend optimizations speedup 2500x Language and compiler 51x Circuit ORAM Baseline: state-of-the-art [HFKV-CCS12] in 2012, no ORAM [HFKV-CCS’12] Holzer et al. Secure Two-Party Computations in ANSI C. In CCS ‘12

Dijkstra’s algorithm: Sources of speedup Total speedup: ~106x 7x Backend optimizations speedup 2500x Language and compiler 51x Circuit ORAM Baseline: state-of-the-art [HFKV-CCS12] in 2012, no ORAM [HFKV-CCS’12] Holzer et al. Secure Two-Party Computations in ANSI C. In CCS ‘12

Reference point: ~24 hours in 2012 ObliVM: Binary Search on 1GB Database Reference point: ~24 hours in 2012 [HFKV-CCS’12] ObliVM Today: 7.3 secs/query With hardware AES  20 times better. For example, consider a common binary search query over a 1gigabyte database. Let me tell you about our performance today. On a single pair of processors, our oblivm framework takes 9 seconds to answer each binary search query. Of the 9 seconds, only 2.5 seconds attribute to the online cost, and all the rest can be done in an offline phase – and moreover the offline work is embarassingly parallelizable. There are also some low hanging fruits that will immediately boost our performance further. For example, our current implementation is in java, and does not utilize hardware AES. If we moved our implementation over to C, and made use of hardware AES features widely present in off-the-shelf processors today, we expect that the performance can improve to a hundredth of a second per query. To achieve this performance would require about 3GBps bandwidth. this calculation should be fairly accurate based on numbers reported in a recent work by Bellare et al. 2 EC2 virtual cores, 60GB memory, 10MBps bandwidth [HFKV-CCS’12] Holzer et al. Secure Two-Party Computations in ANSI C. In CCS ‘12

Overhead w.r.t. Insecure Baseline Distributed GWAS 130× slowdown 1.7×104× slowdown 9.3×106× slowdown Hamming Distance Instructions Secure computation: encrypted computation bit by bit Floating point overhead for floating point ? Slowdown in comparison with cleartext K-Means

ObliVM Adoption Privacy-preserving data mining and www.oblivm.com Privacy-preserving data mining and recommendation system Computational biology, privacy-preserving microbiome analysis Privacy-preserving Software-Defined Networking Cryptographic MIPS processor iDash secure genome analysis competition (Won an “HLI Award for Secure Multiparty Computing”)

Backup

Speedup for More Applications Backend Speedup for More Applications PL Circuit ORAM [HKFV12] 1.7x106x 7x 2x 1.2x105x 9x105x 7x 2500x 51x 9x105x 7x 2500x 51x 106 105 104 103 100 10 1 2.6x104x 7x 10x 366x 1.6x104x 7x 5.5x 407x 8200x 7x 5.5x 212x 5900x 7x 13x 65x 7400x 7x 2x 530x Speedup Dijkstra MST K-Means Heap Map/Set BSearch AMS CountMin Data size: 768KB 768KB 2MB 8GB 8GB 1GB 10GB 0.31GB [HFKV-CCS’12] Holzer et al. Secure Two-Party Computations in ANSI C. In CCS ‘12