ブログに戻る

User-Agent凍結後、なぜClient Hintsが新たなフィンガープリント信号になるのか?UAからCHへの進化を解説

ブラウザ各社がプライバシー保護を強化する中、User-Agentは段階的に縮小・凍結され、Client Hintsが新たな高エントロピーのフィンガープリント信号になっています。本記事ではUA Reduction、Client Hintsの仕組み、フィンガープリント整合性の重要性、複数アカウント環境でUA・CH・システム設定を整合させる考え方を解説します。

ここ数年、主要ブラウザは相次いでプライバシー保護を強化してきました。SafariはITP、FirefoxはTotal Cookie Protectionを導入し、Chromeも**User-Agentの凍結(UA Reduction)**を正式に進めています。今でも「UAを変更すれば端末を偽装できる」と考える人は少なくありませんが、実際にはUAは大幅に簡略化され、詳細情報を徐々に失っています。そこで端末識別の重要な信号として役割を引き継いでいるのが Client Hints(CH) です。

本記事は「検知を回避する方法」を教えるものではありません。技術原理だけに基づき、3つの点を整理します。なぜUAは凍結されるのか。Client Hintsとは何で、なぜ高エントロピーのフィンガープリント信号とされるのか。そして、なぜ「フィンガープリントの整合性」こそが重要なのか。これらを理解すると、特に複数アカウントを分離する現代のブラウザ環境管理で、パラメータを個別の項目としてではなく、1つの整合したシステムとして扱う必要がある理由が分かります。

1. なぜUA文字列だけでは足りなくなったのか?

長い間、User-Agent はWebサイトがブラウザや端末を識別するための主要な情報でした。ブラウザのブランドやバージョン、OS、端末アーキテクチャなどを公開します。しかしUA文字列は長く安定しているため、ユーザーのフィンガープリントに利用されやすいという問題がありました。そのためChromeは UAを段階的に縮小する 方針を明確にし、主要バージョンなど最低限の情報だけを残し、より詳細な情報を新しい仕組みであるClient Hintsへ移しました。

UA凍結の直接的な結果は、UAだけを偽装しても整合しなくなることです。システムはUAだけを信用せず、UA以外の値がUAと一致しているかも確認します。典型的な不整合は、次のようなパラメータ同士の矛盾です。

  • UAではmacOS 14なのに、プラットフォームバージョンはmacOS 13になっている。
  • UAではモバイル端末なのに、モバイルフラグが ?0 のままになっている。
  • ハードウェアアーキテクチャはarm64なのに、navigator.hardwareConcurrency などの値がx86らしく見える。

端末識別システムでは、このような矛盾は「実際の1台の端末から得られた情報ではない」と判断される要因になります。これを理解すれば、UA凍結時代に「UAだけを変更する」方法では不十分な理由が分かります。

2. Client Hintsとは?なぜ高エントロピーのフィンガープリントなのか?

ブラウザがClient Hintsで低エントロピー情報を提示し、サーバーからの高エントロピー情報要求に応答した後、整合性チェックを受ける流れ

Client Hints(CH)は、ブラウザがHTTPリクエストやJavaScript環境を通じて、必要に応じてサーバーへ提供する端末能力情報の集合です。UAとの大きな違いは2つあります。

  1. 高エントロピー項目(High Entropy Values)を含む。 高エントロピーとは、情報を組み合わせたときに識別力が高く、推測しにくいことを意味します。具体的なプラットフォームバージョン、完全なブランドとバージョンの一覧、端末アーキテクチャなどが該当します。実際のブラウザは、これらを一度に全部返すのではなく、必要に応じて返します。

  2. CHは単独で判断されず、他のフィンガープリントと相互確認される。 実際の端末識別では、CHとUAが一致しているか、CHとTLSのJA3/JA4などトランスポート層のフィンガープリントが同じブラウザ系統に見えるか、CHとJavaScript環境の navigator.platform、並列数、device pixel ratio(DPR)が整合しているか、さらにOSのプラットフォーム特性と一致しているかなどが合わせて確認されます。

ここで重要なのは、難しいのは1項目を変更することではなく、すべての項目が同じ実在端末から出たように整合させることです。単独の項目なら多くは変更できます。しかしブランド、プラットフォームバージョン、UA、DPR、メモリ、アーキテクチャ、TLSフィンガープリントなどをすべて矛盾なく1つの端末像として成立させることが本当の難しさです。そのため、いわゆる「項目を全部埋めた」構成でも、項目同士が矛盾していれば簡単に不自然さが現れます。

3. よくあるフィンガープリントの不整合とは?

