how to search on
play

How to Search on Encrypted Data SENY KAMARA MICROSOFT RESEARCH - PowerPoint PPT Presentation

How to Search on Encrypted Data SENY KAMARA MICROSOFT RESEARCH Encryption 2 Gen ( 1 k ) K Secure Communiation Enc ( K , m ) c Dec (K, c ) m Alice Bob Eve Encryption 3 Gen ( 1 k ) K Secure Storage Enc (


  1. How to Search on Encrypted Data SENY KAMARA MICROSOFT RESEARCH

  2. Encryption 2  Gen ( 1 k ) ⟾ K Secure Communiation  Enc ( K , m ) ⟾ c  Dec (K, c ) ⟾ m Alice Bob Eve

  3. Encryption 3  Gen ( 1 k ) ⟾ K Secure Storage  Enc ( K , m ) ⟾ c  Dec (K, c ) ⟾ m Alice Eve

  4. Encryption 4  Gen ( 1 k ) ⟾ K Secure Cloud Storage  Enc ( K , m ) ⟾ c  Dec (K, c ) ⟾ m Alice Eve

  5. 5 Encrypted Search

  6. Encrypted Search 6 Enc K Enc K Enc K

  7. Two Simple Solutions 7 Enc Enc ? id 2 Enc Enc Large local storage Large comm. Q : can we do better? complexity

  8. More Advanced Solutions 8  Multi-Party Computation [Yao82, Goldreich-Micali-Wigderson87]  Oblivious RAM [Goldreich-Ostrovsky92]  Searchable symmetric encryption [Song-Wagner-Perrig01]  Functional encryption [Boneh-di Crescenzo-Ostrovsky-Persiano06]  Property-preserving encryption [Bellare-Boldyreva- O’Neill06 ]  Fully-homomorphic encryption [Gentry09]

  9. Encrypted Search 9 Enc K L 1 w L 2 EncK EncK

  10. Encrypted Search 10 Size of EDB Storage leakage Search time Query leakage Rounds of interaction

  11. Property-Preserving Encryption 11  Encryption that supports public tests  Examples:  Deterministic encryption [Bellare-Boldyreva- O’Neill06 ]  Order-preserving encryption [Agrawal-Kiernan-Srikant-Xu04, Boldyreva-Chenette-Lee- O’Neill09 ]  Orthogonality-preserving encryption [Pandey-Rouselakis12]

  12. Deterministic Encryption 12 [Bellare-Boldyreva- O’Neill06 ] Enc K  Gen ( 1 k ) ⟾ K = 〈 K 1 , K 2 〉 DET K DET K W 2 DETK W 3 W 1  DET ( K , w ) ⟾ 〈 F K2 (w), F K1 (F K2 (w)) ⊕ w 〉 EncK DETK DETK W 8 EDB W 2  Test ( c 1 , c 2 ) ⟾ c 1 =c 2 EncK  Dec ( sk, c ) ⟾ F K1 (c 1 ) ⊕ c 2 DETK W 1 DETK W 4 FK W 2 EncK EncK

  13. DET-Based Solution 13 Security Efficiency  Search  L 1 leakage  Sub-linear in #DB  #DB  process EDB like DB  equality  Legacy  PK: DB*  L 2 leakage  access pattern  search pattern * Unless DB has high entropy

  14. Functional Encryption 14  Encryption that supports private tests  Examples:  Identity-based encryption [Boneh-Franklin01, Boneh-diCrescenzo-Ostrovsky-Persiano06]  Attribute-based encryption [Sahai-Waters05]  Predicate encryption [Shen-Shi-Waters]

  15. Identity-Based Encryption 15 EncK  Gen ( 1 k ) ⟾ K IBE K ( w 1 , 1) IBE K ( w 2 , 1)  IBE ( K , id , m ) ⟾ c EncK IBE K ( w 3 , 1) EDB  Token ( K , id’ ) ⟾ t  Dec (t, c ) ⟾ m if id=id’ EncK IBE K ( w 6 , 1) IBE K ( w 2 , 1) Token K ( f w ) EncK EncK

  16. IBE-Based Solution 16 Security Efficiency  Slow search  L 1 leakage  Linear in #DB  #DB  Equality  PK: DB*  L 2 leakage  access pattern  PK: keyword* * [Boneh-Raghunathan-Segev13]

  17. Homomorphic Encryption 17  Encryption that supports computation  Examples:  Fully-homomorphic encryption [ Gentry09,… ]  Somewhat homomorphic encryption [Boneh-Goh- Nissim05, … ]

  18. Homomorphic Encryption 18  Gen ( 1 k ) ⟾ K  Enc ( K , m ) ⟾ c EDB = FHE K  Eval ( f , c 1 , …, c n ) ⟾ c ’  Dec ( sk, c’ ) ⟾ f ( Dec(c 1 ), …, Dec( c n ) ) FHE K (w) FHE K (id 4 , …, id 13 ) id 4 , …, id 13 EncK EncK

  19. FHE-Based Solution (1) 19 Security Efficiency  Very slow search  L 1 leakage  Interactive (1 round)  #DB  Linear in |DB|  Equality  PK: DB*  L 2 leakage  access pattern  PK: keyword

  20. FHE-Based Solution (2) 20 Security Efficiency  Very very slow search  L 1 leakage  Interactive (1 round)  #DB  Linear in |Data|  Equality  PK: DB*  L 2 leakage  access pattern  PK: keyword

  21. Oblivious RAM 21  Encryption that supports private reads and writes  Examples:  Square-root scheme [Goldreich-Ostrovsky92]  Hierarchichal scheme [Goldreich-Ostrovsky]

  22. ORAM-Based Solution 22  OStruct ( 1 k , Mem ) ⟾ K, Ω EDB = OStruct  ORead (( K , i ), Ω ) ⟾ ( Mem[i], ⊥ )  OWrite((K, i, v) , Ω ) ⟾ ( ⊥, Ω’ ) OStruct OSim(DB Search)

  23. ORAM-Based Solution 23 Security Efficiency  Very slow search  L 1 leakage  1 R/W = polylog(n) R+W  #DB  Equality  PK: DB*  L 2 leakage  access pattern  PK: keyword

  24. Tradeoffs 24 Efficiency PPE/DET SSE FEnc/IBE ORAM FHE-1 FHE-2 Security

  25. 25 Searchable Symmetric Encryption

  26. Searchable Symmetric Encryption 26  Encryption that supports very slow search [Song-Wagner-Perrig01]  Encryption that supports slow search [Song-Wagner-Perrig01, Goh03, Chang-Mitzenmacher05]  Encryption that supports fast search [Curtmola-Garay-K.-Ostrovsky06]  Very slow: linear in|Data|  Slow: linear in #DB  Fast: sub-linear in #DB

  27. Searchable Encryption 27  SSE (DB) ⟾ ( K, EDB )  Token ( K , w ) ⟾ t EDB = SSE  Search ( EDB, t ) ⟾ (id 1 ,…, id m )  Dec (K, c ) ⟾ m Token K ( w ) EncK EncK

  28. Security Definitions 28  Security against chosen-keyword attack [Goh03,Chang-Mitzenmacher05,Curtmola-Garay-K.-OstrovskyO06] CKA1: “Protects files and keywords even if chosen by adversary”  Security against adaptive chosen-keywords attacks [Curtmola-Garay-K.-Ostrovsky06] CKA2 : “Protects files and keywords even if chosen by adversary, and even if chosen as a function of ciphertexts , index, and previous results”

  29. Security Definitions 29  Universal composability [Kurosawa-Ohtaki12, Canetti01] UC: “Remains CKA2 - secure even if composed arbitrarily”

  30. CKA2-Security 30 [Curtmola-Garay-K.-Ostrovsky06]  Simulation -based definition  ``The EDB and tokens are simulatable given the leakage generated by an adversarially- and adaptively- chosen DB and queries”  Leakage  access pattern: pointers to (encrypted) files that satisfy search query  query pattern: whether a search query is repeated

  31. CKA2-Security 31 [Curtmola-Garay-K.-Ostrovsky06]  Game -based definition  ``The EDBs and tokens generated from two adversarially- and adaptively-chosen DBs and query sequences with the same leakage are indistinguishable”  Leakage  access pattern: pointers to (encrypted) files that satisfy search query  query pattern: whether a search query is repeated

  32. CKA2-Security 32 [Curtmola-Garay-K.-Ostrovsky06]  Simulation-based ⇒ Game -based  Game- based ⇒ Simulation -based  If given leakage, one can efficiently sample plaintext docs and queries with same leakage profile  Similar to results for functional encryption [ O’Neill10, Boneh -Sahai-Waters11]

  33. CKA2-Security 33 [Curtmola-Garay-K.-Ostrovsky06] Ideal World Real World L 1 Enc K EDB ?$s!l)csd@#C L 2 (w) w w t @#kj^%ks# Equivocation ⋮ ⋮

  34. CKA2-Security 34 [Curtmola-Garay-K.-Ostrovsky06]  Simulator “commits” to encryptions before queries are made  requires equivocation and some form of non-committing encryption  [Chase-K.10]  Lower bound on token length (simulation + w/o ROs)  ≈ [Nielsen02]  Ω 𝜇 ∙ log n  n: # of documents  𝜇 : max (over kw) # of documents w/ keyword  Lower bound on FE token length (simulation + w/o ROs)  Token proportional to maximum # of ciphertexts

  35. 35 Constructions

  36. Searchable Symmetric Encryption 36 Scheme Updates Security Search Parallel Queries [SWP00] No CPA O(|Data|) O(n/p) Single [Goh03] Yes CKA1 O(#DB) O(n/p) Single [CM05] No CKA1 O(#DB) O(n/p) Single [CGKO06] #1 No CKA1 O(OPT) No Single [CGKO06] #2 No CKA2 O(OPT) No Single [CK10] No CKA2 O(OPT) No Single [vLSDHJ10] Yes CKA2 O(log #W) No Single [KO12] No UC O(#DB) No Single [KPR12] Yes CKA2 O(OPT) No Single [KP13] Yes CKA2 O( OPT∙log (n)) Single O( OPT p ∙log(n)) [CJJKRS13] No CKA2 O(OPT) Yes Boolean

  37. SSE-1 37 [Curtmola-Garay-K.-Ostrovsky06] 1. Build inverted/reverse index MSFT F2 F10 F11 GOOG F2 F8 F14 Posting list AAPL F1 F2 IBM F4 F10 F12 2. Randomly permute array & nodes GOOG F11 F8 F2 F10 IBM F1 F4 F12 F10 AAPL F2 F2 F14 # MSFT

  38. SSE-1 38 [Curtmola-Garay-K.-Ostrovsky06] GOOG 2. Randomly permute array & nodes F11 F8 F2 F10 IBM F1 F4 F12 F10 AAPL F2 F2 F14 # CPA or Anonymous MSFT 3. Encrypt nodes GOOG IBM AAPL MSFT

  39. SSE-1 39 [Curtmola-Garay-K.-Ostrovsky06] 3. Encrypt nodes GOOG IBM AAPL MSFT 4. “Hash” keyword & encrypt pointer Enc G ( • , K ) F K (GOOG) Enc I ( • , K ) F K (IBM) Enc A ( • , K ) F K (AAPL) Enc M ( • , K ) F K (MSFT)

  40. Limitations of SSE-1 40  Only CKA1-secure  addressed in [Chase-K.10]  Only static  addressed in [K.-Papamanthou-Roeder12]  High I/O complexity  addressed in [K.-Papamanthou13]  Single keyword search  addressed in [Cash-Jarecki-Jutla-Krawczyk-Rosu-Steiner13]

  41. Making SSE-1 Adaptively Secure 41  Idea #1 [Chase-K.-10]  replace general CPA encryption with standard PRF-based encryption  PRF-based encryption is non-committing  Idea #2 [K.-Papamanthou-Roeder12]  PRF-based encryption not enough for dynamic data  Some add/delete patterns can make simulator commit to token before seeing outcome  Tokens must be equivocable (i.e., non-committing)  Use RO-based encryption

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend