WebGL フィンガープリント

WebGL フィンガープリント は、Web サイトが WebGL API を通じて収集できるグラフィック信号のセットです。 これらの信号には、GPU ベンダーとレンダラー、サポートされている機能、シェーダー精度、レンダリングされたシーンのピクセル出力が含まれる場合があります。 サイトは、これらをより広範な ブラウザー フィンガープリント の一部として結合またはハッシュ化できます。

この結果は、あるブラウザ環境を別のブラウザ環境から区別するのに役立ちます。 GPU のシリアル番号ではありません。 それ自体で個人を特定するものでもありません。

WebGL フィンガープリントとは何ですか?

WebGL は、ハードウェア アクセラレーション グラフィックス用のブラウザ API です。 3D マップ、ブラウザ ゲーム、デザイン ツール、製品プレビュー、データの視覚化を強化します。 この作業のほとんどはデバイスの GPU を通じて行われます。

同じ API は、グラフィック環境に関する詳細も公開します。 ページでは、どの WebGL 機能が利用可能であるかを確認できます。 報告されたグラフィック ベンダーとレンダラーを読み取る場合があります。 また、ブラウザーに固定シーンを描画するように要求し、返されたピクセルを検査することもできます。

これらの結果はグラフィックス カード以外にも依存します。 ドライバー、オペレーティング システム、ブラウザー、グラフィックス変換レイヤー、ブラウザーの設定はすべて影響を受ける可能性があります。 この組み合わせにより、WebGL はフィンガープリンティングに役立ちます。

WebGL は依然として情報源の 1 つにすぎません。 実際のフィンガープリンティング システムでは、ユーザー エージェント、画面サイズ、フォント、キャンバス出力、タイムゾーン、言語、およびその他のブラウザーのプロパティも考慮される場合があります。

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

基本的な WebGL フィンガープリント チェックは 4 つの手順に従います。

  1. このページは、WebGL または WebGL 2 コンテキストを作成します。
  2. グラフィックスのメタデータとサポートされている機能を照会します。
  3. 固定イメージをレンダリングしたり、一連のシェーダーを実行したりする場合があります。
  4. 値を収集し、その一部をハッシュに変換します。

最初のグループの結果は報告された値に基づいています。 これらには、WebGL ベンダー、レンダラー、サポートされている拡張機能、テクスチャ制限、シェーダー精度が含まれます。

一部のブラウザでは、WEBGL_debug_renderer_info 拡張機能を通じて、マスクされていないベンダー値とレンダラー値も公開します。 これらのフィールドにより、ブラウザで使用される GPU ファミリまたはグラフィックス レイヤーが明らかになります。 プライバシー設定により制限されている場合があるため、すべてのブラウザ環境で利用できるわけではありません。

2 番目のグループは実際のレンダリングからのものです。 このページでは、各ブラウザに同じグラフィックス タスクが与えられます。 GPU とドライバーは常にまったく同じ方法でシェーダーを処理するとは限らないため、ピクセル値に小さな違いが現れることがあります。 ページは出力を読み取り、イメージ ハッシュを計算できます。

ハッシュは、完全なイメージや長い機能レポートよりも比較が簡単です。 これは普遍的な識別子ではありません。 各テストでは、異なるシーン、異なるパラメータ グループ、および異なるハッシュ方法を使用できます。

WebGL フィンガープリント から何がわかるのですか?

WebGL レポートでは、グラフィックス環境を詳細に説明できます。 各フィールドの意味には制限があります。

信号それが示すもの証明されないこと
ベンダーとレンダラーGPU ファミリまたはグラフィックスの実装デバイス所有者の身元
マスクされていないレンダラーより具体的な GPU またはドライバー情報ユニークな物理グラフィックス カード
サポートされている拡張子WebGL実装で利用可能な機能一致する 2 つのブラウザが同じデバイスであること
テクスチャとレンダリングの制限一般的なハードウェアと実装能力正確なデバイスのパフォーマンス
シェーダの精度グラフィックス スタックが数値形式を処理する方法永続的な識別子
画像ハッシュ1 つの定義されたレンダリング タスクの出力すべてのテスト サイトで一致するハッシュ

最も有用なシグナルは、多くの場合、フィールド間の関係です。 報告されたオペレーティング システム、ブラウザのバージョン、GPU レンダラー、および拡張機能セットは、すべて意味をなすものでなければなりません。 珍しい分野が 1 つあるだけではほとんど意味がないかもしれません。 いくつかの相反する分野は詳しく見てみる価値があります。

