Google のプライバシーサンドボックス関連の提案の概要と資料をまとめました
はじめに
最近目にする FLoC や First-Party Sets について調べていると、Google がサードパーティ Cookie を廃止するための様々な提案を「プライバシーサンドボックス」という名前でまとめているということを知りました。
Google の動向はやはり気になりますし、広告だけでなくプライバシーに関する提案もあるので、とりあえずどういうことをやろうとしているのかの概要と資料をまとめておきたいと思い、この記事を書きました。
おことわり
なるべく正確な情報をまとめることを心がけていますが、私はあまり広告の領域に詳しくはありませんし、各提案を完全に理解しているわけではありません。
また現在は提案の段階なので、今後変わっていく可能性もあります。
最新の正確な情報は The Privacy Sandbox: Technology for a More Private Web やプライバシーサンドボックス - Chrome Developers、各提案の内容をご参照ください。
誤った情報などありましたら、コメントなどでご指摘いただけますと幸いです。
プライバシーサンドボックスとは
プライバシーサンドボックスは、サードパーティの Cookie やその他の追跡メカニズムを使用せずにクロスサイトのユースケースを満たすことを目指す一連の提案です。
Google はサードパーティ Cookie を廃止することを目指しています。
その代替として、サードパーティ Cookie に頼らないターゲティング広告の仕組みや、プライバシーを向上させるための提案をまとめて「プライバシーサンドボックス」と呼んでいるようです。
この記事では Privacy Sandbox とは何ですか? - Chrome Developers に書かれている以下の提案の概要と資料をまとめています。
- FLoC
- FLEDGE
- アトリビューションレポート
- SameSite Cookieの変更
- First-Party Sets
- Trust Tokens
- Privacy Budget
- User-Agent Client Hints
- Gnatcatcher
- WebID
FLoC
ブラウザ内で閲覧履歴など元に、機械学習によって閲覧者の興味のある領域を区分し、その情報をベースにターゲティング広告を行う、というもののようです。
サーバーではなくブラウザ内で閲覧履歴などを処理し、興味のある領域という数千人単位のグループに振り分けるようです。
数千人のグループであれば個人を特定できないので、プライバシーを守りつつターゲティング広告ができる、というロジックのようです。
FLoC は Federated Learning of Cohorts の略で、コホートの連合学習 と訳されたりするようです。
2022-02-18 追記
Google は FLoC の提案をやめ、新たに The Topics API という提案をしました。
以下の記事に The Topics API の概要をまとめています。
批判
FLoC は、サードパーティ Cookie に代わるターゲティング広告の中心的な技術であり、批判も多くあります。
詳しくは参考リンクの記事を参考にしてください。
参考リンク
- WICG/floc: FLoC
- FLoC - Chrome Developers
- FLoCとは何ですか? | GIGAZINE.BIZ
- FLoCとはなにか - ぼちぼち日記
- Cookieと違う、Googleが開発するFLoCとは?
- Googleが導入予定の「FLoC」は最悪なものだと電子フロンティア財団が指摘 - GIGAZINE
- マイクロソフトEdge、Googleの広告技術FloCを無効化。事実上の「NO」表明か - Engadget 日本版
- GoogleがCookieに代わる広告ターゲティング手段FLoCをChromeでテスト開始 | TechCrunch Japan
- Googleに騙されてはいけない:FLoCは邪悪なアイデアである | P2Pとかその辺のお話R
- Googleが提案するサードパーティーCookieなしの新しい広告の仕組み「FLoC」とは? - GIGAZINE
- Googleの新しい広告システム「FLoC」はどのような仕組みで動作するのか? | GIGAZINE.BIZ
- Googleの「FLoC」によってどのようにプライバシー侵害が起こるのか? | GIGAZINE.BIZ
FLEDGE
ユーザーの関心に基づいて広告を配信できるが、ユーザーを特定させないための仕様のようです。
具体的には、あるサイトにアクセスすると特定の広告グループに紐付けられ、ブラウザ内で オークションが行われて広告が決定されるようです。
そのため、広告主はどのページを見たなどの情報はわからないが、適した広告を配信できるという仕組みのようです。
TURTLEDOVE
FLEDGE は TURTLEDOVE という提案の最初の実験的な API という位置づけのようです。
Chrome expects to build and ship a first experiment in this direction during 2021. For details of the current design, see FLEDGE.
https://github.com/WICG/turtledove/blob/main/README.md
First Experiment (FLEDGE)
https://github.com/WICG/turtledove/blob/main/FLEDGE.md
参考リンク
- WICG/turtledove: TURTLEDOVE
- turtledove/FLEDGE.md at main · WICG/turtledove
- FLEDGE - Chrome Developers
- TURTLEDOVEとは何ですか? | GIGAZINE.BIZ
- FLEDGEとは何ですか? | GIGAZINE.BIZ
- PrivacySandboxにおけるWeb広告のEdgeComputing技術 | PLAID engineer blog
アトリビューションレポート
サードパーティ Cookie を使わず、ユーザーのコンバージョンを測定する仕様です。
特定の広告要素をクリックした時に、キャンペーンなどを識別する情報だけを送ってどの程度コンバージョンしたかを測定できるようです。
またレポートを遅延して送信したり、ノイズを含めることでよりプライバシーを高めるようです。
Safari の場合
Safari / Webkit ではサポートされておらず、Private Click Measurement (プライベート クリック測定)と呼ばれる広告コンバージョンを測定する別の API が提案されています。
https://developer.chrome.com/ja/docs/privacy-sandbox/attribution-reporting-introduction/#ブラウザのサポート
リンク先のこちらの動画がわかりやすかったです。
(日本語字幕あり)
Google Chrome と Safari で違う方法で計測が必要になりそうです。
参考リンク
- WICG/conversion-measurement-api: Conversion Measurement API
- アトリビューションレポート - Chrome Developers
- アトリビューション レポートの概要 (コンバージョン測定) - Chrome Developers
SameSite Cookieの変更
Cookie の設定時に付与される SameSite
属性についての話のようです。
すでにモダンブラウザの多くは実装済みですね。
SameSite
属性はクロスオリジンへの Cookie の送信を制御するための属性で、適切に設定することで CSRF などの攻撃を防ぐことができます。
詳しくは以下の MDN のサイトなどを参照してください。
参考リンク
First-Party Sets
First-Party Sets は、異なるオリジンをファーストパーティとして扱うための仕様です。
例えば site-b.example
にアクセスした時に、site-a.example
のファーストーパーティのメンバーだと指定されていた場合、site-b.example
は site-a.example
(ファーストーパーティ)と同等に扱われるようです。
具体的には .well-known/first-party-set
というファイルをそれぞれのドメインに設置することで、ファーストパーティであることを検証するようです。
参考リンク
- privacycg/first-party-sets
- First-Party Sets - Chrome Developers
- First-Party Setsについて
- First-Party Setsでドメインを超えてCookieを共有する - Qiita
Trust Tokens
アクセスしているのが人間かボットなのかを、ユーザーを識別することなく判定できるようにする仕様のようです。
ただし、どのように人間かボットかを判定するかは、仕様には含まれていないようです。
fetch
のオプションに trustToken
という設定を与えてアクセスすることで Trust Token の発行・認証ができるようにするようです。
(提案の Sample API Usage を参照)
参考リンク
Privacy Budget
Privacy Budget は Font, Canvas, User-Agent などブラウザの識別(ブラウザフィンガープリント)のために使える API に対して、一定の制限を設ける、という仕様のようです。
ただし、現時点では実験段階で絶対的な基準はまだ存在しないようです。
参考リンク
User-Agent Client Hints
User-Agent
ヘッダーに含まれる情報量を減らすために Sec-CH-UA*
というヘッダーを使って必要な情報を渡すことができるという仕様のようです。
User-Agent
ヘッダーは情報量が多く、ブラウザフィンガープリントとしても使われるため、プライバシーを守るため情報量を減らしていきたい、という背景があるようです。
参考リンク
Gnatcatcher
ユーザーをIPアドレスで識別させないための仕様のようです。
以下の2つの要素で構成されているようです。
-
Near-path NAT
は別のサーバーを介してアクセスすることでIPアドレスを隠すようです -
Willful IP Blindness
は Web サイトが IP アドレスをユーザーに関連付けしていないことをブラウザに通知できるようです- (どういう風に実現するのかが私もまだ理解できていません。理解できたら書きたい)
参考リンク
WebID
IDフェデレーションを使った認証フローを、サードパーティCookieやリダイレクトを使わず、ブラウザで連携するための仕様のようです。
この図がイメージを掴みやすいです。
参考リンク
補足
ブラウザフィンガープリント
ブラウザフィンガープリントは、ブラウザから取得できる環境などの情報からブラウザを特定する手法です。
ブラウザの識別なので、ブラウザフィンガープリント単体で複数の端末やブラウザを使っているユーザーを識別することはできません。
ただし、Cookie などと併用すればできる可能性があります。
ブラウザフィンガープリントでは、ブラウザバージョン、プラグイン、ハードウェア情報、履歴、フォント、Canvas(WebGL) などの情報を組み合わせてブラウザを特定するようです。
AmIUnique のようにブラウザフィンガープリントのテストができるサイトもあります。
参考リンク
- Device fingerprint - Wikipedia
- Fingerprint解説サイト
- Canvas Fingerprintingはクッキーより怖いのか技術的に調べてみた|TechRacho by BPS株式会社
おわりに
ブラウザに依存する部分が大きくなるので、Google Chrome 以外のブラウザがどこまで実装されるのか疑問ですね。
将来的にはそれぞれのブラウザで、広告配信のやり方が変わったりするのでしょうか。(現状を知らないので、既にそうなのかもしれませんが)
広告に大きなメリットがないブラウザベンダーは、広告関連の提案を実装するモチベーションがあまりない気もしました。
ただ、プライバシーサンドボックス(特にFLoC)は批判も多いようですが、それでもこれらの提案がオープンに誰でも閲覧・参加ができる形で議論されているのは Web の良さかな、と私は感じました。
私は正直広告は好きではないですが、Web の発展を支える一部であることは確かだと思います。
サードパーティ Cookie よりプライバシーが尊重された Web の未来が来ると良いな、と調べながら思いました。
参考リンク
全体または複数の提案に関わる資料や、Privacy Sandbox 自体の資料などはこちらにおいておきます。
- Google Japan Blog: サードパーティ Cookie 廃止に関するタイムラインの変更について
- GoogleがCookieレスな「プライバシー・サンドボックス」を実現させると何が起こるのか? - GIGAZINE
- Googleが「ユーザー情報を保護しつつ広告の関連性も損なわない」仕組みの開発を行うと宣言 - GIGAZINE
- Googleはどのような「Cookieなしの広告システム」を作ろうとしているのか? | GIGAZINE.BIZ
- Privacy Sandboxとはなにか/Privacy Sandbox Explained - Speaker Deck
- 【一問一答】Googleの「 プライバシーサンドボックス 」とは?:Cookieの代わりとされる5つのAPI | DIGIDAY[日本版]
- どこで読めるの?今さらきけない仕様書の在り処! | フロントエンドBlog | ミツエーリンクス
- プライバシーサンドボックスについて調べる
Discussion