Skip to main content
QUICK REVIEW

[論文レビュー] Building Your Own Trusted Execution Environments Using FPGA

Md Armanuzzaman, Sadeghi, Ahmad-Reza|arXiv (Cornell University)|Mar 8, 2022
Security and Verification in Computing被引用数 5
ひとこと要約

BYOTee は、カスタム設定可能なハードウェアおよびソフトウェア Trusted Computing Base (TCB) を備えたオンデマンド エンclaveを生成することにより、コンsumer FPGA デバイス上で複数の同等に安全な Trusted Execution Environment (TEE) を構築できるフレームワークです。ハードウェアおよびソフトウェアの整合性を保証する事前および事後リモートアテステーションを提供し、低性能の Zynq-7000 FPGA システム上で 4 つの SSA ワークロードおよび 12 のベンチマークで高いセキュリティとパフォーマンスを実現しています。

ABSTRACT

In recent years, we have witnessed unprecedented growth in using hardware-assisted Trusted Execution Environments (TEE) or enclaves to protect sensitive code and data on commodity devices thanks to new hardware security features, such as Intel SGX and Arm TrustZone. Even though the proprietary TEEs bring many benefits, they have been criticized for lack of transparency, vulnerabilities, and various restrictions. For example, existing TEEs only provide a static and fixed hardware Trusted Computing Base (TCB), which cannot be customized for different applications. Existing TEEs time-share a processor core with the Rich Execution Environment (REE), making execution less efficient and vulnerable to cache side-channel attacks. Moreover, TrustZone lacks hardware support for multiple TEEs, remote attestation, and memory encryption. In this paper, we present BYOTee (Build Your Own Trusted Execution Environments), which is an easy-to-use infrastructure for building multiple equally secure enclaves by utilizing commodity Field Programmable Gate Arrays (FPGA) devices. BYOTee creates enclaves with customized hardware TCBs, which include softcore CPUs, block RAMs, and peripheral connections, in FPGA on demand. Additionally, BYOTee provides mechanisms to attest the integrity of the customized enclaves' hardware and software stacks, including bitstream, firmware, and the Security-Sensitive Applications (SSA) along with their inputs and outputs to remote verifiers. We implement a BYOTee system for the Xilinx System-on-Chip (SoC) FPGA. The evaluations on the low-end Zynq-7000 system for four SSAs and 12 benchmark applications demonstrate the usage, security, effectiveness, and performance of the BYOTee framework.

研究の動機と目的

  • Intel SGX や Arm TrustZone などのプロプライエタリ TEE が抱える限界、すなわち透明性の欠如、固定された TCB、共有 CPU コア、サイドチャnel攻撃およびコールドブート攻撃への脆弱性を解消すること。
  • モノリシックなソフトウェア TCB を強制する既存の TEE が、信頼できない複雑なオペレーティングシステムやファームウェアに依存しているという制約を克服すること。
  • コンsumer FPGA 上で、カスタムハードウェアコンponents(例:ソフトコア CPU、周辺機器)を備えた複数の隔離され、暗号的に検証可能な TEE をユーザーが構築できるようにすること。
  • 実行時整合性を保証するため、ハードウェア(ビットストリーム、ファームウェア)およびソフトウェア(SSA、入力/出力)スタックに対する強力なリモートアテステーションを提供すること。
  • 開発者がセキュリティを損なわずに特定のアプリケーション要件に合わせて TEE をカスタマイズできる、軽量で合成可能かつ拡張可能なフレームワークを設計すること。

