Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Privacy Pass プロトコル

最終更新 Markdown で表示Agent セットアップ

Privacy Pass は責任を 4 つの役割に分割し、単一の当事者が利用者の識別情報と活動のすべてを把握できないようにします。このページでは、プロトコルの情報の流れを説明します。各役割の運用者と、この設計が提供するプライバシー特性については、デプロイモデル を参照してください。


役割の概要

役割 責任
Client アクセスを要求し、発行と利用のプロトコルを実行します。
Origin トークンチャレンジを発行し、利用されたトークンを検証します。
Attester デプロイ固有の証明(attestation)プロセスを実行して、クライアントを検証します。
Issuer 証明済みクライアント向けに、ブラインドされたトークンリクエストへ署名します。Cloudflare の Issuer は、公開検証可能な Blind RSA(トークンタイプ 2)を使います。

プロトコルのやり取り

RFC 9576 の定義どおり、流れは 2 つのプロトコルに分かれます。発行(トークンの取得)と 利用(アクセスのための使用)です。

   ┌────────┐            ┌────────┐         ┌──────────┐         ┌────────┐
   │ Origin │            │ Client │         │ Attester │         │ Issuer │
   └────────┘            └────────┘         └──────────┘         └────────┘
       │                     │                   │                   │
       │<───── Request ──────│                   │                   │
       │                     │                   │                   │
       │── TokenChallenge ──>│                   │                   │
       │                     │                   │                   │
       │                     │<== Attestation ==>│                   │
       │                     │                                       │
       │                     │─── TokenRequest+Attestation Proof ───>│
       │                     │                                       │[Verifies Attestation]
       │                     │<──────────── TokenResponse ───────────│
       │                     │[Finalises Token]
       │<── Request+Token ───│
       │                     │
       │────── 200 OK ──────>│

最初のリクエスト

  1. Client が Origin へリクエストを送ります。
  2. Origin は トークンチャレンジ で応答します。Client が利用するトークンを持っていない場合、Origin が信頼する Issuer との 発行プロトコル を開始します。

発行プロトコル

  1. 発行プロトコルは、Client がデプロイ固有の 証明プロセス を完了するところから始まります。このステップは意図的にオープンエンドであり、ユースケースごとに独自の証明を定義できます。
  2. Attester が Client を検証したあと、Client は ブラインドされたトークンリクエスト(トークンのマスク済み版への署名要求。完成形と元のリクエストの紐づけを防ぎます)と証明の証拠を Issuer へ送ります。
  3. Issuer は検証結果を確認し、ブラインドされたトークンに署名して返します。Client はそれを 確定 して Privacy Pass トークンを復元し、発行プロトコルが完了します。

利用プロトコル

  1. 最後は 利用プロトコル です。Client はトークンを元のリクエストとともに Origin へ送り返します。
  2. Origin は署名を検証し、200 OK で応答してアクセスを許可します。

コードで確認する

Cloudflare のセットアップなしで、自分のマシン上で発行と利用の流れ一式を実行するには、はじめに のローカル例を参照してください。


関連リソース

役に立ちましたか?