Database Laboratory 2013-10-21 TaeHoon Kim. /25 Work Progress(Range Query) 2.

Slides:



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

PHP SQL. Connection code:- mysql_connect("server", "username", "password"); Connect to the Database Server with the authorised user and password. Eg $connect.
Querying Encrypted Data using Fully Homomorphic Encryption Murali Mani, UMFlint Talk given at CIDR, Jan 7,
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
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.
Prligence Empowering Intelligence All About Fine Grained Access Control by Arup Nanda.
Building web applications on top of encrypted data using Mylar Presented by Tenglu Liang Tai Liu.
Database Security CS461/ECE422 Spring Overview Database model – Relational Databases Access Control Inference and Statistical Databases Database.
CIT 613: Relational Database Development using SQL Introduction to SQL.
CryptDB: Protecting Confidentiality with Encrypted Query Processing
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.
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.
Securing Data Storage Protecting Data at Rest Advanced Systems Group Dell Computer Asia Ltd.
ISA 3200 NETWORK SECURITY Chapter 10: Authenticating Users.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Internet Relay Chat Chandrea Dungy Derek Garrett #29.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
SPORC: Group Collaboration using Untrusted Cloud Resources OSDI 2010 Presented by Yu Chen.
A Guide to SQL, Eighth Edition Chapter Three Creating Tables.
Hamdi Yesilyurt, MA Student in MSDF & PhD-Public Affaris SQL Riji Jacob MS Student in Computer Science.
Secure Database System. Introduction Database-as-a-Service is gaining popularity – Amazon Relational Database Service (RDS) – Microsoft SQL Azure DB Service.
Module Title? DBMS Introduction to Database Management System.
Overview of Privacy Preserving Techniques.  This is a high-level summary of the state-of-the-art privacy preserving techniques and research areas  Focus.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
Mohammad Ahmadian COP-6087 University of Central Florida.
Secure Cloud Database using Multiparty Computation.
Physical Database Design & Performance. Optimizing for Query Performance For DBs with high retrieval traffic as compared to maintenance traffic, optimizing.
Chapter 12 Information Systems. 2 Managing Information Information system Software that helps the user organize and analyze data Electronic spreadsheets.
CHAPTER:14 Simple Queries in SQL Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
SEC835 Practical aspects of security implementation Part 1.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
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.
Identity-Based Secure Distributed Data Storage Schemes.
Attacking Data Stores Brad Stancel CSCE 813 Presentation 11/12/2012.
SQL INJECTIONS Presented By: Eloy Viteri. What is SQL Injection An SQL injection attack is executed when a web page allows users to enter text into a.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
What’s a database? Data stored in a structured format that lends itself to easy manipulation and recall.
Lesson 19-E-Commerce Security Needs. Overview Understand e-commerce services. Understand the importance of availability. Implement client-side security.
Database Security Lesson Introduction ●Understand the importance of securing data stored in databases ●Learn how the structured nature of data in databases.
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.
CIT 613: Relational Database Development using SQL Introduction to SQL DeSiaMorePowered by DeSiaMore 1.
Session id: Darrell Hilliard Senior Delivery Manager Oracle University Oracle Corporation.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
Practical Order-Revealing Encryption with Limited Leakage Nathan Chenette, Kevin Lewi, Stephen A. Weis, and David J. Wu Fast Software Encryption March,
BY S.S.SUDHEER VARMA (13NT1D5816)
Database and Cloud Security
Database System Implementation CSE 507
Application Security Lecture 27 Aditya Akella.
Controlling User Access
Searchable Encryption in Cloud
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
Network Security – Kerberos
Cloud Security 李芮,蒋希坤,崔男 2018年4月.
بررسی معماری های امن پایگاه داده از جنبه رمزنگاری
Lecture 2 - SQL Injection
Presentation transcript:

Database Laboratory TaeHoon Kim

/25 Work Progress(Range Query) 2

Database Laboratory Regular Seminar TaeHoon Kim 3

