CryptDB: Confidentiality for Database Applications with Encrypted Query Processing Raluca Ada Popa, Catherine Redfield, Nickolai Zeldovich, and Hari Balakrishnan.

Slides:



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

Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
1 Constraints, Triggers and Active Databases Chapter 9.
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.
Implementing Reflective Access Control in SQL Lars E. Olson 1, Carl A. Gunter 1, William R. Cook 2, and Marianne Winslett 1 1 University of Illinois at.
Building web applications on top of encrypted data using Mylar Presented by Tenglu Liang Tai Liu.
Sam Madden With a cast of many….
CryptDB: Protecting Confidentiality with Encrypted Query Processing
CryptDB: A Practical Encrypted Relational DBMS Raluca Ada Popa, Nickolai Zeldovich, and Hari Balakrishnan MIT CSAIL New England Database Summit 2011.
Database Management System
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
Overview and Roadmap for Microsoft SQL Server Security
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 Features Lecture 2. Desirable features in an information system Integrity Referential integrity Data independence Controlled redundancy Security.
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.
Database Application Security Models
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Secure Database System. Introduction Database-as-a-Service is gaining popularity – Amazon Relational Database Service (RDS) – Microsoft SQL Azure DB Service.
Copyright © 2003 Pearson Education, Inc. Slide 8-1 The Web Wizard’s Guide to PHP by David Lash.
PHP Programming with MySQL Slide 8-1 CHAPTER 8 Working with Databases and MySQL.
DAY 14: ACCESS CHAPTER 1 Tazin Afrin October 03,
Database Technical Session By: Prof. Adarsh Patel.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
Mohammad Ahmadian COP-6087 University of Central Florida.
Database Laboratory TaeHoon Kim. /25 Work Progress(Range Query) 2.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
Relational Database Management Systems. A set of programs to manage one or more databases Provides means for: Accessing the data Inserting, updating and.
Chapter 12 Information Systems. 2 Managing Information Information system Software that helps the user organize and analyze data Electronic spreadsheets.
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.
Wai Kit Wong, Ben Kao, David W. Cheung, Rongbin Li, Siu Ming Yiu.
DAY 12: DATABASE CONCEPT Tazin Afrin September 26,
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Section 3 Database Security. 3-2 CA306 Introduction Section Content 3.1 Security Overview 3.2 Security Controls 3.3 Views 3.4 Security in Oracle 3.5 Web.
Chapter No 4 Query optimization and Data Integrity & Security.
Securing Data in Transit and Storage Sanjay Beri Co-Founder & Senior Director of Product Management Ingrian Networks.
Protection of outsourced data MARIA ANGEL MARQUEZ ANDRADE.
Secure Query Processing in an Untrusted (Cloud) Environment.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
Database Security Lesson Introduction ●Understand the importance of securing data stored in databases ●Learn how the structured nature of data in databases.
Academic Year 2014 Spring Academic Year 2014 Spring.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
CryptDB: Protecting Confidentiality with Encrypted Query Processing
Learningcomputer.com SQL Server 2008 –Views, Functions and Stored Procedures.
Secure Data Outsourcing
Chapter 3: Relational Databases
1 Cloud Computing, CS Data in the Cloud: Data-as- a-Service for the Cloud.
Database Security. Introduction to Database Security Issues (1) Threats to databases Loss of integrity Loss of availability Loss of confidentiality To.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
MySQL Tutorial. Databases A database is a container that groups together a series of tables within a single structure Each database can contain 1 or more.
Introduction to Databases & SQL Ahmet Sacan. What you’ll need Firefox, SQLite plugin Mirdb and Targetscan databases.
SQL Server 2016 Security Features Marek Chmel Microsoft MVP: Data Platform Microsoft MCT: Regional Lead MCSE: Data Platform Certified Ethical Hacker.
Cosc 5/4765 Database security. Database Databases have moved from internal use only to externally accessible. –Organizations store vast quantities of.
Data in the Cloud: Data-as-a-Service for the Cloud
Database and Cloud Security
Database System Implementation CSE 507
Application Security Lecture 27 Aditya Akella.
Searchable Encryption in Cloud
DBMask: Fine-Grained access control on encrypted relational databases
Using cryptography in databases and web applications
Secure Database in cloud
بررسی معماری های امن پایگاه داده از جنبه رمزنگاری
Intro to Relational Databases
DATABASE SECURITY For CSCL (BIM).
CS 5412/Lecture 17 Leave No Trace Behind
Presentation transcript:

CryptDB: Confidentiality for Database Applications with Encrypted Query Processing Raluca Ada Popa, Catherine Redfield, Nickolai Zeldovich, and Hari Balakrishnan MIT CSAIL Berkeley Cloud Computing Seminar, 2011

Problem: Confidential Data Leaks curious DB administrators User 1 DB Server SQL Application User 2 User 3 hackers curious cloud/employees physical attacks Both on private clouds and public clouds Regulatory laws

CryptDB Goal: protect confidentiality of data user password Threat 2: active/passive attacks on all servers Threat 1: passive attacks on DB server User 1 DB Server Proxy SQL User 2 Application User 3 Process SQL queries on encrypted data Capture and enforce cryptographically access control in SQL: chain keys from user passwords to data item

Threat Model Consider attacks on any part of the servers We do not consider integrity attacks Can affect data integrity, but not confidentiality

Threat 1: Passive attacks to DB Server Trusted Under attack DB Server Proxy application queries unencrypted SQL Stores schema, master key Decrypts results No query execution Perform SQL query processing on encrypted data Support standard SQL queries on encrypted data Process queries completely at the DB server No change to existing DBMS

Example ≥ ≥ ? ? Application 60 100 800 SELECT * FROM emp WHERE salary = 100 ≥ table1 (emp) SELECT * FROM table1 WHERE col3 = x5a8c34 col1/rank col2/name col3/salary ≥ x638e54 Proxy x934bc1 x1eab81 x4be219 x638e54 x5a8c34 x95c623 x922eb4 ? x5a8c34 x638e54 x922eb4 x5a8c34 ? x2ea887 x84a21c x17cea7 x638e54 x5a8c34 x5a8c34

Two techniques SQL-aware encryption strategy Obs.: set of SQL operators is limited Different encryption schemes provide different functionality Adjustable query-based encryption Adapt encryption of data based on user queries

1. SQL-aware encryption Scheme Operation Details RND None HOM +, * DET Highest Scheme Operation Details RND None AES in UFE e.g., =, !=, GROUP BY, IN, COUNT, DISTINCT e.g., Paillier HOM +, * Security DET equality AES in CTR JOIN join new SEARCH Amanatidis et al.’07 e.g., >, <, ORDER BY, SORT, MAX, MIN ILIKE Boldyreva et al. ’09 OPE order first practical implementation

Onions of encryptions Significant confidentiality and space savings RND DET RND SEARCH OPE JOIN OPE-JOIN HOM Any value Any value int value Onion 1 Onion 2 Onion 3 Each column has the same key in a given layer of an onion

2. Adjustable query-based encryption Start out the database with the most secure encryption scheme Adjust encryption dynamically Strip off levels of the onions: proxy gives key to server using a UDF

Example SELECT * FROM emp WHERE salary = 100 RND DET DET emp: SEARCH rank name salary JOIN Any value SELECT * FROM emp WHERE salary = 100 UPDATE table1 SET col3onion1 = DecryptRND(key, col3onion1) SELECT * FROM table1 WHERE col3onion1 = x5a8c34

JOIN needs new crypto Challenge: do not know which columns will be joined Data items not revealed, cannot join without join key Col1 Col2 Join key Col1-Col2 = - Proxy

Other queries Various others supported: Inserts, updates, deletes, nested queries Indexes Transactions, auto-increments Not supported: A.a + A.b > B.c

Security converges Onion levels stripped only when new operations needed Steady State: no decryptions at server Practical: typical SQL processing on enlarged tuples

