seny kamara tarik moataz bob 2 bob 2 i can t search bob 2
play

Seny Kamara Tarik Moataz Bob 2 Bob 2 I cant search! Bob 2 - PowerPoint PPT Presentation

Boolean Searchable Symmetric Encryption with Worst-Case Sub-Linear Complexity Seny Kamara Tarik Moataz Bob 2 Bob 2 I cant search! Bob 2 Many Approaches Stream ciphers [SWP00] Bucketing [HILM02] Structured and searchable


  1. Overview: Set Structure with I/E-based Unions id 3 id 1 id 4 id 3 Id 4 Id 2 20

  2. Overview: Set Structure with I/E-based Unions id 3 id 1 id 4 Global Multi-map MM w 1 id 1 id 3 id 4 w 2 id 3 id 3 w 3 id 2 id 4 Id 4 Id 2 20

  3. Overview: Set Structure with I/E-based Unions id 3 id 1 id 4 Global Multi-map MM w 1 id 1 id 3 id 4 w 2 id 3 id 3 w 3 id 2 id 4 Id 4 Id 2 20

  4. Overview: Set Structure with I/E-based Unions Local Multi-map MM 1 id 3 id 3 w 1 ⋀ w 2 id 1 w 1 ⋀ w 3 id 4 id 4 Global Multi-map MM w 1 id 1 id 3 id 4 Local Multi-map MM 2 w 2 id 3 id 3 w 2 ⋀ w 1 id 3 w 3 id 2 id 4 Local Multi-map MM 3 id 4 w 3 ⋀ w 1 Id 4 Id 2 20

  5. IEX: Setup Multi-map MM Setup IEX 1 k , w 1 id 1 id 3 id 4 w 2 id 3 w 3 id 2 id 4 21

  6. IEX: Setup Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 E(id 2 ; w 3 ) w 3 w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) E(id 1 ; w 1 ) w 1 Multi-map MM Setup IEX 1 k , w 1 id 1 id 3 id 4 Encrypted local Multi-map EMM 1 , w 1 ⋀ w 2 w 2 id 3 E(id 3 ; w 1 ) w 1 ⋀ w 3 E(id 4 ; w 1 ) w 3 id 2 id 4 Encrypted local Multi-map EMM 1 w 2 ⋀ w 1 E(id 3 ; w 2 ) Encrypted local Multi-map EMM 2 w 3 ⋀ w 1 E(id 3 ; w 3 ) 21

  7. IEX: Setup Multi-map MM Setup IEX 1 k , w 1 id 1 id 3 id 4 , w 2 id 3 w 3 id 2 id 4 22

  8. IEX: Setup Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 E(id 2 ; w 3 ) w 3 w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) w 1 E(id 1 ; w 1 ) Multi-map MM Encrypted Dictionary EDX Setup IEX 1 k , w 1 id 1 id 3 id 4 , Encrypted local Multi-map EMM 1 w 2 id 3 w 1 ⋀ w 2 E(id 3 ; w 1 ) 1 w 1 ⋀ w 3 E(id 4 ; w 1 ) w 3 id 2 id 4 Encrypted local Multi-map EMM 1 2 w 2 ⋀ w 1 E(id 3 ; w 2 ) Encrypted local Multi-map EMM 2 3 w 3 ⋀ w 1 E(id 3 ; w 3 ) 22

  9. IEX: Token ∨ , w 1 w 3 Token IEX 23

  10. IEX: Token ∨ , w 1 w 1 w 3 Token IEX Global sub-token 23

  11. IEX: Token ∨ , w 1 w 1 w 3 w 3 Token IEX Global Global sub-token sub-token 23

  12. IEX: Token ∨ , w 1 w 1 w 3 1 w 3 Token IEX Global Global dictionary sub-token sub-token sub-token 23

  13. IEX: Token ∨ , w 1 w 1 ⋀ w 3 w 1 w 3 1 w 3 Token IEX Global Global dictionary Local sub-token sub-token sub-token sub-token 23

  14. IEX: Get Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 E(id 2 ; w 3 ) w 3 w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) w 1 E(id 1 ; w 1 ) Encrypted Dictionary EDX , Encrypted local Multi-map EMM 1 Get IEX w 1 ⋀ w 3 w 1 w 3 1 w 1 ⋀ w 2 E(id 3 ; w 1 ) 1 w 1 ⋀ w 3 E(id 4 ; w 1 ) Encrypted local Multi-map EMM 1 2 w 2 ⋀ w 1 E(id 3 ; w 2 ) Encrypted local Multi-map EMM 2 3 w 3 ⋀ w 1 E(id 3 ; w 3 ) 24

  15. IEX: Get Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 , E(id 2 ; w 3 ) w 3 Get w 1 w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) E(id 1 ; w 1 ) w 1 25

  16. IEX: Get Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 , E(id 2 ; w 3 ) w 3 Get w 1 E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 4 ; w 1 ) w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) E(id 1 ; w 1 ) w 1 25

  17. IEX: Get Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 , E(id 2 ; w 3 ) w 3 Get w 1 E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 4 ; w 1 ) w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) E(id 1 ; w 1 ) w 1 Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 , w 3 Get E(id 2 ; w 3 ) w 3 w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) w 1 E(id 1 ; w 1 ) 25

  18. IEX: Get Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 , E(id 2 ; w 3 ) w 3 Get w 1 E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 4 ; w 1 ) w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) E(id 1 ; w 1 ) w 1 Encrypted Global Multi-map EMM w 2 E(id 3 ; w 1 ) E(id 3 ; l 2 ) w 1 , w 3 Get E(id 2 ; w 3 ) w 3 E(id 2 ; w 3 ) E(id 4 ; w 3 ) w 1 E(id 4 ; w 1 ) w 3 E(id 4 ; w 3 ) w 1 E(id 1 ; w 1 ) 25

  19. IEX: Lookup Encrypted Dictionary EDX Encrypted local Multi-map EMM 1 w 1 ⋀ w 2 E(id 3 ; w 1 ) 1 w 1 ⋀ w 3 E(id 4 ; w 1 ) , 1 Get Encrypted local Multi-map EMM 1 2 w 2 ⋀ w 1 E(id 3 ; w 2 ) Encrypted local Multi-map EMM 2 3 w 3 ⋀ w 1 E(id 3 ; w 3 ) 26

  20. IEX: Lookup Encrypted Dictionary EDX Encrypted local Multi-map EMM 1 w 1 ⋀ w 2 E(id 3 ; w 1 ) 1 w 1 ⋀ w 3 E(id 4 ; w 1 ) Encrypted local Multi-map EMM 1 , w 1 ⋀ w 2 E(id 3 ; w 1 ) 1 Get Encrypted local Multi-map EMM 1 w 1 ⋀ w 3 E(id 4 ; w 1 ) 2 w 2 ⋀ w 1 E(id 3 ; w 2 ) Encrypted local Multi-map EMM 2 3 w 3 ⋀ w 1 E(id 3 ; w 3 ) 26

  21. IEX: Lookup Encrypted local Multi-map EMM 1 , w 1 ⋀ w 3 w 1 ⋀ w 2 E(id 3 ; w 1 ) Get w 1 ⋀ w 3 E(id 4 ; w 1 ) 27

  22. IEX: Lookup Encrypted local Multi-map EMM 1 , w 1 ⋀ w 3 w 1 ⋀ w 2 E(id 3 ; w 1 ) Get E(id 4 ; w 1 ) w 1 ⋀ w 3 E(id 4 ; w 1 ) 27

  23. IEX: Lookup Encrypted local Multi-map EMM 1 , w 1 ⋀ w 3 w 1 ⋀ w 2 E(id 3 ; w 1 ) Get E(id 4 ; w 1 ) w 1 ⋀ w 3 E(id 4 ; w 1 ) E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 4 ; w 1 ) E(id 2 ; w 3 ) E(id 4 ; w 3 ) 27

  24. IEX: Lookup Encrypted local Multi-map EMM 1 , w 1 ⋀ w 3 w 1 ⋀ w 2 E(id 3 ; w 1 ) Get E(id 4 ; w 1 ) w 1 ⋀ w 3 E(id 4 ; w 1 ) E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 4 ; w 1 ) E(id 2 ; w 3 ) E(id 4 ; w 3 ) 27

  25. IEX: Lookup Encrypted local Multi-map EMM 1 , w 1 ⋀ w 3 w 1 ⋀ w 2 E(id 3 ; w 1 ) Get E(id 4 ; w 1 ) w 1 ⋀ w 3 E(id 4 ; w 1 ) Result sent to the client E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 3 ; w 1 ) E(id 4 ; w 1 ) E(id 2 ; w 3 ) E(id 4 ; w 3 ) E(id 4 ; w 3 ) E(id 2 ; w 3 ) 27

  26. IEX: Leakage • Black-box setup leakage • Setup leakage of global EMM • Setup leakage of EDX • Black-box query leakage for disjunction • Query leakage of global EMM • Query leakage of EDX 28

  27. IEX: Leakage • Concrete setup leakage • Black-box setup leakage • Size of global MM • Setup leakage of global EMM • Total size of local MM • Setup leakage of EDX • Concrete query leakage • Black-box query leakage for • Search and access pattern of global MM disjunction • Search pattern of accessed local MMs • Query leakage of global EMM • Access pattern of accessed local MMs • Query leakage of EDX • Tags of accessed local MMs • Setup leakage of local MMs • Search and access pattern of DX 28

  28. IEX: Leakage Less leakage than OXT • Concrete setup leakage • Black-box setup leakage • Size of global MM • Setup leakage of global EMM • Total size of local MM • Setup leakage of EDX • Concrete query leakage • Black-box query leakage for • Search and access pattern of global MM disjunction • Search pattern of accessed local MMs • Query leakage of global EMM • Access pattern of accessed local MMs • Query leakage of EDX • Tags of accessed local MMs • Setup leakage of local MMs • Search and access pattern of DX 28

  29. IEX: Asymptotics • Communication complexity is optimal 29

  30. IEX: Asymptotics • Communication complexity is optimal • Worst-case search complexity (q keywords) • Sub-linear in where 29

  31. IEX: Asymptotics • Communication complexity is optimal • Worst-case search complexity (q keywords) • Sub-linear in where • Storage 29

  32. Improving IEX Storage Overhead • Can we make IEX more compact? • Problem is local EMMs are too large 30

  33. Improving IEX Storage Overhead • Can we make IEX more compact? • Problem is local EMMs are too large • Use Z-IDX [Goh03] as local EMM? • Linear search complexity is OK • Very compact (based on Bloom filters) • Not adaptively-secure! 30

  34. Improving IEX Storage Overhead • Can we make IEX more compact? • Problem is local EMMs are too large • Use Z-IDX [Goh03] as local EMM? • Linear search complexity is OK • Very compact (based on Bloom filters) • Not adaptively-secure! • Z-IDX can be made adaptively-secure • But token size too large (far from optimal) 30

  35. Improving IEX Storage Overhead • Matryoshka filters • New nested Bloom filters with variable size and fixed hash functions 31

  36. Improving IEX Storage Overhead • Matryoshka filters • New nested Bloom filters with variable size and fixed hash functions • Encrypted Matryoshka filters • Based on online ciphers • Adaptively-secure • Compact structure • Optimal token size • Linear search complexity 31

  37. Improving IEX Storage Overhead • Matryoshka filters • New nested Bloom filters with variable size and fixed hash functions • Encrypted Matryoshka filters • Based on online ciphers • Adaptively-secure • Compact structure • Optimal token size • Linear search complexity 31

  38. Improving IEX Storage Overhead • Matryoshka filters • New nested Bloom filters with variable size and fixed hash functions • Encrypted Matryoshka filters • Based on online ciphers • Adaptively-secure • Compact structure • Optimal token size • Linear search complexity 31

  39. Evaluation (up to 61M keyword/id pairs) 32

  40. Evaluation (up to 61M keyword/id pairs) OXT 200 ms 32

  41. Evaluation (up to 61M keyword/id pairs) 10 × OXT 200 ms 32

Recommend


More recommend