システムアーキテクチャ

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で検証できます

利用の流れ

基本的な流れ

  1. 認証

    • 管理サーバーから認証トークンを取得

  2. 関数とデータの準備

    • 分析したい関数(Pythonスクリプト)を作成

    • 関数をアップロード

    • クリーンルームをデプロイ

    • 入力データを用意

  3. セキュリティ検証

  4. 実行

    • 暗号化されたデータをサーバーに送信

    • TEE内で処理を実行

    • 暗号化された処理結果が返送

  5. 結果の取得

    • 暗号化された結果をダウンロード

    • ユーザーのローカル環境で復号して確認

まとめ

AutoPrivacy DataCleanRoomは、以下の3つのコンポーネントで構成される安全なデータ分析プラットフォームです:

1. クライアント(APC CLI)

ユーザーのローカル環境で動作し、データの暗号化とサーバーとの通信を担当します。

2. 管理サーバー

認証機能を提供し、計算実行サーバーへのアクセスを管理します。

3. 計算実行サーバー(TEE環境)

TEE(Trusted Execution Environment)という特殊なハードウェアで保護された環境で、ユーザーのデータを安全に処理します。

セキュリティの特徴

  • データはクライアント環境とTEE内でのみ平文で扱われます

  • 暗号化されたデータは、サーバー管理者・クラウドサービスプロバイダーを含む誰も見ることができません

  • Remote Attestaionによってサーバーの実行環境の状態を検証できます

詳細なセキュリティモデルについては、セキュリティ を参照してください。