サードパーティクッキー後のクッキー、ストレージ、トラッキング

クッキーは再訪したブラウザを見分ける元祖の方法で、20年間はそれで十分でした。ブラウザがクッキーに加えた変更を知ると、フィンガープリンティングが再び注目されるようになった理由が分かります。
ファーストパーティとサードパーティ
ファーストパーティクッキーは、アドレスバーに表示されているサイトが設定するものです。ログイン状態が保たれるのはこれのおかげです。サードパーティクッキーは、ページが埋め込んだコンテンツの提供元である別のドメイン、たとえば広告スクリプトが設定するもので、それを埋め込むすべてのサイトで、そのドメインから読み取れます。この二つ目の性質こそが、サイトをまたぐトラッキングを容易にしました。一つの広告主、一つのクッキーで、すべてのサイトに対応できたのです。
何が変わったか
Safariは2017年にIntelligent Tracking Preventionによってサードパーティクッキーをデフォルトでブロックし始め、その後何度も強化しました。Firefoxは2019年にEnhanced Tracking Protectionで続き、その後Total Cookie Protectionを導入しました。これは各サイトに専用のクッキーの入れ物を与えるため、あるサイト上のサードパーティのクッキーは別のサイトからは見えません。Chromiumはパーティション化されたクッキー(Partitioned属性、「CHIPS」)を導入し、埋め込みコンテンツがトップレベルのサイトごとに状態を保持できるようにしました。そしてサードパーティクッキーの全面的な廃止については、何年も発表と延期を繰り返した末、最終的に見送り、代わりにユーザーの選択に落ち着きました。
実際の結果として、クッキーによるサイト横断のトラッキングは、SafariとFirefoxでは信頼性が低く、Chromiumでもパーティション化が進んでいます。それはプライバシーにとって良いことですが、トラッカーをストレージをまったく必要としないシグナルへと向かわせました。
その他のストレージ
localStorage、IndexedDB、Cache APIは本質的にファーストパーティです。書き込んだオリジンに属し、現在ではすべての主要ブラウザでトップレベルのサイトごとにパーティション化されているため、かつてのサードパーティクッキーのように、サイトをまたぐ識別子としては使えません。ETagやキャッシュを使ったトラッキングの手法は存在しますが、脆弱で、広く対策されています。
フィンガープリンティングが穴を埋める理由
フィンガープリントはストレージを必要としません。訪問のたびにブラウザ自身のプロパティから再計算されるため、クッキーを消してもリセットされず、パーティション化しても分離されません。それがトラッカーにとっての魅力であり、「サイトデータの消去」で白紙に戻ると思っていた人にとっての危険です。対策も異なります。ストレージをブロックするのではなく、ページが読み取れるものの多様性を減らすことで、ユーザーエージェントの縮小、canvasノイズ、レンダラーのマスキングはそのためにあります。
診断で分かること
ページは、クッキーが有効かどうかと、Do Not Trackヘッダーが設定されているかどうかを報告できます(このシグナルを尊重するサイトはほとんどなく、そのためブラウザはこれをやめてGlobal Privacy Controlに移行しています)。他のサイトのクッキーを読むことはできず、信頼できる診断は自らクッキーを一切設定しません。PowerScanはクッキーも、ストレージも、識別子もなしで動作します。これはブラウザの開発者ツールで確認できます。スキャンの後でも、そのサイトのストレージパネルは空です。
今、分離とは何を意味するか
アカウントを分けて管理したい人にとって、クッキーは簡単な部分です。別々のプロファイルには別々のクッキーの入れ物があるからです。難しいのはフィンガープリントです。同じマシン上で同じブラウザを使う二つのプロファイルは、ブラウザが変更しない限り、すべてのハードウェアとレンダリングのシグナルを共有します。それが次の記事のテーマです。


