SQL on Structurally-Encrypted Databases
Seny Kamara Tarik Moataz
SQL on Structurally-Encrypted Databases Seny Kamara Tarik Moataz Q - - PowerPoint PPT Presentation
SQL on Structurally-Encrypted Databases Seny Kamara Tarik Moataz Q : What is a relational database? 2 Relational DB Table or relation Column or attribute Att 1 Att 2 Att 3 Att 4 Att 5 Att 6 Att 7 DB = Row or record T 2 T 1 3 Structured
SQL on Structurally-Encrypted Databases
Seny Kamara Tarik Moataz
Relational DB
3Att1 Att2 Att3 Att4 Att5 Att6 Att7
DB =
T1 T2
Row or record Table or relation Column or attribute
Structured Query Language
Se Select ct (name, gender, height) Fr From (T2, T8) Wh Where (age = 36 AND zip = 10040 AND gender = F)
Structured Encryption (STE) [CK10]
6 Setup(1k, DS) ⟾ (K, EDS)Token(K, q) ⟾ tk
tk
Query(EDS, tk) ⟾ ct
EDS
DSct
Structured Encryption (STE) [CK10]
7 Setup(1k, DS) ⟾ (K, EDS)Token(K, q) ⟾ tk
tk
Query(EDS, tk) ⟾ ans
EDS
DSans
Setup Leakage Ls(DS) Query Leakage Lq(DS, q)
Structured Encryption (STE) [CK10]
We say that an STE is (LS,LQ)-secure if
Encrypted Multi-Maps [CK10]
9Single Keyword SSE [SWP00], [Goh03], [CGKO06], [CK10], [KPR12], [KP13], [CJJKRS13], [CJJJKRS14], [Bost16], [BMO17], [AKM19] … Encrypted Multi-Map Encrypted Inverted Index
Efficiency Leakage Functionality
11Tradeoffs: Efficiency vs. Security
12 Efficiency STE/SSE-based PPE-based FHE-based ORAM-based skFE-based pkFE-based LeakageTradeoffs: Functionality vs. Efficiency
13 SK-FE-based STE/SSE-based PPE-based FHE-based ORAM-based PK-FE-based Efficiency Functionality SQL NoSQLChallenges
Ch Ch. . #1 #1: Declarative => Procedural
SQL RA
Ch Ch. . #2: #2: Complex => Simple
17SQL RA SPC
Select, Project, Cross Product
18 Att1 Att2 Att3𝜏"
Att1 Att2 Att3 Att1 Att2 Att3𝜌$,&
Att2 Att3 Att1 Att2 Att3 Att4 Att5 Att6 Att1 Att2 Att3 Att4 Att5 Att6Our Goal
19tk
Att1 Att2 Att1 Att3STEK
SQL => SPC => NF
Att2 Att3EncK
Our Results
SPX: Encrypted Relational Database
SPX+: dynamic SPX
FP-SP SPX+: forward-private dynamic SPX
Naïve SPC Algorithm
22 Att1 Att2 Att3 Att4 Att5 Att6 Att1 Att2 Att3 Att4 Att5 Att6 Att2 Att6Sub-Linear SPC Algorithm
SPX Overview
form
Step 1: Heuristic Normal Form (1)
26 Att4 Att5 Att6 Att1 Att2 Att3𝜏"
Att4 Att5 Att6 Att1 Att2 Att3𝜏"' 𝜏"(
Ψ = Ψ1 ∧ Ψ2
More complicated
Push Select through Product
Step 1: Heuristic Normal Form (2)
27 Att4 Att5 Att6 Att1 Att2 Att3𝜏"' 𝜏"(
Att1 Att2 Att3 Att4 Att5 Att6 Att1 Att2 Att3 Att4 Att5 Att6 Att1 Att2 Att3 Att4 Att5 Att6≪
Size Overhead
Step 2: Database representations
28DB =
Row representation Column representation Value representation Cross-value representation
T1 T2
Att1 Att2 Att3 Att4 Att5Step 2: Row / Column representation
29 Att1 Att2 Att3 Att4 Att5 (T1, 1) Row Multi-map MMR (T1, 2) (T2, 1) (T2, 2) (T2, 3) (T1, Att1) Column Multi-map MMC (T1, Att2) (T2, Att3) (T2, Att4) (T2, Att5)Step 2: Value representation
30 Att1 Att2 1 CS 2 Math Att3 Att4 Att5 1 45 CS 2 45 Math 2 60 CS (1, T1, Att1) Value Multi-map MMv (2, T1, Att1) (T1, 1) (CS, T1, Att2) (Math, T1, Att2) (1, T2, Att3) (2, T2, Att3) (45, T2, Att4) (60, T2, Att4) (CS, T2, Att5) (Math, T2, Att5) (T1, 2) (T1, 1) (T1, 2) (T2, 1) (T2, 2) (T2, 3) (T2, 1) (T2, 2) (T2, 1) (T2, 1) (T2, 3) (T2, 2)Step 2: Cross-Value representation
31 Att1 Att2 1 CS 2 Math Att3 Att4 Att5 1 45 CS 2 45 Math 2 60 CS ((T1,Att1), (T2, Att3)) Cross-Value Multi-map MMAtt1 (T1, 1), (T2, 1) (T1, 2), (T2, 2) (T1, 2), (T2, 3) ((T1,Att2), (T2, Att5)) Cross-Value Multi-map MMAtt2 (T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2)Step 3: SPX Setup
32SetupSPX 1k,
Att1 Att2 Att3 Att4 Att5Step 3: SPX Setup
33 (T1, 1) Encrypted Column Multi-map EMMC (T1, 2) (T2, 1) (T2, 2) (T2, 3) (T1, 1) Encrypted Row Multi-map EMMR (T1, 2) (T2, 1) (T2, 2) (T2, 3) (1, T1, Att1) Encrypted Value Multi-map EMMv (2, T1, Att1) (T1, 1) (CS, T1, Att2) (Math, T1, Att2) (1, T2, Att3) (2, T2, Att3) (45, T2, Att4) (60, T2, Att4) (CS, T2, Att5) (Math, T2, Att5) (T1, 2) (T1, 1) (T1, 2) (T2, 1) (T2, 2) (T2, 3) (T2, 1) (T2, 2) (T2, 1) (T2, 1) (T2, 3) (T2, 2) ((T1,Att1), (T2, Att3)) Encrypted Cross-Values Multi-map EMMAtt1 (T1, 1), (T2, 1) (T1, 2), (T2, 2) (T1, 2), (T2, 3) ((T1,Att2), (T2, Att5)) Encrypted Cross-Values Multi-map EMMAtt2 (T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2) Encrypted dictionary EDX,
Att1 Att2Step 3: SPX Token (1)
34TokenSPX
,
Select Att3 From (T1, T2) Where T1.Att2= T2.Att5
Step 3: SPX Token (2)
35πatt3 ✓ σatt2=att5
◆
Att2 3 ((T1, Att2), (T2, Att5))
Dictionary sub-token Select Sub-token Projection Sub-tokenStep 3: SPX Query (1)
36QuerySPX
,
Encrypted Column Multi-map EMMC Encrypted Row Multi-map EMMR Encrypted Value Multi-map EMMv Encrypted dictionary EDXAtt2 ((T1, Att2), (T2, Att5)) 3
Step 3: SPX Query (2)
37Get
,
((T1,Att2), (T2, Att5)) Encrypted Cross-Values Multi-map EMMAtt2 (T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2) ((T1,Att1), (T2, Att3)) Encrypted Cross-Values Multi-map EMMAtt1 (T1, 1), (T2, 1) (T1, 2), (T2, 2) (T1, 2), (T2, 3) ((T1,Att2), (T2, Att5)) Encrypted Cross-Values Multi-map EMMAtt2 (T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2) Encrypted dictionary EDX Att1 Att2Att2
Step 3: SPX Query (3)
38Get
,
((T1, Att2), (T2, Att5))
((T1,Att2), (T2, Att5)) Encrypted Cross-Values Multi-map EMMAtt2 (T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2)(T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2)
Step 3: SPX Query (4)
39Get
,
(T1, 1) Encrypted Row Multi-map EMMR (T1, 2) (T2, 1) (T2, 2) (T2, 3)(T1, 1)
,
(T2, 1)
Encrypted Row Multi-map EMMRGet
Temporary Result Table
(T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2)
Step 3: SPX Query (5)
40,
(T1, 2)
Encrypted Row Multi-map EMMRGet
Temporary Result Table
,
(T2, 3)
Encrypted Row Multi-map EMMRGet
,
(T1, 2)
Encrypted Row Multi-map EMMRGet
,
(T2, 2)
Encrypted Row Multi-map EMMRGet
(T1, 1), (T2, 1) (T1, 2), (T2, 3) (T1, 2), (T2, 2)
Step 3: SPX Query (6)
41Temporary Result Table 3
𝜌
Final Result
Leakage: SPX-OPT vs. PPE-based
Modularity: SPX-Obliv vs. SPX-OPT
Query leakage of SPX-OPT
43Query leakage of SPX-Obliv
[GO96,SvDS+13,GMP16,KMO18]
SPX-OPT Asymptotics
h−1 ·
tX
i=1si
SPX-OPT Asymptotics
O(#DB + X
att∈S#MMatt)
Takeaways and Future Work
database
Thank you!
https://eprint.iacr.org/2016/453
47