ブラウザベンダ各社では、ユーザのプライバシー保護を目的として、いわゆる「Webトラッキング防止機能」を実装しています(表1参照)。
今回、「3rd Party Cookieを用いたWebトラッキング」の防止機能について、ブラウザごとに確認しました。
HTTP Cookie概要
HTTP Cookie(以降、Cookieという)は、サーバ側でセッション管理などをするための「箱」で、例えば、その箱の中に識別子を入れるなどして、ドメイン内のページを跨ぐ遷移においても状態をサーバ側で保持するために用いられます。
ブラウザがアクセスしているサイト(図1中のwww.example.xxx)から発行されているものを1st Party Cookieと呼びます。また、そのサイトのページを構成する別のドメインのサイト(図1中のwww.ad-service.co.xx)から発行されているものを3rd Party Cookieと呼び、それらは目的が違うこともあり、一般には区別されています(図1参照)。
3rd Party CookieはWebトラッキングを目的として利用されることもあり、「Webトラッキング防止機能」ではそれを防止するために3rd Party Cookieをブロックすることを目的の一つとしています。
(それに対して、1st Party Cookieは、例えば、ECサイトでカートに商品を入れて別のページに遷移しても「カートに商品を入れた状態」をセッション識別子によって特定するためなどに使われている必須の技術要素です。1stと3rdを区別しないなど色々と誤解の多い議論が散見されますので、ご注意を)
1. SafariーITP
2020年3月24日にSafari 13.1に搭載される新しいIntelligent Tracking Prevention (ITP)がリリースされました。デフォルトで全ての3rd Party Cookieがブロックされます。これにより3rd Party Cookieを利用したWebトラッキングは防止されます(図2参照)。
2. FirefoxーEnhanced Tracking Prevention機能
Firefox ver. 69.0から、Enhanced Tracking Preventionの機能によりWebトラッキングサイトに分類される3rd Party Cookieはデフォルトでブロックされます。これにより3rd Party Cookieを利用したWebトラッキングは防止されます(図3参照)。
Webトラッキングサイトの判定には、Disconnect社によって提供される、既知のトラッカーリストが使用されています。
Enhanced Tracking Preventionでは、防止機能のレベルを3つのうちから選択することができます。
表2に示すように、ブロック機能のレベルごとに3rd Party Cookieへ及ぼす影響が違います。デフォルトでは、標準レベルに設定されています。
3. EdgeーTracking Prevention機能
Edgeでは、Firefoxと同じようにDisconnect社のトラッカーリストを利用し、Webトラッキングに分類される3rd Party Cookieをブロックします。Tracking Preventionと呼ばれるこの機能は、2020年1月15日にリリースされた新しいEdgeに搭載されています。
防止レベルは、「基本」、「バランス」、「厳重」が用意されており、デフォルトでは「バランス」が設定されています(図4参照)。
Tracking Preventionでは、以下の3つの要素により、防止機能を構成しています。
3–1. Classification(トラッカーの分類)
3–2. Enforcement(Webトラッキング防止機能の施行)
3–3. Mitigations(Webトラッキング防止機能の緩和)
3-1. Classification(トラッカーの分類)
Disconnect社のトラッカーリストを利用し、URLでトラッカーかどうか判定します。トラッカーと判定されたURLは「Advertizing」や「Analytics」など、7種のカテゴリのいずれかに分類されます。
Edgeにおける3rd Party Cookieのカテゴリごとの防止の状況について、ブロックレベルごとにまとめたのが表3になります。ブロックされる項目には〇がついています。
3-2. Enforcement(Webトラッキング防止機能の施行)
トラッカーサイトと判定されたURLに対しては、以下の2つの制限を実施します。
- ストレージアクセスの制限
「IndexedDBなどのストレージAPIへのアクセス」及び「Cookieを取得または設定する機能」を制限します - リソースの読み込みのブロック
Webトラッキングスクリプトや、iframeなどが含まれるリソースを読み込むためのリクエスト自体がブロックされます(図5参照)。
3–3. Mitigations(Webトラッキング防止機能の緩和)
過度な制限により、サイトの動作に必要なCookieもブロックしてしまうことがあります。そのようなことを防ぐために、制限緩和の機能として以下の3つが用意されています。
① Org Relationship Mitigation(同じ組織間の通信の制限を緩和)
② Org Engagement Mitigation(過去アクセスしたドメインを緩和)
③ The CompatExceptions List(例外を追加)
以下では、1つずつ詳しく見ていきます。
① Org Relationship Mitigation
1つの組織が複数ドメインでコンテンツを配信する際、サイトを正常に動作させる仕組みです。
Org Relationship Mitigationsの例(図6参照):
- 組織 Org1が、social.xxxとsocial-videos.xxx の2つのドメインを所有
- social-videos.xxxはトラッカーサイトに分類されている
- このケースにおいてsocial-videos.xxxの3rd Party Cookieは許可される
② Org Engagement Mitigation
ユーザがアクセスしたサイトへの制限を緩和する仕組みです。また、そのサイトを所有する組織全体も制限が緩和されます。
Org Engagement Mitigationの例(図7参照):
- 組織 Org1がsocial.xxxとsocial-videos.xxx の2つのドメインを所有
- social-videos.xxxはトラッカーに分類されている
- ユーザはsocial.xxxにアクセスしたことがあるが、social-videos.xxxにアクセスしたことはない
- 組織Org1と関係のないサイト(content-embedder.xxx)へのアクセスであっても、組織Org1での制限が緩和される
※Org Engagement Mitigationは、厳重レベルの場合は適応されません。
※CryptominingとFingerprintingに分類されているトラッカーも制限は緩和されません。
③ The CompatExceptions List
以上の2つの緩和策をもってしても機能しなくなるサイトをホワイトリストで制限を緩和する。
4. Brave —Shields機能
デフォルトで全ての3rd Party Cookieをブロックします。これにより3rd Party Cookieを利用したWebトラッキングを防止します(図8参照)。
ただし、Braveは設定で、https://accounts.google.comからのCookieの付与をデフォルトで例外的に許可しています。
5. Chrome — なし
デフォルトでは3rd Party Cookieをブロックしていません。
しかし、全ての3rd Party Cookieをブロックする機能は実装されています。
米Googleは2020年1月に3rd Party Cookieを2年以内に廃止する計画を発表しており、3rd Party Cookieの代替手段としてPrivacy Sandboxの開発を進めています。
まとめ
今回、5つのブラウザの3rd Party Cookieのブロック状況(デフォルト)を確認しました。最後に、3rd Party Cookieのブロック状況(デフォルト)をブラウザごとにまとめると図9のようになります。
現状、Webトラッキング防止を重視するならば、SafariやBraveを使用することをお勧めします。FirefoxやEdgeはWebトラッキング防止レベルを選択することができるので、ユーザのニーズに沿う形でWebトラッキングを制限することが可能です。ChromeはWebトラッキング防止機能の観点からいうと、、、です。
2020/06/05 石、st