CryptDB: Protecting Confidentiality with Encrypted Query Processing

Slides:



Advertisements
Similar presentations
Monomi: Practical Analytical Query Processing over Encrypted Data
Advertisements

Querying Encrypted Data using Fully Homomorphic Encryption Murali Mani, UMFlint Talk given at CIDR, Jan 7,
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,
CryptDB: Protecting Confidentiality with Encrypted Query Processing by Raluca Ada Popa Catherine M. S. Redfield Nickolai Zeldovich Hari Balakrishnan MIT.
Sam Madden With a cast of many….
CryptDB: Confidentiality for Database Applications with Encrypted Query Processing Raluca Ada Popa, Catherine Redfield, Nickolai Zeldovich, and Hari Balakrishnan.
CryptDB: A Practical Encrypted Relational DBMS Raluca Ada Popa, Nickolai Zeldovich, and Hari Balakrishnan MIT CSAIL New England Database Summit 2011.
Overview and Roadmap for Microsoft SQL Server Security
1 CS 577 “TinySec: A Link Layer Security Architecture for Wireless Sensor Networks” Chris Karlof, Naveen Sastry, David Wagner UC Berkeley Summary presented.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Securing Data Storage Protecting Data at Rest Advanced Systems Group Dell Computer Asia Ltd.
 Relational Cloud: A Database-as-a-Service for the Cloud Carlo Curino, Evan Jones, Raluca Ada Popa, Nirmesh Malaviya, Eugene Wu, Sam Madden, Hari Balakrishnan,
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 4 Profiles, Password Policies, Privileges, and Roles.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Practical Techniques for Searches on Encrypted Data Yongdae Kim Written by Song, Wagner, Perrig.
Protecting data privacy and integrity in clouds By Jyh-haw Yeh Computer Science Boise state University.
Cong Wang1, Qian Wang1, Kui Ren1 and Wenjing Lou2
Jim McLeod MyDBA  SQL Server Performance Tuning Consultant with MyDBA  Microsoft Certified Trainer with SQLskills Australia 
Secure Database System. Introduction Database-as-a-Service is gaining popularity – Amazon Relational Database Service (RDS) – Microsoft SQL Azure DB Service.
Secure Cloud Database. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment – Adversary corrupts.
Security in Virtual Laboratory System Jan Meizner Supervisor: dr inż. Marian Bubak Consultancy: dr inż. Maciej Malawski Master of Science Thesis.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 6 Virtual Private Databases.
CSIS 4310 – Advanced Databases Virtual Private Databases.
Mohammad Ahmadian COP-6087 University of Central Florida.
Database Laboratory TaeHoon Kim. /25 Work Progress(Range Query) 2.
Secure Cloud Database using Multiparty Computation.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 4 Profiles, Password Policies, Privileges, and Roles.
SEC835 Practical aspects of security implementation Part 1.
Computer Security: Principles and Practice
Wai Kit Wong 1, Ben Kao 2, David W. Cheung 2, Rongbin Li 2, Siu Ming Yiu 2 1 Hang Seng Management College, Hong Kong 2 University of Hong Kong.
Databases Collections of data. Set of rules to organize data. Types ◦ Relational: use (rows) & columns to organize. ◦ Object oriented: complex data (audio,
Wai Kit Wong, Ben Kao, David W. Cheung, Rongbin Li, Siu Ming Yiu.
Identity-Based Secure Distributed Data Storage Schemes.
Enabling Dynamic Data and Indirect Mutual Trust for Cloud Computing Storage Systems.
Secure Cloud Database with Sense of Security. Introduction Cloud computing – IT as a service from third party service provider Security in cloud environment.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
RecBench: Benchmarks for Evaluating Performance of Recommender System Architectures Justin Levandoski Michael D. Ekstrand Michael J. Ludwig Ahmed Eldawy.
CSCI 3140 Module 6 – Database Security Theodore Chiasson Dalhousie University.
Protection of outsourced data MARIA ANGEL MARQUEZ ANDRADE.
Secure Query Processing in an Untrusted (Cloud) Environment.
Indexes and Views Unit 7.
Secure Query Processing in an Untrusted (Cloud) Environment.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
CryptDB: Protecting Confidentiality with Encrypted Query Processing
Attribute-Based Encryption With Verifiable Outsourced Decryption.
Chapter 6 Virtual Private Databases
Secure Data Outsourcing
Auditing Information Leakage for Distance Metrics Yikan Chen David Evans TexPoint fonts used in EMF. Read the TexPoint manual.
1 Cloud Computing, CS Data in the Cloud: Data-as- a-Service for the Cloud.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
Big Data Security Issues in Cloud Management. BDWG Big Data Working Group Researchers 1: Data analytics for security 2: Privacy preserving 3: Big data-scale.
SQL Server 2016 Security Features Marek Chmel Microsoft MVP: Data Platform Microsoft MCT: Regional Lead MCSE: Data Platform Certified Ethical Hacker.
ORACLE's Approach ORALCE uses a proprietary mechanism for security. They user OLS.... ORACLE Labeling Security. They do data confidentiality They do adjudication.
BY S.S.SUDHEER VARMA (13NT1D5816)
Data in the Cloud: Data-as-a-Service for the Cloud
Big Data Analytics over Encrypted Datasets with Seabed
Application Security Lecture 27 Aditya Akella.
Searchable Encryption in Cloud
Security Using Armstrong Numbers and Authentication using Colors
DBMask: Fine-Grained access control on encrypted relational databases
NETWORK SECURITY Cryptography By: Abdulmalik Kohaji.
Hybrid Cloud Architecture for Software-as-a-Service Provider to Achieve Higher Privacy and Decrease Securiity Concerns about Cloud Computing P. Reinhold.
Using cryptography in databases and web applications
برون‌سپاری پایگاه داده
Secure Database in cloud
بررسی معماری های امن پایگاه داده از جنبه رمزنگاری
CS 5412/Lecture 17 Leave No Trace Behind
SQL Server 2016 Security Features
Presentation transcript:

CryptDB: Protecting Confidentiality with Encrypted Query Processing Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich, and Hari Balakrishnan MIT CSAIL

Problem Confidential data leaks from databases E.g., Sony Playstation Network, impacted 77 million personal information profiles Threat 2: any attacks on all servers Threat 1: passive DB server attacks User 1 DB Server SQL Application User 2 System administrator User 3 Hackers

CryptDB in a nutshell Goal: protect confidentiality of data Threat 2: any attacks on all servers Threat 1: passive DB server attacks User 1 DB Server SQL Application User 2 on encrypted data User 3 Process SQL queries on encrypted data Use fine-grained keys; chain these keys to user passwords based on access control

Contributions First practical DBMS to process most SQL queries on encrypted data Hide DB from sys. admins., outsource DB Protects data of users logged out during attack, even when all servers are compromised Limit leakage from compromised applications Modest overhead: 26% throughput loss for TPC-C No changes to DBMS (e.g., Postgres, MySQL)

Threat 1: Passive attacks to DB Server Trusted Under attack Proxy DB Server plain query transformed query Application Encrypted DB decrypted results Stores schema, master key No data storage No query execution encrypted results Process queries completely at the DBMS, on encrypted database Process SQL queries on encrypted data

Randomized encryption Deterministic encryption Application Randomized encryption Deterministic encryption SELECT * FROM emp WHERE salary = 100 table1/emp SELECT * FROM table1 WHERE col3 = x5a8c34 col1/rank col2/name col3/salary Proxy x934bc1 x4be219 60 x5a8c34 x95c623 100 x84a21c ? x5a8c34 x2ea887 800 x5a8c34 x17cea7 100

Deterministic encryption Application Deterministic encryption OPE (order) encryption SELECT * FROM emp WHERE salary ≥ 100 table1 (emp) SELECT * FROM table1 WHERE col3 ≥ x638e54 col1/rank col2/name col3/salary Proxy x638e54 x922eb4 x1eab81 x934bc1 60 x5a8c34 100 x84a21c 800 x5a8c34 x638e54 x922eb4 100

Two techniques Use SQL-aware set of encryption schemes Adjust encryption of database based on queries Most SQL uses a limited set of operations

Encryption schemes Scheme Construction Function RND AES in CBC none Highest RND AES in CBC none HOM Paillier +, * e.g., sum SEARCH Song et al.,‘00 word search restricted ILIKE e.g., =, !=, IN, COUNT, GROUP BY, DISTINCT Security DET AES in CMC equality JOIN join our new scheme see paper e.g., >, <, ORDER BY, SORT, MAX, MIN OPE Boldyreva et al.’09 order first implementation

How to encrypt each data item? Encryption schemes needed depend on queries May not know queries ahead of time col1-RND col1-HOM col1-SEARCH col1-DET col1-JOIN col1-OPE rank ALL? ‘CEO’ ‘worker’ Leaks order!

Onions of encryptions SEARCH text value RND RND Onion Search each value DET OPE OR JOIN OPE-JOIN value value HOM int value Onion Equality Onion Order Onion Add Same key for all items in a column for same onion layer Start out the database with the most secure encryption scheme

Adjust encryption Strip off layers of the onions Proxy gives keys to server using a SQL UDF (“user-defined function”) Proxy remembers onion layer for columns Do not put back onion layer

Example: … … … SELECT * FROM emp WHERE rank = ‘CEO’; emp: rank name salary ‘CEO’ ‘worker’ table 1: RND … col1-OnionEq col1-OnionOrder col1-OnionSearch col2-OnionEq DET … JOIN RND RND SEARCH RND … ‘CEO’ RND RND SEARCH RND Onion Equality SELECT * FROM emp WHERE rank = ‘CEO’;

Example (cont’d) … … … SELECT * FROM emp WHERE rank = ‘CEO’; table 1 RND … col1-OnionEq col1-OnionOrder col1-OnionSearch col2-OnionEq DET DET … JOIN RND DET RND SEARCH RND … ‘CEO’ DET RND RND SEARCH RND Onion Equality SELECT * FROM emp WHERE rank = ‘CEO’; UPDATE table1 SET col1-OnionEq = Decrypt_RND(key, col1-OnionEq); SELECT * FROM table1 WHERE col1-OnionEq = xda5c0407;

Confidentiality level Queries encryption scheme exposed Encryption schemes exposed for each column are the most secure enabling queries amount of leakage equality predicate on a column DET repeats aggregation on a column HOM nothing no filter on a column RND nothing common in practice Never reveals plaintext

Application protection Arbitrary attacks on any servers User 1 Passive attacks DB Server Proxy User 2 Application SQL User 3 User password gives access to data allowed to user by access control policy Protects data of logged out users during attack

Challenge: data sharing SPEAKS_FOR msg_id SPEAKS_FOR msg_id ENC_FOR msg_id msg_id sender receiver msg_id message 5 Alice Bob 5 “secret message” Km5 Km5 Km5 How to enforce access control cryptographically? Alice-pass Bob-pass Capture read access policy of application at SQL level? Key chains from user passwords Process queries on encrypted data Annotations

(user-defined functions) Implementation SQL Interface Server Unmodified DBMS query transformed query CryptDB SQL UDFs (user-defined functions) Application CryptDB Proxy results encrypted results No change to the DBMS Portable: from Postgres to MySQL with 86 lines One-key: no change to applications Multi-user keys: annotations and login/logout

Evaluation Does it support real queries/applications? What is the resulting confidentiality? What is the performance overhead?

Queries not supported More complex operators, e.g., trigonometry Operations that require combining incompatible encryption schemes e.g., T1.a + T1.b > T2.c Extensions: split queries, precompute columns, or add new encryption schemes

Real queries/applications Total columns Encrypted columns phpBB 563 23 HotCRP 204 22 grad-apply 706 103 TPC-C 92 sql.mit.edu 128,840 # cols not supported 1,094 Annotations + lines of code changed 38 31 113 Multi-user keys One-key SELECT 1/log(series_no+1.2) … … WHERE sin(latitude + PI()) …

Resulting confidentiality Application Total columns Encrypted columns phpBB 563 23 HotCRP 204 22 grad-apply 706 103 TPC-C 92 sql.mit.edu 128,840 Min level is RND 21 18 95 65 80,053 Min level is DET 1 6 19 34,212 Min level is OPE 1 2 8 13,131 Multi-user keys One-key Most columns at RND Most columns at OPE analyzed were less sensitive

Performance Hardware: 2.4 GHz Intel Xeon E5620 – 8 cores, 12 GB RAM DB server throughput MySQL: Application 1 Plain database Application 2 Latency CryptDB: Application 1 CryptDB Proxy Encrypted database Application 2 CryptDB Proxy Hardware: 2.4 GHz Intel Xeon E5620 – 8 cores, 12 GB RAM

TPC-C performance Latency (ms/query): 0.10 MySQL vs. 0.72 CryptDB Throughput loss 26%

TPC-C microbenchmarks Homomorphic addition No cryptography at the DB server in the steady state! Encrypted DBMS is practical

Related work Cryptography proposals Fully homomorphic encryption (starting with [Gentry’10]) Search on encrypted data (e.g., [Song et al.,’00]) Systems proposals (e.g., [Hacigumus et al.,’02]) Lower degree of security, rewrite the DBMS, client-side processing Query integrity (e.g., [Nguyen et al.,’07], [Sion’05])

Conclusions CryptDB: The first practical DBMS for running most standard queries on encrypted data Protects data of users logged out during attack even when all servers are compromised Modest overhead and no changes to DBMS Website: http://css.csail.mit.edu/cryptdb/ Demo at poster session! Thanks!