PR

ブラウザ指紋追跡の仕組みとは?Cookieなしで識別される理由

IT

ウェブサイトでCookieを削除したりシークレットモードを使ったりしても、同じ端末として識別される技術が存在します。端末固有のわずかな差を指紋のように照合する「ブラウザフィンガープリンティング」です。その追跡プロセスを可視化するデモサイトが公開され、関心を集めています。

この記事の結論

ブラウザフィンガープリンティングは、Cookieを使わずにGPUの描画差や音声処理、CPUコア数、OS設定などの組み合わせから端末を特定する技術です。IPアドレスやCookieを変更してもハードウェア処理の差が変わらないため、シークレットモードやVPNでも識別が継続します。対策としてプライバシー特化ブラウザによる情報の偽装や画一化が挙げられますが、通信特性による識別の可能性も残ります。

デジタル指紋と回路ラインをモチーフにした抽象的なテクノロジーのイメージ

Cookieを消しても端末が特定されるのはなぜ?

一般的なウェブサイトでは、利用者のブラウザに「Cookie」と呼ばれる小さなテキストデータを保存することで、ログイン状態を保持したり再訪問を判別したりしています。しかし、利便性の裏で広告追跡にも広く使われてきた経緯があり、近年はプライバシー保護のためにCookieの利用を厳しく制限するブラウザが増加しています。

そうしたCookie規制の抜け道として機能するのが「ブラウザフィンガープリンティング」です。Cookieのように端末内にデータを保存するのではなく、アクセス時にブラウザが送信する環境情報やハードウェアの微細な挙動を読み取り、その組み合わせを指紋(フィンガープリント)のように照合して端末を特定します。

この仕組みを体感できる実験的なデモサイトとして、開発者のRoy Fish氏が手がけた「Fingerprints are the new cookies」が公開されました。技術系メディアのGIGAZINEによる検証記事でも紹介されている通り、サイトを開くだけで自動的に固有のニックネームが割り振られます。

検証では、ページの再読み込みはもちろん、ブラウザのCookie全削除、VPN接続によるIPアドレス変更、さらにはシークレットモードへの切り替えを実施しても、最初に割り当てられたニックネームと同じ文字列が表示され続けました。一方で、別のスマートフォンやPCから接続すると全く別のニックネームが生成され、回線や閲覧モードを変えても端末そのものが識別されている挙動が確認されています。

GPU描画や音声処理のわずかな差からハッシュ値を計算する

デモサイトでは、利用者の画面上に見えない部分で複数のハードウェア特性を測定しています。具体的に収集されている項目は、グラフィック処理を担うGPUの情報、画像を描画させた際の微細なピクセル差異、ブラウザ内部で音声を生成させた際の計算誤差、CPUのコア数、言語設定、タイムゾーンなどです。

同じOSやブラウザを使っていても、搭載されているGPUの世代やドライバ、グラフィックエンジンの処理系によって、図形や文字を描画した際のピクセルデータにはわずかな差が生じます。音声処理においても、ブラウザ内部のオーディオ処理モジュールで波形を生成させると、CPUアーキテクチャや浮動小数点演算の丸め処理により、計算結果の末尾に固有の違いが現れます。

ブラウザフィンガープリントによる端末識別の流れ 収集される端末・処理特性 ・GPU描画のピクセル差異 ・内部音声演算のわずかな差 ・CPUコア数 / 言語設定 ・タイムゾーン / 画面構成 SHA-256アルゴリズムによるハッシュ値計算 端末固有のニックネーム決定(識別完了)

サイトではこれらの測定結果を文字列として結合し、暗号学的ハッシュ関数「SHA-256」を通して固定長のハッシュ値へと変換します。そのハッシュ値をキーとしてニックネームを決定しているため、入力された測定値のセットが変わらない限り、何度アクセスしても同じ判定が再現されます。

一つ一つの項目だけを見れば、同じGPUや同じタイムゾーンを使っているユーザーは世界中に大勢存在します。しかし、情報理論におけるエントロピーの考え方に基づくと、複数の属性を重ね合わせるほど全体の中で該当する対象は急速に絞り込まれます。

