How to Update Documents Verifiably in Searchable Symmetric Encryption Kaoru Kurosawa and Yasuhiro Ohtaki Ibaraki University, Japan.

Slides:



Advertisements
Similar presentations
Security and Privacy over the Internet Chan Hing Wing, Anthony Mphil Yr. 1, CSE, CUHK Oct 19, 1998.
Advertisements

ONE WAY FUNCTIONS SECURITY PROTOCOLS CLASS PRESENTATION.
1 Chapter 7-2 Signature Schemes. 2 Outline [1] Introduction [2] Security Requirements for Signature Schemes [3] The ElGamal Signature Scheme [4] Variants.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Digital Signatures and Hash Functions. Digital Signatures.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
BY : Darshana Chaturvedi.  INTRODUCTION  RSA ALGORITHM  EXAMPLES  RSA IS EFFECTIVE  FERMAT’S LITTLE THEOREM  EUCLID’S ALGORITHM  REFERENCES.
Introduction to Practical Cryptography Lecture 9 Searchable Encryption.
Searchable Symmetric Encryption :Improved Definitions and Efficient Constructions Reza Curtmola Juan Garay Seny Kamara Rafail Ostrovsky.
How to Keyword-Search Securely in Cloud Storage Service Kaoru Kurosawa Ibaraki University, Japan ICISC 2014, Dec. 3-5, Chung-Ang University, Korea.
Session 4 Asymmetric ciphers.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
1 Efficient Conjunctive Keyword-Searchable Encryption,2007 Author: Eun-Kyung Ryu and Tsuyoshi Takagi Presenter: 顏志龍.
Dr Alejandra Flores-Mosri Message Authentication Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to:
Identity Based Encryption
Efficient Conjunctive Keyword-Searchable Encryption,2007 Author: Eun-Kyung Ryu and Tsuyoshi Takagi Presenter: 顏志龍.
Reza Curtmola Juan Garay Seny Kamara Rafail Ostrovsky
Chapter 7-1 Signature Schemes.
Secure Hashing and DSS Sultan Almuhammadi ICS 454 Principles of Cryptography.
1 Secure Indexes Author : Eu-Jin Goh Presented by Yi Cheng Lin.
Chapter 9 Cryptographic Protocol Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
Public Key Encryption that Allows PIR Queries Dan Boneh 、 Eyal Kushilevitz 、 Rafail Ostrovsky and William E. Skeith Crypto 2007.
13.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 13 Digital Signature.
Digital Signatures (DSs) The digital signatures cannot be separated from the message and attached to another The signature is not only tied to signer but.
Practical Techniques for Searches on Encrypted Data Yongdae Kim Written by Song, Wagner, Perrig.
8. Data Integrity Techniques
Bob can sign a message using a digital signature generation algorithm
1 Lect. 15 : Digital Signatures RSA, ElGamal, DSA, KCDSA, Schnorr.
The RSA Algorithm Rocky K. C. Chang, March
Cong Wang1, Qian Wang1, Kui Ren1 and Wenjing Lou2
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Cryptography Lecture 8 Stefan Dziembowski
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
Digital Signatures A primer 1. Why public key cryptography? With secret key algorithms Number of key pairs to be generated is extremely large If there.
EE515/IS523 Think Like an Adversary Lecture 4 Crypto in a Nutshell Yongdae Kim.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Cryptography Lecture 9 Stefan Dziembowski
Cryptography for Cloud Storage Service Kaoru Kurosawa Ibaraki University, Japan CRYPTOLOGY 2012, 4-6 June, Langkawi, Malaysia.
CMSC 414 Computer and Network Security Lecture 5 Jonathan Katz.
Yu-Li Lin and Chien-Lung Hsu Department of Information Management, Chang-Gung University Information Science(SCI) Reporter: Tzer-Long Chen.
Public Key Encryption with keyword Search Author: Dan Boneh Rafail Ostroversity Giovanni Di Crescenzo Giuseppe Persiano Presenter: 陳昱圻.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Digital Signatures, Message Digest and Authentication Week-9.
Authentication Issues and Solutions CSCI 5857: Encoding and Encryption.
Secure Conjunctive Keyword Search Over Encrypted Data Philippe Golle Jessica Staddon Palo Alto Research Center Brent Waters Princeton University.
Secure Communication between Set-top Box and Smart Card in DTV Broadcasting Authors: T. Jiang, Y. Hou and S. Zheng Source: IEEE Transactions on Consumer.
A A E E D D C C B B # Symmetric Keys = n*(n-1)/2 F F
Identity based signature schemes by using pairings Parshuram Budhathoki Department of Mathematical Science FAU 02/21/2013 Cyber Security Seminar, FAU.
Data Integrity Proofs in Cloud Storage Author: Sravan Kumar R and Ashutosh Saxena. Source: The Third International Conference on Communication Systems.
UC/Garbled Searchable Symmetric Encryption Kaoru Kurosawa Ibaraki University, Japan.
Keyword search on encrypted data. Keyword search problem  Linux utility: grep  Information retrieval Basic operation Advanced operations – relevance.
COM 5336 Lecture 8 Digital Signatures
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
All Your Queries are Belong to Us: The Power of File-Injection Attacks on Searchable Encryption Yupeng Zhang, Jonathan Katz, Charalampos Papamanthou University.
SSE-2 Step1: keygen(1 k ):s {0,1} k,output K=s Step2:Buildindex(K,D): 建立 table T, p=word bit+max bit R 假設 w 1 出現在 D 1,D 3 T[π s (w 1 ||1)]=D 1 T[π s (w.
Data Integrity / Data Authentication. Definition Authentication (Signature) algorithm - A Verification algorithm - V Authentication key – k Verification.
Homework #1 J. H. Wang Oct. 9, 2012.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
CS480 Cryptography and Information Security Huiping Guo Department of Computer Science California State University, Los Angeles 14. Digital signature.
Searchable Encryption in Cloud
Attacks on Public Key Encryption Algorithms
based on slides by Debra Cook
Digital Signatures.
Where Complexity Finally Comes In Handy…
Topic 13: Message Authentication Code
Where Complexity Finally Comes In Handy…
Where Complexity Finally Comes In Handy…
Presentation transcript:

How to Update Documents Verifiably in Searchable Symmetric Encryption Kaoru Kurosawa and Yasuhiro Ohtaki Ibaraki University, Japan

Outline (1) Introduction (2) Our (previous) verifiable SSE scheme (3) Extend it to a dynamic SSE scheme (but not yet fully verifiable) (4) Verifiable dynamic SSE scheme (5) Summary

A Searchable Symmetric Encryption (SSE) scheme Consists of a store phase and a search phase Suppose that we have 5 documents and 3 keywords. keywordDocuments AustinD 1, D 3, D 5 BostonD 2, D 4 WashingtonD 1, D 2, D 4

In the store phase, A client stores encrypted files (or documents) and an index I (in a encrypted form) on a server. Client Server E(D 1 ), ⋯, E(D 5 ), I

In the search phase, the client sends an encrypted keyword to the server. Client Server E(Austin)

The server somehow returns the encrypted files E(D 1 ), E(D 3 ), E(D 5 ) which contain the keyword. Client Server E(D 1 ), E(D 3 ), E(D 5 )

So the client can retrieve the encrypted files which contain a specific keyword, keeping the keyword and document secret to the server. Client Server E(D 1 ), E(D 3 ), E(D 5 ) E(Austin) E(D 1 ), ⋯, E(D 5 ), I

By Passive Attack A malicious server breaks the privacy. She tries to find the keyword and the documents. Client Server E(D 1 ), E(D 3 ), E(D 5 ) Malicious E(Austin)

The security against passive attacks has been studied by several researchers. Curtmola, Garay, Kamara and Ostrovsky showed a rigorous definition of security against passive attacks. They also gave a scheme which satisfies their definition.

By Active Attack A malicious server breaks the reliability. She tries to forge/delete some files or replace E(D 1 ) with another (valid) E(D 2 ). Client Server E(D 1 ), E(D 3 ), E(D 5 ) E(D 2 ) Malicious E(Austin)

The security against active attacks has been studied by Kurosawa et al. (2011) They showed a definition of security against active attacks. They proposed a verifiable SSE scheme – the client can detect any cheating behavior of malicious server. – UC-secure

Dynamic SSE scheme Kamara et al. showed a dynamic SSE scheme. – the client can add and delete documents. – secure against adaptive chosen keyword attacks. Subsequently, they showed a parallel and dynamic SSE scheme. However, these dynamic schemes are not verifiable.

Our contribution VerifiabilityDynamism Curtmola et al.XX Kurosawa et al.OX Kamara et al.XO This paperOO Comparison with Previous Works

Outline (1)Introduction (2)Our (previous) verifiable SSE scheme (3)Extend it to a dynamic SSE scheme (but not yet fully verifiable) (4)Verifiable dynamic SSE scheme (5)Summary

Contents of the encrypted index labeldocument IDAuthenticator t(Austin)(1, 3, 5)tag Austin =MAC( t(Austin), (C 1, C 3, C 5 ) ) t(Boston)(2, 4)tag Boston =MAC( t(Boston), (C 2, C 4 ) ) t(Washington)(1, 2, 4)tag Washington =MAC( t(Washington), (C 1, C 2, C 4 ) ) t() : some trapdoor function MAC() : some Message Authentication Code keywordDocuments AustinD 1, D 3, D 5 BostonD 2, D 4 WashingtonD 1, D 2, D 4

In the search phase, The server receives t(keyword) and output C(keyword) tag keyword C(Austin) = { C 1, C 3, C 5 } tag Austin Search t(Austin) C= { C 1, ⋯, C N }, I and send them to the client.

Verify algorithm Accept iff MAC(t(Austin), C 1, C 3, C 5 ) = tag* C 1, C 3, C 5, tag* Accept / Reject Verify K t(Austin) C 1, C 3, C 5 tag* t(Austin)

Outline (1)Introduction (2)Our (previous) verifiable SSE scheme (3)Extend it to a dynamic SSE scheme (but not yet fully verifiable) (4)Verifiable dynamic SSE scheme (5)Summary

Extending the previous scheme When we consider extending our previous scheme to a dynamic scheme, we noticed that the scheme cannot modify documents efficiently.

Suppose the client wants to modify C 1 to C′ 1 The client must store C′ 1 and two updated authenticators to the server. If C 1 includes more keywords, then the client must update more authenticators. labeldocument IDAuthenticator t(Austin)(1, 3, 5)tag Austin =MAC( t(Austin), (C 1, C 3, C 5 ) ) t(Boston)(2, 4)tag Boston =MAC( t(Boston), (C 2, C 4 ) ) t(Washington)(1, 2, 4)tag Washington =MAC( t(Washington), (C 1, C 2, C 4 ) )

To update efficiently Authenticate (t(Austin), (1, 3, 5)) and each (i, C i ) separately. labeldoc IDAuthenticator for index t(Austin)(1, 3, 5) tag Austin =MAC( t(Austin), (1, 3, 5) ) t(Boston)(2, 4)tag Boston =MAC( t(Boston), (2, 4) ) t(Washington)(1, 2, 4) tag Washington =MAC( t(Washington), (1, 2, 4) ) Authenticator for Document 1 MAC(1, C 1 ) 2MAC(2, C 2 ) 3MAC(3, C 3 ) 4MAC(4, C 4 ) ……

To update C 1 to C′ 1 the client has only to store just one authenticator on (1, C′ 1 ) no matter how many keywords are included in C 1. Authenticator for Document 1 MAC(1, C' 1 ) 2MAC(2, C 2 ) 3MAC(3, C 3 ) 4MAC(4, C 4 ) …… labeldoc IDAuthenticator for index t(Austin)(1, 3, 5) tag Austin =MAC( t(Austin), (1, 3, 5) ) t(Boston)(2, 4)tag Boston =MAC( t(Boston), (2, 4) ) t(Washington)(1, 2, 4) tag Washington =MAC( t(Washington), (1, 2, 4) )

Deletion and Addition To delete a document C 2 the client runs update with a special symbol C′ 2 = delete. To add a new document D 6 which includes Austin, the client updates the authenticator tag Austin = MAC( t(Austin), (1, 3, 5) ) to tag' Austin = MAC( t(Austin), (1, 3, 5, 6) ).

However, This scheme is vulnerable against replay attack. A malicious server may return old (1, C 1, MAC(1,C 1 ) ) instead of the latest ( 1, C’ 1, MAC(1,C’ 1 ) ). Client Server tag Austin, (1, C' 1, x' 1 ), (3, C 3, x 3 ), (5, C 5, x 5 ) Malicious (1, C 1, x 1 )

So the problem is How to timestamp on the current/updated (i, C i ) How to timestamp on the current/updated ( label Austin, (1, 3, 5))

We solved this problem by using an authentication scheme which posses the timestamp functionality. – Merkle hash tree – Authenticated skip list – RSA accumulator

These schemes Allows one to hash a set of inputs E= { x 1,x 2,..., x n } into one short accumulation value Acc(E). Infeasible to find a set E' such that Acc(E) = Acc(E'), E≠E'. Able to construct a "witness"  j that a given input x j was incorporated into Acc(E).

RSA accumulator Let f be a function randomly chosen from a two-universal function family F = {f a : {0,1}   {0,1} }. For any y {0,1}, we can compute a prime x {0,1}  such that f(x)=y by sampling O(  ) times with overwhelming probability.

RSA accumulator Let p=2p'+1 and q=2q'+1 be two large primes such that p' and q' are also primes and |pq|>3. Let N=pq. Let QR N ={a | x 2 mod N for some x Z * N }. Then QR N is a cyclic group of size (p-1)(q-1)/4. Let g be a generator of QR N.

RSA accumulator For a set E={y 1, y 2,..., y n } with y i {0,1}  RSA accumulator works as follows: – For each y i, Alice chooses a prime x i {0,1}  randomly. Let prime(y i ) denote such a prime x i. x i = prime(y i ) – Alice computes accumulated value of set E as Acc(E) = g mod N and sends Acc(E) to Bob. x 1 x 2 … x n

RSA accumulator Later, Alice proves that y j E to Bob as follows : – She computes π j = g mod N x j = prime(y i ) and sends π j and x j to Bob – Bob verifies that Acc(E) = π j mod N x 1 x 2 … x j-1 x j+1 … x n xjxj

To time stamp in our scheme We apply the RSA accumulator to the sets E c = { (i, C i ) | i=1, …, n} E I = { (label i, j, [index i ] j ) | i=1,…,m, j=1,…,n} and compute their accumulated values A C = Acc( E C ) A I = Acc( E I ) [x] j : j-th bit of x

Update and Verification The client updates A C each time when he modifies or deletes a document. He also updates A I each time when he adds a document. In the search phase, the client checks whether the server returned the valid latest ciphertexts, based on A C and A I.

Outline (1)Introduction (2)Our (previous) verifiable SSE schemes (3)Extend it to a dynamic SSE scheme (but not yet fully verifiable) (4)Verifiable dynamic SSE scheme (5)Summary

Key generation The client first generates set of keys and keeps them secret. KeKe K 0, K 1 key of SKE keys of PRF KeyGen K

Store phase: File encryption D1D1 D2D2 D3D3 D4D4 D5D5 C1C1 C2C2 C3C3 C4C4 C5C5 EEEEE KeKe The client first encrypts each document.

Store phase: Index encryption Washington Baltimore Austin The plain index is an 5x3 binary matrix where e i,j =1 if keyword i is contained in D j, 0 otherwise D1D1 D2D2 D3D3 D4D4 D5D5

Store phase: Index encryption index Austin PRF label Austin Austin Baltimore Washington pad Austin first 5 bits first 128 bits K0K0 K1K1

Store phase: Index encryption label Austin label Baltimore label Washington Austin Baltimore Washington K0K0 K1K1 index Austin index Baltimore index Washington

Store phase: Compute A C x 1 = prime( H(1, H(C 1 )) ) x 2 = prime( H(2, H(C 2 )) ) x 3 = prime( H(3, H(C 3 )) ) x 4 = prime( H(4, H(C 4 )) ) x 5 = prime( H(5, H(C 5 )) ) The client map each document status into a prime number and computes A C A C = g mod N x 1 x 2 x 3 x 4 x 5 H() : collision-resistant hash function

Store phase: Compute A I The client also maps each element of the encrypted index to a prime number. p 1,1 = prime( H(label Austin, 1, 0)) p 1,2 = prime( H(label Austin, 2, 1)) p 1,3 = prime( H(label Austin, 3, 1)) p 1,4 = prime( H(label Austin, 4, 1)) p 1,5 = prime( H(label Austin, 5, 0)) Document ID index Austin

Store phase: Compute A I Do same for all encrypted index element. p 1,1 = prime( H(label Austin, 1, 1)) p 1,2 = prime(H(label Austin, 1, 2, 0)) p 1,3 = prime(H(label Austin, 1, 3, 1)) p 1,4 = prime(H(label Austin, 1, 4, 0)) p 1,5 = prime(H(label Austin, 1, 5, 1)) p 2,1 = prime( H(label Baltimore, 1, 0)) p 2,2 = prime( H(label Baltimore, 2, 0)) p 2,3 = prime(H(label Baltimore, 1, 3, 1)) p 2,4 = prime(H(label Baltimore, 1, 4, 0)) p 2,5 = prime(H(label Baltimore, 1, 5, 1)) p 3,1 = prime( H(label Washington, 1, 1)) p 3,2 = prime( H(label Washington, 2, 0)) p 3,3 = prime( H(label Washington, 3, 1)) p 3,4 = prime( H(label Washington, 4, 0)) p 3,5 = prime( H(label Washington, 5, 0))

Store phase: Compute A I The client computes A I A I = g mod N p 1,1 p 1,2...p 1,5 p 2,1...p 2,5 p 3,1...p 3,5 The client keeps n(=5), A I and A c.

Store phase: Store data C= I= (label Austin, index Austin ) (label Baltimore, index Baltimore ) (label Wasington, index Washington ) (1, C 1 ) (2, C 2 ) (3, C 3 ) (4, C 4 ) (5, C 5 ) Client Server

Search phase: Keyword encryption PRF label Austin Austin pad Austin first 5 bits first 128 bits K0K0 K1K1 Search Keyword The client computes the label and pad for the keyword. Server

Search phase: Find C(Austin) index Austin PAD Austin label Austin (label Austin, index Austin ) (label Baltimore, index Baltimore ) (label Wasington, index Washington ) C(Austin) = (1, C 1 ), (3, C 3 ), (5, C 5 ) index Austin (1, C 1 ) (2, C 2 ) (3, C 3 ) (4, C 4 ) (5, C 5 )

Search phase: Compute  C index Austin  C = g mod N x 2 x 4 PAD Austin label Austin index Austin (1, C 1 ) (2, C 2 ) (3, C 3 ) (4, C 4 ) (5, C 5 ) x 2 = prime(H(2, H(C 2 ))) x 4 = prime(H(4, H(C 4 ))) (label Austin, index Austin ) (label Baltimore, index Baltimore ) (label Wasington, index Washington )

PRF prime(y) y prime selector PRF prime(y) y prime selector How can the server compute prime() locally? prime(y) should be a prime number chosen randomly by the client. In our scheme, we use PRF with a key K a chosen randomly by the client. KaKa client server

Search phase : Compute   PAD Austin label Austin   =g mod N p 2,1...p 2,5 p 3,1...p 3,5 p 2,1 = prime( H(label Baltimore, 1, 0)) p 2,2 = prime( H(label Baltimore, 2, 0)) p 2,3 = prime(H(label Baltimore, 1, 3, 1)) p 2,4 = prime(H(label Baltimore, 1, 4, 0)) p 2,5 = prime(H(label Baltimore, 1, 5, 1)) p 3,1 = prime( H(label Washington, 1, 1)) p 3,2 = prime( H(label Washington, 2, 0)) p 3,3 = prime( H(label Washington, 3, 1)) p 3,4 = prime( H(label Washington, 4, 1)) p 3,5 = prime( H(label Washington, 5, 0)) (label Austin, index Austin ) (label Baltimore, index Baltimore ) (label Wasington, index Washington )

Search phase : Sending the results Client Server PAD Austin label Austin (1, C 1 ), (3, C 3 ), (5, C 5 ),  C,  I The server send the encrypted documents and two witnesses to the client.

Search phase: Verify (1/4) AIAI ACAC label Austin (1, C 1,), (3, C 3 ), (5, C 5 ), π C, π I PAD Austin index Austin The client first reconstructs the encrypted index from the encrypted documents.

Search phase: Verify (2/4) AIAI p 1,1 = prime(H(label Austin, 1, 0)) p 1,2 = prime(H(label Austin, 2, 1)) p 1,3 = prime(H(label Austin, 3, 1)) p 1,4 = prime(H(label Austin, 4, 1)) p 1,5 = prime(H(label Austin, 5, 0)) ACAC label Austin (1, C 1,), (3, C 3 ), (5, C 5 ), π C, π I PAD Austin index Austin Then he can compute the primes for the index elements related to the keyword.

Search phase: Verify (3/4) AIAI A I =  I mod N p 1,1...p 1,5 p 1,1 = prime(H(label Austin, 1, 1)) p 1,2 = prime(H(label Austin, 2, 0)) p 1,3 = prime(H(label Austin, 3, 1)) p 1,4 = prime(H(label Austin, 4, 0)) p 1,5 = prime(H(label Austin, 5, 1)) ACAC label Austin (1, C 1,), (3, C 3 ), (5, C 5 ), π C, π I PAD Austin index Austin 01110

Search phase: Verify (4/4) x 1 =prime(H(1, H(C 1 ))) x 3 =prime(H(3, H(C 3 ))) x 5 =prime(H(5, H(C 5 ))) (1, C 1,), (3, C 3 ), (5, C 5 ), π C, π I A C = π C mod N x1x3x5x1x3x5 AIAI ACAC label Austin PAD Austin

Search phase : Decrypt If all the checks succeed, then the client decrypts and outputs the documents. otherwise outputs reject. (1, C 1,), (3, C 3 ), (5, C 5 ), π C, π I D1D1 D3D3 D5D5 E -1 KeKe

How to modify C 2 to C′ 2 (1/5) Client Server the client sends (2, C' 2 ) to the server. (2, C' 2 )

How to modify C 2 to C′ 2 (2/5) Server the server computes π C. π C = g mod N x1x3x4x5x1x3x4x5 x 1 = prime(H(1, H(C 1 ))) x 3 = prime(H(3, H(C 3 ))) x 4 = prime(H(4, H(C 4 ))) x 5 = prime(H(5, H(C 5 ))) Client (2, C' 2 )

How to modify C 2 to C′ 2 (3/5) Server (2, C' 2 ) the server returns π C and H(C 2 ) and then updates (2, C 2 ) to (2, C′ 2 ). π C, H(C 2 ) Client π C = g mod N x1x3x4x5x1x3x4x5

How to modify C 2 to C′ 2 (4/5) Server the client verifies the latest C 2 the server had Client π C mod N x2x2 x 2 = prime(H(2, H(C 2 ))) (2, C' 2 ) π C, H(C 2 ) ACAC

How to modify C 2 to C′ 2 (5/5) Server and then updates A c to A' C Client A' C = π C mod N = g mod N x' 2 (2, C' 2 ) π C, H(C 2 ) A' C x' 2 = prime(H(2, H(C' 2 ))) x 1 x' 2 x 3 x 4 x 5

How to delete C 2 Server Do the modify with C' 2 = delete. Client A' C = π C mod N x' 2 (2, delete) π C, H(C 2 ) A' C x' 2 = prime(H(2, H(delete)))

To add a new document D 6 (1/5) C 6 = E Ke (D 6 ) 6 Washington Baltimore Austin x6x6 A' C A' C = A C mod N x 6 = prime(H(6, H(C 6 ))) index The client encrypts the document and assign a new prime x 6 and updates A C to A' C.

To add a new document D 6 (2/5) 6 Washington Baltimore Austin 6 index PRF K1K1 6th bit PAD Austin The client also encrypts the index elements related to the new document.

To add a new document D 6 (3/5) 6 Washington Baltimore Austin p 1,6 = prime(H( label Austin, 6, 0)) p 2,6 = prime(H( label Baltimore, 6, 1)) p 3,6 = prime(H( label Washington, 6, 0)) A I ' = A I mod N p 1,6 p 2,6 p 3,6 6 index PRF K1K1 6th bit PAD Austin The client updates A I to A' I update n=5 to n=6

To add a new document D 6 (4/5) 6 Server Client (6, C 6 ) index Finally the client sends the encrypted document and the corresponding index.

12345 6 To add a new document D 6 (5/5) 6 Server Client (6, C 6 ) index The server stores the encrypted document and append the index as the 6 th -column.

Security The proposed scheme is UC-secure against non-adaptive adversaries. Assumptions – the strong RSA assumption – SKE is CPA-secure – PRF is a pseudo-random function – H is a collision-resistant hash function Please refer to the paper for the details.

Efficiency searchmodifydeleteadd communication overhead n+O( )O( ) m computation cost of the Server O(nm)O(n) O(m) computation cost of the Client O(n) O(  ) O(1)O(m)  security parameter n : number of Documents m : number of Keywords

Summary Proposed a Verifiable Dynamic SSE scheme Construction based on RSA Accumulator UC-Secure

Thank you