Skip to main content

Encrypted Multi-map that Hides Query, Access, and Volume Patterns

  • Conference paper
  • First Online:
Security and Cryptography for Networks (SCN 2024)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14973))

Included in the following conference series:

  • 282 Accesses

Abstract

We present an encrypted multi-map, a fundamental data structure underlying searchable encryption/structured encryption. Our protocol supports updates and is designed for applications demanding very strong data security. Not only it hides the information about queries and data, but also the query, access, and volume patterns. Our protocol utilizes a position-based ORAM and an encrypted dictionary. We provide two instantiations of the protocol, along with their operation-type-revealing variants, all using PathORAM but with different encrypted dictionary instantiations (AVL tree or BSkiplist). Their efficiency has been evaluated through both asymptotic and concrete complexity analysis, outperforming prior work while achieving the same level of strong security. We have implemented our instantiations and evaluated their performance on two real-world email databases (Enron and Lucene). We also discuss the strengths and limitations of our construction, including its resizability, and highlight that optimized solutions, even with heavy network utilization, may become practical as network speed improves.

T. Tang—This work was conducted while the author was at Georgia Institute of Technology.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    By query pattern, we mean the information that reveals whether the same keyword has been used repeatedly in search or update queries. The access pattern refers to the information indicating whether the same data is accessed on the server. The volume pattern, on the other hand, is leaked when the amount of communication differs among queries.

  2. 2.

    https://www.mongodb.com/docs/manual/core/queryable-encryption/.

  3. 3.

    Even though STE considers arbitrary data structures, we only focus on those of this type.

  4. 4.

    Use \(\textsf{ds}[\ell ] \leftarrow v\) for dictionary.

  5. 5.

    For simplicity, we consider the maximum size is fixed after setup.

References

  1. Morgan, C.V.S.: The: data attack surface report. Technical report (2020)

    Google Scholar 

  2. Song, D.X., Wagner, D., Perrig, A.: Practical techniques for searches on encrypted data. In: 2000 IEEE Symposium on Security and Privacy (2000)

    Google Scholar 

  3. Amanatidis, G., Boldyreva, A., O’Neill, A.: Provably-secure schemes for basic query support in outsourced databases. In: DBSec (2007)

    Google Scholar 

  4. Curtmola, R., Garay, J.A., Kamara, S., Ostrovsky, R.: Searchable symmetric encryption: improved definitions and efficient constructions. In: ACM CCS (2006)

    Google Scholar 

  5. Cash, D., et al.: Dynamic searchable encryption in very-large databases: data structures and implementation. In: NDSS (2014)

    Google Scholar 

  6. Cash, D., Grubbs, P., Perry, J., Ristenpart, T.: Leakage-abuse attacks against searchable encryption. In: ACM CCS (2015)

    Google Scholar 

  7. Kellaris, G., Kollios, G., Nissim, K., O’Neill, A.: Generic attacks on secure outsourced databases. In: ACM CCS (2016)

    Google Scholar 

  8. Zhang, Y., Katz, J., Papamanthou, C.: All your queries are belong to us: the power of file-injection attacks on searchable encryption. In: USENIX Security (2016)

    Google Scholar 

  9. Grubbs, P., Lacharité, M.-S., Minaud, B., Paterson, K.G.: Pump up the volume: practical database reconstruction from volume leakage on range queries. In: ACM CCS (2018)

    Google Scholar 

  10. Grubbs, P., Lacharité, M.-S., Minaud, B., Paterson, K. G.: Learning to reconstruct: statistical learning theory and encrypted database attacks. In: 2019 IEEE Symposium on Security and Privacy (2019)

    Google Scholar 

  11. Gui, Z., Johnson, O., Warinschi, B.: Encrypted databases: new volume attacks against range queries. In: ACM CCS (2019)

    Google Scholar 

  12. Kornaropoulos, E.M., Papamanthou, C., Tamassia, R.: The state of the uniform: attacks on encrypted databases beyond the uniform query distribution. In: IEEE Symposium on Security and Privacy (2020)

    Google Scholar 

  13. Oya, S., Kerschbaum, F.: Hiding the access pattern is not enough: exploiting search pattern leakage in searchable encryption. In: USENIX Security (2021)

    Google Scholar 

  14. Damie, M., Hahn, F., Peter, A.: A highly accurate query-recovery attack against searchable encryption using non-indexed documents. In: USENIX Security (2021)

    Google Scholar 

  15. Oya, S., Kerschbaum, F.: IHOP: improved statistical query recovery against searchable symmetric encryption through quadratic optimization. In: USENIX Security (2022)

    Google Scholar 

  16. Xu, L., Zheng, L., Xu, C., Yuan, X., Wang, C.: Leakage-abuse attacks against forward and backward private searchable symmetric encryption. In: ACM CCS (2023)

    Google Scholar 

  17. Kamara, S., Moataz, T., Ohrimenko, O.: Structured encryption and leakage suppression. In: Shacham, H., Boldyreva, A. (eds.) CRYPTO 2018. LNCS, vol. 10991, pp. 339–370. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96884-1_12

    Chapter  Google Scholar 

  18. Mishra, P., Poddar, R., Chen, J., Chiesa, A., Popa, R.A.: Oblix: an efficient oblivious search index. In: 2018 IEEE Symposium on Security and Privacy (2018)

    Google Scholar 

  19. Reichert, L., Chandran, G.R., Schoppmann, P., Schneider, T., Scheuermann, B.: Menhir: an oblivious database with protection against access and volume pattern leakage. In: AsiaCCS (2024)

    Google Scholar 

  20. Kamara, S., Moataz, T.: Computationally volume-hiding structured encryption. In: Ishai, Y., Rijmen, V. (eds.) EUROCRYPT 2019. LNCS, vol. 11477, pp. 183–213. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17656-3_7

    Chapter  Google Scholar 

  21. Demertzis, I., Papadopoulos, D., Papamanthou, C., Shintre, S.: SEAL: attack mitigation for encrypted databases via adjustable leakage. In: USENIX Security (2020)

    Google Scholar 

  22. Patel, S., Persiano, G., Yeo, K., Yung, M.: Mitigating leakage in secure cloud-hosted data structures: volume-hiding for multi-maps via hashing. In: ACM CCS (2019)

    Google Scholar 

  23. Gui, Z., Paterson, K.G., Patranabis, S.: Rethinking searchable symmetric encryption. In: 2023 IEEE Symposium on Security and Privacy (2023)

    Google Scholar 

  24. Bost, R.: \({\varSigma }o{\phi }o{\varsigma }\): Forward secure searchable encryption. In: ACM CCS (2016)

    Google Scholar 

  25. Bost, R., Minaud, B., Ohrimenko, O.: Forward and backward private searchable encryption from constrained cryptographic primitives. In: ACM CCS (2017)

    Google Scholar 

  26. Miers, I., Mohassel, P.: IO-DSSE: scaling dynamic searchable encryption to millions of indexes by improving locality. In: NDSS (2017)

    Google Scholar 

  27. Chamani, J.G., Papadopoulos, D., Papamanthou, C., Jalili, R.: New constructions for forward and backward private symmetric searchable encryption. In: ACM CCS (2018)

    Google Scholar 

  28. Sun, S., et al.: Practical backward-secure searchable encryption from symmetric puncturable encryption. In: ACM CCS (2018)

    Google Scholar 

  29. Amjad, G., Kamara, S., Moataz, T.: Forward and backward private searchable encryption with SGX. In: Proceedings of the 12th European Workshop on Systems Security - EuroSec (2019)

    Google Scholar 

  30. Amjad, G., Kamara, S., Moataz, T.: Breach-resistant structured encryption. In: PoPETs (2019)

    Google Scholar 

  31. Demertzis, I., Chamani, J.G., Papadopoulos, D., Papamanthou, C.: Dynamic searchable encryption with small client storage. In: NDSS (2020)

    Google Scholar 

  32. Gui, Z., Paterson, K.G., Patranabis, S., Warinschi, B.: SWiSSSE: system-wide security for searchable symmetric encryption. In: PoPETs (2024)

    Google Scholar 

  33. Dauterman, E., Feng, E., Luo, E., Popa, R.A., Stoica, I.: DORY: an encrypted search system with distributed trust. In: OSDI (2020)

    Google Scholar 

  34. Sun, S.-F., et al.: Practical non-interactive searchable encryption with forward and backward privacy. In: NDSS (2021)

    Google Scholar 

  35. Amjad, G., Patel, S., Persiano, G., Yeo, K., Yung, M.: Dynamic volume- hiding encrypted multi-maps with applications to searchable encryption. In: PoPETs (2023)

    Google Scholar 

  36. Zhao, Y., Wang, H., Lam, K.Y.: Volume-hiding dynamic searchable symmetric encryption with forward and backward privacy. Cryptology ePrint Archive, Report 2021/786

    Google Scholar 

  37. George, M., Kamara, S., Moataz, T.: Structured encryption and dynamic leakage suppression. In: Canteaut, A., Standaert, F.-X. (eds.) EUROCRYPT 2021, Part III. LNCS, vol. 12698, pp. 370–396. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-77883-5_13

    Chapter  Google Scholar 

  38. Grubbs, P., et al.: Pancake: frequency smoothing for encrypted data stores. In: USENIX Security (2020)

    Google Scholar 

  39. Maiyya, S., Vemula, S.C., Agrawal, D., El Abbadi, A., Kerschbaum, F.: Waffle: an online oblivious datastore for protecting data access patterns. In: SIGMOD (2024)

    Google Scholar 

  40. Xu, M., Namavari, A., Cash, D., Ristenpart, T.: Searching encrypted data with size-locked indexes. In: USENIX Security (2021)

    Google Scholar 

  41. : Boldyreva , A., Tang, T.: Encrypted multi-map that hides query, access, and volume patterns. Cryptology ePrint Archive

    Google Scholar 

  42. Gui, Z., Paterson, K.G., Tang, T.: Security analysis of MongoDB queryable encryption. In: USENIX Security (2023)

    Google Scholar 

  43. Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious rams. J. ACM (1996)

    Google Scholar 

  44. Stefanov, E., et al.: Path ORAM: an extremely simple oblivious RAM protocol. In: ACM CCS (2013)

    Google Scholar 

  45. Ren, L., et al.: Constants count: practical improvements to oblivious RAM. In: USENIX Security (2015)

    Google Scholar 

  46. Wang, X.S., et al.: Oblivious data structures. In: ACM CCS (2014)

    Google Scholar 

  47. Roche, D.S., Aviv, A.J., Choi, S.G.: A practical oblivious map data structure with secure deletion and history independence. In: 2016 IEEE Symposium on Security and Privacy (2016)

    Google Scholar 

  48. Boldyreva, A., Tang, T.: Privacy-preserving approximate k -nearest- neighbors search that hides access, query and volume patterns. In: PoPETs (2021)

    Google Scholar 

  49. Lucene. https://github.com/simon-oya/USENIX21-sap-code

Download references

Acknowledgement

We thank the anonymous reviewers for their helpful feedback. Alexandra Boldyreva was supported in part by Cisco Research Award and the National Science Foundation Award No.1946919. Tianxin Tang was funded by an NWO VIDI grant (Project No. VI.Vidi.193.066).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tianxin Tang .

Editor information

Editors and Affiliations

Appendices

A Structured Encryption (\(\textsf{STE}\)) Definitions

Correctness. We define the decryption correctness and \({\textsf{Access}}\)’s operational correctness as follows. For all \(\kappa \in {{\mathbb N}}\), all \(z \in \{0,1\}^*\), all data structure (with data) \(\textsf{ds}\subseteq \mathbb {L}\times \mathbb {V}\) with functionality \(\mathcal {F}\), we say that \(\textsf{EDS}\) instantiates \(\textsf{ds}\) if and only if for all \((K, \textsf{EDS})\) output by \({\textsf{Setup}}(1^\kappa , z, \textsf{ds})\), \(\textsf{Dec}(K, \textsf{EDS}) = \textsf{ds}\); let \(\textsf{ds}_1 \leftarrow \textsf{ds}\) and \(\textsf{EDS}_1 \leftarrow \textsf{EDS}\), after applying an arbitrary polynomial-size sequence of operations \(\{(\textsf{op}_i, \ell _i, v_i)\}_{i \in [q]}\) to \(\textsf{EDS}_1\), where \(\textsf{op}_i \in \mathbb {O}, \ell _i \in \mathbb {L}, v_i \in \mathbb {V}\); for all \(i \in [q]\), \((v_{i+1}, \textsf{EDS}_{i + 1}) \leftarrow [{\textsf{Access}}_{\textbf{C}}(K, \textsf{op}_i, \ell _i, v_i), {\textsf{Access}}_{\textbf{S}}(\textsf{EDS}_i)]\), we require \(v_{i + 1} = v_{i + 1}'\) and \(\textsf{Dec}(K, \textsf{EDS}_{i + 1}) = \textsf{ds}_{i + 1}'\), where \((v_{i + 1}', \textsf{ds}_{i + 1}')\) \(\leftarrow \) \(\mathcal {F}(\textsf{ds}_i, \textsf{op}_i, \ell _i, v_i)\).

1.1 A.1 STE Security Definition

Definition A1

(Adaptive Security for \(\textsf{STE}\)). Given label space \(\mathbb {L}\), value space \(\mathbb {V}\), and operation type space \(\mathbb {O}\), let \(\varPi \) be a \(\textsf{STE}\) protocol with functionality \(\mathcal {F}\). Let \(\mathcal {L}_{\varPi } = (\mathcal {L}_{{\textsf{Setup}}}, \mathcal {L}_{{\textsf{Access}}})\) be the leakage profile describing leakage of \(\varPi \)’s algorithms. Let \(\kappa \in {{\mathbb N}}\) be the security parameter. Consider the probabilistic experiments defined in Fig. 5.

Fig. 5.
figure 5

Experiments for Defining \(\textsf{STE}\) Adaptive Security.

We say that \(\varPi \) is adaptively \(\mathcal {L}_{\varPi }\)-secure if for all \(z \in \{0,1\}^*\), there exists a PPT simulator \(\mathcal {S}\) such that for all PPT adversaries \(\mathcal {A}\), all q which is a polynomial (in \(\kappa \)), the following is negligible (in \(\kappa \)):

$$ \Big |{\Pr \left[ \,{\textbf{Real} _{\varPi , \mathcal {A}, q}(1^{\kappa }, z) = 1}\,\right] } - {\Pr \left[ \,{\textbf{Ideal} _{\varPi , \mathcal {A}, \mathcal {S}, \mathcal {F}, q}(1^{\kappa }, z) = 1}\,\right] } \Big |. $$

B Extended Functionality for \(\textsf{EDX}\)

Definition B1

