Skip to main content
QUICK REVIEW

[論文レビュー] The Pyramid Scheme: Oblivious RAM for Trusted Processors

Manuel Costa, Lawrence Esswood|arXiv (Cornell University)|Dec 21, 2017
Security and Verification in Computing参考文献 23被引用数 8
ひとこと要約

この論文は、Intel SGXの信頼できるプロセッサ向けに最適化された、新しい階層型オブlivious RAM(ORAM)スキーム、Pyramid ORAMを紹介する。新しいZigzagハッシュテーブルと確率的ルーティングを用い、定数オーバーヘッドとオンライン帯域幅を最小限に抑え、99%のアクセスに対してCircuit ORAMと比較して8倍低い遅延を達成している。プライベートメモリにはCPUレジスタのみを用いる。

ABSTRACT

Modern processors, e.g., Intel SGX, allow applications to isolate secret code and data in encrypted memory regions called enclaves. While encryption effectively hides the contents of memory, the sequence of address references issued by the secret code leaks information. This is a serious problem because these leaks can easily break the confidentiality guarantees of enclaves. In this paper, we explore Oblivious RAM (ORAM) designs that prevent these information leaks under the constraints of modern SGX processors. Most ORAMs are a poor fit for these processors because they have high constant overhead factors or require large private memories, which are not available in these processors. We address these limitations with a new hierarchical ORAM construction, the Pyramid ORAM, that is optimized towards online bandwidth cost and small blocks. It uses a new hashing scheme that circumvents the complexity of previous hierarchical schemes. We present an efficient x64-optimized implementation of Pyramid ORAM that uses only the processor's registers as private memory. We compare Pyramid ORAM with Circuit ORAM, a state-of-the-art tree-based ORAM scheme that also uses constant private memory. Pyramid ORAM has better online asymptotical complexity than Circuit ORAM. Our implementation of Pyramid ORAM and Circuit ORAM validates this: as all hierarchical schemes, Pyramid ORAM has high variance of access latencies; although latency can be high for some accesses, for typical configurations Pyramid ORAM provides access latencies that are 8X better than Circuit ORAM for 99% of accesses. Although the best known hierarchical ORAM has better asymptotical complexity, Pyramid ORAM has significantly lower constant overhead factors, making it the preferred choice in practice.

研究の動機と目的

  • 暗号化にもかかわらず機密性を損なう可能性があるIntel SGXエナclave内でのメモリアクセスパターンの漏洩問題に対処する。
  • 限られたプライベートメモリと高い定数オーバーヘッド制約を満たす現代の信頼できるプロセッサ向けに適したORAMスキームを設計する。
  • x64プロセッサ上で実用的に展開する際の低オンライン帯域幅と低定数要因を最適化する。
  • 大規模なオンチップスタッシュ要件を回避するため、プライベートメモリとしてCPUレジスタのみを用いた効率的でオブリビousなメモリアクセスを可能にする。
  • 予測可能なリビルドスケジューリングを活用することで、より高い最悪ケース遅延を示すにもかかわらず、階層型ORAMが実用的において木構造型スキームを上回ることを実証する。

提案手法

  • 新しい階層型ORAM構成、Pyramid ORAMを提案し、コアデータ構造として新規のZigzagハッシュテーブル(ZHT)を用いる。
  • 隠れ定数のないO(n log n)時間でZHTのオブリビous構築を可能にする確率的ルーティングネットワークを設計する。
  • 閾値に基づく再挿入戦略を用いた多段階の適応的ハッシングにより、オーバーフロー要素を効率的に管理する。
  • 大規模なオンチップストレージに依存せず、CPUレジスタのみをプライベートメモリとして使用する実装を実現する。
  • x64 Skylakeプロセッサ向けに低レベルの命令レベル最適化を用いて実装を最適化する。
  • オンラインコストおよびアベレージドコストの観点から、Pyramid ORAMを最先端の木構造型ORAMであるCircuit ORAMと比較する。

実験結果

リサーチクエスチョン

  • RQ1階層型ORAM設計は、木構造型ORAMと比較してより良いオンライン漸近的複雑度を達成できるか、かつ信頼できるプロセッサで低い定数オーバーヘッドを維持できるか?
  • RQ2現代のx64プロセッサ上で、最小限のプライベートメモリと低い定数要因を用いて、オブリビousデータ構造をどのように効率的に構築できるか?
  • RQ3階層型ORAMにおける予測可能なリビルドフェーズは、均一コストの木構造型スキームと比較して、遅延ばらつきをどれほど低減し、実用的性能を向上させられるか?
  • RQ4Zigzagハッシュテーブルのような新規ハッシング方式は、階層型ORAMにおける高価なオブリビousソーティングの必要性を排除できるか?
  • RQ5Intel SGX上での実世界ワークロードにおいて、Pyramid ORAMとCircuit ORAMの間で実用的性能のトレードオフはどの程度か?

主な発見

  • Pyramid ORAMは、Circuit ORAMと比較してより良いオンライン漸近的複雑度を達成し、アクセスあたりの帯域幅コストが低い。
  • 一般的な設定において、Pyramid ORAMは99%のアクセスに対してCircuit ORAMと比較して遅延を最低8倍低減する。
  • 実装ではCPUレジスタのみをプライベートメモリとして使用し、大規模なオンチップスタッシュや外部メモリの必要性を回避している。
  • より高い最悪ケース遅延を示すにもかかわらず、Pyramid ORAMの予測可能なリビルドスケジュールにより、高遅延アクセスの頻度が低減される。
  • 非常に低い定数オーバーヘッド要因のおかげで、Pyramid ORAMは実用的において、既知の最良の階層型ORAMを上回る。
  • 本研究は、Intel SGX上での階層型ORAMの最初の実験的評価を提供し、実世界のベンチマークにおいて、木構造型代替手法よりも実用的に優れていることを検証している。

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

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

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

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