backward secure dynamic searchable symmetric encryption ...€¦ · backward secure dynamic...

25
Backward Secure Dynamic Searchable Symmetric Encryption with Efficient Updates Hyung Tae Lee Chonbuk National University, Republic of Korea June 14, 2019@ Workshop on Modern Trends in Cryptography

Upload: others

Post on 14-Jun-2020

54 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Backward Secure Dynamic Searchable Symmetric Encryption

with Efficient Updates

Hyung Tae Lee

Chonbuk National University, Republic of Korea

June 14, 2019@ Workshop on Modern Trends in Cryptography

Page 2: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Table of contents

1. Introduction

2. Background: Previous Results for Forward/Backward DSSE

3. Our Construction

4. Conclusion & Future Works

1

Page 3: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Introduction

Page 4: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Motivations (from the Viewpoint of My Research Direction)

Private keyword search on encrypted data is one of key factors for secure cloud

computing.

Server

Server Server

Server Server

Database

server

An encrypted database D

V A1 A2 · · · Aτ

· · ·v a1 a2 · · · aτ

· · · Client

Store D

Query Q/Q

a result set R/R

(Fully) Homomorphic encryption may resolve this problem, but it is not practicalyet:

I 1.5 ms for equality test of two encrypted 64-bit integers in amortized time

I 29 ms for comparison of two encrypted 64-bit integers in amortized time

Searchable encryption may be another candidate for providing a practical solution

to this problem. (1− 10µs/1 keword search on 1 data) 2

Page 5: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Dynamic Searchable Symmetric Encryption

A dynamic searchable symmetric encryption (DSSE) is an encryption scheme that

I allows data updates (addition/deletion),

I supports comparisons between an encrypted keyword and a tag.

Consist of the following algorithms

I Setup(1λ) → (ST,msk; EDB)

I Addition(msk, ST, f ; EDB) → (ST′; EDB′)

I Deletion(msk, ST, f ; EDB) → (ST′; EDB′)

I Search(msk, ST,w ; EDB) → (ST′; I )

3

Page 6: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Additional Security Requirements in the Dynamic Setting

Forward security: No leak any information about newly added data against an

adversary who has information for previous queries

Backward security: No leak any information about the data added and deleted

between two successive queries on the same keyword

4

Page 7: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Background: Previous Results for

Forward/Backward DSSE

Page 8: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Previous Results I: Sophos (Σoφoσ)

Bost presented a DSSE achieving forward security. (ACM CCS 2016)

Exploited a trapdoor permutation π to update an encryption key after search

queries

1. Compute and use STi+1 = πSK (STi ) to

add a new data

2. Give STc as a token for keyword search

Realized a trapdoor permutation using RSA, but it is too expensive.

5

Page 9: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Previous Results II: Janus

Bost, Minaud and Ohrimenko formalized a backward secure DSSE and presented

a generic construction of a backward secure DSSE using a forward secure DSSE.

(ACM CCS 2017)

Design strategy

I Assume there is a forward secure DSSE and a secure puncturable encryption (PE).

I Operate two databases EDBadd and EDBdel for addition and deletion, respectively

I Tag: an output of a function evaluating at index and keyword

I Store a ciphertext (ct, t) = Enc(pk, ind , t) for PE at EDBadd

I Store a punctured key at the tag t at EDBdel

Forward security: Achieved by updating an encryption key for PE

Backward security: Achieved by using PE

They realized PE by employing the Green and Miers scheme, but it is quite

expensive.

6

Page 10: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Previous Results III: Janus++

Sun et al. proposed a new symmetric PE (SPE) from using puncturable PRF.

They proposed Janus++, the improved version of Janus, using the proposed SPE.

(ACM CCS 2018)

The proposed SPE PE = (KG,Enc,Dec,Punc)

I KG(1λ, d): Choose a random key sk0 and set msk = (sk0, d).

I Enc(msk,m, t):

1. Compute ski = H(ski−1, i) for all 1 ≤ i ≤ d .

2. Compute k = ⊕di=0F (ski , t) and ct = SE.Enc(k,m).

3. Output (ct, t).

I Punc(SKi−1, t′i ):

1. Compute pski = F.Punc(ski−1, t′i ) and ski = H(ski−1, i).

2. Set mski = (ski , d).

3. Output SKi = (mski , psk1, · · · , pski ).