(\(\widetilde{\mathcal {F}}_{\mathsf {{DX}}}\)). Let label space \(\mathbb {L}= \{0,1\}^*\) and value space \(\mathbb {V}= \{0,1\}^*\), where \(\textsf{dx}\subseteq \mathbb {L}\times \mathbb {V}\), \(\textsf{op}\in \{\textsf{Get}, \textsf{Put}, \textsf{Remove}, \textsf{GetUp}\}\), \(\widetilde{\mathcal {F}}_{\mathsf {{DX}}}(\textsf{dx}, \textsf{op}, \ell , v)\): where data structure \(\textsf{dx}\) is stored in the state, \(\textsf{op}\in \mathbb {O}\), \(\ell \in \mathbb {L}\), and \(v \in \mathbb {V}\),

  1. 1.

    If \(\textsf{op}\in \{\textsf{Get}, \textsf{Put}, \textsf{Remove}\}\), define the same as in Definition 31.

  2. 2.

    If \(\textsf{op}= \textsf{GetUp}\), parse v as \(v_1 \Vert v_2\),

    • if \(\ell \) is in \(\textsf{dx}\) then \(v^* \leftarrow \textsf{dx}[\ell ]\); parse \(\textsf{dx}[\ell ]\) as \(v_1'\Vert v_2'\); \(\textsf{dx}[\ell ] \leftarrow v_1' \Vert v_2\);

    • otherwise:

      • if \(v_1 \ne \bot \) then \(\textsf{dx}[\ell ] \leftarrow v\) and \(v^* \leftarrow v\);

        otherwise \(v^* \leftarrow \bot \).

  3. 3.

    Output \((v^*, \textsf{dx})\).

C Algorithms for Auxiliary Class \(\textsf {BidStack}\)

Fig. 6.
figure 6

Algorithms for Auxiliary Class \(\textsf {BidStack}\).

In Fig. 6, we include the algorithms of the auxiliary class \(\textsf {BidStack}\).

D Implementations and Experiments

Since our instantiations achieve the volume-hiding property through padding each tuple to the largest size, this specific keyword space captures the worst scenario for evaluation. As in the complexity analysis, we store document identifiers in each PathORAM block using the cheaper storage representation of the two: either a list of \(l\) document identifiers where each is a 32-bit integer or a bitvector of N-bits where all 1’s indicate the matched document identifiers in the database. Still, we show that our instantiations are practical in this setting. Our experimental results were generated on a commodity laptop with 12-core Intel(R) Core i7-8750H CPU @ 2.20GHz, 16GB RAM, and 360GB SSD, running Ubuntu 20.04.

In all \(\textsf{EMM}\) instantiations, we use the parameters in Fig. 4f, where N denotes the total number of documents, k denotes the maximum keyword length in bytes, and l denotes the maximum tuple length, namely, the maximum number of emails associated with every single keyword. We also fix the growth factor to 1.5. All AVL-tree-based and BSkiplist-based instantiations took less than 30 minutes to set up either Enron or Lucene. Same to the concrete complexity analysis, in our experiments, we assume \(80\%\) operations are \(\textsf{Get}\), \(10\%\) are \(\textsf{Put}\), and the rest \(10\%\) are \(\textsf{Remove}\). We generated the results by running 1000 operations on each dataset, performing \(\textsf{Get}\) and \(\textsf{Remove}\) operations on keywords and associated document identifiers selected randomly from the corresponding dataset. We also ensure that \(\textsf{Remove}\) is performed first and \(\textsf{Get}\) after, canceling each other out so that after 1000 operations, the dataset stays the same as the setup one. The average computational time for each operation among all instantiations is below 300 ms. For the more concerned communicational overhead, we simulated the communicational time under network condition with 100 mbps for either uploading or downloading and 30 ms in round latency. Table 1 shows that the communicational overhead is still reasonable for practice among all instantiations. Although the bandwidth costs are comparable between the AVL-tree-based instantiations and BSkiplist-based ones, the round complexity contributes significantly to the query latency. Our experiments show that the BSkiplist-based instantiations and the operation-revealing variants are preferable.

Both Enron and Lucene are commonly used as the target databases to demonstrate the effectiveness of the leakage-abuse attacks. Notably, the email databases are vulnerable to file-injection attacks as everyone can send emails to the target client. Thus evaluating performance on the above two databases carries practical meaning to demonstrate our instantiations’ effectiveness minimizing all common SSE/STE leakage patterns while being sufficiently efficient for practice. Though our instantiations cost more bandwidth and rounds than the “leaky” solutions for strong security, we show that they are practically promising in some applications (e.g., email databases).

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Boldyreva, A., Tang, T. (2024). Encrypted Multi-map that Hides Query, Access, and Volume Patterns. In: Galdi, C., Phan, D.H. (eds) Security and Cryptography for Networks. SCN 2024. Lecture Notes in Computer Science, vol 14973. Springer, Cham. https://doi.org/10.1007/978-3-031-71070-4_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-71070-4_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-71069-8

  • Online ISBN: 978-3-031-71070-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics