ブラウザのフィンガープリンティング

ブラウザのフィンガープリンティングは、ブラウザが公開する情報からブラウザを識別または認識します。 サイトでは、リクエスト ヘッダー、画面設定、フォント、タイム ゾーン、グラフィック出力、およびその他のブラウザーまたはデバイスの信号を訪問全体で比較することがあります。

ブラウザ内に永続的に保存される指紋はありません。 結果はコレクターによって作成されます。 1 つのサービスは、安定したプロパティの短いリストに依存する場合があります。 別のメソッドは、数十の値を検査し、それらのいくつかが変更された場合にほぼ一致するものを受け入れる場合があります。

この柔軟性により、フィンガープリントはログインのセキュリティ、不正チェック、分析、広告に役立ちます。 また、露出した 1 つの価値から実践を判断することも困難になります。 重要な問題は、どのシグナルが収集されるか、それらがどのように照合されるか、そしてその結果をサービスがどのように処理するかということです。

ブラウザのフィンガープリンティングはどのように機能しますか?

コレクションは、ページの読み込みが完了する前に開始されます。 一部の情報はリクエストとともにサーバーに届きます。 ページがブラウザをチェックすると、さらに多くの情報が利用可能になります。 次に、コレクターは比較のためにそれらの値を準備します。

受動的収集

リクエストには、ユーザー エージェント、ユーザー エージェント クライアント ヒント、受け入れられる言語、およびその他の HTTP ヘッダーがすでに含まれています。 サーバーは、ページ内でスクリプトを実行せずにこれらの値を検査できます。

また、パブリック IPアドレスも参照します。 リスク システムは IP とブラウザ データを比較することがよくありますが、この 2 つを 1 つのものとして扱うべきではありません。 IP は接続を説明します。 それを使用したブラウザについては説明しません。

アクティブなコレクション

その後、ページはリクエストに存在しなかった詳細を尋ねることができます。 JavaScript は、画面、言語、タイムゾーン、タッチ、および広範なハードウェア値を読み取ることができます。 フォント、メディア サポート、グラフィックスの動作、API 機能をテストできます。 CSS ではいくつかの機能も明らかになります。

レンダリング テストでは、別のレイヤーが追加されます。 サイトでは画像を描画し、Canvas 出力を検査する場合があります。 WebGL フィンガープリント テストを通じて GPU 関連の値をクエリできます。 オーディオフィンガープリンティング のために、Web Audio API を通じて合成信号を処理することもあります。

それぞれの結果はそれ自体で共通する可能性があります。 組み合わせによって分野が狭まります。

信号の結合とマッチング

コレクターが、表示されているすべての生の値を比較することはほとんどありません。 テキストを正規化したり、ハードウェア値を範囲内に配置したり、頻繁に変更されるフィールドを無視したりする場合があります。 処理された結果は、ハッシュ、特徴セット、またはリスク スコアになる可能性があります。

そのハッシュは、それを作成したコレクターに属します。 別のツールが他のフィールドを選択したり、別の順序で処理したりする場合があるため、同じブラウザが異なるハッシュを受信する可能性があります。 マッチングも柔軟に対応可能です。 更新後に 1 つの値が変更され、残りの値が近いままの場合でも、システムは訪問を接続する可能性があります。

ブラウザのフィンガープリントにはどのような情報が使用できますか?

より強力なフィンガープリントには、ブラウザ環境のいくつかの部分からの通常の値が混合されます。

  • リクエストのメタデータには、ブラウザ ファミリ、バージョン、オペレーティング システムの要求、優先言語、およびクライアント ヒントが含まれます。

  • 表示情報には、画面寸法、利用可能な画面領域、色深度、ピクセル比、ブラウザ ウィンドウ サイズが含まれます。

  • 地域設定には、タイムゾーン、ロケール、日付の形式、言語の順序が含まれます。

  • ブラウザ機能には、サポートされているメディア形式、タッチサポート、プラグイン、ストレージ機能、および選択された API が含まれています。

  • 広範なハードウェア信号には、プロセッサ コア数、メモリ カテゴリ、グラフィックス情報、入力機能が含まれます。 これらは、ハードウェアのシリアル番号ではなく、デバイスのクラスを表します。

  • レンダリング信号には、Canvas 出力、WebGL メタデータ、シェーダー動作、および AudioContext の結果が含まれます。

  • ローカル構成は、フォント、拡張機能、アクセシビリティ設定、およびその他のブラウザーの動作に影響します。

TLS ハンドシェイク、IPレピュテーション、Cookie、ログイン履歴、マウスの動き、リクエストのタイミングは、多くの場合、同じリスク システムに含まれます。 これらはコンテキストを追加しますが、すべてがブラウザーのフィンガープリント プロパティであるわけではありません。 利用可能なすべての信号を 1 つの指紋の一部として扱うと、証拠がどこから来たのかが隠されてしまいます。

ブラウザのフィンガープリントは一意で安定していますか?

ユニークとは、インターネット全体に関するものではなく、データセットに関する主張です。 標準的なラップトップ上の一般的なブラウザは、他のブラウザと多くの値を共有する場合があります。 まれな画面サイズ、珍しいフォント セット、および珍しいグラフィック構成により、グループが狭まる可能性があります。 同じ結果が、あるテストではまれに見えても、別のテストでは普通に見える場合があります。

安定性にも限界があります。 指紋は何度か訪問しても役立つ可能性がありますが、その一部は日常的な理由で変更されます。

  • ブラウザとオペレーティング システムのアップデート

  • グラフィックドライバーの変更

  • 追加または削除されたフォントと拡張子

  • 異なる画面またはウィンドウ サイズ

  • 言語とタイムゾーンの変更

  • プライバシー保護設定

  • コレクター自体の変更

変更された結果は、新しい人物やデバイスが出現したことを証明するものではありません。 結果が変わらないということは、同じ人が戻ってきたことを証明するものではありません。 指紋は一致をサポートします。 それ自体でアイデンティティを確立するわけではありません。

ブラウザのフィンガープリンティングは何に使用されますか?

アカウントのセキュリティについては、ロジックは単純です。 サービスは現在のログインを以前のアクティビティと比較します。 説明できない変更があると、追加の検証が必要になる場合があります。 詐欺システムは、意思決定を行う前に、アカウント履歴、トランザクションの詳細、ネットワークの評判を追加します。

フィンガープリントは ボットの検出 もサポートしています。 別のブラウザ ファミリの機能を公開していると主張されているブラウザは精査に値します。 まだ自動化を証明するものではありません。 リクエスト パターン、自動化トレース、セッション履歴、および動作により、残りのコンテキストが提供されます。

追跡はプライバシーに関する主な懸念を引き起こします。 フィンガープリントは、Cookie がクリアされた後に分析サービスや広告サービスがブラウザを認識するのに役立つ場合があります。 クロスサイト追跡では、コレクターがさまざまなサイトから観測値を受信し、それらを接続する必要があります。

ブラウザー情報の読み取りでは、自動的にフィンガープリンティングが行われません。 サイトでは、レイアウトの画面サイズをチェックしたり、グラフィックを表示するために WebGL をクエリしたりすることがあります。 スクリプトが無関係な信号を収集し、それらを結合し、その結果を使用して後の訪問を認識すると、収集はよりわかりやすくなります。

ブラウザのフィンガープリントと他の識別子との比較

これらのメカニズムはいずれも再訪問者を認識するのに役立ちますが、収集する証拠は異なります。

Cookie はブラウザーに値を保存するので、サイトは後でその値を読み取ることができます。 フィンガープリントは観察可能な特徴から計算されます。 Cookie をクリアしても、フォント、画面設定、グラフィック出力、ブラウザの機能は変更されません。

この区別は、指紋採取が記録を残さないことを意味するものではありません。 企業は、計算結果または関連する訪問者記録を自社のサーバーに保存する場合があります。 最初の比較を実行するためにクライアント側の識別子が必要ないだけです。

クッキーの分離 は、選択したブラウザー ストレージがコンテキスト間で再利用されるのを停止できます。 すべてのフィンガープリンティング信号を変更するわけではありません。

ブラウザのフィンガープリントとデバイスのフィンガープリント

ブラウザーのフィンガープリントは、ブラウザーまたは Web リクエストを通じて入手可能な情報を使用します。 デバイスの指紋はさらに遠くまで到達する可能性があります。 モバイル アプリは、通常の Web ページでは読み取れないアプリ データ、デバイス設定、センサー、またはプラットフォーム識別子にアクセスできる場合があります。

ベンダーはこれらの用語を同じ意味で使用することがあります。 ラベルよりもコンテキストが重要です。 2 つを同一のものとして扱う前に、システムが実際にどのようなデータを収集するかを確認してください。

ブラウザのフィンガープリントとTLSのフィンガープリント

TLSフィンガープリンティング は、クライアントが暗号化された接続を開始する方法を調べます。 ClientHello 構造、拡張順序、サポートされているプロトコル、および関連するトランスポート動作を確認できます。

ユーザーエージェントのスプーフィング を通じてブラウザーに接続する値を変更しても、TLS ハンドシェイクは自動的に再構築されません。 リスク システムは両方のレイヤーを比較できますが、それらは接続の異なる部分から来ています。

行動も同様に区別されるべきです。 マウスの動き、入力リズム、ナビゲーション、およびリクエスト率はアクティビティを表します。 これらはブラウザーのフィンガープリントと組み合わされる場合がありますが、静的なブラウザーの特性ではありません。

ブラウザの指紋テストを読み取る方法

最終的なバッジではなく、指紋テストの値から始めます。 このテストでは、1 人のコレクターが何を確認できるかを示します。 普遍的な安全スコアを提供することはできません。

Cover Your Tracks は、ブラウザと訪問者を独自の最近のデータセットで比較します。 AmIUnique では、選択した属性がそのデータセットとどのように比較されるかについても報告されます。 BrowserLeaks フィンガープリント テスト は、個々のブラウザー サーフェスの詳細な値を提供します。

次の順序で結果を読み取ります。

  1. 同じブラウザ プロファイルで同じテストを複数回実行します。

  2. 最終的なハッシュに焦点を当てる前に、基礎となる値を確認してください。

  3. 同様の条件下で同じツールからの結果を比較します。

  4. ブラウザ、ドライバー、拡張機能、またはプライバシー設定がテスト間で変更されたかどうかに注意してください。

  5. unique は、インターネット全体ではなく、そのツールのサンプルに関するステートメントとして扱います。

警告は、異常な値または矛盾した値を示します。 他のプラットフォームが何をするかを予測するものではありません。 一般的な結果であっても、Cookie、ログイン情報、IP の履歴、行動から訪問者を識別できるため、何ら保証にはなりません。

ブラウザのフィンガープリンティングを防ぐことはできますか?

ウェブに影響を与えずにすべての指紋表面を除去する単一のスイッチはありません。 効果的な防御策は、収集をブロックするか、詳細を削減するか、値を標準化するか、制御された変動を導入するかのいずれかです。

収集のブロックと制限

トラッカー ブロッカーは、既知のフィンガープリンティング スクリプトを停止する可能性があります。 ブラウザーは、公開される値の精度を下げたり、ローカル フォントやハードウェアの詳細へのアクセスを制限したりすることもできます。 Firefox フィンガープリント保護 は、既知のフィンガープリントのブロックと、選択したブラウザ情報の制限を組み合わせたものです。

ブロックすると、サイトによって直接提供される新しいコレクターとスクリプトが失われます。 厳格な管理により、グラフィックス、フォント、ビデオ効果、その他の正当な機能が破損する可能性もあります。

値の標準化

標準化により、多くのブラウザが同じまたは類似の値を報告するようになります。 Tor ブラウザのフィンガープリンティング アプローチ は、ユーザーが共通のグループに溶け込めるようにすることを中心に構築されています。

大幅なカスタマイズはそのアプローチを弱める可能性があります。 異常な拡張子、フォント セット、またはウィンドウ サイズにより、あるブラウザが、本来似ているはずのグループから切り離される場合があります。

選択した出力のランダム化

ランダム化により選択された値が変更されるため、訪問をリンクする際の有用性が低くなります。 Brave のフィンガープリンティング防御 は、フィンガープリント可能な出力に制御されたバリエーションを適用する方法について説明しています。

有用なランダム化では、リクエストごとにすべての値が変更されるわけではありません。 調整されていない変更は矛盾を生み出し、サイトの機能不全を引き起こす可能性があります。

ブラウザの機能を無効にする

JavaScript またはグラフィック API をオフにすると、アクティブなフィンガープリンティングの一部を減らすことができます。 また、サインイン ページ、マップ、エディター、ビデオ ツール、その他の一般的なサービスが中断される可能性があります。 パッシブリクエストデータは表示されたままになります。

VPN だけではこの問題は解決されません。 ブラウザの完全な設定ではなく、ネットワーク ルートとパブリック IPアドレス が変更されます。 シークレットモード は主に、プライベート セッション終了後のローカル履歴とストレージを制限します。 訪問中に表示された画面、フォント、ブラウザのバージョン、グラフィックスの動作は削除されません。

