in searchable symmetric encryption
play

in Searchable Symmetric Encryption Kaoru Kurosawa and Yasuhiro - PowerPoint PPT Presentation

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


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

  2. 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

  3. A Searchable Symmetric Encryption (SSE) scheme • Consists of a store phase and a search phase • Suppose that we have 5 documents and 3 keywords. keyword Documents Austin D 1 , D 3 , D 5 Boston D 2 , D 4 Washington D 1 , D 2 , D 4

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

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

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

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

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

  9. 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.

  10. 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 ). Malicious E(Austin) E(D 1 ), E(D 3 ), E(D 5 ) E(D 2 ) Client Server

  11. 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

  12. 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.

  13. Our contribution Comparison with Previous Works Verifiability Dynamism Curtmola et al. X X Kurosawa et al. O X Kamara et al. X O This paper O O

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

  15. Contents of the encrypted index keyword Documents Austin D 1 , D 3 , D 5 Boston D 2 , D 4 Washington D 1 , D 2 , D 4 label document ID Authenticator 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

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

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

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

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

  20. Suppose the client wants to modify C 1 to C′ 1 • The client must store C′ 1 and two updated authenticators to the server. label document ID Authenticator 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 ) ) • If C 1 includes more keywords, then the client must update more authenticators.

  21. To update efficiently Authenticator • Authenticate for Document 1 MAC(1, C 1 ) (t(Austin), (1, 3, 5)) 2 MAC(2, C 2 ) and 3 MAC(3, C 3 ) each (i, C i ) 4 MAC(4, C 4 ) separately. … … label doc ID Authenticator 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) )

  22. To update C 1 to C′ 1 Authenticator • the client has only to store for Document 1 MAC(1, C' 1 ) just one authenticator on (1, C′ 1 ) 2 MAC(2, C 2 ) no matter how many keywords 3 MAC(3, C 3 ) are included in C 1 . 4 MAC(4, C 4 ) … … label doc ID Authenticator 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) )

  23. 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) ).

  24. 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 Malicious ( 1, C’ 1 , MAC(1,C ’ 1 ) ). tag Austin , (1, C' 1 , x' 1 ), (3, C 3 , x 3 ), (5, C 5 , x 5 ) Client Server (1, C 1 , x 1 )

  25. 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))

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

  27. 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).

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

  29. 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.

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

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

  32. 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

  33. 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 .

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

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

  36. Store phase: File encryption The client first encrypts each document. D 1 D 2 D 3 D 4 D 5 K e E E E E E C 1 C 2 C 3 C 4 C 5

  37. Store phase: Index encryption The plain index is an 5 x 3 binary matrix where e i,j =1 if keyword i is contained in D j, 0 otherwise D 1 D 2 D 3 D 4 D 5 1 2 3 4 5 1 1 0 1 0 1 Austin 2 0 1 0 1 0 Baltimore 3 1 1 0 1 0 Washington

  38. Store phase: Index encryption 1 2 3 4 5 1 1 0 1 0 1 Austin Baltimore 2 0 1 0 1 0 Washington 3 1 1 0 1 0 K 0 1 0 1 0 1 PRF K 1 PRF first 5 bits first 128 bits pad Austin label Austin index Austin

  39. Store phase: Index encryption 1 2 3 4 5 1 1 0 1 0 1 Austin Baltimore 2 0 1 0 1 0 Washington 3 1 1 0 1 0 K 0 K 1 index Austin label Austin label Baltimore index Baltimore label Washington index Washington

Recommend


More recommend