ブログに戻る

アンチディテクトブラウザはアカウント関連付けをどう減らす?3つのフィンガープリント方式

UAを変更してもアカウントが関連付けられるのはなぜでしょうか。本記事では、ブラウザフィンガープリントを変更する3つの技術的アプローチと、個別に変更したパラメータの整合性が取れていないと検出されやすい理由を解説します。

アンチディテクトブラウザを使う人の多くが疑問に思うのは、「このツールは実際にどうやってフィンガープリントを変えているのか」という点です。変更は十分に深いのか、プラットフォームのリスク管理システムに見抜かれないのか。UAを変更し、キャッシュも削除したのにアカウントが関連付けられた経験があるなら、本記事は最後まで読む価値があります。単一パラメータの設定方法ではなく、アンチディテクトブラウザがアカウント間の関連付けを減らすために使う複数の技術的考え方を整理します。

まず理解したいこと:ブラウザフィンガープリントは相互照合できる複数シグナルの集合

ブラウザフィンガープリントは1つの値ではありません。ブラウザが公開する情報を組み合わせたプロファイルです。OSとカーネル、User-Agent、画面解像度、言語、タイムゾーン、フォント、Canvasの描画結果、WebGLとGPUのパラメータ、オーディオコンテキスト、CPUとメモリ、さらにマイクやカメラなどのメディアデバイスが含まれます。プラットフォームはこれらを組み合わせ、同じ端末や同じ人物からのアクセスかどうかを判断します。

重要なのは、これらのシグナルには相互関係があることです。たとえば、北京のタイムゾーンなのにシステム言語が英語で、画面は1366×768、さらにWebGL rendererが特定のグラフィックカードに対応している場合、専門的なクロスチェックでは不自然に見えることがあります。つまり、1~2個のパラメータだけを変更しても、「変更量が足りない」のではなく、「変更後の値と環境全体が一致していない」ことが問題になる場合があります。

フィンガープリント変更の3つの実装方式は、深さが大きく異なる

市販のアンチディテクトブラウザは、概ね3つの技術的アプローチに分類できます。違いを理解すると、環境の「深さ」がどこから生まれるのか把握しやすくなります。

1つ目は、設定パラメータだけを変更する方式です。 UA、解像度、言語、タイムゾーンなど、ブラウザが直接公開する基本項目を変更します。実装難易度が比較的低く、初期には実際に有効でした。ただし、これらの項目は互いに関係しています。UAだけをiPhoneにして、残りのシグナルがデスクトップWindowsのままだと、クロスチェックで矛盾が見つかりやすくなります。

2つ目は、スクリプト層で返り値を差し替える方式です。 スクリプトを注入し、Canvas、WebGL、AudioContextなどのAPIがWebページに返すデータを書き換え、プラットフォームに加工済みのフィンガープリントを読ませます。単純な設定変更より一段深く、多くの収集ポイントをカバーできます。一方で、注入自体が検出可能な痕跡を残す場合があり、一部のリスク管理システムはスクリプト実行の異常も確認します。

3つ目は、より下位の層でフィンガープリントの発生源を一貫して置き換える方式です。 フィンガープリント関連データをブラウザエンジンに近い場所で処理し、実行時に追加スクリプトで上書きするのではなく、返される情報の出所自体を実ブラウザに近づけます。データの挙動がよりネイティブになるため、通常のブラウザ動作との一貫性が高く、一般的なチェックでは区別しにくくなります。

ただし、技術的な深さは要素の1つにすぎません。どれだけ深くフィンガープリントを変更しても、複数アカウント環境管理の一部でしかありません。IPの地域、タイムゾーンと言語の整合性、WebRTCによる実IP漏えい、Cookieやアカウントデータの分離、操作パターンの一貫性が、環境全体の信頼性に影響します。

設定レイヤー、スクリプト差し替えレイヤー、ブラウザエンジンレイヤーとシグナル間整合性の関係

環境が「十分に深い」か判断するなら、次の観点を確認する

