Skip to main content
QUICK REVIEW

[論文レビュー] Rollback and Forking Detection for Trusted Execution Environments using Lightweight Collective Memory

Marcus Brandenburger, Christian Cachin|arXiv (Cornell University)|Jan 4, 2017
Security and Verification in Computing参考文献 27被引用数 6
ひとこと要約

本稿では、Intel SGX などの信頼実行環境(TEE)において、クライアント側の操作のみを用いてアプリケーション状態の集団的で一貫性のあるビューを維持することにより、ロールバックおよびフォーク攻撃を検出できるプロトコルである軽量集団記憶(LCM)を提案する。LCM は最小限のオーバーヘッドでフォーク線形化性と操作安定性を確保し、SGX で保護されたキー値ストアのスループットの 0.72x から 0.98x を達成する。また、遅い信頼できる非ボラティール非揮発性カウンタに依存することを排除する。

ABSTRACT

Novel hardware-aided trusted execution environments, as provided by Intel's Software Guard Extensions (SGX), enable to execute applications in a secure context that enforces confidentiality and integrity of the application state even when the host system is misbehaving. While this paves the way towards secure and trustworthy cloud computing, essential system support to protect persistent application state against rollback and forking attacks is missing. In this paper we present LCM - a lightweight protocol to establish a collective memory amongst all clients of a remote application to detect integrity and consistency violations. LCM enables the detection of rollback attacks against the remote application, enforces the consistency notion of fork-linearizability and notifies clients about operation stability. The protocol exploits the trusted execution environment, complements it with simple client-side operations, and maintains only small, constant storage at the clients. This simplifies the solution compared to previous approaches, where the clients had to verify all operations initiated by other clients. We have implemented LCM and demonstrated its advantages with a key-value store application. The evaluation shows that it introduces low network and computation overhead; in particular, a LCM-protected key-value store achieves 0.72x - 0.98x of a SGX-secured key-value store throughput.

研究の動機と目的

  • Intel SGX などの TEE において、永続的状態整合性保護の欠如により、ロールバックおよびフォーク攻撃に対して脆弱であるという問題に対処すること。
  • 直接クライアント間の検証に依存しない信頼できる非揮発性カウンタを用いずに、フォーク線形化性を保証するソリューションを提供すること。
  • 定数サイズのクライアント側ストレージと軽量な暗号操作のみを用いることで、パフォーマンスのオーバーヘッドを最小限に抑えること。
  • アプリケーションの TEE 間での移行を可能にするとともに、ロールバックおよびフォーク検出の能力を維持すること。
  • LCM で保護されたプロトタイプのキー値ストアを通じて、実用的妥当性を実証すること。

提案手法

  • LCM は、軽量な暗号プリミティブと信頼実行環境(TEE)の特性を用いて、クライアント間で集団記憶を構築する。
  • 各クライアントは、TEE で保護されたアプリケーションから認証されたメッセージを受信して更新される共有状態ログのローカルコピーを維持する。
  • 共通のバージョニングメカニズムに基づき、操作がクライアント間で一貫して順序付けられるようにすることで、フォーク線形化性が強制される。
  • 操作安定性は、クライアントの過半数が特定の操作を承認した時点で決定され、クorum ベースのメカニズムが用いられる。
  • LCM はクライアント間直接通信を回避し、TEE を活用して状態更新を認証および伝搬する。
  • 状態の一貫性を効率的に検証し、改ざんを検出するためにメルクルツリー構造が使用される。

実験結果

リサーチクエスチョン

  • RQ1信頼できる非揮発性カウンタに依存せず、クライアント側でのみ動作する軽量プロトコルが、TEE におけるロールバックおよびフォーク攻撃を検出可能か。
  • RQ2最小限のパフォーマンスオーバーヘッドで、TEE 環境においてフォーク線形化性をどのように強制できるか。
  • RQ3TEE で保護されたアプリケーションに集団記憶の調整を追加した場合のパフォーマンスへの影響は何か。
  • RQ4LCM が、異なる TEE インスタンス間でのアプリケーション移行をサポートしつつ、セキュリティ保証を維持できるか。
  • RQ5セキュリティ、一貫性、効率性の観点から、従来のアプローチと比較して LCM はどのように異なるか。

主な発見

  • LCM は、SGX で保護されたキー値ストアのスループットの 0.72x から 0.98x を達成し、低いパフォーマンスオーバーヘッドを示した。
  • プロトコルは、クライアント間でアプリケーション状態の一貫した集団的ビューを維持することで、ロールバックおよびフォーク攻撃を効果的に検出できた。
  • 直接クライアント間通信や信頼できる非揮発性カウンタを必要とせず、フォーク線形化性を確保した。
  • 過半数のクライアントが操作を承認した時点で操作安定性が信頼性高く決定され、クライアントが一貫性について推論できるようになった。
  • アプリケーションの TEE 間での移行をサポートし、ロールバックおよびフォーク検出の能力を維持できた。
  • 評価結果から、信頼できるカウンタに依存する従来のアプローチは、1操作あたり 35–95 ms の遅延を引き起こすのに対し、LCM はそれを上回る性能を示した。

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

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

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

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