Lune

USENIX Security2023Top-tier venue

EnigMap: External-Memory Oblivious Map for Secure Enclaves

Afonso Tinoco, Sixiang Gao, Elaine Shi

2023Year
16Top-tier citations

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.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext e8b8bfc4-e059-43ff-8df9-3b2667f93a40

Cited by top-tier papers16

Ask how each one uses it

Builds on8

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines