Transaction Processing on Confidential Data using Cipherbase Arvind Arasu, Ken Eguro, Manas Joglekar* Raghav Kaushik, Donald Kossmann, Ravi Ramamurthy Microsoft Research Stanford University*
Cloud Data Security Concerns Data in the cloud vulnerable to: • Snooping administrators • Hackers with illegal access • Compromised servers 4/15/2015 ICDE 2015 2
Database Encryption Client App 4/15/2015 ICDE 2015 3
Database Encryption Client App 4/15/2015 ICDE 2015 4
Cipherbase Summary • Data Confidentiality: – Strong column-level encryption – Decoupled from functionality – *Lightweight “trusted module” in secure hardware No prior work with this • Functionality: {Confidentiality, Functionality, Performance} – Industrial Strength Database system (SQL Server) characteristics – Concurrency, Recovery, Stored Procedures. • Performance on TPCC – 85% of plaintext for typical encryption – 40% of plaintext for “worst case” encryption 4/15/2015 ICDE 2015 5
Organization • Introduction • Solution Landscape & Design Choices • Cipherbase Design & Engineering • Evaluation 4/15/2015 ICDE 2015 6
What Makes Encryption Challenging? 𝑇𝑣𝑛 (𝑇𝑑𝑝𝑠𝑓) Select Sum (Score) From Assignment 𝜏 𝑇𝑢𝑣𝑒𝑓𝑜𝑢𝐽𝑒=1 Where StudentId = 1 Assignment a7be1a6997ad739bd8c9ca451f618b61 b6ff744ed2c2c9bf6c590cbf0469bf41 47f7f7bc95353e03f96c32bcfd8058df 4/15/2015 ICDE 2015 7
Solution Landscape • Two fundamental techniques – Directly compute over encrypted data • Special homomorphic encryption schemes • Challenge: limited class of computations – Use a “secure” location • Computations on plaintext • Challenge: Expensive 4/15/2015 ICDE 2015 8
Deterministic Encryption select * from assignment where studentid = 1 𝜏 𝑇𝑢𝑣𝑒𝑓𝑜𝑢𝐽𝑒=1 Stud tudentId Assi signId Scor ore 1 68 1 1 2 71 3 4 99 … … … 4/15/2015 ICDE 2015 9
Deterministic Encryption select * from assignment where studentid_det = bd6e7c3df2b5779e0b61216e8b10b689 𝜏 𝑇𝑢𝑣𝑒𝑓𝑜𝑢𝐽𝑒_𝑒𝑓𝑢=𝑐𝑒6… Stud tudentId_DET Assi signId Scor ore 1 68 bd6e7c3df2b5779e0b61216e8b10b689 bd6e7c3df2b5779e0b61216e8b10b689 2 71 7ad5fda789ef4e272bca100b3d9ff59f 4 99 … … … 4/15/2015 ICDE 2015 10
Homomorphic Encryption Schemes (Any function) Fully Homomorphic Encryption [G09, G10] Partial Homomorphic Encryption (PHE) Partial Homomorphic Encryption (≤) Order-Preserving Encryption [BCN11, PLZ13] Paillier ElGamal (×) (+) Cryptosystem Cryptosystem [E84] [P99] (==) Deterministic Encryption Non-Deterministic (∅) Encryption 4/15/2015 ICDE 2015 11
PHE Limitations • Limited Server Functionality – SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)*(1+L_TAX)) • Data Security tied to functionality • Lack of Composability – A + B = C • Performance – ≈ msec for a single addition under Paillier CryptDB [PRZ+11], Monomi [TFM 13], [HMH08] 4/15/2015 ICDE 2015 12
Solution Landscape • Two fundamental techniques – Directly compute over encrypted data • Special homomorphic encryption schemes • Challenge: limited class of computations • Challenge: Not composable – Use a “secure” location • Hardware provisioned isolation and protection • Computations on plaintext • Challenge: Expensive 4/15/2015 ICDE 2015 13
Secure Location Inaccessible 4/15/2015 ICDE 2015 14
Secure Hardware Landscape • Long history – Banking, Defense Applications • Becoming mainstream and commoditized • Players: – Crypto co-processors – FPGAs – Intel SGX – TPM, HSM 4/15/2015 ICDE 2015 15
Intel Software Guard Extensions • Extensions to Intel Architecture • Virtual Addr Space Isolation to code + data within a designated region called enclave Enclave Physical Memory Integrity Protected – Confidentiality Encrypted & – code/data Integrity Ack: Andrew Baumann [MAB+ 13, AGJ+ 13, HLP+ 13] 4/15/2015 ICDE 2015 16
Design Choice: Trusted Functionality Smaller TCB Larger Trusted Computing Base (TCB) DBMS DBMS DBMS OS OS OS DBMS Library OS Embedded OS Expr Eval Commodity Commodity Commodity Secure h/w Secure h/w Secure h/w h/w h/w h/w Haven [MPH14] TrustedDB [BS11] Cipherbase 4/15/2015 ICDE 2015 17
Design Choice: Trusted Functionality More secure Less secure DBMS DBMS DBMS OS OS OS DBMS Library OS Embedded OS Expr Eval Commodity Commodity Commodity Secure h/w Secure h/w Secure h/w h/w h/w h/w Haven [MPH14] TrustedDB [BS11] Cipherbase 4/15/2015 ICDE 2015 18
Design Choice: Trusted Functionality Minimal software engg. DBMS DBMS DBMS OS OS OS DBMS Library OS Embedded OS Expr Eval Commodity Commodity Commodity Secure h/w Secure h/w Secure h/w h/w h/w h/w Haven [MPH14] TrustedDB [BS11] Cipherbase 4/15/2015 ICDE 2015 19
Organization • Introduction • Solution Landscape & Design Choices • Cipherbase Design & Engineering • Evaluation 4/15/2015 ICDE 2015 20
Life of a Query in Cipherbase I Cipherbase Server Insecure (x86) FPGA Cipherbase Stack Client Lib PCIe Machine Modified App (Expression SQL Server Evaluation) (stateless*) push $1 5 Encryption decrypt Config push 10 add AccountId: Plaintext encrypt BranchId: AES-CBC out Balance: AES-CBC … 4/15/2015 ICDE 2015 21
Life of a Query in Cipherbase II Cipherbase Server Insecure (x86) FPGA Cipherbase Stack Client Lib PCIe Machine Modified App (Expression SQL Server Evaluation) Encryption Config PK: AccountId: AES-CBC BranchId: AES-CBC Balance: AES-CBC … 4/15/2015 ICDE 2015 22
4/15/2015 6C2AB4 0 BF48BC 1 B+-Tree Indexes over Encrypted Data DF60B9 2 20B9D4 3 AC2DB0 4 FC46B0 5 0A183E 0A183E 6 6 C9B7F9 … 7 1DA6B5 … 8 4F3618 … 9 … … ICDE 2015 … … 0A183E C9B7F9 1DA6B5 4F3618 … … 23
4/15/2015 6C2AB4 BF48BC B+-Tree Indexes over Encrypted Data DF60B9 20B9D4 AC2DB0 FC46B0 0A183E 0A183E C9B7F9 … 1DA6B5 … 4F3618 … … … ICDE 2015 … … 0A183E C9B7F9 1DA6B5 4F3618 … … 24
Life of a Query in Cipherbase II Cipherbase Server Insecure (x86) FPGA Cipherbase Stack Client Lib PCIe Machine Modified App (Expression SQL Server Evaluation) push $1 6 Encryption decr Config push $2 decr compare PK: AccountId: AES-CBC out BranchId: AES-CBC Balance: AES-CBC … 4/15/2015 ICDE 2015 25
Search key: 4/15/2015 6C2AB4 8DE526 BF48BC B+-Tree Indexes over Encrypted Data DF60B9 20B9D4 AC2DB0 FC46B0 0A183E 0A183E C9B7F9 … 1DA6B5 … 4F3618 … … … ICDE 2015 … … comp(8DE526,0A183E) 0A183E C9B7F9 1DA6B5 4F3618 < … … FPGA 26
Search key: 4/15/2015 6C2AB4 8DE526 BF48BC B+-Tree Indexes over Encrypted Data DF60B9 20B9D4 AC2DB0 FC46B0 0A183E 0A183E C9B7F9 … 1DA6B5 … 4F3618 … … … ICDE 2015 … … comp(8DE526,0A183E) 0A183E C9B7F9 1DA6B5 4F3618 < … … FPGA 27
Life of a Query in Cipherbase II Cipherbase Server Insecure (x86) FPGA Cipherbase Stack Client Lib PCIe Machine Modified App (Expression SQL Server Evaluation) Encryption Config PK: AccountId: AES-CBC BranchId: AES-CBC Balance: AES-CBC … 4/15/2015 ICDE 2015 28
Operational Security Operation Adversary Learns 𝜏 𝐵=5 (R) Unknown predicate p(A) over R tuples 𝑆 ⋈ 𝐵 𝑇 (hash-based) The join graph and the equivalence relation over R(A) and S(A) for joining A values 𝜌 𝐵+𝐶 (𝑆) Nothing 𝑇𝑉𝑁(𝐶) (𝑆) The equivalence relation over R(A) 𝐻𝑠𝑝𝑣𝑞𝑐𝑧 𝐵 Data Security depends on the operations performed 4/15/2015 ICDE 2015 29
Transaction Processing Performance Challenges Life of a transaction TPCC New Order: 1M instrs parsing, compilation, buffering, latching, locking, commit, … x86 FPGA Expression evaluation ≈ 10 instrs x 300 Time/progress ≈ 𝜈 sec 4/15/2015 ICDE 2015 30
Summary of Performance Optimizations Multiple FPGA cores Parallelism Batch FPGA work More FPGA compute Amortize communication latency Core 1 Cipherbase Plaintext Client Lib Core 2 Modified Data SQL Server Core 3 Cache Core 4 Expression folding Plaintext Data Caches Minimize FPGA roundtrips Minimize network comm. Vectorize index comparisons Reduce decryption Minimize FPGA roundtrips 4/15/2015 ICDE 2015 31
Organization • Introduction • Solution Landscape & Design Choices • Cipherbase Design & Engineering • Evaluation 4/15/2015 ICDE 2015 32
Cipherbase Prototype • SQL Server code – Basic functionality • ≈ 1000 LoC • Localized to expression evaluation module – Optimizations • ≈ 5000-10000 LoC • Localized to FPGA driver, indexing – Unchanged: everything else 4/15/2015 ICDE 2015 33
Performance on TPCC Transactions per sec (relative to SQL Server) 1.2 Encryption schemes: 1 Customer: Customer PII data strongly encrypted 0.8 Strong/Weak: Index 0.6 columns deterministic, all others strongly encrypted 0.4 Strong/Strong: All columns strongly 0.2 encrypted 0 Plaintext Customer Strong/Weak Strong/Strong Opt NoOpt Increasing strength of encryption 4/15/2015 ICDE 2015 34
Recommend
More recommend