Skip to main content
QUICK REVIEW

[论文解读] Obladi: Oblivious Serializable Transactions in the Cloud

Natacha Crooks, Matthew Burke|arXiv (Cornell University)|Sep 27, 2018
Distributed systems and fault tolerance参考文献 51被引用 9
一句话总结

Obladi 是首个在云环境中提供 ACID 事务并利用不经意访问内存(ORAM)隐藏访问模式的系统。通过将事务批量处理为周期,并将提交延迟至周期边界,它降低了 ORAM 的带宽开销,实现了安全的并行处理,在 TPC-C、SmallBank 和 FreeHealth 工作负载上实现了非私有基线系统 5×–12× 的吞吐量,尽管延迟高出 70 倍。

ABSTRACT

This paper presents the design and implementation of Obladi, the first system to provide ACID transactions while also hiding access patterns. Obladi uses as its building block oblivious RAM, but turns the demands of supporting transactions into a performance opportunity. By executing transactions within epochs and delaying commit decisions until an epoch ends, Obladi reduces the amortized bandwidth costs of oblivious storage and increases overall system throughput. These performance gains, combined with new oblivious mechanisms for concurrency control and recovery, allow Obladi to execute OLTP workloads with reasonable throughput: it comes within 5x to 12x of a non-oblivious baseline on the TPC-C, SmallBank, and FreeHealth applications. Latency overheads, however, are higher (70x on TPC-C).

研究动机与目标

  • 解决云数据库中既提供 ACID 事务保证又隐藏访问模式的系统缺失问题。
  • 克服现有 ORAM 方案在事务工作负载中面临的并发性、持久性和容错性方面的性能与安全限制。
  • 设计一种利用事务语义提升 ORAM 效率而不削弱隐私性的系统。
  • 基于通用复合模型(UC 框架)形式化定义一个适用于崩溃容错、私密且事务性的数据库系统的安全模型。

提出的方法

  • Obladi 采用基于周期的事务执行机制,将提交决策推迟至固定长度周期的末尾,以分摊 ORAM 成本。
  • 它在可信代理处缓冲事务写入,仅在最终将键值写回 ORAM,从而减少 ORAM 操作和带宽消耗。
  • 通过在周期边界处对请求间的冲突操作进行去重和流水线处理,实现了 Ring ORAM 的安全并行化。
  • 利用 Ring ORAM 中近乎确定性的写回机制,通过在失败时中止整个周期,实现高效且隐私保护的崩溃恢复。
  • 通过实现多版本并发控制,支持非阻塞读取,并在延迟可见性的情况下确保隔离性。
  • 形式化定义了一个新的 UC 安全模型,适用于私密、可崩溃恢复且具备事务性的数据库。

实验结果

研究问题

  • RQ1是否可以在云数据库中安全地支持 ACID 事务,同时隐藏对云服务提供商的访问模式?
  • RQ2如何利用事务语义来提升如 ORAM 这类不经意存储系统的性能?
  • RQ3基于周期的提交延迟是否能够实现 ORAM 操作的安全并行化,而不会泄露访问模式?
  • RQ4在私密事务系统中,使用延迟可见性进行崩溃恢复的性能与安全权衡是什么?
  • RQ5在事务性 ORAM 系统中,如何在故障恢复期间保持持久性和隐私性?

主要发现

  • Obladi 在 TPC-C、SmallBank 和 FreeHealth 工作负载上实现了非私有基线系统 5× 到 12× 的吞吐量。
  • 延迟是非私有基线的 70 倍,但仍在数百毫秒量级,表明具备实际可用的响应能力。
  • 基于周期的设计通过批量处理和延迟写入,降低了 ORAM 的平均带宽和 CPU 成本。
  • 通过在周期边界处对请求间操作进行去重和流水线处理,实现了 Ring ORAM 的安全并行化。
  • 通过中止整个周期实现崩溃恢复,仅需极少日志记录,同时保持了隐私性和持久性。
  • Obladi 首次为私密、事务性且易崩溃的数据库系统提供了正式的 UC 安全定义。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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