Private State Token/Private Access Tokens はMozilla的にどうダメだったか
MozillaはPST/PAT仕様に対してnegativeの返答をした。
どちらもPrivacy Passフレームワークを使用した、いわゆるCAPTCHA代替技術で、既にChromeやSafariには搭載されている。
- https://mozilla.github.io/standards-positions/#private-access-tokens
-
https://mozilla.github.io/standards-positions/#private-state-token
- https://chromestatus.com/feature/5078049450098688 ではまだ defer になっている
CAPTCHA代替技術、と説明されることが多いが、より重要な用途は3rd party cookie廃止後に情報(人間かどうか)をサイト間でやりとりするプロトコルとして機能する点になっている。
この API は、サードパーティ Cookie のようなクロスサイト永続識別子を使用せずに、制限されたプライベート シグナルをサイト間で伝播するための新しい API です。サードパーティ Cookie を利用する不正行為対策は、サードパーティ Cookie が廃止されると機能しなくなります。
Mozillaの文章
PST/PATともに、 内容としてはPrivacy PassのWeb上の適用ということになる。Mozillaはそれを問題視している。
Ultimately, our conclusion is that the challenges involved in establishing adequate governance controls make a Web deployment of Privacy Pass hard to justify.
GoogleのPrivate State Token
The choice to use a joint attester/issuer deployment means that the issuer and service can use timing to correlate issuance (where private information is revealed) and redemption (where that information should not be).
PSTのデザインではattesterとissuerが同一でよいので、そこでユーザーをトラックできることになる。
の最後ではリクエスタのIPアドレスを紐付けにつかうアイデアを提案しているけど、同様に時刻といった別のファクタでも紐付けが可能になる。
AppleのPrivate Access Tokens
Consequently, a token is a strong indicator that the client runs on an Apple device.
... そもそも、PATの場合はAppleデバイスしか認証(attest)されず、しかもそれが使えるのはCloudflareのような大手のCAPTCHAベンダだけだからブラウザから考察できることってあんまり無くないか。。?
ちなみに、この機能は日本語では "自動認証" と呼ばれ、iCloudの設定から切れるようになっている。
じゃぁどうすれば良いんだよ問題
Mozillaの文章はそもそも意義がないという形で結んでいる:
We are not convinced that it is worthwhile to create a system of governance that will provide the necessary assurances.
まぁ結局のところ綱引きだからねぇ。。プライバシー保護のために機能を実装しないという意味ではAd blockだって同じようなもんだし。。
あまり良い代替は思いつかない。PSTについては、CAPTCHAの結果をやりくりすることに集中すればもうちょっと良いデザインにはできるかもしれないけど、そもそもサイトに広告を挟むのを重要なユースケースにしている時点であまり逃げ場がない。
PATはAppに提供しているApp Attest https://developer.apple.com/documentation/devicecheck/establishing_your_app_s_integrity のWeb版と言えるもので、これも現状のデザインから大きく離れることは考えられない。
結局のところWebの前提と現代的なビジネスは食べ合せがわるいので、Appでやれって事になってしまうんだろうか。