用語集 · フィンガープリント
タイムゾーンとジオロケーションの不一致
接続の IP アドレスから示唆される場所が、ブラウザのタイムゾーンや報告された座標と一致しない場合を指します。
定義
タイムゾーンとジオロケーションの不一致は、ウェブサイトが検知できる場所のシグナルが一致しない場合に発生します。サーバーは訪問者の IP アドレスから場所を推定し、JavaScript はブラウザのタイムゾーン(「Europe/London」などの IANA 名)と UTC オフセットを読み取ることができ、ユーザーの許可がある場合にのみ、Geolocation API が緯度と経度を返すことができます。ブラウザの時計がニューヨークを示しているのに、接続がロンドンから来ているように見える場合、その組み合わせは異常であり、ブラウザのフィンガープリントやリスクチェックにおける一つのシグナルとして使用される可能性があります。
仕組み
- IP の場所は、MaxMind GeoIP などのデータベースを使用してサーバー側で推論されます。MaxMind は、これを住所ではなく、精度半径を持つおおよそのエリアとして説明しています。国レベルの精度は約 99.8% と推定していますが、50 km 以内の米国の都市では約 66% であり、VPN やプロキシの背後にある場合は、個人ではなくサーバーの場所を特定することに注意を促しています。
- ブラウザのタイムゾーンには許可は不要です。new Intl.DateTimeFormat().resolvedOptions().timeZone は実行時のデフォルトの IANA タイムゾーンを返し、Date.prototype.getTimezoneOffset() は UTC からのオフセットを分単位で返します(例:UTC+1 の場合は -60)。これは、夏時間を採用しているゾーンでは夏時間によって変化します。
- 正確な座標は Geolocation API (navigator.geolocation.getCurrentPosition) から取得されます。これは安全な (HTTPS) コンテキストでのみ動作し、ジオロケーションの Permissions Policy によって制限され、ユーザーの明示的な許可が必要です。W3C 仕様では、ソースには GPS、Wi-Fi、セル ID、IP アドレスが含まれる可能性があるとしており、結果がデバイスの実際の場所であることを保証するものではありません。
- サイトや不正防止スクリプトは、これら3つを比較できます。IPの国がタイムゾーンと一致しているか、共有された座標のいずれかがIPの推定エリア内にあるか、といった点です。言語やロケールの設定も参照されることがありますが、これらはユーザーの好みであり、位置情報と正当に異なることがより頻繁にあります。
なぜ重要なのか
- ブラウザをプロキシ経由でルーティングする場合、IPのみが変更されます。タイムゾーンは依然としてコンピュータから取得されるため、ロサンゼルスのプロキシを使用しているパリ時間のノートパソコンでは、明らかな乖離が生じます。Multiloginのヘルプドキュメントでは、その「Real」タイムゾーン設定について、まさにこのような例を挙げています。
- そのため、アンチディテクトブラウザは通常、プロキシの位置からプロファイルのタイムゾーンとジオロケーション座標を派生させることを提案します。例えば、Multiloginは、タイムゾーンをプロキシに一致させ、プロキシの概算位置付近の座標を生成するデフォルトの「Masked」モードに加え、「Custom」および「Real」オプションをドキュメント化しています。
- ローカライズされたサイトのQA、広告検証、異なる地域のクライアントアカウントの管理といった正当な業務において、位置信号を一致させておくことで、テスト対象の地域と一致しないページ、価格、セキュリティプロンプトが表示されるのを避けることができます。
制限とよくある誤解
- 「VPNやプロキシを使うとタイムゾーンが変わる」とのことですが、変わるのはサイト側が見ているIPアドレスです。タイムゾーンとGeolocation APIの値は、別途変更しない限り、ブラウザとデバイスから取得されます。
- 「不一致があれば不正である」というわけではありません。旅行者、企業用VPN、モバイルネットワーク、プライバシーリレーなどはすべて、正当な不一致を生じさせます。また、IPジオロケーション自体も推定値です。サイトは通常、多くの信号の一つとしてそれを評価します。
- 「位置情報のアクセスをブロックすれば、自分の場所は隠せる」とのことですが、Geolocationの許可を拒否しても座標は提供されませんが、IPアドレスとタイムゾーンは通知なしで依然として閲覧可能です。
- 「タイムゾーンを一致させれば、プロファイルは検知されなくなる」というわけではありません。それは一つの不一致を取り除くに過ぎません。フィンガープリントは、ユーザーエージェント、フォント、Canvas、WebGL、WebRTCなど、他の多くの値を組み合わせて構成されており、いかなる設定もアカウントが制限されないことを保証するものではありません。
例: あるプロファイルがドイツのレジデンシャルプロキシを使用しているため、IPルックアップではフランクフルト付近に配置されます。プロファイルのタイムゾーンが「Asia/Shanghai」(オフセット -480)のままになっており、地図サイトが位置情報を要求すると、ブラウザは上海の座標を返します。これら3つの信号すべてがサイトから確認でき、そのうちの2つがIPと矛盾しています。プロファイルを「Europe/Berlin」に設定し、座標をプロキシの推定エリア内に設定すれば、信号は一致します。あるいは、ユーザーは単に位置情報のプロンプトを拒否することもできます。
いかなるブラウザやプロキシも、アカウントが制限されないことを保証することはできません。各プラットフォームのルールに従ってください。
関連用語
- WebRTCリーク — WebRTCによって、サイトが通常認識しているプロキシまたはVPNのアドレスとは異なるIPアドレスが明らかになった場合。
- レジデンシャルプロキシ — 出口IPがデータセンターではなく、消費者向けのインターネット接続に属するプロキシ。
- ブラウザ・フィンガープリント — クッキーなしでブラウザを特定できる、ブラウザとデバイスの特性の組み合わせ。
- ブラウザプロファイル — 他のプロファイルとは別に保持される、ブラウザデータ(クッキー、履歴、設定、拡張機能)の独立したセット。
ソース
- MDN: Geolocation API (ブラウザドキュメント)
- W3C: Geolocation (Candidate Recommendation Draft) (標準)
- MDN: Intl.DateTimeFormat resolvedOptions() (ブラウザドキュメント)
- MDN: Date.prototype.getTimezoneOffset() (ブラウザドキュメント)
- MaxMind: Geolocation accuracy (ベンダー ドキュメント)
- Multilogin help: Browser profile settings — Fingerprint section (ベンダー ドキュメント)
Checked 2026-11-09.