Skip to main content
QUICK REVIEW

[論文レビュー] ObliDB: Oblivious Query Processing for Secure Databases

Saba Eskandarian, Matei Zaharia|arXiv (Cornell University)|Oct 2, 2017
Security and Verification in Computing参考文献 74被引用数 16
ひとこと要約

ObliDB は、ハードウェアエナclaveを用いて複数のアクセスメソッドを介して一般のリレーショナルワークロードを効率的に無自覚(oblivious)に処理できるデータベースエンジンとして、初めてのものである。新しい無自覚物理演算子を導入することで、Opaque よりも最大 19× の性能向上を達成し、ポイントクエリの遅延を 3–10ms に抑える。これは信頼できるシステムと同等であり、強力なアクセスパターンのプライバシーを維持している。

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 のオーバーヘッドに依存しない新しい無自覚物理演算子を設計すること。

提案手法

  • ObliDB は、クエリ選択性のレベルに応じて最適化された、新しい無自覚物理演算子のセットを採用しており、アクセスパターンの漏洩を最小限に抑える。
  • システムは、下位の無自覚メモリプリミティブとして Path ORAM を統合しており、データやクエリにかかわらず、アクセスパターンが区別不能になるようにする。
  • クエリ構造とデータサイズに基づいて最適化された無自覚演算子を選択するクエリプランナを採用している。
  • インデックスベースとフルスキャンの両方のアクセスメソッドをサポートしており、エンドツーエンドにわたって無自覚性を維持している。
  • ポイントクエリでは、最適化された無自覚インデックス構造を用いて、100万行のテーブルで 3–10ms の遅延を達成している。
  • クエリパラメータの漏洩を回避し、出力サイズとクエリ構造のみを公開する。これは Opaque の漏洩モデルと一致する。

実験結果

リサーチクエスチョン

  • RQ1一般用途の DBMS は、多様なアクセスメソッドをカバーしつつ、強力なプライバシーを保ちながら、効率的な無自覚クエリ処理を達成できるか?
  • RQ2標準のデータベース演算子を単純な ORAM に置き換えるのではなく、より優れた性能を発揮する無自覚物理演算子をどのように設計できるか?
  • RQ3実世界の分析およびトランザクションワークロードにおいて、最小限のパフォーマンスオーバーヘッドで無自覚性を実現できる範囲はどの程度か?
  • RQ4無自覚インデックス構造は、信頼できるシステムと同等の低遅延ポイントクエリをサポートできるか?
  • RQ5無自覚 DBMS のパフォーマンスは、セキュアな分析専用システムおよび信頼できないが高性能なシステム(例:Spark SQL)と比べてどの程度か?

主な発見

  • ObliDB は、先行するエナクラーブベースの無自覚分析システム Opaque よりも、分析ワークロードで最大 19× の高速化を達成している。
  • 100万行のテーブルに対するポイントクエリを 3.6–9.4ms で完了しており、HIRB よりも 7倍以上高速であり、インデックスオンリの信頼できるシステムと同等の遅延を達成している。
  • 分析ワークロードにおいて、Spark SQL の 2.6倍以内の性能で実行されており、強力なプライバシー保証のもとでも実用的なパフォーマンスを示している。
  • クエリ選択性とデータサイズに応じて適応する特殊な無自覚演算子により、ORAM アクセスのオーバーヘッドを低減している。
  • 結合、集計、挿入、削除、ポイントクエリを含む幅広い操作を、エンドツーエンドの無自覚性を保ちながらサポートしている。
  • オープンソース実装は GitHub で公開されており、再現性とさらなる研究を可能にしている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。