Skip to main content
QUICK REVIEW

[论文解读] An Efficient Oblivious Database for the Public Cloud

Saba Eskandarian, Matei Zaharia|arXiv (Cornell University)|Oct 2, 2017
Cryptography and Data Security被引用 1
一句话总结

ObliDB 是一种新型的不经意数据库引擎,利用 Intel SGX 飞地,在公共云环境中为通用 SQL 工作负载提供安全的、访问模式无关的查询处理。它通过在多个存储引擎中集成不经意数据结构和访问方法实现这一目标,将性能开销降低至 Spark SQL 在分析工作负载下性能的 2.6 倍以内,并在 3–10ms 内完成点查询,比以往基于加密的系统快 7 倍以上。

ABSTRACT

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 supports a broad range of queries, including aggregation, joins, insertions, deletions and point queries. We implement ObliDB and show that, on analytics work-loads, ObliDB ranges from 1.1-19x faster than Opaque,a previous oblivious, enclave-based system designed only for analytics, and comes within 2.6x of Spark SQL. ObliDB supports point queries with 3-10ms latency, which runs over 7x faster than HIRB, a previous encryption-based oblivious index system.

研究动机与目标

  • 解决硬件飞地在数据库操作期间对访问模式泄露缺乏保护的关键局限性。
  • 设计一种系统,确保通用 SQL 工作负载(包括连接、聚合和点查询)的端到端不经意性。
  • 相比以往基于 ORAM 或仅依赖飞地的方法,降低不经意数据库操作的性能开销。
  • 在保持所有查询执行路径不经意性的同时,支持多种访问方法(例如索引、扫描)。
  • 在分析工作负载上实现低延迟点查询和高吞吐量,性能达到或接近不受信系统(如 Spark SQL)的水平。

提出的方法

  • 设计一种多层不经意存储抽象,将不经意数据结构(例如不经意 B 树和哈希表)集成到 DBMS 引擎中。
  • 利用硬件飞地隔离计算并加密内存中的数据,同时应用类似 ORAM 的技术,掩盖所有数据结构的访问模式。
  • 通过不经意查询规划器编排查询执行,确保所有访问序列——无论输入或查询类型如何——在统计上无法区分。
  • 实现不经意索引结构,支持低延迟点查找,延迟为 3–10ms,显著快于以往基于加密的不经意索引系统。
  • 通过批量和流水线化的不经意操作,优化分析工作负载,支持全表扫描、聚合和等值连接。
  • 将系统集成到完整的 DBMS 引擎栈中,确保即使在复杂多表查询和事务操作下,也能实现端到端的不经意性。

实验结果

研究问题

  • RQ1是否可以设计一种 DBMS 引擎,在硬件飞地中为通用 SQL 工作负载(包括连接、聚合和点查询)提供端到端的不经意性?
  • RQ2如何在保持对访问模式泄露的强安全保证的同时,最小化不经意数据库操作的性能开销?
  • RQ3不经意数据结构在多大程度上可以被集成到功能完整的 DBMS 引擎中,以支持多种访问方法而不牺牲效率?
  • RQ4基于飞地的不经意 DBMS 与以往的不经意系统以及不受信的分析引擎(如 Spark SQL)相比,性能表现如何?
  • RQ5不经意索引方案是否能在真实工作负载下保持安全性的同时,实现低延迟点查询(例如 <10ms)?

主要发现

  • 与仅针对分析工作负载设计的先前飞地-based 不经意系统 Opaque 相比,ObliDB 性能提升 1.1–19 倍。
  • 在分析工作负载上,ObliDB 的运行性能仅比 Spark SQL 慢 2.6 倍,尽管具有强大的不经意性保证,仍表现出高效率。
  • ObliDB 支持 3–10ms 延迟的点查询,比先前基于加密的不经意索引系统 HIRB 快超过 7 倍。
  • 该系统成功在复杂多表 SQL 查询(包括连接和聚合)中保持了不经意性,未暴露任何访问模式。
  • 通过结合硬件飞地与优化的不经意数据结构,ObliDB 缩小了安全数据库系统与不受信数据库系统之间的性能差距。
  • 将多种访问方法(如索引、扫描)集成到单一不经意执行引擎中,实现了具备强安全性的通用数据库功能。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。