USENIX Security2023Top-tier venue
EnigMap: External-Memory Oblivious Map for Secure Enclaves
Afonso Tinoco, Sixiang Gao, Elaine Shi
Abstract
Imagine that a privacy-conscious client would like to query a key-value store residing on an untrusted server equipped with a secure processor. To protect the privacy of the client's queries as well as the database, one approach is to implement an oblivious map inside a secure enclave. Indeed, earlier works demonstrated numerous applications of an enclavedbased oblivious map, including private contact discovery, key transparency, and secure outsourced databases. Our work is motivated by the observation that the previous enclave implementations of oblivious algorithms are suboptimal both asymptotically and concretely. We make the key observation that for enclave applications, the number of page swaps should be a primary performance metric. We therefore adopt techniques from the external-memory algorithms literature, and we are the first to implement such algorithms inside hardware enclaves. We also devise asymptotically better algorithms for ensuring a strong notion of obliviousness that resists cache-timing attacks. We complement our algorithmic improvements with various concrete optimizations that save constant factors in practice. The resulting system, called ENIGMAP, achieves 15× speedup over Signal's linear scan implementation, and 53× speedup over the prior best oblivious algorithm implementation, at a realistic database size of 256 million and a batch size of 1000. The speedup is asymptotical in nature and will be even greater as Signal's user base grows. Efficient initialization algorithm. We devise new algorithms for initializing the oblivious data structure that achieve asymptotical savings relative to Oblix's approach. Our new initialization algorithm also adopts ideas from the externalmemory algorithms literature such that we can optimize the number of page swaps. As shown in Table 1, our initialization algorithm incurs O( N B log M B N B ) page swaps and O(N log N) computation, where B is the page size and M is the enclave's resident memory size. In comparison, Oblix's initialization algorithm incurs O(N log 2 N) page swaps and O(N log 3 N) computation. Concretely, for a database of size 256 million entries, we can reduce the initialization time from 80.31 hours to 9.5 hours.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e8b8bfc4-e059-43ff-8df9-3b2667f93a40Cited by top-tier papers16
- Waks-On/Waks-Off: Fast Oblivious Offline/Online Shuffling and Sorting with Waksman NetworksSajin Sasy, Aaron Johnson, Ian GoldbergCCS 2023 · 6 citations
- TDXRay: Microarchitectural Side-Channel Analysis of Intel TDX for Real-World WorkloadsTristan Hornetz, Hosein Yavarzadeh, Albert Cheu, Adrià Gascón et al.S&P 2026 · 5 citations
- Towards Practical Oblivious MapXinle Cao, Weiqi Feng, Jian Liu, Jinjin Zhou et al.VLDB 2025 · 4 citations
- SPECIAL: Synopsis Assisted Secure Collaborative AnalyticsChenghong Wang, Lina Qiu, Johes Bater, Yukui LuoVLDB 2025 · 3 citations
- Enabling Index-free Adjacency in Oblivious Graph Processing with Delayed DuplicationsWeiqi Feng, Xinle Cao, Adam O'Neill, Chuanhui YangVLDB 2026
Builds on8
- Spectre Attacks: Exploiting Speculative ExecutionPaul Kocher, Jann Horn, Anders Fogh, Daniel Genkin et al.S&P 2019 · 2,435 citations
- Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order ExecutionJo Van Bulck, Marina Minkin, Ofir Weisse, Daniel Genkin et al.USENIX Security 2018 · 1,175 citations
- Sanctum: Minimal Hardware Extensions for Strong Software IsolationVictor Costan, Ilia A. Lebedev, Srinivas DevadasUSENIX Security 2016 · 649 citations
- Fast Private Set Intersection from Homomorphic EncryptionHao Chen, Kim Laine, Peter RindalCCS 2017 · 446 citations
- ZeroTrace : Oblivious Memory Primitives from Intel SGXSajin Sasy, Sergey Gorbunov, Christopher W. FletcherNDSS 2018 · 244 citations
Related papers
- Oblix: An Efficient Oblivious Search IndexPratyush Mishra, Rishabh Poddar, Jerry Chen, Alessandro Chiesa et al.S&P 2018 · 200 citations
- ObliDB: Oblivious Query Processing for Secure DatabasesSaba Eskandarian, Matei ZahariaVLDB 2020 · 127 citations
- Flexway O-Sort: Enclave-Friendly and Optimal Oblivious SortingTianyao Gu, Yilei Wang, Afonso Tinoco, Bingnan Chen et al.USENIX Security 2025
- DISCO*: Distributed and SCalable Oblivious Joins and Oblivious PrimitivesApostolos Mavrogiannakis, Xian Wang, Ioannis Demertzis, Dimitrios Papadopoulos et al.SOSP 2026
- Distributed & Scalable Oblivious Sorting and ShufflingNicholas Ngai, Ioannis Demertzis, Javad Ghareh Chamani, Dimitrios PapadopoulosS&P 2024 · 11 citations
