(※この記事は 別媒体に投稿した記事 のバックアップです。 canonical も設定しています)
2021-10-10
最近目にする FLoC や First-Party Sets について調べていると、Google がサードパーティ Cookie を廃止するための様々な提案を「プライバシーサンドボックス」という名前でまとめているということを知りました。
Google の動向はやはり気になりますし、広告だけでなくプライバシーに関する提案もあるので、とりあえずどういうことをやろうとしているのかの概要と資料をまとめておきたいと思い、この記事を書きました。
なるべく正確な情報をまとめることを心がけていますが、私はあまり広告の領域に詳しくはありませんし、各提案を完全に理解しているわけではありません。
また現在は提案の段階なので、今後変わっていく可能性もあります。
最新の正確な情報は The Privacy Sandbox: Technology for a More Private Web やプライバシーサンドボックス - Chrome Developers、各提案の内容をご参照ください。
誤った情報などありましたら、コメントなどでご指摘いただけますと幸いです。
プライバシーサンドボックスは、サードパーティの Cookie やその他の追跡メカニズムを使用せずにクロスサイトのユースケースを満たすことを目指す一連の提案です。
https://developer.chrome.com/ja/docs/privacy-sandbox/
Google はサードパーティ Cookie を廃止することを目指しています。
その代替として、サードパーティ Cookie に頼らないターゲティング広告の仕組みや、プライバシーを向上させるための提案をまとめて「プライバシーサンドボックス」と呼んでいるようです。
この記事では Privacy Sandbox とは何ですか? - Chrome Developers に書かれている以下の提案の概要と資料をまとめています。
ブラウザ内で閲覧履歴など元に、機械学習によって閲覧者の興味のある領域を区分し、その情報をベースにターゲティング広告を行う、というもののようです。
サーバーではなくブラウザ内で閲覧履歴などを処理し、興味のある領域という数千人単位のグループに振り分けるようです。
数千人のグループであれば個人を特定できないので、プライバシーを守りつつターゲティング広告ができる、というロジックのようです。
FLoC は Federated Learning of Cohorts の略で、コホートの連合学習 と訳されたりするようです。
Google は FLoC の提案をやめ、新たに The Topics API という提案をしました。
以下の記事に The Topics API の概要をまとめています。
https://zenn.dev/mryhryki/articles/2022-01-30-the-topics-api
FLoC は、サードパーティ Cookie に代わるターゲティング広告の中心的な技術であり、批判も多くあります。
詳しくは参考リンクの記事を参考にしてください。
ユーザーの関心に基づいて広告を配信できるが、ユーザーを特定させないための仕様のようです。
具体的には、あるサイトにアクセスすると特定の広告グループに紐付けられ、ブラウザ内で オークションが行われて広告が決定されるようです。
そのため、広告主はどのページを見たなどの情報はわからないが、適した広告を配信できるという仕組みのようです。
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
サードパーティ Cookie を使わず、ユーザーのコンバージョンを測定する仕様です。
特定の広告要素をクリックした時に、キャンペーンなどを識別する情報だけを送ってどの程度コンバージョンしたかを測定できるようです。
またレポートを遅延して送信したり、ノイズを含めることでよりプライバシーを高めるようです。
Safari / Webkit ではサポートされておらず、Private Click Measurement (プライベート クリック測定)と呼ばれる広告コンバージョンを測定する別の API が提案されています。
https://developer.chrome.com/ja/docs/privacy-sandbox/attribution-reporting-introduction/#%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88
リンク先のこちらの動画がわかりやすかったです。
(日本語字幕あり)
https://developer.apple.com/videos/play/wwdc2021/10033/
Google Chrome と Safari で違う方法で計測が必要になりそうです。
Cookie の設定時に付与される SameSite
属性についての話のようです。
すでにモダンブラウザの多くは実装済みですね。
SameSite
属性はクロスオリジンへの Cookie の送信を制御するための属性で、適切に設定することで CSRF などの攻撃を防ぐことができます。
詳しくは以下の MDN のサイトなどを参照してください。
First-Party Sets は、異なるオリジンをファーストパーティとして扱うための仕様です。
例えば site-b.example
にアクセスした時に、site-a.example
のファーストーパーティのメンバーだと指定されていた場合、site-b.example
は site-a.example
(ファーストーパーティ)と同等に扱われるようです。
具体的には .well-known/first-party-set
というファイルをそれぞれのドメインに設置することで、ファーストパーティであることを検証するようです。
アクセスしているのが人間かボットなのかを、ユーザーを識別することなく判定できるようにする仕様のようです。
ただし、どのように人間かボットかを判定するかは、仕様には含まれていないようです。
fetch
のオプションに trustToken
という設定を与えてアクセスすることで Trust Token の発行・認証ができるようにするようです。
(提案の Sample API Usage を参照)
Privacy Budget は Font, Canvas, User-Agent などブラウザの識別(ブラウザフィンガープリント)のために使える API に対して、一定の制限を設ける、という仕様のようです。
ただし、現時点では実験段階で絶対的な基準はまだ存在しないようです。
User-Agent
ヘッダーに含まれる情報量を減らすために Sec-CH-UA*
というヘッダーを使って必要な情報を渡すことができるという仕様のようです。User-Agent
ヘッダーは情報量が多く、ブラウザフィンガープリントとしても使われるため、プライバシーを守るため情報量を減らしていきたい、という背景があるようです。
ユーザーをIPアドレスで識別させないための仕様のようです。
以下の2つの要素で構成されているようです。
Near-path NAT
は別のサーバーを介してアクセスすることでIPアドレスを隠すようですWillful IP Blindness
は Web サイトが IP アドレスをユーザーに関連付けしていないことをブラウザに通知できるようですIDフェデレーションを使った認証フローを、サードパーティCookieやリダイレクトを使わず、ブラウザで連携するための仕様のようです。
この図がイメージを掴みやすいです。
ブラウザフィンガープリントは、ブラウザから取得できる環境などの情報からブラウザを特定する手法です。
ブラウザの識別なので、ブラウザフィンガープリント単体で複数の端末やブラウザを使っているユーザーを識別することはできません。
ただし、Cookie などと併用すればできる可能性があります。
ブラウザフィンガープリントでは、ブラウザバージョン、プラグイン、ハードウェア情報、履歴、フォント、Canvas(WebGL) などの情報を組み合わせてブラウザを特定するようです。
AmIUnique のようにブラウザフィンガープリントのテストができるサイトもあります。
ブラウザに依存する部分が大きくなるので、Google Chrome 以外のブラウザがどこまで実装されるのか疑問ですね。
将来的にはそれぞれのブラウザで、広告配信のやり方が変わったりするのでしょうか。(現状を知らないので、既にそうなのかもしれませんが)
広告に大きなメリットがないブラウザベンダーは、広告関連の提案を実装するモチベーションがあまりない気もしました。
ただ、プライバシーサンドボックス(特にFLoC)は批判も多いようですが、それでもこれらの提案がオープンに誰でも閲覧・参加ができる形で議論されているのは Web の良さかな、と私は感じました。
私は正直広告は好きではないですが、Web の発展を支える一部であることは確かだと思います。
サードパーティ Cookie よりプライバシーが尊重された Web の未来が来ると良いな、と調べながら思いました。
全体または複数の提案に関わる資料や、Privacy Sandbox 自体の資料などはこちらにおいておきます。