WebGL が ボットの検出 や不正行為チェックに表示されるのはこのためです。 システムはグラフィック データを他のブラウザやデバイスの信号と比較する場合があります。 1 つの WebGL 値を、訪問者が自動化されていることの証拠として扱うべきではありません。

WebGL フィンガープリント は一意ですか?

WebGL フィンガープリント はブラウザのグループを絞り込むことができますが、ユニークという言葉は強すぎることがよくあります。

多くのデバイスは、同じ統合 GPU、ドライバー ブランチ、オペレーティング システム、ブラウザ エンジンを使用します。 報告されたメタデータは一致する可能性があります。 レンダリングされた出力も一致する可能性があります。 共通の結果は、他の信号と組み合わせると有用な情報を追加できますが、それ自体では 1 つの物理デバイスを識別しません。

その逆もまた真です。 2 つの異なるハッシュは、必ずしも 2 つの異なるデバイスを意味するとは限りません。 1 つのデバイスは、ソフトウェアまたは構成の変更後に新しい結果を生成する可能性があります。

WebGL フィンガープリントは次の後に変更される可能性があります。

  • グラフィックドライバーのアップデート
  • ブラウザのアップデート
  • オペレーティング システムのアップデート
  • ハードウェア アクセラレーションへの変更
  • 統合グラフィックスと専用グラフィックスの切り替え
  • 仮想マシンまたはリモート デスクトップへの移行
  • ブラウザのプライバシー設定の変更
  • テストスクリプトの変更

安定性は状況に応じて判断する必要があります。 結論を出す前に、同じブラウザ プロファイルで同じテストを繰り返します。

Canvas と WebGL のフィンガープリンティング

Canvas と WebGL フィンガープリンティングは関連していますが、同じ技術ではありません。

エリアキャンバスのフィンガープリンティングWebGL フィンガープリンティング
主な内容キャンバス 2DWebGL または WebGL 2
典型的なタスクテキスト、図形、色、効果を描画するグラフィックのレンダリングまたはシェーダーの実行
共通の影響フォント、テキストラスタライズ、ブラウザ、OSGPU、ドライバー、グラフィックスタック、ブラウザ、OS
共通の結果キャンバス画像のハッシュWebGL レポート ハッシュまたは画像ハッシュ
追加データ2D レンダリングの動作ベンダー、レンダラー、拡張機能、制限、シェーダー精度

WebGL は多くの場合、HTML キャンバス要素にレンダリングされます。 この共有要素により混乱が生じます。 重要な違いは、レンダリング コンテキストとそれを通じて利用できる情報です。 Canvas 2D チェックでは、多くの場合、テキストと 2D 描画に焦点が当てられます。 WebGL チェックは、グラフィックスの実装にさらに深くまで到達できます。

フィンガープリンティング システムは両方を収集する場合があります。 Canvas と WebGL データを一致させると、信頼性が高まります。 報告されたブラウザ環境がその組み合わせをサポートしていない場合にも、不一致が目立つ場合があります。

Web サイトでの WebGL フィンガープリントの使用方法

WebGL データは合法的かつプライバシーに配慮した用途で使用されます。

グラフィックス アプリケーションは、レンダリング パスを選択する前に機能を検査できます。 サイトでは、ブラウザーが適切に処理できない影響を回避できる場合があります。 開発者は、レンダラ情報を使用してグラフィックスのバグを調査することもできます。

セキュリティ システムは、リスク評価の一部として同じデータを使用する場合があります。 繰り返されるグラフィック信号は、戻ってきた環境を認識するのに役立ちます。 一貫性のない値は、異常な自動化または仮想化を特定するのに役立ちます。 これらのチェックは、多くの場合、リクエスト ヘッダー、ブラウザーのプロパティ、ネットワーク データ、アカウント履歴、動作と組み合わされます。

広告および分析スクリプトでは、WebGL データを追跡に使用することもできます。 Cookie とは異なり、シグナルはブラウザーとグラフィックス環境から送信されます。 サイト ストレージをクリアしても、GPU、ドライバー、レンダリング動作は直接変更されません。

