SecureDB
A Secure Query Processing System in the Cloud
Group Member: Haibin LIN, Eric Supervisor: Prof Benjamin Kao Department of Computer Science, University of Hong Kong
SecureDB A Secure Query Processing System in the Cloud Group - - PowerPoint PPT Presentation
SecureDB A Secure Query Processing System in the Cloud Group Member: Haibin LIN, Eric Supervisor: Prof Benjamin Kao Department of Computer Science, University of Hong Kong Overview 1. The Problem 2. Related Work 3. Theoretical Background 4.
A Secure Query Processing System in the Cloud
Group Member: Haibin LIN, Eric Supervisor: Prof Benjamin Kao Department of Computer Science, University of Hong Kong
Cloud Service Provider (Server)
Client App
Data Owner(Client)
Query
Name Salary
Alice 20000 Bob 50000
Results
Cloud Service Provider (Server)
Cloud Service Provider (Server)
Client App
Data Owner(Client)
Query
Salary
20000 50000
Results
Administrator Hacker
Query processing is NOT SECURE!
Query Processor
Cloud Service Provider (Server) Client App Query
Salary (Encrypted) $Aa%df244 F@3dewqD
I have to process query myself! Query Results Encrypted Data
Data Owner(Client)
TrustedDB(2011)[1]
§
Based on trusted secure co-processor
§
Dedicated hardware for cryptographic
Cloud Service Provider (Server)
Client App
Query
Salary (Encrypted) $Aa%df244 F@3dewqD
Trusted Hardware
Key Query
Encrypted Results Encrypted Data
Data Owner(Client)
Key
Advantage Disadvantage Strong Security Expensive Hardware $$$$$$$$ Accepts any kind of query
TrustedDB(2011)
§
Allows arbitrary computation on ciphertext without knowing the key, including +, -, *, /, >, =, √ …
§
Limitation: Computationally Expensive e.g. 30 minutes per bit operation(2011)[2]
§
Multiple layers of partially homomorphic encryptions
Encryption Layer E1 E2 E3 Operations Supported None Equality check Equality check Ordering comparison Security Level Strongest Strong Not secure against CPA
Query Type Example Supported? Computation SELECT a * b FROM T Comparison SELECT a, b FROM T WHERE a > b Computation & Comparison SELECT a, b FROM T WHERE a * b > c
§
Limitation: supports limited types of queries
based on secret sharing
SDB Proxy
Key
Server
Client App
Query Query Results
Encrypted Results
Client
Salary (Encrypted) $Aa%df244 F@3dewqD
two shares: the encrypted value Ve and the item key Vk
the value of V V = Decrypt(Ve, Vk)
Encrypted value, kept by server Item key, kept by client
V 2 4 3 Ve Vk 9 8 22 32 34 32 Secret Sharing
column basis
can compute item keys on the fly
Kept by server
V 2 4 3 Ve E(r) 9 E(1) 22 E(2) 34 E(32) V r 2 1 4 2 3 32 Column Key <m, x> Secret Sharing Add Helper Column
Vk = genItemKey(r, <m,x>)
Kept by client
the operation without knowing column keys
SDB Proxy Key
Server
Results Client App
Client
DBMS
Client Server
database system?
1 3
select A * B from T select sdb_mul(A,B, …), row_id from T
=> Little memory copy, little network transfer and no IPC
Components of SDB Proxy
Currently supports +, -, *, >, =, <, count(). ~18000 lines of Java code
Connector
SDB Proxy Key Store
Application
SELECT quantity * price FROM product
Security threats
servers’ disks
values and observe encrypted values
encrypted results
Security Level in SDB
threat
numbers
Query Processor
Cloud Service Provider (Server) Client App Query
Salary (Encrypted) $Aa%df244 F@3dewqD
Query processing is NOT FAST! Query Results Encrypted Data
Data Owner(Client)
SELECT A, B FROM T WHERE A < p, 1% selectivity
SELECT A, B from T WHERE A < q
§ EC Range: SELECT A, B FROM T WHERE A < 100 § EE Range: SELECT A, B FROM T WHERE A < B § Count: SELECT count(A) FROM T WHERE A < 100
SELECT A, B from T WHERE A < q SELECT A, B from T WHERE A < B SELECT COUNT(A) from T WHERE A < q
R * (A - B) > 0
sdb_compare(sdb_keyup(sdb_mul(r, sdb_add(a,b, ..), ..), ..), ..)
[1] Bajaj, S., & Sion, R. (2014). TrustedDB: A Trusted Hardware-Based Database with Privacy and Data Confidentiality. Knowledge and Data Engineering, IEEE Transactions on, 26(3), 752-765. Chicago [2] Gentry, C., & Halevi, S. (2011). Implementing Gentry’s fully-homomorphic encryption scheme. In Advances in Cryptology–EUROCRYPT 2011 (pp. 129-148). Springer Berlin Heidelberg. [3] Popa, R. A., Redfield, C., Zeldovich, N., & Balakrishnan, H. (2012). CryptDB: Processing queries on an encrypted