作者の解説によると、例えば128人のうち1人だけに当てはまる珍しい特徴を持っている場合、その項目が一致することから得られる情報量は7ビットに達します。一方で、残り127人に当てはまる一般的な特徴から得られる情報量は約0.011ビットにとどまります。珍しい解像度や特殊なフォント、特定のハードウェア構成を持つ端末ほど、指紋としての独自性が高まり、容易に特定される構造になっています。

複数のデータ層と光の屈折で表現されたブラウザ情報の識別プロセスのイメージ

シークレットモードやVPNで防げる範囲と限界

日常的なプライバシー保護としてよく使われるシークレットモードやVPNですが、これらはフィンガープリンティングに対して十分な防御壁にはなりません。それぞれの機能が遮断する対象と、端末識別の仕組みに明確なズレがあるためです。

シークレットモードが防ぐのは、主に閲覧終了後の履歴保存やCookieの残留、入力フォームの記憶といった「端末内部へのデータ蓄積」です。サーバー側に対して自身のハードウェア構成やブラウザの描画エンジンを偽装する機能は備わっていません。したがって、スクリプトがGPUやCPUの演算結果を測定するリクエストを送った場合、ブラウザは通常通りハードウェアに処理を委ね、その結果をそのまま返してしまいます。

VPNについても同様の限界があります。VPNは暗号化トンネルを経由することで接続元IPアドレスを隠蔽し、通信経路上の盗聴を防ぐ技術です。しかし、ウェブサイトを読み込んだ後にブラウザ内部で実行されるJavaScriptの挙動には干渉しません。IPアドレスが海外のものに変わっていても、ブラウザが計算したGPU描画結果や音声波形のハッシュ値は変わらないため、同一人物として結びつけられます。

ブラウザフィンガープリントへの対策はどこまで有効?

半透明のシールドと幾何学ネットワークで表現されたプライバシー保護のイメージ

デモサイトの作者は、こうしたブラウザ特性を利用した識別を回避するアプローチとして、プライバシー保護に特化したブラウザの採用を挙げています。ただし、その防御手法には設計思想の違いが見られます。

Braveブラウザなどは、外部からスクリプトによって取得される描画データや各種パラメータに対して、ランダムな微小ノイズを混入させるアプローチを取っています。アクセスごとにハッシュ値が微妙に変動するため、過去のアクセス記録と正確に合致させにくくする仕組みです。

一方、Tor BrowserやMullvad Browserは、利用者の環境をできる限り「全員同じ」に見せるアプローチを採用しています。画面サイズ、フォント一覧、描画結果などのパラメータを全ユーザーで画一化し、突出した特徴をなくすことで、群衆の中に紛れ込ませて個別の特定を阻止します。

また、ブラウザの設定でJavaScriptを無効化すれば、今回のようなスクリプトによる描画テストや音声演算の測定処理は実行できなくなります。ただし、多くの現代的なウェブサイトで表示や機能が崩れる実用上の代償が伴うほか、HTTPリクエストヘッダーやネットワーク通信のタイミングといった、通信そのものから得られる情報を使った識別手法までは排除できません。

作者は今回のデモについて、端末から得られるごく少数の基本情報を単純に組み合わせた例に過ぎないと明記しています。商用サービスや大規模なトラッキング企業が利用する本格的なフィンガープリンティング技術はさらに高度であり、一部のハードウェア構成や設定が更新されても、機械学習などを用いて同一ユーザーとして追跡し続けられる事例が存在します。自身の利用環境がどの程度固有の特徴を露出しているか、公開デモを通じて一度確認してみる価値があります。

🐕

この記事を書いた人

現場の業務改善担当(AIで自動化) / サイト運営者

工場での生産設備保守や不良原因調査を経験したあと、人事総務・CS(カスタマーサポート)領域で業務改善に関わってきました。現場で「同じ作業に時間を取られすぎる」と感じたことをきっかけに、Pythonや生成AIを使った自動化ツールを作り始めています。
Nexistixでは、AI・自動化・ガジェットのニュースや話題を、個人利用・副業・業務効率化の目線で読み解いています。
休日はバスケをしたり、愛犬のハク(クリーム色の豆柴)とゆっくり過ごすのが楽しみです。


PR(当サイト運営者のサービス)

ローカルAI導入サポート:自分のPCで動かしたい方へ
KEEP READING
次に読むなら

この記事と近いテーマで、設定・機材・作業環境の判断材料になる記事です。

IT
スポンサーリンク
シェアする

コメント