/25 Contents 1.Introduction 2.Security Overview 3.Queries Over Encrypted Data 4.Multiple Principals 5.Application Case Studies 6.Discussion 7.Implementation 8.Experimental Evaluation 9.Related Work 10.Conclusion 4

/25 Introduction  Theft of private information is a significant problem An adversary can exploit software vulnerabilities to gain unauthorized access to servers Curious or malicious admin at a hosting or application provider can snoop on private data  One approach to reduce the damage is to encrypt sensitive data  This paper presents CryptDB A system that explores an intermediate design point to provide confidentiality for applications that use database management systems 5 5

/25 Introduction  CryptDB addresses two threats 1. A curious database DBA who tries to learn private data 2. An adversary that gains complete control of application and DBMS servers 6 Application DB Server  hackers SQL User 1 User 2 User 3 cloud.berkeley.edu/data/cryptdb.pptx‎ Confidential Data Leaks

/25 Introduction  CryptDB addresses these challenges using three key ideas The first is to execute SQL queries over encrypted data  This idea using a SQL-aware encryption strategy The second technique is adjustable query-based encryption The third idea is to chain encryption keys to user passwords, so that each data item in the database can be decrypted only through a chain of keys rooted in the password of one of the users with access to that data 7

/25 Security Overview  Threat1 : DBMS Server Compromise Our approach is to allow the DBMS server to perform query processing on encrypted data as it would on an unencrypted database  Threat2 : Arbitrary Threats The solution is to encrypt different data items (e.g., data belonging to different users) with different keys CryptDB provides strong guarantees in the face of arbitrary server-side compromises 8

/25 col1/rankcol2/name table1 (emp) SELECT * FROM emp WHE RE salary = 100 SELECT * FROM table1 WH ERE col3 = x5a8c34 Proxy col3/salary Application Security Overview(Threat1) x4be219 x95c623 x2ea887 x934bc1 x5a8c34 x84cec1 x17cea7 x5a8c34 ? 9

/25 Queries Over Encrypted Data  SQL-aware Encryption Random(RND) : in indistinguishability under(IND-CPA)  Deterministic(DET) Allows the server to perform equality check, which means it can perform selects with equality predicates, equality joins, GROUP BY, COUNT, DISTINCT  Order-preserving encryption(OPE) OPE allows order relations between data items to be established based on their encrypted values, without revealing the data itself  If x<y, then OPE k (X) < OPE k (Y), for any secret key K 10

/25 Queries Over Encrypted Data  Homomorphic encryption (HOM) HOM k (x)*HOM k (y) = HOM k (x+y)  Join (Join and OPE-JOIN) Join support all operations by DET, OPE-JOIN support joins by order relations  Word Search (SEARCH) Search is used to perform searches on encrypted text to support operations such as MySQL’s LIKE operator  Only support full-word keyword searches –Cannot support arbitrary regular expressions 11

/25 Queries Over Encrypted Data  Adjustable Query-based Encryption Our goal is to use the most secure encryption schemes that enable running the requested queries  Our idea is to encrypt each data item in one or more onions Each value is dressed in layers of increasingly stronger encryption  To perform optimize adjustable query-based encryption 12

/25 Queries Over Encrypted Data  Executing Over Encrypted Data The proxy transforms the query to operate on these onions  For instance, for the schema shown in Figure 3, a reference to the Name column for an equality comparison will be replaced with a reference to the C2-Eq column Read Query Execution Write Query Execution  The proxy encrypts each inserted column’s value with each onion layer that has not yet been stripped off in that column

/25 Queries Over Encrypted Data  Improving Security and Performance Minimum onion layers  Application developers can specify the lowest onion encryption In-proxy processing  Since the proxy receives the entire result set from the server, sorting these result in the proxy does not require significant amount of computation, and does not increase the bandwidth requirements Training mode Onion re-encryption  When application performs infrequent queries requiring a low onion layer, CryptDB could be extended to re-encrypt onions 14

/25 Queries Over Encrypted Data  Performance Optimization Developer annotation  If many column are not sensitive, the developer can instead provide explicit annotation indicating the sensitive field Known query set  Use training mode  Optimize onion sets Ciphertext pre-computing and caching  To reduce this cost, the proxy pre-computes and caches(for OPES) encryptions of frequently used constants under different keys 15

/25 Multiple Principle: Policy Annotations  Policy Annotations 1. The developer must define the principal types(using PRINCTYPE) used in her application, such as users, groups, or messages 2. The developer must specify which columns in her SQL schema contain sensitive data, along with the principals that should have access to data using the ENC_FOR annotation 3. Programmers can specify rules for how to delegate the privileges of one principal to other principals, using the speak for relation 16

/25  Observation : Each row in certain tables naturally specifies 1. how data should be encrypted msgidsenderid privmsgs_to: recipientid 6 2 msgidmsgtext 5 “secret message” 6 privmsgs: “hello world” Multiple Principle: Policy Annotations 17

/25 1. Principals 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), ); Securing phpBB private messages: 3. HAS_ACCESS_TO2. ENCRYPT_FOR ENCRYPT_FOR PRINC msgid TYPE msg, ENCRYPT_FOR PRINC msgid TYPE msg PRINC TYPES physical_user EXTERNAL; PRINC TYPES user, 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 Multiple Principle: Policy Annotations cloud.berkeley.edu/data/cryptdb.pptx‎ 18

/25 Multiple Principle: Key chaining cloud.berkeley.edu/data/cryptdb.pptx‎ 19 Username: Alice Password: asdf Username: Tomas Password: dfga userid 1 userid 2 msgid 5 SKu1 SKu2 SKm5 SKa = dblab SKb = dblab E SKa [SKu1] E SKb [SKu2] E SKu1 [SKm5] E SKu2 [SKm5] “secret messag e” All key chaining operations d one at proxy, keys stored enc rypted at DB server Also use public key pair

/25 Application Study  PhpBB e.g)xpressEngine board A widely used open source forum with a rich set of access control settings HotCRP  A popular conference review application Grad-apply  A graduate admissions system used by MIT EECS

/25 Discussion / Implementation  CryptDB cannot support on encrypted Data Not support both computation and comparison on the same column  SELECT age*2+10 FROM …  WHERE salary > age*2+10 (1)rewritten into a sub-query (2)re-encrypted in the proxy  CryptDB proxy consist of a C++ Lib and a Lua module  CryptDB used MySQL proxy  CryptDB implementation consists of ~ 18,000 lines of C++ Code and ~150 lines of Lua Code

/25 Performance Evaluation  Performance environment MySQL server : 2 machines  2.4 GHz Intel Xeon E core processors  12 GB of RAM CryptDB proxy and the clients : 8 machines  2.4 GHz AMD Opteron core processors  64 GB of RAM Use a shared Gigabit Ethernet network  Use TPC-C query set  Compare with MySQL CryptDB CryptDB with only Random encryption(RND) :strawman

/25 Performance Evaluation  Throughput of different types of SQL queries from the TPC-C query

/25 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

/25 Conclusion  We presented CryptDB, a system that provides a practical and a strong level of confidence in the face of two significant threats 1. A curious database DBA who tries to learn private data 2. An adversary that gains complete control of application and DBMS servers  Our Evaluation show that CryptDB can support operations over encrypted data

/25  Note that, All ppt contents is based on “cloud.berkeley.edu/data/cryptdb.pptx‎” and paper by Christof Kim(TaeHoon Kim) :D If ppt contents contains error, plz recommend to me :D

/25 SELECT * FROM emp WHERE salary = 100 UPDATE table1 SET col3onion1 = DecryptRND(key, col3onion1) Any value JOIN SEARCH DET RND SELECT * FROM table1 WHERE col3onion1 = x 5a8c34 DET emp: ranknamesalary 27