Breach-Resistant Structured Encryption
Ghous Amjad, Seny Kamara & Tarik Moataz
Breach-Resistant Structured Encryption Ghous Amjad, Seny Kamara - - PowerPoint PPT Presentation
Breach-Resistant Structured Encryption Ghous Amjad, Seny Kamara & Tarik Moataz 2 Databases A database is an organized collection of data --- Wikipedia 3 Encrypted Database Enc K 4 Q : can we encrypt DBs even in use? 5 Efficiency
Breach-Resistant Structured Encryption
Ghous Amjad, Seny Kamara & Tarik Moataz
Databases
3“A database is an organized collection of data” --- Wikipedia
Encrypted Database
4EncK
Efficiency Leakage Functionality
6Tradeoffs: Functionality vs. Efficiency
7SK-FE-based STE-based PPE-based FHE-based ORAM-based PK-FE-based Efficiency Functionality SQL NoSQL
Tradeoffs: Efficiency vs. Security
8Efficiency STE-based PPE-based FHE-based ORAM-based skFE-based pkFE-based Leakage STE+ORAM-based STE+ORAM-based
Background: Data Structures
w1 w2 w3
id1 id3 id2 Dictionary DX
w1 w2 w3
id1 id3 id4 id3 id2 id4 Multi-map MM
Structured Encryption [CK’10]
10Setup(1k, DS) ⟾ (K, EDS)
Token(K, q) ⟾ tk
tk =
Query(EDS, tk) ⟾ ans
ans =
MMEDS = DS =
wi id3 id3 EMMBackground: Encrypted Data Structures
[CK’10]
11Encrypted Multi-Map Encrypted relational DB Encrypted NoSQL DB Encrypted Graph DB Encrypted Inverted Index
Single-keyword SSE [SWP’00], [Goh’03], [CGKO’06], [CK10], [KPR’12], [KP’13], [CJJKRS’13], [CJJJKRS’14], [Bost’16] …
LS(MM)
Multi-map MMAdaptive Security for STE [CGKO’06,CK’10]
12Real Ideal
Multi-map MM wi Encrypted Multi-map EMM Encrypted Multi-map EMM wi wi wiLQ(MM, wi)
ui ui ui uiLU(MM, ui)
Forward Privacy [SPS’14]
“Updates cannot be correlated to previous queries”
LQ
Security of Encrypted Structures
[CGKO’06,CK’10]
Snapshot Security
Snapshot Security
17Real Ideal
wiLS(MM0)
ui MM0 EMM0 EMM1 EMM2 MM0 EMM0 wiLS(MM1, op)
EMM1 uiLS(MM2, op)
EMM2Snapshot Security and Breach-Resistance
“Breach-resistant leakage reveals at most the size of the current structure”
LSnp(MM, op1, . . . , opi) = LS(MMi) = X
w∈W
#MMi[w]
Tradeoffs: Efficiency vs. Security
19Efficiency STE-based PPE-based FHE-based ORAM-based skFE-based pkFE-based Leakage
Tradeoffs: Efficiency vs. Security
20Efficiency STE-based PPE-based FHE-based ORAM-based skFE-based pkFE-based Leakage
Snapshot Security
21Breach- resistance Breach-resistance Forward privacy Insertion independence (variant of history independence) Write-only obliviousness
Static Structures Dynamic Structures
LS(MM) = X
w∈W
#MM[w]
forward-private EMMs?
22Dual-Secure EMMs
O ✓ #MM[w] · polylog ✓ X
w∈W
#MM[w] ◆◆
[CJJJKRS’14]
24πdyn
EMM.Setup 1k ,
MM EMM,
EMMSetup
[CJJJKRS’14]
25w1 l2 w3 id1 id3 id4 id3 id2 id4
Multi-map MMEMM.Setup 1k,
,
w2
* PRF and Enc keys are different but derived from wi
FKw1(1)
Encrypted MM
FKw1(2) FKw1(3) FKw2(1) FKw3(1) FKw3(2)
id1 id3 id4 id3 id2 id4
πdyn
Setup
[CJJJKRS’14]
26 wi = Kw1 id1 id3 id4 EMMKw1
EMM.Get
,
πdyn
Get
FKw1(1)
,
DX
id1FKw1(2)
,
DX
FKw1(3)
,
DX
FKw1(4)
,
DX
id3 id4⊥
[CJJJKRS’14]
27EMM.Get
,
FKw1(1)
Dictionary DX
FKw1(2) FKw1(3) FKw2(1) FKw3(1) FKw3(2)
id1 id3 id4 id3 id2 id4
Kw1
FKw1(1)
,
DX
id1
FKw1(2)
,
DX
id3
FKw1(3)
,
DX
id4
FKw1(4)
,
DX
⊥
πdyn
Get
[CJJJKRS’14]
28 EMMEMM.Edit+
,
πdyn
Edit+
EMMFKw1(4)
id9
,
DX DX
[CJJJKRS’14]
29EMM.Edit+
,
FKw1(1)
Dictionary DX
FKw1(2) FKw1(3) FKw2(1) FKw3(1) FKw3(2)
id1 id3 id4 id3 id2 id4
FKw1(4)
id9
FKw1(1)
Dictionary DX
FKw1(2) FKw1(3) FKw2(1) FKw3(1) FKw3(2)
id1 id3 id4 id3 id2 id4
FKw1(4)
id9
Edit+
πdyn
[CJJJKRS’14]
30 EMMEMM.Edit-
,
πdyn
Edit-
EMMFKw1(4)
id3
,
DX DX
[CJJJKRS’14]
31EMM.Edit-
,
FKw1(1)
Dictionary DX
FKw1(2) FKw1(3) FKw2(1) FKw3(1) FKw3(2)
id1 id3 id4 id3 id2 id4
FKw1(4)
id3
FKw1(1)
Dictionary DX
FKw1(2) FKw1(3) FKw2(1) FKw3(1) FKw3(2)
id1 id3 id4 id3 id2 id4
FKw1(4)
id3
πdyn
Edit-
[CJJJKRS’14]
32 wi = Kw1 id1 id3 id4 EMMKw1
EMM.Get
,
πdyn
Get
FKw1(1)
,
DX
id1FKw1(2)
,
DX
FKw1(3)
,
DX
FKw1(4)
,
DX
id3 id4 id4 id4O (#MM[w] + dels0(w))
Forward-Private
πdyn
πdyn
πdyn
Efficiency
O (#MM[w] + dels0(w))
O X
w∈W
#MM[w] + dels0(w) !
Rebuilding
Ω ✓ X
w∈W
#MM[w] ◆
O
✓ X
w∈W
#MM[w] + delsr(w) ◆
Rebuilding Encrypted Structures
Leaks new information to persistent Adv: query leakage of unsearched keywords
LR(MM) = ✓✓ LG(MM, w) ◆
w∈W
, ✓ LU(MM, (w, id) ◆
w∈W
◆ = ✓ f(w), #MM[w] + delsr(w), g(w), #MM[w] ◆
w∈W
Rebuilding Encrypted Structures
LR(MM) = ✓ f(w), #MM[w] + delsr(w), g(w), #MM[w] ◆
w∈S
, X
w∈U
#MM[w] ! = ✓ f(w), #MM[w], delsr(w), g(w) ◆
w∈S
, X
w∈U
#MM[w] ! Already leaked during queries
Rebuilding Encrypted Structures
LSnp(MM) = LS(MM) = X
w∈W
#MM[w]
Forward-Private EMMs
Search Client Storage Forward Privacy Snapshot SPS’14 Yes Yes B’16 Yes No BMO’17 Yes No EKPE’17 Yes/No No This work Yes Yes
O (#W) O (#W + ML) O (#MM[w] + dels0(w)) O (#MM[w] + dels0(w)) O (#MM[w] + delsr(w)) O (#W) O (#W) O (#W) O
✓ #MM[w] · polylog
◆
39Implementation
πdyn
Experimental Setup
Setup Time & Sizes
42Query & Update Time
43