「整合性」が重要だと分かると、なぜ多くのパラメータ設定が失敗するのかも理解しやすくなります。よくある例は次のとおりです。

  • CHとUAが一致しない(最も多い):UAではmacOS 14.1なのに、CHが実在しないプラットフォームバージョンを返す。
  • モバイルUAなのにモバイルフラグが ?0:実際のモバイル端末なら通常は ?1 になる。
  • 完全バージョン一覧の導出が誤っている:ブラウザのメジャーバージョンは120なのに、完全バージョンの特徴が古い115のように見える。
  • DPRやメモリなどが実際の端末クラスと矛盾する:Apple端末なのに異常に低いピクセル比だったり、一般的なWindows PCなのに1GBのメモリしか表示されなかったりする。
  • ブラウザ固有の違いを無視する:そのブラウザが対応していない項目を無理に追加したり、特定のエンジンが本来返さない項目を返したりする。

こうした矛盾は端末識別システムでは目立ちます。根本的には、環境を1つの整合した全体として扱っていないことが原因です。

4. では「正しい設定」とは何を意味するのか?

「項目を埋める」というより、整合した環境プロファイルを維持すると考えるほうが適切です。一般的には次の点が重要です。

  • CHをUAと結び付ける:ブラウザエンジンとバージョンの 実際のルール に基づいて、ブランド・プラットフォーム・バージョンなど対応するCHを導出し、適当な値を組み合わせない。
  • 高エントロピー項目の返却方法に従う:標準では低エントロピー情報を返し、高エントロピー値は実ブラウザと同様に必要に応じて返し、現在のブラウザが対応していない項目は返さない。
  • JSプロパティ、HTTPヘッダー、システム特性を相互に一致させる:DPRは画面解像度と、メモリ容量はプラットフォーム種別と、モバイルフラグはUAと、アーキテクチャはシステム全体のロジックと一致させる。
  • トランスポート層のフィンガープリントとも連動させる:TLS/JA3/JA4などの特徴も、宣言されたブラウザバージョンに合っている必要がある。

一言で言えば、本当に難しいのはCH、UA、JavaScript環境、システム特性をまとめて「整合したブラウザ行動プロファイル」にすることであり、項目数を増やすことではありません。

5. 複数アカウントの環境管理と何の関係があるのか?

越境EC、SNS広告、独立系ECサイトの運用をしている人は、こうした技術原理と「異なる業務アカウントごとに独立したブラウザ環境を作ること」にどんな関係があるのか疑問に思うかもしれません。答えは、環境管理の前提は各環境が内部的に整合していることにあります。

  • アカウントや地域が多い場合、各環境でUA、OS、解像度などを手作業で組み合わせるより、選択したシステムとエンジンバージョンに基づいてツールが 相互に整合するパラメータ一式を自動生成する ほうが、個別修正による矛盾ややり直しを減らせます。
  • 地域やプラットフォームが異なる業務アカウントには、それぞれ独立し、内部パラメータが整合した環境を持たせるべきです。すべてのアカウントで同じ「テンプレート設定」を共有すると、端末レベルで不自然なほど似通ってしまいます。
  • プロキシを別地域へ切り替えるときも、システムバージョンや端末モデルなどがその環境の中で一貫した設定を保つほうが、「IPだけ変えて他の設定を完全に同じにする」より実際の端末利用に近い挙動になります。

こうした「整合性」の問題こそ、複数アカウント向けブラウザ環境管理ツールが解決しようとしているものです。PurpleMarkでは環境作成時に、OS、Chromiumエンジンバージョン、User-Agent、解像度、タイムゾーン、言語、CPU/メモリ、Canvas、WebGL、TLSなどのフィンガープリント・端末パラメータを1か所で統一して設定できます。地域とアカウント用途を選べば、ログインのたびに場当たり的に値を組み合わせるのではなく、1つの方針に基づいて環境を生成できます。実際に管理するのは、特定の検知を欺くことではなく、「アカウント・ブラウザ環境・ネットワーク設定」を同じワークスペースで扱うための 全体的な整合性 と再利用性です。

6. まとめ

UA凍結はブラウザフィンガープリントが新しい段階に入ったことを示します。重要なのは「どの項目があるか」ではなく、項目同士が整合しているかどうかです。 Client Hintsが高エントロピーの信号としてUAの役割を引き継ぐ中、CHとUA、システム特性、トランスポートフィンガープリントの関係を理解することは、項目名を大量に暗記するより重要です。

実在し、規約に沿った少数の業務アカウントを管理するだけなら、検知への対抗に労力を使う必要はありません。PurpleMarkのような環境管理ツールを使い、各アカウントの地域・システム・ブラウザパラメータを明確で整合的かつ再利用可能な状態に保つほうが実用的で、環境設定の矛盾による問題を根本から減らせます。

(注:本記事はブラウザフィンガープリント技術の原理を解説する教育目的の内容です。各プラットフォームの利用規約を守り、正規のアカウントを使用してください。)