3PCA 12 日目: 終わりの始まり
Intro
このエントリは、 3rd Party Cookie Advent Calendar の 12 日目である。
- 3rd Party Cookie のカレンダー | Advent Calendar 2023 - Qiita
ふりかえり
さて、ここまでの話を一旦振り返ろう。
- Cookie は保存されたら次から自動で送られる。
- ログインしてユーザの「識別」に使えるが、認証しない「区別」にも使える。
- 3rd Party にも送られ、トラッキングや認証連携などに使える。
- プライバシー保護の観点から、長い間トラッキングが問題になっていた。
- 問題の本質は「Cookie という機能」ではなく、その「ユースケース」にある。
- ユースケースを絞るための Cookie2、P3P、DNT などはことごとく失敗した。
- GDPR/ePrivacy、CCPA、個人情報保護/電気通信事業者法など関連法整備が進み、規制が強化された。
- Cookie Banner による同意取得/通知などが行われる。
法制度によって、事業者はトラッキングに際する同意の取得や、通知について実施することになる。
逆を言えば、適法な同意取得や通知義務を満たしていれば、 3rd Party Cookie を使うことは問題なく、堂々と使うことができるのだ。
が、それではこの話が終わらなかった。
ここからが第二章、なぜそれでも「3rd Party Cookie はブロックされていくのか」を見ていく。
ブラウザによるブロックの現状
先に進む前に、そもそもブラウザによる「3rd Party Cookie のブロック」がどういう状況だったのかをまとめておく。
これは、だいたい 2016 年あたりの実態だと思ってくれて良い。
昔からプライバシー意識の高いユーザには、トラッキングから明示的にオプトアウトする機能へのニーズも多く、ブラウザは標準でそうした機能を提供してきた。
IE が一時期実施して失敗した、いわゆる Do Not Track List 形式のブロッキングは、やはりスケールしなかったため、最も広く普及したのは「Cookie の無効化」だ。
設定から「すべての 3rd Party Cookie をブロックする」や、場合によっては「Cookie をブロックする」といったものもあった。トグルボタンで有効無効にするか、禁止レベルを設けて調整できるものもある。もちろん壊れるサイトが多く出るため、リテラシーの高いユーザが自己責任で使うものにとどまった。
少し視点を変えれば、広告ドメインとの通信自体を止めてしまう「広告ブロッカー」拡張や、ブロックはしないが閉じれば全て消える Private Mode のようなものも、広義には同じ問題への別のアプローチだろう。
いずれにせよ、全ユーザに対してブロック機能をデフォルトにすると、やはり多くのサービスが壊れるため、決してそれをデフォルトにはできなかった。
IE はブロックをデフォルトにしていたと言える。しかし、前述のように P3P の CP を何かしら送れば迂回できるため、実質的に形骸化していた。
そして IE が引退し、Edge が Edge HTML から Chromium ベースになってからは、基本的な挙動は Chrome と同じだ。セキュリティについての設定は、レベルに応じて変えられるような UI が別途実装されているが、あくまで任意の機能だ。
Safari も 2016 年の時点で、デフォルトでブロックしていたとされる。
しかし、正確には 3rd Party Context での保存はブロックする。つまり、 一度そのサイトにアクセスして保存した Cookie は、 3rd Party Cookie としての「送信はされる」という制限だったのだ。
これは要するに、一度 Facebook や YouTube にログインしていれば、埋め込まれた「いいねボタン」は自分のアカウントでできるし、課金していれば埋め込み YouTube も広告が出ないということだ。
「トラッカーのサイトは直接アクセスされることはない」という点で、デフォルトでブロックしつつ、壊れる機能を極力減らすという、かなりバランスが取れた設計ではあったと筆者は感じる。
埋め込んだログインフォームからログインし、そのまま認証に繋げるような認証連携などは壊れる場合はあったが、その場合はログインフォーム自体を認証プロバイダで出し、一度そこに遷移するといった実装によって解決された。
また、後述するが、一旦ひっそりとトラッカーにリダイレクトし、 Tracking Cookie を 1st Party Cookie として保存してから当初の目的地にリダイレクトするという、この仕様の秘孔をついた「バウンストラッキング」という手法も多用された。 Twitter でリンクをクリックすると、一度 Chrome, Firefox, Opera, etc.
IE
Safari
<iframe>
で受信したレスポンスの Set-Cookie
は無視するというものだ。
t.co
に飛ばされてから目的地にいくのも、こうした理由がある。
そして完全ブロックへ
どのブラウザも 3rd Party Cookie がある程度ゆるくは使えていた状況で、文字通り機能としての 3rd Party Cookie を「完全にブロックする」ということはなかった。
「ユースケース」側については、法律に従った合意取得/通知が広まり、違反者への罰金が実施されるようなところまで普及してきたところだ。
完全とは言えないまでも、取り組みは進んでおり、現実的な着地点がおおよそ見えてきたかのように思われた。
しかし、それでもプライバシーに関する問題は後をたたなかった。
そして 2017 年、 Safari が ITP をリリースすることで、事態は新たな局面に突入していく。