I Dec(SKi , ct, t):

1. If i < d , compute sk` = H(sk`−1, `) for i ≤ ` ≤ d .

2. Evaluate k′ = ⊕is=1F.Eval(psks , t)⊕

d`=i F (sk`, t).

3. Recover m′ = SE.Dec(k′, ct).

7

Page 11: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Previous Results IV: Dual Dictionary and Forward Secure DSSE

Kim et al. proposed a new database structure, dual dictionary, which can be seen

as a combination of forward and inverted indexes. (ACM CCS 2017).

id1 w1 w3 w5 · · ·id2 w1 w2 w3 · · ·id3 w3 w7 w8 · · ·...

...

〈 Forward index 〉

I Pros: Addition/Deletion

I Cons: Keyword search

w1 id2 id2 · · ·w2 id1 · · ·w3 id1 id2 id3 · · ·...

...

〈 Inverted index 〉

I Pros: Keyword search

I Cons: Addition/Deletion

Label 1 Label 2 Value

H(Tid1 , 1) H(Tw1 , 1) Enc(Tw1 , id1)...

H(Tid3 , 1) H(Tw7 , 1) Enc(Tw7 , id3)...

〈 Dual dictionary〉 8

Page 12: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Previous Results IV: Dual Dictionary and Forward Secure DSSE (Cont.)

On top of the dual dictionary structure, they presented a new forward secure

DSSE by updating an encryption key after search queries.

There is no known result about backward secure DSSE using the dual dictionary.

A naive application of Janus/Janus++ does not take an advantage of the dual

dictionary.

9

Page 13: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Our Construction

Page 14: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Overview of Our Construction

Goal: Design a new backward secure DSSE using the dual dictionary structure

Conclusion: Achieve the goal by using small modifications of Janus/Janus++

Building blocks

I Dual dictionary structure

I Puncturable encryption (PE)

How to achieve forward/backward security

I Forward security: Update an encryption key for PE after search queries

I Backward security: Use a puncturable encryption

10

Page 15: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Concrete Description I: Setup

Algorithm 1 Setup(1λ)→ (ST; EDB)

Notation. F ,G ,H: PRFs with key kF , k′F , kG , kH

PE := (KG,Enc,Dec,Punc): puncturable encryption

Idx : {0, 1}∗ → I for an index set I1: EDB← ∅ /* encrypted DB */

2: ST← ∅ /* private state */

3: msk← (kF , kG , kH) /* master key */

F : To generate keys for computing label function H

G : To generate a tag of index and keyword for PE

H: To compute labels for index and keyword, respectively

11

Page 16: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Concrete Description II-1: Addition @ Client

Algorithm 2 Addition(msk,ST, f ; EDB)→ (ST′; EDB′) @ Client

Require: msk, f , ST

Ensure: ST′,D

1: id← Idx(f ) and kid ← F (kF , id)

2: cntid ← 0,D← ∅3: W ← {w |w ∈ f } = {w1, . . . ,wn}4: while W 6= ∅ do

5: w$←− W and kw ← F (k′F ,w)

6: W ← W\{w}7: if ST[w ].Kwd = ⊥ then

8: (EKw , SK(0)w )← PE.KG(1λ, d)

9: ucntw ← 0

10: ST← (w ,EKw , ucntw , (SK(0)w , t0))

11: else

12: (EKw , ucntw )← ST[w ].(Ekey,Ucnt)

13: cntid ← cntid + 1, ucntw ← ucntw + 1

14: labelid ← H(kid, cntid), labelw ← H(kw , ucntw )

15: tw,id ← G(kG ,w ‖ id), pval(id)w ← PE.Enc(EKw , id, tw,id)

16: D← D ∪ {(labelid, labelw , pval(id)w )}17: ST[w ].Ucnt← ucntw

18: Send D to the server

Dual dictionary: Labelid Labelw pval

12

Page 17: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Concrete Description II-2: Addition @ Server

Algorithm 3 Addition(msk,ST, f ; EDB)→ (ST′; EDB′)@Server

Require: D,EDB

Ensure: EDB′

1: EDB′ ← EDB

2: for each (labelid, labelw , pval(id)w ) ∈ D do

3: EDB′ ← (labelid, labelw , pval(id)w )

13

Page 18: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Concrete Description III-1: Deletion @Client

