ObliDB: Oblivious Query Processing for Secure Databases

被引:71
作者
Eskandarian, Saba [1 ]
Zaharia, Matei [2 ]
机构
[1] Stanford Univ, Stanford, CA 94305 USA
[2] Stanford Univ, Databricks, Stanford, CA 94305 USA
来源
PROCEEDINGS OF THE VLDB ENDOWMENT | 2019年 / 13卷 / 02期
关键词
ATTACKS;
D O I
10.14778/3364324.3364331
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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. A number of recent works explore trusted hardware enclaves as a path toward secure, access-pattern oblivious outsourcing of data storage and analysis. While these works efficiently solve specific subproblems (e.g. building secure indexes or running analytics queries that always scan entire tables), no prior work has supported oblivious query processing for general query workloads on a DBMS engine with multiple access methods. Moreover, applying these techniques individually does not guarantee that an end-to-end workload, such as a complex SQL query over multiple tables, will be oblivious. In this paper, we introduce ObliDB, an oblivious database engine design that is the first system to provide obliviousness for general database read workloads over multiple access methods. ObliDB introduces a diverse array of new oblivious physical operators to accelerate oblivious SQL queries, giving speedups of up to an order of magnitude over naive ORAM. It supports a broad range of queries, including aggregation, joins, insertions, deletions and point queries. We implement ObliDB and show that, on analytics workloads, ObliDB ranges from 1.1-19 x faster than Opaque, a previous oblivious, enclave-based system designed only for analytics, and comes within 2.6 x of Spark SQL, which provides no security guarantees. In addition, ObliDB supports point queries with 3-10ms latency, which is comparable to index-only trusted hardware systems, and runs over 7x faster than HIRB, a previous encryption-based oblivious index system that supports point queries.
引用
收藏
页码:169 / 183
页数:15
相关论文
共 82 条
[1]  
Abdelraheem Mohamed Ahmed, 2017, International Journal of Bridge Engineering, P24
[2]  
[Anonymous], 2016, IACR Cryptol. ePrint Arch.
[3]  
[Anonymous], 2019, PETS
[4]  
[Anonymous], 2017, IACR CRYPTOL EPRINT
[5]  
[Anonymous], 2016, NDSS
[6]  
[Anonymous], 2016, ABS161106952 CORR
[7]  
[Anonymous], 2017, 11 USENIX WORKSHOP O
[8]  
Arasu A., 2014, ICDT, P26
[9]  
Arasu A., 2013, CIDR 2013
[10]   Spark SQL: Relational Data Processing in Spark [J].
Armbrust, Michael ;
Xin, Reynold S. ;
Lian, Cheng ;
Huai, Yin ;
Liu, Davies ;
Bradley, Joseph K. ;
Meng, Xiangrui ;
Kaftan, Tomer ;
Franklint, Michael J. ;
Ghodsi, Ali ;
Zaharia, Matei .
SIGMOD'15: PROCEEDINGS OF THE 2015 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2015, :1383-1394