用語集 · フィンガープリント
ブラウザ・フィンガープリント
クッキーなしでブラウザを特定できる、ブラウザとデバイスの特性の組み合わせ。
定義
ブラウザ・フィンガープリントとは、ウェブサイトがブラウザとそのデバイスから読み取ることができる一連の特性(ブラウザのバージョン、タイムゾーン、言語、インストールされているフォント、コーデック、画面サイズなど)を組み合わせて作成された識別子です。MDNは、フィンガープリントを、これらの識別可能な特徴を収集・結合することによって、ブラウザ、ひいてはユーザーを特定することであると説明しています。
仕組み
- User-AgentやAccept-Languageヘッダーのように、すべてのリクエストに受動的に含まれる値があります。W3Cはこれをパッシブ・フィンガープリント(受動的フィンガープリント)と呼びます。
- その他の値は、ページ上で実行されるJavaScriptやCSSによって能動的に収集されます:画面解像度、タイムゾーン、フォントリスト、CanvasまたはWebGLのレンダリング出力など。
- 個々の値は一般的ですが、それらを組み合わせることで、ブラウザを少数のグループ、あるいは単一のデバイスへと絞り込むことができます。単一の属性が固有である必要はありません。
なぜ重要なのか
- フィンガープリントは、クッキーなしでサイトをまたいだ訪問を紐付けることができ、W3Cは、クッキーの削除やVPNの使用ではその相関関係を阻止できないと指摘しています。
- サイトはまた、不正行為や乱用の検知、例えば一つのデバイスから多数のアカウントがアクセスしていることを特定するためにもフィンガープリントを使用します。
- 正当なマルチアカウント業務(代理店、QA、個別のクライアントアカウントなど)において、フィンガープリントを理解することは、なぜ個別のブラウザプロファイルが存在するのかを説明することにつながります。
制限とよくある誤解
- 「シークレットモードならフィンガープリントは隠せる」:プライベートウィンドウは保存されたデータを消去しますが、ページが読み取ることができるデバイスの特性はほとんど変わりません。
- 「ランダムなフィンガープリントが最も安全である」:不整合な値(例えば、デスクトップ画面にモバイルのUser-Agentを使用するなど)は、一般的で一貫した設定よりも特徴的になってしまう可能性があります。
- 「フィンガープリントは排除できる」:W3Cのガイダンスでは、広く普及している技術的手段を用いて、執拗な攻撃者によるフィンガープリントを完全に排除することは現実的ではないと述べています。緩和策はそれを軽減するものです。
例: 同じブラウザバージョンの2台のノートパソコンでも、タイムゾーン、インストールされているフォント、GPUが異なる場合があります。これらの値とCanvasレンダリングを読み取るスクリプトは、クッキーを消去した後でもそれらを区別できます。
いかなるブラウザやプロキシも、アカウントが制限されないことを保証することはできません。各プラットフォームのルールに従ってください。
関連用語
- Canvasフィンガープリント — HTMLキャンバスの描画方法のわずかな違いからデバイスを特定すること。
- WebGLフィンガープリント — WebGLのグラフィックス情報とレンダリング出力を使用してデバイスを識別すること。
- ユーザーエージェント (User-Agent文字列) — ブラウザがUser-Agentヘッダーで送信し、JavaScriptに公開するブラウザとOSの識別情報。
- ブラウザプロファイル — 他のプロファイルとは別に保持される、ブラウザデータ(クッキー、履歴、設定、拡張機能)の独立したセット。