セキュリティモデル

AutoPrivacy DataCleanRoomのセキュリティモデルの概要を説明します。 詳細なセキュリティ検証の仕組みについては、セキュリティ を参照してください。

概要

AutoPrivacy DataCleanRoomは、「検証可能性」を重視して設計されています。 ユーザーのデータの機密性は、TEE(Trusted Execution Environment)という特殊なハードウェア技術によって保護されます。 システムのセキュリティは検証可能であり、ユーザーは必要に応じて全てを検証できます。

信頼モデル

何を信頼するか

AutoPrivacy DataCleanRoomを使用する際、ユーザーが信頼する必要があるのは以下のみです:

  1. TEEチップベンダー (Intel、AMDなど)

    • TEEハードウェアの実装

    • Remote Attestation(遠隔認証)の仕組み

  2. MAA(Microsoft Azure Attestation)の運営元 (Microsoft)

    • Quoteの検証サービス

    • 検証結果の正確性

  3. ユーザー自身のローカル環境

    • ユーザーのコンピューター

    • APC CLIツール

検証可能な範囲

以下の要素は検証可能であり、ユーザーが悪意の有無を確認できます:

  • TEE環境: Remote Attestationによる検証

  • 実行関数: Work-ID検証による確認

  • サーバーの実行状態: Quote生成と検証

以下の要素は、たとえ悪意を持っていたとしてもユーザーのデータの機密性に影響しません:

  • Controller(計算実行サーバーのTEE外コンポーネント)

  • 計算実行サーバーの管理者

  • ネットワーク経路

  • クラウドプロバイダー

セキュリティの仕組み

1. データの暗号化

クライアント環境での暗号化

  • データはユーザーのローカル環境で暗号化されます

  • 暗号化に使用する共有秘密鍵は、クライアントとTEE内で生成されます

TEE内での復号

  • 暗号化されたデータはTEE内でのみ復号されます

  • TEEの外からは、誰もデータにアクセスできません

  • サーバー管理者・クラウドサービスプロバイダーであっても、データを見ることはできません

2. Remote Attestation(遠隔認証)

サーバーの検証

計算を実行する前に、サーバーの実行環境についてAPC CLIを用いて以下を検証します:

  • サーバーのTEE環境が正常に動作していること

  • 実行される関数が改ざんされていないこと

検証の仕組み

        sequenceDiagram
    participant Client as クライアント<br/>(APC CLI)
    participant TEE as TEE環境

    Client->>TEE: サーバーの実行環境を検証
    TEE-->>Client: 検証情報(証明書)
    Client->>Client: 証明書を検査
    alt 検証成功
        Client->>TEE: 信頼できると判断
        Client->>TEE: 暗号化鍵を安全に交換
    else 検証失敗
        Client->>Client: 処理を中止
    end
    

3. 安全な鍵交換

サーバーの検証が完了すると、暗号化に使用する鍵を安全に交換します:

  • TEE内で生成された公開鍵を取得

  • ユーザーのローカル環境で生成した鍵と組み合わせて共有秘密鍵を作成

  • この共有秘密鍵は、クライアントとTEE内のプログラムのみが知っています

4. アクセス制御

管理者(Acompany)が、各TEEサーバーにリクエストを送信出来るユーザーを管理します。 ユーザーは許可されたTEEサーバーにのみ各種リクエストを送信することが出来ます。

データの保護範囲

保護されるデータ

以下のデータは安全に保護されます:

  • 入力データ: ユーザーがアップロードするデータ

  • 中間データ: 計算中の一時的なデータ

  • 出力データ: 計算結果

  • 暗号化鍵: データの暗号化/復号に使用される鍵

これらは常に暗号化されているか、TEE内でのみ平文として扱われます。

保護されないデータ

以下のデータは暗号化されません:

  • 実行関数: アップロードした関数ファイルの内容全体(サーバー管理者が閲覧可能)

  • ファイルメタデータ: ファイル名やファイルサイズなどのメタデータ

  • 実行時刻: ログ情報などの実行履歴

実行関数の内容やファイル名には、機密情報を含めないでください。

よくある質問

Q: サーバー管理者はユーザーのデータを見ることができますか?

A: いいえ、できません。データはTEE内でのみ復号されるため、サーバー管理者を含む誰もユーザーのデータを見ることはできません。

Q: クラウドプロバイダー(Azure等)は信頼する必要がありますか?

A: いいえ、必要ありません。TEE技術により、クラウドプロバイダーであってもTEE内のデータにアクセスすることはできません。

Q: ネットワーク経路で盗聴されても大丈夫ですか?

A: はい、大丈夫です。データは送信前に暗号化されているため、ネットワーク経路で盗聴されても内容を読むことはできません。

Q: Acompanyは信頼する必要がありますか?

A: いいえ、信頼する必要はありません。システムは「検証可能性」を重視して設計されています。TEE環境やサーバーの実行状態はRemote Attestationにより検証可能であり、ユーザーは必要に応じて全てを検証できます。

Q: TEEチップベンダーは信頼する必要がありますか?

A: はい、TEEハードウェア(Intel SGXなど)の実装は信頼する必要があります。これは現在の技術における根本的な信頼の基盤です。

Q: アップロードした実行関数ファイルはTEEで暗号化管理されていますか?

A: いいえ、TEE外で通常のアクセス制御ポリシーに従って保護されています。

まとめ

AutoPrivacy DataCleanRoomのセキュリティモデルは、以下の原則に基づいています:

  1. 最小限の信頼: TEEハードウェアを基盤とした信頼モデル

  2. 暗号化第一: データは常に暗号化された状態で保存・転送

  3. 検証可能性: サーバーの実行環境やセキュリティ状態を検証可能

  4. 透明性: ユーザーが望めば全てを検証できる設計

この設計により、ユーザーはデータの完全な制御を保ちながら、安全にデータ分析を実行できます。

さらに詳しい技術情報については、セキュリティ を参照してください。