システムアーキテクチャ
AutoPrivacy DataCleanRoomのシステムアーキテクチャについて説明します。
概要
AutoPrivacy DataCleanRoomは、データの機密性を保持したまま複数パーティ間でデータ分析を実行できるプラットフォームです。 システムは3つの主要コンポーネントで構成されており、それぞれが明確な役割を持っています。
システム構成
システムは以下の3層で構成されています:
graph LR
Client["APC CLI<br/>(クライアント)"]
subgraph APOS["管理サーバー"]
direction LR
APOSDesc["・サーバー管理<br/>・アクセス制御(認証)"]
end
subgraph ComputeServer["計算実行サーバー"]
direction LR
subgraph Enclave["TEE (機密計算環境)"]
EnclaveDesc["・データ復号<br/>・関数実行<br/>・結果暗号化"]
end
end
Client --> APOS
Client -.-> ComputeServer
classDef clientStyle fill:#e1f5ff,stroke:#01579b,stroke-width:2px
classDef aposStyle fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef computeStyle fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
classDef enclaveStyle fill:#e8f5e9,stroke:#1b5e20,stroke-width:3px
class Client clientStyle
class APOS,APOSDesc aposStyle
class ComputeServer computeStyle
class Enclave,EnclaveDesc enclaveStyle
各コンポーネントの役割
1. APC CLI(クライアント)
概要
ユーザーのローカル環境で動作するコマンドラインツールです。データの暗号化やサーバーとの通信を行います。
主な機能
実行環境作成: クリーンルームの作成・設定
データ準備: 分析関数とデータのアップロード
実行制御: 計算処理の開始と結果の取得
セキュリティ: データの暗号化・復号とサーバー検証
重要なポイント
データはクライアント側で暗号化されてから送信されます
暗号化鍵はユーザーのローカル環境でのみ管理されます
サーバーが信頼できる環境で動作しているか検証できます
2. 管理サーバー
概要
計算実行サーバー(TEE Server)を管理し、認証機能を提供するサーバーです。
主な機能
認証: ユーザーの身元を確認し、計算実行サーバーへのアクセスを管理
重要なポイント
認証トークンを発行し、ユーザーがどの計算実行サーバーにアクセスできるかを制御します
暗号化されたデータは見ることができません
3. 計算実行サーバー(TEE環境)
概要
ユーザーが送信したデータを復号し、関数を実行した後、結果を暗号化してクライアントに返送するサーバーです。 TEE(Trusted Execution Environment)という特殊なハードウェアで保護された領域を持っています。
主な機能
データ復号: 暗号化されたデータをTEE内でのみ復号
関数実行: 指定された分析処理を実行
結果暗号化: 実行結果を暗号化してクライアントに返送
重要なポイント
データはTEE内でのみ平文で処理されます
TEEの外(サーバー管理者を含む)からはデータを見ることができません
実行環境の正当性をRemote Attestationで検証できます
利用の流れ
基本的な流れ
認証
管理サーバーから認証トークンを取得
関数とデータの準備
分析したい関数(Pythonスクリプト)を作成
関数をアップロード
クリーンルームをデプロイ
入力データを用意
セキュリティ検証
サーバーの実行環境の状態を検証
詳細は セキュリティ を参照
実行
暗号化されたデータをサーバーに送信
TEE内で処理を実行
暗号化された処理結果が返送
結果の取得
暗号化された結果をダウンロード
ユーザーのローカル環境で復号して確認
まとめ
AutoPrivacy DataCleanRoomは、以下の3つのコンポーネントで構成される安全なデータ分析プラットフォームです:
1. クライアント(APC CLI)
ユーザーのローカル環境で動作し、データの暗号化とサーバーとの通信を担当します。
2. 管理サーバー
認証機能を提供し、計算実行サーバーへのアクセスを管理します。
3. 計算実行サーバー(TEE環境)
TEE(Trusted Execution Environment)という特殊なハードウェアで保護された環境で、ユーザーのデータを安全に処理します。
セキュリティの特徴
データはクライアント環境とTEE内でのみ平文で扱われます
暗号化されたデータは、サーバー管理者・クラウドサービスプロバイダーを含む誰も見ることができません
Remote Attestaionによってサーバーの実行環境の状態を検証できます
詳細なセキュリティモデルについては、セキュリティ を参照してください。