WebGL コードの存在は、サイトが訪問者を追跡していることを証明するものではありません。 3D ビューアが動作するには WebGL が必要です。 周囲のスクリプトの動作と収集されたフィールドが重要です。

WebGL フィンガープリントをテストする方法

BrowserLeaks IP およびフィンガープリント テスト では、現在のブラウザからページが読み取った内容を表示できます。 WebGL レポートには、サポート ステータス、コンテキストの詳細、機能値、ベンダー情報、レンダリング ハッシュが含まれます。

まず次のフィールドを確認してください。

  1. WebGL および WebGL 2 のサポート
  2. ベンダーとレンダラー
  3. マスクされていないベンダーとレンダラー
  4. WebGLレポートハッシュ
  5. WebGL画像ハッシュ
  6. サポートされている拡張子

レポート ハッシュは通常、パラメータのグループを要約したものです。 イメージ ハッシュは、レンダリング タスクの出力を表します。 これらは異なる質問に答えるため、同じものとして扱わないでください。

1 つのプロファイルで同じテストを 2 回実行します。 通常、何も変更されない限り、値は安定したままになります。 次に、ブラウザ、ドライバー、またはオペレーティング システムを更新する前に結果を記録します。 後で比較すると、どのフィールドが移動したかがわかります。

無関係なテスト サイトのハッシュを、あたかも 1 つの標準からのものであるかのように比較しないでください。 サイトは異なるシーンをレンダリングしたり、異なるパラメータを収集したりする場合があります。 似たものと似たものを比較します。

テスト ページは可視性レポートであり、合格または不合格の証明書ではありません。 一般的な GPU 値は、自動的には安全ではありません。 希少価値が自動的に危険になるわけではありません。 完全なブラウザ環境は、1 つのバッジやハッシュよりも重要です。

VPN またはプロキシは WebGL フィンガープリント を変更しますか?

VPN またはプロキシは、ネットワーク パスと表示される IPアドレス を変更します。 通常、GPU、グラフィックス ドライバー、WebGL レンダリング出力は変更されません。

この境界は、ブラウザーのプロファイルを確認するときに重要になります。 問題のないプロキシ接続は、ネットワーク ルートが機能していることを示します。 ブラウザによって公開されるグラフィック信号については何も述べられていません。 別の WebRTC リーク テストでは、ブラウザーの接続候補をチェックします。 WebGL テストは別のレイヤーをチェックします。

同じ WebGL 値を維持したまま IP を変更するのは正常です。 2 つの信号は環境の異なる部分を表します。 システムは、それらを、要求された場所、オペレーティング システム、デバイスの種類、および過去のアクティビティと比較する場合もあります。

シークレットモード は WebGL フィンガープリントを妨げますか?

シークレットモードでは、一時的な閲覧セッションが作成されます。 これにより、ウィンドウが閉じた後に保持されるローカル履歴とサイト データが制限されます。 グラフィックス ハードウェアやドライバーを置き換えるものではありません。

ブラウザは、通常のウィンドウとプライベート ウィンドウで同じ WebGL ベンダー、レンダラー、機能、およびレンダリング出力を公開できます。 ブラウザー固有のプライバシー保護によってこの動作は変更される可能性がありますが、プライベート モードだけでは一般的な WebGL 防御とはなりません。

Cookie のクリアにも同じ制限があります。 保存されている識別子を削除します。 ブラウザーやデバイスの特性は直接変更されません。

WebGL フィンガープリンティングを削減する方法

トレードオフなしにすべてのフィンガープリンティング信号を削除する単一の設定はありません。 実際のオプションは、公開されるデータの量とデータの安定性を制御します。

  • 指紋保護機能が組み込まれたブラウザを使用してください。 詳細なレンダラー データが減少したり、サイト全体での値の有用性が低下したりする可能性があります。
  • WebGL を必要としないサイトでは WebGL をブロックします。 これにより、これらのページでの WebGL チェックの実行が停止される可能性がありますが、有用なコンテンツが破損する可能性もあります。
  • ブラウザレベルで WebGL を無効にします。 これは最も広範囲に影響を及ぼし、互換性コストも最も高くなります。
  • 選択した値を標準化またはマスクします。 報告された GPU データは、オペレーティング システム、ブラウザ、WebGPU、およびその他のグラフィック信号と一致する必要があります。
  • 制御されたノイズをレンダリング出力に追加します。 読み取りごとにランダムな出力が行われると、不安定になる可能性があります。 安定したプロファイル レベルの処理は通常、容易に推論できます。