宣伝文句だけで判断せず、利用している環境ツールが次のシグナルを連動して設定できるか確認してみましょう。

  • 基本情報を1つのプロファイルとして連動できるか。 OS、カーネルバージョン、UA、言語、タイムゾーン、位置情報を同じ環境でまとめて設定できるか、UAだけを個別に変える仕様ではないか。位置情報は通常、「IPに追従」「実値を使用」「カスタム」などを選べることが重要です。
  • 識別力の高いフィンガープリントをカバーできるか。 Canvas、WebGL描画情報、WebGPU、WebRTC、オーディオコンテキスト、フォント一覧など、識別によく使われるシグナルを個別に設定できるか確認します。
  • ハードウェアシグナルを管理できるか。 CPUコア数、メモリ容量、デバイス名、MACアドレスなどを環境ごとに設定し、「モバイル環境なのにデスクトップCPUの特徴が出る」といった矛盾を避けられるか確認します。
  • セッションとデータが本当に分離されているか。 環境ごとに独立したCookieとローカルデータを保持し、アカウントAのログイン状態がアカウントBに混ざらない仕組みになっているか確認します。

これらをすべて設定でき、1か所で管理できるツールなら、個別パラメータを寄せ集めるより、内部整合性の取れた環境を作りやすくなります。

PurpleMarkで整合性の取れたフィンガープリントを設定する

PurpleMarkは、パラメータ同士の関係を通常の設定フローに組み込んでいます。ブラウザ環境を作成するとき、フィンガープリント関連の多くの項目が1つの設定ページにまとまっています。OS、Chromiumエンジンのバージョン、User-Agent、解像度、ブラウザ言語とUI言語、タイムゾーンと位置情報(IPに追従、実値を使用、カスタム)に加え、フォント一覧、WebGL metadata、WebGPU、WebRTC、CPU、メモリ、デバイス名、MACアドレス、さらにCanvas、WebGLImage、AudioContext、メディアデバイス、ClientRects、音声などの詳細な設定があります。

設定を集中させるメリットは、PurpleMarkで特定地域向けの業務環境を作る際、OS、エンジン、言語、タイムゾーン、位置情報、描画関連シグナルを同じ場所で対象地域に合わせられることです。複数ページからパラメータを寄せ集め、あとから互いに矛盾する状態を避けやすくなります。

複数のアカウントや市場を管理する場合は、プラットフォーム、店舗、クライアント、地域ごとに環境を分けられます。各環境は独自のパラメータ組み合わせ、Cookie、ローカルデータを持ち、グループやアカウント紐付けで正しい環境をすばやく見つけられます。新しい環境で実績のある設定を再利用したい場合、PurpleMarkのグローバル設定でよく使う項目をワークスペース既定値として保存し、毎回の入力作業を減らすこともできます。

初めて使う場合は、PurpleMark Web版を開いて環境を1つ作成してみてください。まず地域と言語など整合性に大きく影響する項目を設定すると、連動したパラメータと無作為な組み合わせの違いを確認しやすくなります。ローカルブラウザ機能が必要になったら、ダウンロードページからクライアントをインストールし、ワークスペースに戻ります。

よくある質問

User-Agentだけを変更すれば、アカウントの関連付けを防げますか? 効果は限定的です。UAはプラットフォームが取得できる多くのシグナルの1つにすぎません。OS、解像度、言語、タイムゾーン、描画結果などを一緒に調整しないと、クロスチェックによって不整合がかえって目立つ場合があります。信頼性のある環境にするには、関連するパラメータをまとめて設定し、一貫性を保つことが重要です。

フィンガープリントは「より下位のレイヤー」で変更するほど必ず安全ですか? 実装の深さによる違いはありますが、安全性は1つのレイヤーだけで決まりません。IPと地域の一致、WebRTCの漏えい、Cookieの分離、操作パターンの一貫性などが総合的に環境の信頼性を決めます。ツールを選ぶ際は、変更の「深さ」だけでなく、環境パラメータ、ネットワーク、セッション、日常運用をまとめて管理できるか確認することが重要です。