Ensuring Orthogonal Security in Data Encryption Processes
Addressing the challenge of data confidentiality in untrusted server environments through the use of encryption techniques such as deterministic and non-deterministic encryption. The goal is to achieve full functionality independently of data encryption, allowing for secure processing of data queries without compromising privacy. The case for utilizing trusted hardware to enhance security and maintain orthogonality in data encryption procedures is also discussed.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Orthogonal Security With Cipherbase Raghav Kaushik1 Arvind Arasu1 Spyros Blanas2 Ken Eguro1 Donald Kossmann3 Ravi Ramamurthy1 Venkie Ramarathnam1 1Microsoft Research 2UW-Madison 3ETH-Zurich
Problem: Data Confidentiality Untrusted Server DBMS DBMS Key Cloud Admin Super-user with console access Encrypted Data Data Name Age Disease Name Age Disease Alice 12 Flu X%*! )C !x8J Bob 51 Diabetes ~4Yz ## )zFr#x Chen 24 Flu T$H2 !* ^@tG Dan 36 Cold <*fB @$ BxU3 2
Computation Directly On Encrypted Data Untrusted Server DBMS Equality Disease Disease Deterministic Encryption !x8J Flu )zFr#x Diabetes Flu !x8J Cold BxU3 Disease Strong Encryption (Non-Deterministic) Paillier encryption: summation Order-preserving encryption: range !x8J )zFr#x ^@tG BxU3 3
Limitations Incomplete SUM(L_EXTENDEDPRICE*(1- L_DISCOUNT)*(1+L_TAX)) Brittle E.g.: Cannot combine addition and range O_SHIPDATE > O_ORDERDATE + 30 days Full functionality Store in the clear 4
Goal: Orthogonal Security Full functionality in the server independent of the data encryption SQL Transactions Physical Structures Orthogonality App logic completely decoupled from encryption Clients declare what columns are to be encrypted and how System is functional without any change in app code 5
Overall Workflow Untrusted Server SQL App Encrypted Query String/Plan SELECT * FROM Patient WHERE Disease = $bG SELECT * FROM Patient WHERE Disease = Flu Alice 12 Flu Client Extension DBMS X%*! )C !x8J Encrypted Result Name Age Disease Key, X%*! )C !x8J metadata ~4Yz ## )zFr#x T$H2 !* ^@tG <*fB @$ BxU3 6
The Case For Trusted Hardware Leads to orthogonality TM (Trusted Machine) UM (Untrusted Machine) Trusted Hardware DBMS (Commodity H/W) key sum(l_extendedprice*(1- Disease = Flu Alice l_discount) *(1+l_tax))) 12 Flu Name Name Age Age Disease Disease Alice X%*! 12 )C Flu !x8J Bob ~4Yz 51 ## Diabetes )zFr#x Inaccessible Chen T$H2 24 !* Flu ^@tG Dan <*fB 36 @$ Cold BxU3 7
TM Design Secure Co-processor Designed for low-performance apps such as ATMs Our choice: FPGA Used for security-sensitive applications Well-established applicability for data-intensive applications Connected to UM by PCI express 8
Design Choice 1:Encryption, Decryption (Industry state of art) UM (Untrusted Machine) Keep data encrypted across the stack SQL Server Buffer Pool TM (Trusted Machine) Name Age Disease DBMS 12 Alice Flu (Commodity H/W) Bob 51 Diabetes Encryption, Decryption Chen 24 Flu Dan 36 Cold key Leaks everything Name Age Disease X%*! )C !x8J ~4Yz ## )zFr#x T$H2 !* ^@tG <*fB @$ BxU3 9
Design Choice 2: All Processing In TM Commodity Server Resource-constrained UM (Untrusted Machine) TM (Trusted Machine) Security: Encrypt across the stack DBMS DBMS For Encrypted Columns PCI Express For Clear-Text Columns key Goal: Reduce TM footprint Data TrustedDB [Bajaj et al., SIGMOD 2011] 10
Cipherbase: Hardware Software Co-Design Security: Encrypt across the stack UM TM SQL Server (Buffer Pool, Indexes, Transactions, Query Processor, Query Optimizer, ) Expression Evaluation (Stack Machine) key DB 11
Example App SELECT C_Custkey, SUM(O_totalprice) as Revenue FROM Customer, Order WHERE C_Custkey = O_Custkey and C_Nationkey = Nation5 and O_Orderdate > 2012-1-1 GROUP BY C_Custkey SQL Client Extension Key, metadata 12
Example Untrusted Server ?????,sum(o_totalprice) App ?? ?O_Orderdate>y ?C_Nationkey=x Client Extension DBMS ???????? ?????? Key, metadata 13
Example Inter query memory governance Admission control Dec(C_Custkey1)>Dec(C_Custkey2) Enc(Dec(O_totalprice) + Dec(currentSum)) ?????,sum(o_totalprice) Memory Mgmt Spooling Specifics of join/sort algorithm ?? Hash(Dec(C_Custkey)) Hash(Dec(O_Custkey)) Dec(O_Custkey)=Dec(C_Custkey) ?C_Nationkey=x ?O_Orderdate>y Dec(O_Orderdate)>Dec(y) Dec(C_Nationkey)=Dec(x) ???????? ?????? Data-flow (GetNext calls) Most processing happens in UM Storage engine (buffer pool, locking) 14
Challenges Commodity Server Resource-Constrained PCI Express TM UM key Performance: Revisit whole stack (physical structures, QP, QO) Batch requests to TM FPGA parallelism Space: Multi-row/multi-column encryption 15
Query Optimization ? ? Stack code ? ? 16
Query Optimization ? ? Stack code ? ? 17
Security Encryption across stack does NOT imply no information leakage Access patterns leak information Sort leaks ordering True/False Sort TM Record 1 < Record 2 Cipherbase Leak some information No Encryption Leak everything Client Leak no information Operations on column Leakage Equality (including joins) Frequency distribution Indexing/Sorting /range predicates Order Similar to CryptDB [SOSP,2011] Arithmetic operations Nothing 18
Higher Security Information leakage can be controlled Insight: full scans naturally have fixed access patterns Our contribution: Full SQL using scan-based plans Reveals only intermediate result sizes Indexing is an open problem Putting it together Single system with diallable column-level knobs One size does not fit all separate solution for analytical workloads 19
Status Implementation status FPGA Manager integrated with SQL Server Expression evaluation modified to use FPGA FPGA supports stack machine Preliminary implementation of indexing and query optimizer Runs debit-credit benchmark Warm buffer pool: security overhead is 50% Clear-text TPS: ~12000 Encrypted TPS: ~8000 20
Questions? 21