ブラウザプロファイルと分離:アカウントを分けるとは本当はどういうことか

「分離」は、ブラウザのアイデンティティを互いに引き離しておくことを指すときに誰もが使う言葉ですが、その言葉はいくつかの異なる事柄をまとめて指しています。この記事ではそれらを切り分けます。簡単なものが、重要なものとは限らないからです。
ストレージの分離
ブラウザプロファイルは、自分専用のクッキー、ローカルストレージ、キャッシュ、履歴、保存されたパスワード、拡張機能を持っています。二つのプロファイルは互いのクッキーを見られないため、サイトはストレージを通じてそれらを結び付けられません。主要なブラウザはどれも複数のプロファイルに対応しており、このレベルの分離は解決済みです。サイトに見えるのがこれだけなら、アカウントを分けておくことは「新しいプロファイル」をクリックするだけの話でしょう。
ネットワークの分離
同じアドレスを使う二つのプロファイルは、同じ場所から到着します。一つの住宅用アドレスから同時に二つのアカウントが来るのを見たサイトは、何かを知ったことになり、タイムゾーンと言語まで一致していれば、さらに多くを知ったことになります。ネットワークの分離とは、各プロファイルが自分のルート(通常はプロキシ)を持ち、そのルートがHTTP、WebRTC、可能であればDNSまで、すべてを運ぶことを意味します。プロキシがHTTPだけを対象にしているプロファイルは、書類上は分離されていても、実際にはつながっています。
フィンガープリントの分離
これが難しい部分です。同じマシン上で同じブラウザビルドを使う二つのプロファイルは、同じcanvasハッシュ、同じオーディオハッシュ、同じレンダラー文字列、同じスレッド数、同じ画面ジオメトリ、同じフォントリストを生み出します。サイトから見れば、二つのクッキーの入れ物を持つ一台のマシンです。二台のマシンに見せるには、ブラウザがそれらのプロパティについて、プロファイルごとに一貫して異なる値を報告する必要があります。
失敗の多くは、この一貫性のところで起きます。値は、実在するマシンを表していなければなりません。オペレーティングシステム、それに搭載されるGPU、組み合わせとして成立する画面サイズとピクセル比、ユーザーエージェント、互いに一致するClient Hintsとnavigator.platform、そしてそのオペレーティングシステムに属するフォントです。また、訪問をまたいで同じままでなければなりません。毎日変わるフィンガープリントは、それ自体がシグナルだからです。そしてサイトが行う情報源同士の比較にも耐えなければなりません。ユーザーエージェントとレンダラー、タイムゾーンとアドレス、WebRTCの候補とリクエストの比較です。
「隠す」ことの何が間違っているか
すべてをブロックすることは分離ではなく、別のフィンガープリントです。canvas、オーディオ、WebGL、WebRTCのすべてに「利用不可」を返すブラウザは、プライバシーツールのように見え、それは小さくて見分けやすい集団です。機能するプロファイルの目標はその逆で、すべてが読み取れ、すべてのシグナルが一致する、ごく普通で退屈な一台のマシンに見えることです。成功の条件は、診断に何も表示されないことではなく、もっともらしいマシンが表示され、不一致がないことです。
プロファイルを確認する方法
プロファイルの中で診断を開き、サイトが読むのと同じように読みましょう。レンダラーはオペレーティングシステムと一致していますか? タイムゾーンはアドレスと一致していますか? WebRTCはプロキシのアドレスだけを露出していますか、それとも何も露出していませんか? リロードしてみてください。ハッシュは同じままですか? 次に二つ目のプロファイルを開き、値が一つ目と異なることを確認します。PowerScanのようなページは、これらを並べて表示し、異なる比較にフラグを立て、何も保存しません。そのため、確認は繰り返し可能で、痕跡を残しません。
このサイトが主張しないことについて
PowerScanは、真正性の採点も、プロキシの検出も、ブラウザがボットかどうかの判定も行いません。そうした判断にはページのスクリプトが持たないデータが必要で、それに数字を表示するのは推測にすぎません。行うのは、サイトが読むのと同じシグナルを読み取り、それらが食い違う箇所を指し示すことです。そこが、あなたが対処できる部分です。

