Privacy Pass は、Cloudflare が 2017 年に先駆けて取り組み、IETF 標準 ↗ になった仕組みです。ユーザーはアクセス先のサイトに対して、CAPTCHA を通過したこと、年齢を満たしていること、特定のサブスクリプション層に属していることなどを証明でき、識別子は明かしません。中心となる仕組みは Privacy Pass トークンです。サービス提供者は、そのユーザーが誰かを知ったり、リクエストをまたいで追跡したりせずに、ユーザーに関する情報を検証できます。
- はじめに — Privacy Pass の動きを自分で確認する 2 つの方法です。デモツールで実際のトークンを取得するか、発行と引き換えの流れをローカルで実行します。
- Privacy Pass プロトコル — 4 つの役割、アーキテクチャ図、発行と引き換えの流れです。
- デプロイモデル — 各役割の運用者、詳細なデプロイ例、ほかの製品の一部としての Privacy Pass です。
- 本番デプロイのテスト — Cloudflare と共同で構築した、実際の運用デプロイをエンドツーエンドで検証します。
- リファレンス — これらのドキュメントで引用している外部資料です。
インターネット上でユーザーを検証するとき、通常はユーザー体験とプライバシーのトレードオフが発生します。CAPTCHA を解く時間を取るか、追跡可能な識別子でプライバシーを失うかのどちらかです。Privacy Pass はそのトレードオフを和らげます。ユーザーは主張を一度証明し、あとで身元を明かさず、活動を結びつけられずに引き換えられるトークンを受け取ります。
これまでの主な用途は、Turnstile のようなプライバシーを保つ CAPTCHA 代替と、Cloudflare の Privacy Proxy および Privacy Gateway 向けの検証です。デプロイを調整すれば、Privacy Pass トークンは、サービス提供者が証明したいほかの情報にも使えます。
Privacy Pass のユースケースは、どれも同じ考えに基づきます。クライアントが Origin サーバーに何かを証明し、それ以外の情報は明かさないことです。例を挙げます。
-
ほかのプライバシー製品の認証 – Privacy Pass は、Privacy Proxy や Privacy Gateway などのプライバシー製品の検証層として使えます。各製品の機能を完了しつつ、ユーザーのプライバシーを保てます。
-
プライバシーを保つボット管理 – Apple は、Private Access Tokens というトークンデプロイを使い、参加サイトで iOS 16 以降のデバイス利用時に CAPTCHA を自動で減らしています ↗。Privacy Pass トークンは同様に Turnstile に組み込まれ ↗、アプリケーション層のチャレンジ判定のシグナルとして使われます。
-
属性の検証 – Privacy Pass は、有効なサブスクリプションがあるか、年齢要件を満たすかを証明できます。サービス側は身元を知らず、活動との紐づけもできません。
-
レート制限: 本番のユースケースはまだ開発中ですが、Privacy Pass トークンはユーザーを識別せずに利用量を計量できます。Batched Token issuance protocol ↗、ARC issuance protocol ↗、Privacy Pass Reverse Flow ↗ の IETF ドラフトを参照してください。
- 信頼性と規模。 Issuer は大量のリクエストを受け、攻撃やレイテンシでユーザー体験が損なわれないよう、高い可用性を保つ必要があります。Cloudflare のグローバルネットワークは、そのために作られています。Privacy Pass を大規模に運用している提供者は限られており、Cloudflare はそのひとつです。
- エッジでの引き換え。 Cloudflare は多くの Origin の手前にあるため、Origin に代わってエッジでトークンを検証できます。さらに Cloudflare Workers は引き換えをネイティブにサポートしており、Privacy Pass の統合を助ける追加インフラになります。
- 共有の公開 Issuer。 独自の Issuer を構築して維持する代わりに、Cloudflare の公開、RFC 9578 準拠の Issuer デプロイを利用できます。Privacy Pass のガイドラインに従い、信頼できる公開の監査可能なコミットメントを守っています。
MASQUE ベースのフォワードプロキシです。Privacy Pass トークンでユーザーを認証し、身元は明かしません。
リクエスト単位のプライバシー向け Oblivious HTTP(OHTTP)標準を実装します。Privacy Pass 認証を使い、アプリケーションバックエンドからクライアント IP アドレスを隠します。
任意のウェブサイトに埋め込める、Cloudflare のスマートな CAPTCHA 代替です。訪問者にチャレンジを出すかどうかの判定シグナルのひとつとして、Privacy Pass トークンを使います。