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