ブラウザフィンガープリント検査

ブラウザ、画面、タイムゾーン、Canvas、WebGL のシグナルを検査します。永続的な識別子を作成せずに、ローカルスナップショットと SHA-256 ハッシュを表示します。

ブラウザ内でローカルに実行
ローカル処理 ·
このブラウザが公開するシグナルの一回限りのスナップショットを取得するには、監査を実行します。

The combined hash is descriptive, not an account identifier.

ブラウザフィンガープリントを検査する手順

この検査は、ページがブラウザから取得できるシグナル(ユーザーエージェント、言語、タイムゾーン、画面と表示領域、CPU とメモリの手がかり、Canvas、WebGL、プライバシー設定)を読み取り、2 つの SHA-256 ハッシュを含む JSON レポートにまとめます。

検査で読み取った内容はページの外に出ません。何も送信せず、ネットワークを切った状態でも実行は完了します。Cookie もストレージもアカウントも書き込まないため、レポートは再読み込みかタブを閉じるまでしか残りません。

  1. 「シグナルを収集」を押します。貼り付ける内容も、アップロードするファイルもありません。
  2. まずタイルを確認します。報告されたシグナル項目数、高エントロピー項目(Canvas、WebGL、メモリ、CPU)、言語数、結合ハッシュの先頭部分です。
  3. 正確な値が必要なときは JSON レポートを開きます。ユーザーエージェント、プラットフォーム、言語、タイムゾーンとオフセット、画面と表示領域、ハードウェアの手がかり、Do Not Track、Cookie の有無、WebGL のベンダーとレンダラー、Canvas ハッシュ、結合ハッシュが含まれます。
  4. 「コピー」または「ダウンロード」でスナップショットを保存します。ファイル名は browser-signal-report.json です。
  5. 「クリア」を押し、ブラウザ設定を 1 つ変えて再実行します。ウィンドウの大きさを変えるだけでも結合ハッシュは変わります(表示領域がスナップショットに含まれるため)。

レポートに含まれるもの

許可を求めずに読み取れるシグナル

レポートには、ユーザーエージェント文字列、表示言語とその一覧、プラットフォーム、IANA タイムゾーンと UTC オフセット、画面と表示領域の寸法(ピクセル比・色深度を含む)、ブラウザが公開する CPU スレッド数、デバイスメモリのクラス(Chromium のみ。他では null)、タッチ点数、Do Not Track の値(現行ブラウザでは null のことも多い)、Cookie 有効フラグ、WebGL のベンダーとレンダラー文字列が入ります。

Canvas は測定するだけで保存しません。文字と色ブロックを描いた 220×40 のサンプルを Web Crypto の SHA-256 でハッシュ化し、レポートにはハッシュだけが残ります。結合ハッシュも同じく上記 JSON 項目全体のダイジェストで、元のピクセルはレポートに含まれません。

2 つのハッシュの意味

同じウィンドウで続けて 2 回実行するとハッシュは一致し、同じウィンドウサイズで開いた別セッションでも結合ハッシュが一致することを確認しました。ウィンドウをリサイズすると Canvas ハッシュはそのままに結合ハッシュだけが変わります。表示領域がスナップショットの一部だからです。この値は特定のスナップショットを表すもので、恒久的な端末 ID ではありません。

どちらもローカルなダイジェストで、照合するデータベースはありません。他の訪問者とどれだけ一致するかは判定できないため、一致は「同じブラウザ設定と同じウィンドウ」、不一致は「何かが変わった」と読んでください。

この検査で分からないこと

追加の許可が要る情報や JavaScript の外側は読み取りません。フォント一覧、音声や Web Audio の指紋、WebRTC やローカル IP の検出、バッテリーやストレージ容量の調査、サーバーが見る HTTP ヘッダー、ユーザーエージェントのクライアントヒント、拡張機能の一覧はいずれも対象外です。

Canvas と WebGL は GPU とドライバーに依存し、メモリ値はブラウザ側で丸められ、Do Not Track やデバイスメモリの項目自体が存在しない場合もあります。レポートは自分のプロファイルや設定の比較に使い、匿名性の点数として読まないでください。

最近使ったツール: