プライベート ステート トークン
限定的な情報をブラウジングコンテキストから別のブラウジングコンテキストに(サイト間など)伝達できるようにすることで、パッシブ追跡を行わずに不正行為に対抗できるようにするための API。
この記事では以前、プライベート ステート トークンを「トラスト トークン」と呼んでいました。 Trust Token API は、Private State Token API に名前が変更され、プライバシーとユーティリティのメリットがよりよく示されています。
詳細は、トラストトークンからプライベートステートトークンへの名前の変更をお読みください。
実装状況
- Chrome プラットフォームのステータス。
- Chrome 84 から 101 のオリジントライアル: 終了しました。
- デモ: オリジントライアルが終了したため、これは機能しなくなりました。コードは引き続き閲覧できます。
- Chrome DevTools の統合。
プライベート ステート トークンとは?
プライベート ステート トークンを使用すると、ユーザーの真正性に対する信頼を、あるコンテキストから別のコンテキストに伝達できるようになり、サイトが詐欺に対抗し、パッシブトラッキングなしでボットと実際の人間を区別できるようになります。
- 発行側のウェブサイトは、たとえば、アカウントの継続的な使用、トランザクションの完了、または許容可能な reCAPTCHA スコアの取得などの方法で信頼性を証明できるユーザーのウェブブラウザにトークンを発行できます。
- 引き換え側のウェブサイトは、引き換え側が信頼する発行側からのトークンを有しているかを確認した上で、必要に応じてトークンを引き換えることで、ユーザーが正当なユーザーであることを確認できます。
プライベート ステート トークンは暗号化されているため、個人を識別したり、信頼できるインスタンスと信頼できないインスタンスを接続してユーザー ID を検出したりすることはできません。
プライベート ステート トークンは、ユーザーが本人であるかどうかを判断するための reCAPTCHA やその他のメカニズムに代わるものではありません。
プライベート ステート トークンは、ユーザーの信頼を確立する方法ではなく、ユーザーの信頼を伝える手法です。
プライベート ステート トークンが必要な理由
ウェブには、ユーザーが主張する人物であり、人間になりすましているボットではないこと、また実在の人物やサービスを装った悪質なサードパーティではないことを示す信頼のシグナルを確立し、それを伝達する手段が必要です。 不正防止は、特に広告主、広告プロバイダー、および CDN にとって重要なことです。
残念ながら、実際の人物がサイトと対話しているかどうかを判断するなどのために、信頼性を測定して伝播する既存の仕組みには、多くの場合、フィンガープリンティングにも使用できる手法が活用されています。 信頼を伝達する仕組みはプライバシーを保護し、個々のユーザーを追跡することなくサイト間で信頼を伝播できるものでなければなりません。
Private State Token API を使用すると、ウェブサイトは信頼できるユーザーに暗号化トークンを発行でき、後で他の場所で使用できます。トークンはユーザーのブラウザによって安全に保管され、ユーザーの信頼性を確認するために他のコンテキストで引き換えることができます。これにより、あるウェブサイト(ソーシャルメディアサイトや電子メールサービスなど)でのユーザーの信頼を、ユーザーを識別したりサイト間で ID をリンクしたりすることなく、別のウェブサイト(サイト運営者やオンラインストアなど)に伝えることができます。
フィンガープリンティング手法では、サイトがユーザーのデバイス、オペレーティングシステム、およびブラウザの設定(言語設定、ユーザーエージェント、使用可能なフォントなど)を取得して、個々のユーザーを特定し追跡することができます。 これは、サーバー上でリクエストヘッダーをチェックするか、クライアント上で JavaScript を使用して実行できます。
フィンガープリンティングは、ユーザーが認識しない制御不能な仕組みを使用しています。 Panopticlick や amiunique.org などのサイトでは、フィンガープリントデータを組み合わせて個人としてユーザーを識別する方法を示しています。
プライベート ステート トークンの仕組み
以下は、広告を表示する前に、ユーザーがボットではなく実際の人物であることを確認したいと考えるサイト運営者サイトの例です。
- ユーザーがウェブサイト(発行者と呼ばれる)にアクセスし、何かを購入したり、電子メールアカウントを使用したり、reCAPTCHA を完了させたりするなど、サイトがそのユーザーを実際の人物として信頼するようなアクションを実行します。
- 発行者サイトは、Private State Token JavaScript API を使用して、ユーザーのブラウザのトラスト トークンの要求をトリガーします。
- 発行者サイトはそれにトークンデータで応答します。
- ユーザーのブラウザは、トラスト トークンのデータを安全に保存します。
- ユーザーは、広告を表示するときなどに、ユーザーが実際の人物であるかどうかを確認しようとする別のウェブサイト(ニュースサイトなど)にアクセスします。
- このサイトは、Private State Token API を使用して、サイトが信頼する発行者のトラスト トークンがユーザーのブラウザに保存されているかどうかを確認します。
- ユーザーが以前にアクセスした発行者のプライベート ステート トークンが見つかります。
- ニュースサイトは、発行者にそのトラストプライベート ステート トークントークンの引き換えを要求します。
- 発行者サイトは、Redemption Record(引き換えレコード)を返します。
- ニュースサイトは、ユーザーが発行者から実際の人物であると信頼されていることを示すために、Redemption Record(引き換えレコード)を含めて広告プラットフォームにリクエストを送信します。
- 広告プラットフォームは、広告を表示するために必要なデータを返します。
- ニュースサイトに広告が表示されます。
- 広告ビューのインプレッションがカウントされます。
この例の JavaScript 呼び出しの詳細については、API の使用例をご覧ください。
プライバシー状態トークン用のツールはありますか?
Chrome DevTools では、[ネットワーク] タブと [アプリケーション] タブから検査を有効にします。この DevTools の統合 とプライベートステートトークンについて詳しくは、こちらをご覧ください。
サイト運営者は、複数の信頼できる発行者からのトークンをどのように処理しますか?
サイト運営者は、一度に 1 つの発行者に対し、document.hasTrustToken()
を使用してユーザーのブラウザに有効なトークンがあるかを確認できます。これが true
を返してトークンが利用可能な場合、サイト運営者はそのトークンを引き換えて、他のトークンの検索を停止できます。
サイト運営者は、チェックするトークン発行者とその順序を決定する必要があります。
貢献とフィードバックの共有
- オリジントライアル: 終了しました。
- デモ: トラスト トークンのオリジントライアルは終了しましたが、デモは引き続き確認できます。
- GitHub: 提案を読み、質問を投稿したり、ディスカッションに参加したりできます。
- W3C: Improving Web Advertising Business{nbsp}Group で、業界ユースケースについて議論できます。
- IETF: IETF の Privacy{nbsp}Pass ワーキンググループでは、基盤のプロトコルに関する技術的な意見を投稿できます。
- 開発者サポート: Privacy Sandbox Developer Support リポジトリでは、質問したり、ディスカッションに参加したりできます。
- オリジントライアルの質問: Chromium バグを送信するか、オリジントライアルの参加者に答申されるフィードバックフォームに返信できます。