通常、調整された保護を備えたブラウザーは、それぞれ 1 つの値を変更する拡張機能のスタックよりも優れたプライバシーの選択肢です。 すべてのフィールドを珍しいものにすると、ブラウザーが気づきやすくなります。 実際の目標は、通常のブラウジングを中断することなく、信頼性の高い認識を減らすことです。

ブラウザのフィンガープリンティングに関するよくある質問

ブラウザのフィンガープリンティングとは簡単に言うと何ですか?

目に見える特徴の組み合わせからブラウザを認識する方法です。 これらには、リクエスト ヘッダー、画面設定、フォント、タイム ゾーン、ブラウザーの機能、レンダリング結果が含まれます。

ブラウザのフィンガープリントは変更できますか?

はい。 ブラウザの更新、オペレーティング システムの変更、ドライバー、フォント、拡張機能、ディスプレイ、プライバシー設定により、指紋の一部が変更される可能性があります。 十分な信号が類似している場合、マッチング システムは新しい結果を以前の結果と結び付ける可能性があります。

Cookie をクリアするとブラウザのフィンガープリントは変わりますか?

Cookie をクリアすると、保存されているサイト データが削除されます。 フィンガープリントの計算に使用されるブラウザとデバイスの特性は自動的に変更されません。 Web サイトでは Cookie とフィンガープリンティングを併用することもできます。

VPN またはシークレットモードはブラウザのフィンガープリンティングを停止しますか?

いいえ。 VPN はネットワーク ルートとパブリック IP を変更します。 シークレットモード では、ローカル履歴とストレージの永続性が制限されます。 どちらもブラウザに接続されているシグナルをすべて削除するわけではありません。

同じ指紋は同じデバイスを意味しますか?

必ずしもそうとは限りません。 共通のデバイスは同じ値を共有でき、複数の人が 1 つのデバイスを使用できます。 指紋は 2 つの環境が似ているという証拠であり、物理的なデバイスや個人の身元を証明するものではありません。

指紋テストで異なるハッシュが表示されるのはなぜですか?

各テストでは、独自の信号、正規化ルール、およびハッシュ方法を選択します。 したがって、2 つのツールが同じブラウザに対して異なるハッシュを生成する可能性があります。 あるツールを別のツールと比較する前に、同じテスト内の変更を比較してください。

重要なポイント

ブラウザのフィンガープリンティングは、通常のブラウザの詳細を、訪問間で比較できる証拠に変えます。 結果は役に立ちますが、それ自体では決して決定的ではありません。 サウンドの読み取りでは、コレクター、サンプル、および関連するその他の信号が調べられます。 適切に保護すると、Web サイトが機能するのに十分なブラウザーの動作が維持されながら、信頼性の高い認識が低下します。

アンチディテクトブラウザ

アンチディテクトブラウザ は、Cookie、プロキシ、指紋設定を別のプロファイル内に保持します。それがどのように機能するのか、そしてチームが何を評価すべきかを見てみましょう。

詳しく見る

WebGL フィンガープリント

WebGL フィンガープリントは、GPU およびレンダリング信号を通じてブラウザのグラフィック環境を記述します。テスト、VPN、シークレットモードが実際にどのような変更になるかを確認してください。

詳しく見る

オーディオフィンガープリンティング

オーディオフィンガープリンティングは、合成ウェブ オーディオ信号を処理してブラウザ環境を記述します。マイクが必要ない理由とハッシュがどのように使用されるかをご覧ください。

詳しく見る

ユーザーエージェントのスプーフィング

ユーザーエージェントのスプーフィングは、ブラウザ自体ではなく、クライアントの主張を変更します。クライアント ヒント、TLS、レンダリング データがどのように不一致を明らかにするかを確認してください。

詳しく見る

キャンバスのフィンガープリンティング

キャンバスのフィンガープリンティングは、ブラウザでレンダリングされた画像の小さな違いをハッシュします。信号がどのように作成、テストされ、プライバシー保護の影響を受けるかを確認します。

詳しく見る

TLSフィンガープリンティング

TLSフィンガープリンティングは、HTTP が開始される前に ClientHello からクライアント ソフトウェアを識別します。 JA3、JA4、およびハンドシェイクがブラウザーの要求と一致する必要がある理由を理解します。

詳しく見る

MoreLogin で構築を始める

API リファレンスを確認し、コマンドラインで自動化し、MCP 対応ツールを接続し、再利用可能な RPA ワークフローを作成できます。