提案手法

  • Xilinx Zynq-7000 などのコンsumer SoC FPGA を使用して、ソフトコア CPU、ブロック RAM、周辺インターフェースなどを含むユーザー定義ハードウェアコンponents を備えた複数の隔離されたエンクラーブをインスタンス化する。
  • エンクラーブのライフサイクル管理、システムライブラリの提供、および Rich Execution Environment (REE) との間で安全な通信を可能にする BYOTee ファームウェア層を採用する。
  • FPGA ビットストリーム、ファームウェア、SSA を、ハードウェア保護された鍵を用いて一意の暗号的信頼の根(root of trust)に束縛する信頼ブートメカニズムを導入する。
  • 2 種類のアテステーションモードをサポートする:事前実行(実行前にエンクラーブのハードウェアおよびソフトウェアスタックの整合性を検証)と事後実行(入力・出力および実行状態の正しさを検証)。
  • FPGA の再構成性を活用して、カスタマイズ可能な TCB を備えたエンクラーブをオンデマンドで作成・破棄可能にし、固定されたモノリシック TEE に依存しないようにする。
  • 安全レジスタや暗号的ダイジェストを用いたハードウェア保護された測定値の蓄積を活用し、信頼できない検証者によるエンクラーブ整合性のリモート検証を可能にする。
Figure 1: An overview of SoC FPGA hardware
Figure 1: An overview of SoC FPGA hardware

実験結果

リサーチクエスチョン

  • RQ1コンsumer FPGA 上に、個々のハードウェアおよびソフトウェア TCB を備えた複数の隔離されたエンクラーブをサポートする完全にユーザー設定可能な TEE を構築可能か?
  • RQ2リモートアテステーションを、ビットストリームやファームウェアに加えて、Security-Sensitive Applications (SSAs) の入力・出力および実行動作をカバーするように効果的に拡張可能か?
  • RQ3強力なセキュリティ保証を維持しながら、低性能な FPGA でも、妥当なパフォーマンスとリソース効率を達成できるか?
  • RQ4実行オーバーヘッドおよびサイドチャnel耐性の観点から、SGX や TrustZone と比較して BYOTee のパフォーマンスはどの程度か?
  • RQ5アーキテクチャ的隔離およびメモリ暗号化によって、キャッシュサイドチャネル攻撃やコールドブート攻撃といった一般的な TEE の脆弱性を軽減できるか?

主な発見

  • BYOTee は、低性能な Xilinx Zynq-7000 FPGA 上で、複数の隔離され、暗号的に検証可能な TEE を正常に実装し、コンsumer ハードウェア上で実現可能性を示した。
  • フレームワークは、ハードウェア(ビットストリーム、ファームウェア)およびソフトウェア(SSA の入力/出力)の両方に対するリモートアテステーションを達成し、リモート検証者との信頼関係構築を可能にした。
  • 4 つの SSA および 12 のベンチマークアプリケーションに対する評価では、BYOTee が、ハードウェア隔離によるキャッシュサイドチャネル攻撃への耐性を含む、強力なセキュリティ特性を維持していることが確認された。
  • ネイティブ実行と比較して、パフォーマンスオーバーヘッドが低く抑えられており、各エンクラーブに専用のハードウェア隔離が実装されているため、コンテキストスイッチのコストが顕著に削減された。
  • BYOTee は、モノリシックな REE OS や信頼できる OS カーネルの必要性を排除し、SGX や OP-TEE と比較してソフトウェア TCB や攻撃表面を削減した。
  • フレームワークはメモリ暗号化をサポートし、FPGA 内部メモリに機密データを隔離し、安全なビットストリームロードを用いることで、コールドブート攻撃に対する保護を実現した。
Figure 2: The architecture and workflow of the BYOTee framework at development-, boot- and run-time. During development, BYOTee and vendor-provided tools are used to generate the protected FPGA image and protected SSAs, which are loaded onto the FPGA ( \Circled 1 ) and enclaves ( \Circled 2 ), respe
Figure 2: The architecture and workflow of the BYOTee framework at development-, boot- and run-time. During development, BYOTee and vendor-provided tools are used to generate the protected FPGA image and protected SSAs, which are loaded onto the FPGA ( \Circled 1 ) and enclaves ( \Circled 2 ), respe

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

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

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

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