セキュリティ
前提:TEEによる基盤的セキュリティ
計算実行サーバーはTEE(Trusted Execution Environment)技術により保護されています。
Enclave領域の隔離
TEE内(Enclave領域)で実行されるプログラムとデータは、TEE外からアクセスできません
サーバー管理者、クラウドプロバイダー、OSであってもEnclave内部にアクセスできません
メモリの暗号化
Enclave内のメモリは、MEE(Memory Encryption Engine)により自動的に暗号化されます
CPUとメモリ(DRAM)の間で、ハードウェアレベルでの暗号化/復号が行われます
暗号化キーはCPU内部で管理され、外部からアクセスできません
詳細は TEE(Trusted Execution Environment)技術 を参照してください。
AutoPrivacy DataCleanRoomのセキュリティは2つのフェーズで構成されています。
前提:システムアーキテクチャ
計算実行サーバーは3つのコンポーネントで構成されています:
Controller: TEE外で動作、クライアントとのやり取りを担当(検証対象外)
Attester: TEE内で常駐するコンテナ、Remote Attestationで検証
Worker: TEE内で動的に作成される実行環境コンテナ、Local Attestationで検証
graph LR
Client[Client]
subgraph Server[計算実行サーバー]
Controller[Controller<br/>(TEE外)]
subgraph Enclave[TEE環境]
Attester[Attester<br/>(常駐コンテナ)]
Worker[Worker<br/>(動的作成)]
end
end
Client <--> Controller
Controller <--> Attester
Controller <--> Worker
Attester <--> Worker
classDef controller fill:#fff3e0,stroke:#e65100
classDef tee fill:#e8f5e9,stroke:#1b5e20
classDef worker stroke-dasharray: 5 5
class Controller controller
class Attester,Worker tee
class Worker worker
セキュリティの2フェーズ
graph TB
Phase1[**Phase 1:** <br/>**Remote Attestation**<br/>TEE環境と実行内容の検証]
Phase2[**Phase 2:** <br/>**鍵交換とデータ送信**<br/>共有秘密鍵の確立<br/>データ暗号化]
Phase1 --> Phase2
classDef phase1 fill:#e1f5ff,stroke:#01579b
classDef phase2 fill:#f3e5f5,stroke:#4a148c
class Phase1 phase1
class Phase2 phase2
ユーザーの実行フロー
認証トークン取得 (管理サーバー)
関数アップロード
クリーンルームデプロイ (関数を指定してWorker作成)
Phase 1-2のセキュリティ検証
データ送信・実行・結果取得
Note
管理サーバーは認証やTEEサーバURL取得を担当しますが、 TEEセキュリティモデルには直接関与しません。 以降のセキュリティ詳細では管理サーバーの説明を省略します。
各フェーズの詳細
-
Remote Attestation (RA) により、TEE環境(Attester/Worker)が正当であること、 意図した関数が実行されること、許可されたユーザーのみがアクセスできることを検証します。 具体的には、MRENCLAVE/MRSIGNERの検証とWork-IDの検証を行います。
-
検証済みのTEE環境とDiffie-Hellman鍵交換を行い、 クライアントとTEE間の共有秘密鍵を確立します。 この鍵を使ってデータを暗号化し、TEE内でのみ復号・処理されます。
コンプライアンス
準拠する暗号標準、セキュリティコンプライアンス、第三者検証可能性について説明します。