1 つのフィールドを単独で変更すると、ブラウザ環境の一貫性が低下する可能性があります。 たとえば、Windows ユーザー エージェントの横にある Apple GPU レンダラについては説明が必要です。 すべてのグラフィックス API をブロックすると、ブラウザーの標準性が低下し、ハードウェア アクセラレーションによるレンダリングに依存するアプリケーションが無効になる可能性があります。

目標は、ページをロードするたびに異なるハッシュであってはなりません。 有用なブラウザー プロファイルには、プロファイル内の適度な安定性と、信号間の適切な関係が必要です。

WebGL フィンガープリント よくある質問

WebGL フィンガープリント は GPU シリアル番号ですか?

いいえ。 WebGL は、ベンダー、レンダラー、サポートされている機能、およびレンダリング動作を公開できます。 これらの値は、GPU ファミリとグラフィックス環境を表す場合があります。 物理 GPU のシリアル番号は明らかにされません。

2 つのデバイスに同じ WebGL フィンガープリント を設定できますか?

はい。 同様の GPU、ドライバー、オペレーティング システム、ブラウザーを搭載したデバイスは、同じメタデータまたはレンダリング ハッシュを返すことができます。 WebGL は、他のブラウザーやデバイスの信号と組み合わせると、認識にさらに役立ちます。

WebGL ハッシュが変更されたのはなぜですか?

ドライバー、ブラウザー、オペレーティング システム、GPU の選択、ハードウェア アクセラレーション設定、プライバシー機能、またはテスト スクリプトが変更されている可能性があります。 デバイス ID が変更されたと仮定する前に、同じプロファイルで同じテストを繰り返し、周囲のフィールドを確認します。

Cookie をクリアすると WebGL フィンガープリント は変更されますか?

いいえ、それ自体ではありません。 Cookie はサイト データを保存します。 WebGL フィンガープリントは、グラフィックスのメタデータ、機能、レンダリング出力から取得されます。 サイトでは両方のタイプの情報が使用される場合がありますが、一方をクリアしてももう一方はリセットされません。

WebGL を無効にする必要がありますか?

プライバシー上の利点がブラウザーの機能を失う価値がある場合に限ります。 WebGL を無効にすると、マップ、ゲーム、デザイン ツール、ビジュアライゼーション、およびその他のグラフィックスを大量に使用するページに影響を与える可能性があります。 ブラウザ レベルの指紋保護は、日常使用にとってより良いバランスを提供する可能性があります。

WebGL のフィンガープリントはブラウザのフィンガープリンティングと同じですか?

いいえ。 WebGL フィンガープリントはブラウザのフィンガープリンティングの一部です。 より広範なフィンガープリントには、ユーザー エージェント、画面、フォント、タイムゾーン、言語、キャンバス出力、オーディオ動作、およびその他の信号が含まれる場合があります。

重要なポイント

WebGL フィンガープリント は、人物ではなくグラフィック環境を表します。 その値は、連携して動作する複数の信号から得られます。 ベンダー データ、機能の制限、シェーダーの動作、レンダリング ハッシュはそれぞれ、状況の異なる部分を示しています。

1 つのハッシュを判断する前に、レポート全体を読んでください。 ネットワーク テストをグラフィック テストとは別にしてください。 最も重要なのは、ブラウザ環境全体で適度な安定性と一貫性を確保することです。 そうすることで、一意に見える結果を追うよりも、より有益な情報が得られます。

指紋スプーフィング

指紋スプーフィングは、ブラウザの信号を別の環境に似たものに変更します。マスキングとの違いと、レイヤー間の一貫性がなぜ重要なのかをご覧ください。

詳しく見る

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

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

詳しく見る

デバイスのスプーフィング

デバイスのスプーフィングは、ブラウザの属性またはモバイル ID を変更して別のデバイスに似せます。どのサービスがクロスチェックを行うのか、競合が目立つ理由を学びましょう。

詳しく見る

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

ブラウザのフィンガープリンティングは、Cookie ではなくデバイス、ソフトウェア、グラフィック信号を通じて訪問をリンクします。テストで何が明らかになり、どのコントロールが役立つかを確認してください。

詳しく見る

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

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

詳しく見る

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

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

詳しく見る

MoreLogin で構築を始める

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