【ITニュース解説】Chrome kept the same fingerprint ID on 5 of 5 cookie-free visits. Brave got 5 different ones.
2026年10月14日に「Dev.to」が公開したITニュース「Chrome kept the same fingerprint ID on 5 of 5 cookie-free visits. Brave got 5 different ones.」について初心者にもわかりやすく解説しています。
ITニュース概要
Webブラウザの追跡技術「フィンガープリント」を検証した。Chromeはクッキーやプロファイルをクリアしても常に同じIDを生成したが、Braveはアクセスごとに異なるIDを生成した。Braveはユーザー特定を防ぐため、システム情報にランダムな変更を加えている。
ITニュース解説
ウェブブラウザの技術は日々進化しているが、その裏側で私たちが意識しない情報がどのように扱われているかを知ることは、システムエンジニアを目指す上で非常に重要だ。今回は、ウェブサイトが私たちを識別する際の一つの技術、「フィンガープリント」について、具体的な実験結果を通じて解説する。
私たちがウェブサイトを訪問する際、サイトは私たちを識別しようとすることがある。最も一般的なのは「クッキー」と呼ばれる小さなデータだが、これを拒否したり、プライベートブラウジングモードを使ったりすれば、サイトは私たちを追跡できないと思いがちだ。しかし、「フィンガープリント」と呼ばれる技術は、クッキーがなくてもブラウザやコンピューターの特性を組み合わせてユーザーを識別できる。これはまるで、個人の指紋がそれぞれ異なるように、ウェブブラウザもその構成や設定によって固有の識別情報を持っていると考えることができる。
今回行われた実験では、主要な二つのウェブブラウザ、Google ChromeとBraveを使って、このフィンガープリントがどのように機能するかを検証した。実験では、毎回新しい空のブラウザプロファイル(設定や履歴が何も保存されていない状態)でウェブサイトを訪問し、クッキーも完全に削除した状態でフィンガープリントIDがどのように生成されるかを観察した。
驚くべきことに、Chromeは5回の訪問すべてで全く同じフィンガープリントIDを生成した。IDは「e08e953c」というもので、「Bold Llama」というニックネームが付けられた。これは、たとえクッキーをクリアし、新しいセッションを開始しても、Chromeが提供する情報から同じ識別情報が常に生成されてしまうことを意味する。
一方で、Braveは同じ条件で5回訪問したところ、5回すべてで異なるフィンガープリントIDを生成した。IDもニックネームも「Zippy Llama」、「Mighty Mole」、「Zippy Wombat」など、毎回異なっていた。Braveはデフォルトで「フィンガープリンティングをブロック」する設定がオンになっていたが、この実験はその機能が実際にIDを変化させていることを示した。
このフィンガープリントIDはどのように生成されるのだろうか。実験で使われたテストページは、ブラウザから以下の7種類の情報を読み取り、それらを結合した上で「SHA-256」というハッシュ化技術を使ってIDを生成していた。ハッシュ化とは、任意のデータから固定長の短い文字列(ハッシュ値)を生成する技術で、元のデータが少しでも変わればハッシュ値も大きく変わる特性がある。
- Canvas(キャンバス): ウェブページ上で図形やテキストを描画する機能だ。この機能の描画結果は、OSやグラフィックドライバー、ハードウェアによって微妙に異なることがあり、それをハッシュ化して識別情報として利用する。
- Audio(オーディオ): 音声処理機能に関する情報で、ブラウザが音声を生成する際の特性を数値化して利用する。これもシステム環境によって差異が生じやすい。
- Screen(スクリーン): 画面の幅、高さ、色深度、デバイスのピクセル比率といった基本的なディスプレイ情報。
- Timezone(タイムゾーン): 現在設定されている時間帯の情報。
- Languages(言語): ブラウザで設定されている優先言語のリスト。
- CPU Cores(CPUコア数): コンピューターのCPU(中央処理装置)の物理コア数に関する情報。
- WebGL(ウェブジーエル): ウェブブラウザで高度な3Dグラフィックスを描画するための技術だ。この技術が利用するグラフィックカードの種類やドライバー情報も、識別情報として使われる。
実験では、Playwrightという自動テストツールを使い、ブラウザをヘッドレスモード(画面表示なし)で起動し、各訪問ごとに完全に新しい空のプロファイルを準備した。これにより、クッキーや過去の閲覧履歴といった、ユーザー固有のデータがID生成に影響を与えない純粋な条件でテストが行われた。実験環境はApple M1 Proを搭載したMacで、Chrome、Brave、Playwrightの特定のバージョンが使用された。
Chromeが常に同じIDを生成したのは、Chromeが上記の7つの情報を常に同じ方法で、かつ一貫して提供するためだ。これらの情報はブラウザのプロファイル(個別の設定やデータ)には保存されず、コンピューターのハードウェアやOS、ブラウザ自体の特性から直接読み取られる。そのため、プロファイルを新しくしても、システム環境が変わらなければ同じ情報が読み取られ、結果として同じフィンガープリントIDが生成されるのだ。
一方、Braveが毎回異なるIDを生成したのは、Braveがプライバシー保護のために特別な対策を講じているからだ。Braveは、フィンガープリンティングに利用される一部のAPI(CanvasやAudioなど)から返される情報に、意図的に小さな「ランダムな変更」を加えている。このランダムな変更は、セッションごと、訪問するサイトごと、そしてデータを保存する領域ごとに異なる「シード」(乱数の種)を使って行われる。フィンガープリントIDは多くの情報を結合してハッシュ化されるため、たとえ一部の情報がわずかに変わるだけでも、最終的なIDは大きく異なる結果となる。この実験では、Braveの場合、Canvasハッシュ、Audio合計値、CPUコア数の3つの要素が訪問ごとに変化していたため、最終的なIDも常に変化したのだ。
この結果は、フィンガープリンティングがクッキーとは根本的に異なることを示している。クッキーはウェブサイトがあなたのディスクに保存するデータだが、フィンガープリントはウェブサイトがあなたのマシンに「尋ねる」情報、つまりハードウェアやソフトウェアの構成に関する情報なのだ。これが「クッキーをブロックしても、プライベートブラウジングモードでも識別されてしまう」と言われる理由である。
ただし、この実験にはいくつかの制限があることも理解しておくべきだ。まず、1台のマシンと1つのテストページで行われた小規模な検証であること。そして、ブラウザはヘッドレスモードで実行され、実際のブラウジング体験とは異なる可能性もある。例えば、ヘッドレスモードでは画面サイズが実際のディスプレイと異なる値で報告されるケースもあった。また、このテストページはシンプルなものであり、実際の広告トラッカーはIPアドレスなど、さらに多くの情報源を利用してユーザーを追跡することがある。
また、ChromeのフィンガープリントIDが安定していることは示されたが、そのIDがどれほど「一意」であるか、つまり全く同じ構成の異なる2台のMacでも同じIDになるのかどうかは、今回の実験では検証されていない。Braveに関しては、ブラウザを完全に再起動するたびにIDは変わるが、一度起動したブラウザ内で複数のページを閲覧したり、ページをリロードしたりする場合には、同じセッション内のためIDは変わらないことも確認された。これは、Braveのランダム化の「シード」が「セッションごと」に変わるという設計と一致する。
システムエンジニアを目指す皆さんにとって、このようなブラウザの挙動やプライバシー保護の技術は、ウェブアプリケーション開発やセキュリティ対策を考える上で非常に重要な知識となる。ユーザーのプライバシーを尊重しつつ、安全で快適なウェブ体験を提供するためには、このような技術の仕組みを深く理解する必要がある。