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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 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.
- 3.
Even though STE considers arbitrary data structures, we only focus on those of this type.
- 4.
Use \(\textsf{ds}[\ell ] \leftarrow v\) for dictionary.
- 5.
For simplicity, we consider the maximum size is fixed after setup.
References
Morgan, C.V.S.: The: data attack surface report. Technical report (2020)
Song, D.X., Wagner, D., Perrig, A.: Practical techniques for searches on encrypted data. In: 2000 IEEE Symposium on Security and Privacy (2000)
Amanatidis, G., Boldyreva, A., O’Neill, A.: Provably-secure schemes for basic query support in outsourced databases. In: DBSec (2007)
Curtmola, R., Garay, J.A., Kamara, S., Ostrovsky, R.: Searchable symmetric encryption: improved definitions and efficient constructions. In: ACM CCS (2006)
Cash, D., et al.: Dynamic searchable encryption in very-large databases: data structures and implementation. In: NDSS (2014)
Cash, D., Grubbs, P., Perry, J., Ristenpart, T.: Leakage-abuse attacks against searchable encryption. In: ACM CCS (2015)
Kellaris, G., Kollios, G., Nissim, K., O’Neill, A.: Generic attacks on secure outsourced databases. In: ACM CCS (2016)
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)
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)
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)
Gui, Z., Johnson, O., Warinschi, B.: Encrypted databases: new volume attacks against range queries. In: ACM CCS (2019)
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)
Oya, S., Kerschbaum, F.: Hiding the access pattern is not enough: exploiting search pattern leakage in searchable encryption. In: USENIX Security (2021)
Damie, M., Hahn, F., Peter, A.: A highly accurate query-recovery attack against searchable encryption using non-indexed documents. In: USENIX Security (2021)
Oya, S., Kerschbaum, F.: IHOP: improved statistical query recovery against searchable symmetric encryption through quadratic optimization. In: USENIX Security (2022)
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)
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
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)
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)
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
Demertzis, I., Papadopoulos, D., Papamanthou, C., Shintre, S.: SEAL: attack mitigation for encrypted databases via adjustable leakage. In: USENIX Security (2020)
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)
Gui, Z., Paterson, K.G., Patranabis, S.: Rethinking searchable symmetric encryption. In: 2023 IEEE Symposium on Security and Privacy (2023)
Bost, R.: \({\varSigma }o{\phi }o{\varsigma }\): Forward secure searchable encryption. In: ACM CCS (2016)
Bost, R., Minaud, B., Ohrimenko, O.: Forward and backward private searchable encryption from constrained cryptographic primitives. In: ACM CCS (2017)
Miers, I., Mohassel, P.: IO-DSSE: scaling dynamic searchable encryption to millions of indexes by improving locality. In: NDSS (2017)
Chamani, J.G., Papadopoulos, D., Papamanthou, C., Jalili, R.: New constructions for forward and backward private symmetric searchable encryption. In: ACM CCS (2018)
Sun, S., et al.: Practical backward-secure searchable encryption from symmetric puncturable encryption. In: ACM CCS (2018)
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)
Amjad, G., Kamara, S., Moataz, T.: Breach-resistant structured encryption. In: PoPETs (2019)
Demertzis, I., Chamani, J.G., Papadopoulos, D., Papamanthou, C.: Dynamic searchable encryption with small client storage. In: NDSS (2020)
Gui, Z., Paterson, K.G., Patranabis, S., Warinschi, B.: SWiSSSE: system-wide security for searchable symmetric encryption. In: PoPETs (2024)
Dauterman, E., Feng, E., Luo, E., Popa, R.A., Stoica, I.: DORY: an encrypted search system with distributed trust. In: OSDI (2020)
Sun, S.-F., et al.: Practical non-interactive searchable encryption with forward and backward privacy. In: NDSS (2021)
Amjad, G., Patel, S., Persiano, G., Yeo, K., Yung, M.: Dynamic volume- hiding encrypted multi-maps with applications to searchable encryption. In: PoPETs (2023)
Zhao, Y., Wang, H., Lam, K.Y.: Volume-hiding dynamic searchable symmetric encryption with forward and backward privacy. Cryptology ePrint Archive, Report 2021/786
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
Grubbs, P., et al.: Pancake: frequency smoothing for encrypted data stores. In: USENIX Security (2020)
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)
Xu, M., Namavari, A., Cash, D., Ristenpart, T.: Searching encrypted data with size-locked indexes. In: USENIX Security (2021)
: Boldyreva , A., Tang, T.: Encrypted multi-map that hides query, access, and volume patterns. Cryptology ePrint Archive
Gui, Z., Paterson, K.G., Tang, T.: Security analysis of MongoDB queryable encryption. In: USENIX Security (2023)
Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious rams. J. ACM (1996)
Stefanov, E., et al.: Path ORAM: an extremely simple oblivious RAM protocol. In: ACM CCS (2013)
Ren, L., et al.: Constants count: practical improvements to oblivious RAM. In: USENIX Security (2015)
Wang, X.S., et al.: Oblivious data structures. In: ACM CCS (2014)
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)
Boldyreva, A., Tang, T.: Privacy-preserving approximate k -nearest- neighbors search that hides access, query and volume patterns. In: PoPETs (2021)
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
Corresponding author
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.
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 \)):
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.
If \(\textsf{op}\in \{\textsf{Get}, \textsf{Put}, \textsf{Remove}\}\), define the same as in Definition 31.
-
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.
Output \((v^*, \textsf{dx})\).
C 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
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)