セキュリティ
############
前提: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