Confidentiality Guarantees Formal security definition and proof Implications: If query has equality predicate on name repeats emp: order predicate on name order rank name salary aggregation on salary nothing no filter on a column nothing Never reveal plaintext Server cannot compute queries requiring unrequested relationships

Picture so far Under attack User 1 Under attack DB Server Proxy User 2 Application SQL User 3 Each user password gives access to data allowed by access control policy of application Threat 2: arbitrary confidentiality attacks on any servers

Problem: data sharing How to capture read access policy of application at SQL granularity? How to enforce access control cryptographically? How to execute queries? Annotations: app. policy SQL policy Key chaining from password to data item in DB Process on encrypted data as before!

Key chaining to user passwords Enforce access control graph cryptographically Principals All key chaining operations done at proxy, keys stored encrypted at DB server userid 1 SKu1 Username: Alice Password: amplab ESKu1[SKm5] “secret message” msgid 5 SKa = psswd ESKa[SKu1] SKm5 SKm5 userid 2 Username: Bob Password: cloud SKu2 Also use public key pair ESKu2[SKm5] SKb = psswd ESKb[SKu2]

Annotations Observation: Each row in certain tables naturally specifies permission flow between principals how data should be encrypted privmsgs_to: privmsgs: msgid senderid recipientid msgid msgtext 5 1 2 5 “secret message” 6 9 6 6 “hello world”

Securing phpBB private messages: Annotations 1. Principals 2. ENCRYPT_FOR 3. HAS_ACCESS_TO Securing phpBB private messages: CREATE TABLE privmsgs ( msgid int, subject varchar(255) msgtext text ); CREATE TABLE privmsgs_to ( msgid int, rcpt id int, sender id int, CREATE TABLE users ( userid int,username varchar(255), PRINC TYPES physical_user EXTERNAL; PRINC TYPES user, msg; ENCRYPT_FOR PRINC msgid TYPE msg, ENCRYPT_FOR PRINC msgid TYPE msg PRINC sender_id TYPE user HAS_ACCESS_TO PRINC msgid TYPE msg, PRINC rcpt_id TYPE user HAS_ACCESS_TO PRINC msgid TYPE msg PRINC username TYPE physical_user HAS_ACCESS_TO PRINC userid TYPE user

Security Protects data readable only by users not logged in at the moment/for the duration of an attack Leaking logged-in users’ data seems unavoidable because applications may perform arbitrary computations on it Example: protection even when adversary changes annotations recorded at proxy

CryptDB UDFs (user-defined functions) Implementation SQL Interface Server Encrypted Query Unmodified DBMS CryptDB PK tables Query Application CryptDB Proxy Results Encrypted Results CryptDB UDFs (user-defined functions) 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 Multi-key CryptDB: One-key CryptDB: phpBB hotCRP MIT grad admissions Encrypted sensitive fields One-key CryptDB: TPC-C Encrypted all fields Supports all queries on sensitive fields Annotations can express read access control Supports all queries on all data

Application changes 400,000 lines of code

Confidentiality in the DB Fields at OPE were either semi-sensitive or not sensitive All the most sensitive fields remained at RND Importance of adjustable query-based encryption to confidentiality

Low overhead phpBB: throughput loss of 13% Encrypted DBMS is practical TPC-C Throughput loss 27% phpBB: throughput loss of 13% Encrypted DBMS is practical

Related work Theoretical approaches ([Gentry’10], [Gennaro et al., ’10]) Inefficient Search on encrypted data (e.g., [Song et al., ’00]) Restricted set of queries, inefficient Systems proposals (e.g., [Hacigumus et al., ’02]) Lower degree of security, rewrite the DBMS, client-side processing Software checks (e.g., PQL, UrFlow, Resin) No protection against adversaries with complete access to servers

Conclusions CryptDB: The first practical DBMS for running most standard queries on encrypted data Secures the DB server against attacks to any part One-key solution is standalone Protects data of logged out users even when all servers are compromised Modest overhead and minimal app. changes Thanks!