指紋テストは数字をひとつ提示し、それをエントロピーのビットと呼ぶ。そして人々はその数字を足し合わせ、自分はインターネット上でごく少数の人々の一人だと結論づける。どちらの段階も興味深い形で誤っている。ビットは独立ではなく、テストは国勢調査ではない。

1. 依存する信号を足し合わせない

観測の数ではなく観測どうしの関係から始めるべきで、これはW3Cの指紋採取ガイダンスが起こりうる分布について語るときに求めていることでもある。二つの均衡した二値属性が、最も単純な形で算術を示している。

RelationshipPossible observed pairs
Independent properties00, 01, 10, 11
The second always copies the first00, 11

同じ確率の四つの状態は二ビットを運び、同じ確率の二つの状態は一ビットを運ぶ。第二の属性が常に第一の属性を写しているなら、報告書は依然として二つの項目を並べ、情報は依然として一ビットである。同じ事実を二度読むことは第二の区別ではない。

実際の特徴が正確な複製であることはまれだ。言語、ロケール、タイムゾーンは独立性の仮定が無視する形で相関しており、だからこそ素朴な足し算は結果を過大に評価する。

2. スコアがどの母集団を記述しているかを問う

テストは、ある組み合わせが自身の観測の中でまれだったと正直に報告できる。それは標本についての、ある日付での、特定の属性リストと特定の計算による言明だ。あなたのブラウザの永続的な性質ではなく、世界のすべての端末の計数でもない。ブラウザの更新はそれだけで答えを動かす。

見出しの前に手法を読もう:何を集め、値をどう区分し、標本がいくつあり、まれさの主張がスコアを生んだのと同じパネルから出ているのか。小さな自己選択の標本に対して計算された数字は、その標本を記述している。

3. 認識と身元を切り分ける

永続的なアカウントやクッキーは、巧妙な指紋採取なしにあなたの訪問をつなぎ、VPNの出口を変えてもそこには触れない。指紋は、背後にいる人物を名指しせずに、戻ってきたブラウザを認識できる。これらは異なる能力であり、一つのスコアはそれらを混ぜてしまう。サービスが身元を求めるなら、たいてい退屈な道具にまず手を伸ばす。

同じオフィスの二人が、粗い指紋には同一に見え、ログインにはまったく違って見える理由もそこにある。

4. それでも数字が動く要因に目を向ける

設定は変わり、拡張機能は変わり、ブラウザの版はそもそも観測可能なものを変える。一部の保護は、テストが区別要因として数えるはずの項目を意図的に正常化する。別の保護は値をセッションごとに無作為化し、それは匿名性ではなく不安定さとして現れる。

訪問のたびに動く指紋はセッションをまたいで結びつけるのが難しく、あなたのまれさについては何も語らない。どちらの事実もこの読み方の一部だ。

5. 何を達成したいのかを決める

何かをインストールする前に目標を書いておこう。目標が一つの広告ネットワークによるクロスサイト追跡を止めることなら、クッキーとストレージの衛生管理にコンテンツブロッカーを加えれば仕事の大半は済む。目標が特定の相関を一つ避けることなら、その特徴を名指ししよう。目標が見分けられにくくなることなら、正直な方法はまれな設定ではなく主流の設定だ。

直感に反するのは、まれさを追うことがかえってあなたを選び出しやすくするという点だ。目立つ設定こそ、指紋採取スクリプトが見つけたいと願うものだ。溶け込むことは、印字された数字を最大化するのとは別の目標である。

関連記事