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

ブラウザーフィンガープリンティングとは、ウェブブラウザーに関する情報を幅広く収集して、その独自性や特性について知識に基づいた推測を行うことです。 各ブラウザーの設定や機能に基づいて「ブラウザーフィンガープリント」が作り出されます。 ほとんどのブラウザーは、各ユーザーごとに固有のフィンガープリントを意図せず作成してしまい、インターネット上で追跡される可能性があります。 ブラウザーフィンガープリンティングの詳細につきましては、Tor Blog の記事ブラウザーフィンガープリンティング:導入と今後の課題Tor Browser:プライベートブラウジング革新の遺産をご覧ください。

なぜブラウザーフィンガープリンティングがオンラインプライバシーを脅かすのですか?

第一に、この情報を収集するためにユーザーに許可を求める必要はありません。 ブラウザーで実行されるスクリプトは、ユーザーに気づかれることなく、デバイスのフィンガープリントを密かに作成できます。

第二に、ブラウザーフィンガープリントの一つの属性、または複数の属性の組み合わせが固有である場合、デバイスを特定し、オンラインで追跡することができます。 これは、Cookie がなくても、フィンガープリントを用いてデバイスを追跡できることを意味します。

Tor Browser がフィンガープリンティングを軽減する方法

Tor Browser は、さまざまなメトリクスにおいて各ユーザーのフィンガープリントの独自性を最小限に抑えるように特別に設計されています。 すべての Tor Browser ユーザーを同一にすることは現実的に不可能ですが、目標は各メトリクスの区別可能な「バケット」の数を減らすことです。 このアプローチでは、個々のユーザーを効果的に追跡することが難しくなります。

オペレーティングシステムや言語など、特定の属性は機能上必要であり、完全に隠したり偽装したりすることはできません。 代わりに、Tor Browser はこれらの属性内の多様性を制限して、独自性を減らします。 例えば、フォントの列挙を制限して文字フォールバックを適用したり、Letterboxing を使って画面やウィンドウのサイズを標準化したり、要求される言語の種類をあらかじめ定義された小さなセットに制限したりします。

Tor Browser のフィンガープリンティング対策の主な目的は、ユーザーを一意に識別するのに十分な情報を収集することを著しく困難にし、それによって必要な機能を損なうことなくプライバシーを強化することです。

Tor Browser のフィンガープリンティング対策機能

Letterboxing

画面サイズに基づくフィンガープリンティングを防ぐため、Tor Browser はコンテンツウィンドウを 200px x 100px の倍数に丸めた状態で起動します。 ここでの戦略は、すべてのユーザーをいくつかのバケットに分けて、特定しにくくすることです。 これは、ユーザーがウィンドウのサイズを変更し始める (例えば、ウィンドウを最大化したり、フルスクリーンモードにする) まではうまく機能します。 Tor Browser には、このようなシナリオのためのフィンガープリンティング防御機能である Letterboxing が搭載されています。これは Mozilla が開発し、2019年に発表された技術です。 これは、ブラウザーウィンドウに余白を追加することによって機能します。これにより、ウィンドウが目的のサイズにできるだけ近くなる一方で、ユーザーは画面サイズのバケットをいくつか使用しているため、画面サイズを使ってユーザーを識別することはできません。

簡単に言うと、この手法では、特定の画面サイズのユーザーのグループが作成され、多くのユーザーが同じ画面サイズを使用するため、画面サイズに基づいてユーザーを特定することが困難になります。

letterboxing

User-Agent and Operating System spoofing

The User-Agent string is a value websites can use to identify details about your browser, operating system (OS), CPU architecture, vendor, and version. Since this information can reveal which OS or device a user is using, it has been a vector for browser fingerprinting, allowing websites or trackers to potentially single out users.

Tor Browser addresses this by spoofing the User-Agent. Users cannot choose a specific operating system or attempt to imitate every possible platform. Instead, Tor Browser standardizes User-Agent values to reduce uniqueness and avoid creating a false sense of privacy:

  • All Windows appear as Windows 10.
  • All macOS appear as OS X 10.15.
  • All Android as Android 10.
  • All other systems like all Linux distributions (including Tails and Qubes), *BSD and other operating systems are grouped together and reported as "Linux running X11".
  • All the other details (such as the architecture) are also normalized per-platform.

In this case, the fingerprint resistance strategy in Tor Browser is to protect real values of the User-Agent by spoofing, but also have a large enough user set.

User-Agent is sent to websites as an HTTP header, and it is available to JavaScript as navigator.userAgent. Inconsistencies in these values can trigger anti-bot and anti-fraud systems into categorizing Tor users as a bot, and deny their requests, which in turn affects usability for Tor Browser users.

Some privacy tools or users suggest that making all users appear as Windows would offer the best cover. However, perfectly spoofing across all browser contexts is not possible and active fingerprinting methods (using fonts, features, behavior, with or without JavaScript, etc.) can often be used to infer aspects of the hardware or operating system.

Tor Browser does not let users select which OS they appear to be. This is intentional: any option to choose would only make users more unique and thus easier to fingerprint. The small set of standardized options is key to keeping users blended together, maximizing privacy for everyone.

その他のフィンガープリンティング対策機能

Letterboxing に加えて、Tor Browser は、ブラウザーのフィンガープリントを軽減し、ユーザーのプライバシーを保護するために、他の多くの機能を導入しています。 These features include Canvas image extraction blocking, NoScript integration, and first-party isolation. 機能の完全なリストにつきましては、Tor Browser の設計と実装に関するドキュメントをご覧ください。