ObliDB: An Efficient and Secure Cloud Database using Hardware Enclaves

Hardware enclaves such as Intel SGX are a promising technology for improving the security of databases outsourced to the cloud. These enclaves provide an execution environment isolated from the hypervisor/OS, and encrypt data in RAM. However, for applications that use large amounts of memory, including most databases, enclaves do not protect against access pattern leaks, which let attackers gain a large amount of information about the data. Moreover, the naive way to address this issue, using Oblivious RAM (ORAM) primitives from the security literature, adds substantial overhead. In this work, we propose ObliDB, a database engine that co-designs both its data structures (e.g., oblivious B+ trees) and physical operators to accelerate oblivious queries, giving up to 329x speedup over naive ORAM. ObliDB supports a broad range of queries, including aggregation, joins, insertions, deletions and point queries. On analytics workloads, ObliDB ranges from competitive to 19x faster than previous oblivious systems designed only for analytics, such as Opaque, and comes within 2.6x of Spark SQL, which provides no security guarantees. In addition, ObliDB supports point queries with 3-10ms latency, which is 7-22x faster than previous oblivious systems, making it also usable for transactional workloads. To our knowledge, ObliDB is the first general-purpose oblivious database engine to approach practical performance.
View on arXiv