CryptDB: Protecting Confidentiality with Encrypted Query Processing
Download
Report
Transcript CryptDB: Protecting Confidentiality with Encrypted Query Processing
CryptDB: Protecting
Confidentiality with
Encrypted Query Processing
Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich,
and Hari Balakrishnan
MIT CSAIL
Presenter Kecong Tang
DBA story
Rules
– Should never read the data.
– If you have to, FORGET them TOTALY
after you’re done!
Some Jobs need to read the data
– “hey we get data conflicted ”
– “we need you to recover some data”
– “we need a special data collection”
Problems
Online applications are vulnerable to
theft of sensitive information.
Who?
– Curious & Malicious DBA
– Attackers gain Admin or DBA level access
What?
– Confidentiality
Solutions:
CryptDB
Encrypted Query Processing
Introducing CryptDB
Encrypted database
– Nothing is pain text
– By different keys and encryptions
for different columns and users’ data
Three key ideas:
SQL-aware encryption
Adjustable query-based encryption
Chain encryption keys to user
passwords
SQL-aware encryption
– Different columns different Ops
different Encryptions
Ops: Sum, >,=,Order,Group,like…
Data still encrypted but Operational
Adjustable query-based encryption
Type Date usually for “order by”
What if I search “2012-04-01”?
Re-encryption to the required format.
Chain encryption keys to user passwords
– Data is only availably when user login
– Different users’ data different encryption keys
This can deal with SQL injection
Hacker will get encrypted data without keys
CryptDB’s architecture
Application server
– Normal front web page
– User login
– Key setup to Database poxy
CryptDB proxy server
– Active keys
– Annotate schema
DBMS server
– Normal DBMS with encrypted data
– User defined functions to encrypt
– Encrypted Key table
Threat 1:
DBMS server Compromise
full access DBA or attacker
usually read data
Server cannot compute the (encrypted) results
Threat 2:
All servers are compromised
Different user different key
Inactive users’ key are not available
Only logged-in users’ key can be decrypted
Case Studies
phpBB is a widely used open source
forum with a rich set of access control
settings.
HotCRP is a popular conference review
application
grad-apply is a graduate admissions
system used by MIT EECS
Limitations
Both computation and comparison
on same column
– WHERE salary > age*2+10.
Multi-principal can not encrypted to different
format
– order by date
– where date=“2012-04-01”
Contribution
Definitely improve Data Security
Prevent data leaking even the server
totally compromise
Weakness
Performance
– Frequently Re-write
Time,update 1 column in an-over-100k-lines MYSQL
table will take ???? minutes.
Harddrive life: frequently Harddrive writting
Data repair and Offical Investigate
– It takes time even they can decrypt.
Improvement
Should we open a Back Door?
– “One button to decrypt all data”…
Thanks
Questions?