Algorithm 4 Deletion(msk, ST, f ; EDB)→ (ST′; EDB′) @Client

Require: msk, f , ST

Ensure: kid,ST′

1: id← Idx(f ) and kid ← F (kF , id)

2: Send kid to the server

3: W ← {w |w ∈ f } = {w1, . . . ,wn}4: for each w ∈W do

5: tw,id ← G(kG ,w ‖ id)

6: SK(i−1)w ← ST[w ].Psk, SK

(i)w ← PE.Punc(SK

(i−1)w , tw,id)

7: ST[w ].Psk← SK(i)w ,ST[w ].Tag← ST[w ].Tag ∪ {tw,id}

14

Page 19: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Concrete Description III-2: Deletion @Server

Algorithm 5 Deletion(msk, ST, f ; EDB)→ (ST′; EDB′) @Server

Require: kid,EDB

Ensure: EDB′

1: cntid ← 1

2: while true do

3: labelid ← H(kid, cntid)

4: if EDB[labelid] 6= ⊥ then

5: EDB← EDB\{EDB[labelid]}6: cntid ← cntid + 1

7: else return EDB

8: EDB′ ← EDB

Labelid Labelw Pval

...

H(kid3 , 1) H(kw7 , 1) PE.Enc(· · · )...

〈 When deleting id3 〉15

Page 20: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Concrete Description IV-1: Search @Client

Algorithm 6 Search(msk,ST,w ; EDB)→ (ST′; I ) @ Client

Require: msk,w ,ST

Ensure: ST′, τw

1: if ST[w ].Kwd = ⊥ then return ∅2: kw ← F (k ′F ,w)

3: (ucntw , (SKw ,Tw ))← ST[w ].(Ucnt,Psk,Tag)

4: τw ← (SKw ,Tw , kw , ucntw )

5: Send τw to the server

6: (EK′w , (SKw′, t′0))← PE.KG(1λ, d)

7: ucntw ← 0

8: ST← (w ,EK′w , ucntw , (SK′w , t′0))

16

Page 21: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Concrete Description IV-2: Search @Server

Algorithm 7 Search(msk,ST,w ; EDB)→ (ST′; I ) @Server

Require: τw , EDB

Ensure: I ⊂ I, EDB′

1: I ← ∅, i ← 1

2: while i ≤ ucntw do

3: labelw ← H(kw , i)

4: if EDB[labelw ] 6= ⊥ then

5: pvalw = (ctw , tw )← EDB[labelw ].Pval

6: id← PE.Dec(SKw , ctw , tw )

7: NewR← NewR ∪ {(id, tw )}8: i ← i + 1

9: OldR← EDBcache [kw ]

10: OldR← OldR \ {(id, tw )|(id, tw ) ∈ OldR ∧ tw ∈ Tw}11: Res← NewR ∪ OldR

12: EDBcache [kw ]← Res

13: Send Res to the client

Labelid Labelw Pval

H(kid1 , 1) H(kw1 , 1) PE.Enc(· · · )...

17

Page 22: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Comparison

Computational complexity

Janus++ Ours

Search O(aw ) PE.Dec O(aw − dw ) PE.Dec

Add O(N) PE.Enc O(N) PE.Enc

Delete O(did) PE.Punc O(did) PE.Punc

aw : the number of added documents that include keyword w

dw : the number of deleted documents that include keyword w

N: the total number of document/keyword pairs

did : the number of keywords in the document to be deleted

Storage

Janus++ Ours

Client O(W ) O(W )

Server O(Σw (aw + dw )) O(Σw (aw − dw ))

W : the total number of keywords in DB

18

Page 23: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Conclusion & Future Works

Page 24: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Conclusion & Future Works

We provided a new backward secure DSSE under the dual dictionary structure by

adjusting Janus/Janus++.

In terms of theoretical efficiency analysis, the search time/the storage of ours are

faster/smaller than those of the original Janus++, respectively, but the advantage

is incremental.

Need implementations for our proposed construction to compare more accurate

efficiency in practice

The maximum number of punctured points is restricted in Sun et al.’s SPE.

Can we remove this limitation?

19

Page 25: Backward Secure Dynamic Searchable Symmetric Encryption ...€¦ · Backward Secure Dynamic Searchable Symmetric Encryption with E cient Updates Hyung Tae Lee Chonbuk National University,

Thanks for your attention!

&

Question?

20