TEE(Trusted Execution Environment)技術

TEE技術の概要とAutoPrivacy DataCleanRoomでの活用方法について説明します。

TEEとは

TEE(Trusted Execution Environment)は、ハードウェアレベルでデータを保護する技術の総称です。

TEEには複数のハードウェア実装があり、代表的なものとしてIntel SGX、AMD SEV、ARM TrustZoneなどがあります。 以下では、AutoPrivacy DataCleanRoomで使用している Intel SGX を例に、TEEの主な特徴を説明します。

主な特徴

Enclave領域の隔離

  • TEE内の領域(Enclave)は外部から完全に隔離されています

  • サーバー管理者やクラウドプロバイダーであっても、Enclave内のデータにアクセスできません

  • オペレーティングシステムやハイパーバイザーからもアクセス不可能です

MEE(Memory Encryption Engine)による透過的なメモリ暗号化

  • MEEはCPUとメモリ(DRAM)の間に配置され、データの暗号化・復号を自動的に行います

  • Enclave内のデータがCPUパッケージの外部(DRAM)に書き込まれる際、MEEが透過的に暗号化します

  • 逆に、DRAMからCPUに読み込まれる際は、MEEが透過的に復号します

  • 暗号化キーは電源投入時にハードウェア内で生成され、実行中のソフトウェアからはアクセスできません

  • 物理的なメモリへの直接アクセスがあっても、暗号化されたデータしか読み取れません

ハードウェアレベルでの保護機構

  • CPUチップ内部のハードウェア機能として実装されています

  • ソフトウェアの脆弱性に依存しない、根本的なセキュリティを提供します

  • Remote Attestation機能により、実行環境の正当性を検証できます

さらに詳しい技術情報については、以下を参照してください:

AutoPrivacy DataCleanRoomでのTEE活用

AutoPrivacy DataCleanRoomでは、計算実行サーバーにTEE技術を使用しています。

計算実行サーバーの構成

計算実行サーバーは、以下の2つの領域で構成されています:

  • TEE内(Enclave内): ユーザーのデータを復号し、関数を実行する領域

  • TEE外: サーバーの管理機能やネットワーク通信を担当

データ保護の仕組み

暗号化されたデータの送信

  • クライアント(APC CLI)のローカル環境でデータを暗号化してからサーバーに送信します

  • 送信中および保存中は常に暗号化された状態です

  • 計算結果はTEE内で暗号化してからクライアントに返送します

TEE内でのみ復号

  • 暗号化されたデータはTEE内でのみ復号されます

  • サーバー管理者やクラウドプロバイダーを含む誰も、暗号化されたデータの内容を見ることはできません

検証可能な安全性

  • Remote Attestation機能により、サーバーのTEE環境が正常に動作していることを検証できます

  • ユーザーは計算を実行する前に、実行環境の安全性を確認できます

詳細なシステム構成については、システムアーキテクチャ を参照してください。