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環境が正常に動作していることを検証できます
ユーザーは計算を実行する前に、実行環境の安全性を確認できます
詳細なシステム構成については、システムアーキテクチャ を参照してください。