フィンガープリント(fingerprint)とは、英語で「指紋」、動詞では「指紋を採る」を意味する言葉で、IT分野では対象を見分けるための短い識別データを指します。Webの文脈では、ブラウザの種類や言語設定、画面サイズ、描画結果の微妙な差などを組み合わせて端末を識別する「ブラウザフィンガープリント」を指すことが多く、Cookieのように端末へ何かを保存しなくても同じ利用者を推定できる点が問題になっています。
ただし、SSHの鍵を確認するときに表示される短いハッシュ値も、音声の特徴から番組を言い当てる技術も、同じ名前で呼ばれます。この記事では4つの用途を先に切り分け、そのうえでブラウザフィンガープリントの採取の流れを、同じ採取スクリプトを4つのブラウザで実行した結果とともに示します。ブラウザ別の対策と日本の法規制は2026年10月時点の一次情報で整理しました。
まとめ:4つの用途とブラウザ追跡への対策
IT分野のフィンガープリントは、ハッシュ値(SSH鍵・証明書)、コンテンツ識別、生体認証、ブラウザ追跡の4つの用途に分かれます。Web広告やプライバシーの文脈で問題になるのはブラウザ追跡で、Cookieを消すだけでは防げません。
ブラウザフィンガープリントについて2026年10月時点で押さえるべき事実は次のとおりです。
- Canvasなどの値はページ上のJavaScriptが許可画面なしに読み出せ、HTTPヘッダやIPアドレスはJavaScriptなしでも使える。同じ採取コードでも、ブラウザや描画環境が違えば描画結果のハッシュ値が変わる
- 「ブラウザの83.6%が一意」は2010年の偏った標本の数字で、2018年に200万件規模で追試した研究では33.6%だった
- Googleは2025年2月16日に広告プラットフォームポリシーから指紋採取の禁止条項を外し、英国ICOはこれを「無責任」と批判した
- 防御はブラウザごとに方式が違う。Safariは既知の採取スクリプトによる識別情報の取得などを制限し、デスクトップ版Firefoxは標準設定でもCanvasをサイトごとに乱数化し、Braveはサイトとセッションごとに値を変える。Chromeの通常閲覧には同等の機能がなく、シークレットモード向けのScript Blockingも段階的廃止の予定とされている
- 日本では、Cookieを使っていなくても採取スクリプトの配信は電気通信事業法の外部送信規律の対象になり得る
フィンガープリントの4つの意味と使い分け
同じカタカナ語でも、分野によって参照すべき仕様も担当部署も別です。まず自分が探している分野を確かめてください。
| 分野 | 実体 | 代表例 | 英語表記 |
|---|---|---|---|
| 暗号・通信 | 公開鍵や証明書のハッシュ値 | SSH鍵、TLSサーバー証明書 | fingerprint |
| コンテンツ識別 | 映像・音声・文書の特徴量 | 放送のACR、DLPの文書照合 | content fingerprint |
| 生体認証 | 指の隆線パターン | Touch ID、入退室管理 | fingerprint |
| Web追跡 | 端末構成の組み合わせ | 広告の再識別、不正検知 | browser fingerprinting |
ハッシュ値としてのフィンガープリント(SSH鍵・サーバー証明書)
暗号分野のフィンガープリントは、鍵や証明書といった長いバイト列をハッシュ関数にかけて得た短い文字列です。人間が目視で照合できる長さに縮めることが目的で、値そのものに秘密はありません。SSHで初回接続時に表示される確認プロンプトの文字列がこれにあたります。
$ ssh-keygen -t ed25519 -N '' -C '[email protected]' -f ./demo_key -q
$ ssh-keygen -l -E sha256 -f demo_key.pub
256 SHA256:MqJLWeKxzzTS/PJmstjSgJ+aaj/ODbMAc0+J+1yVX3Q [email protected] (ED25519)
$ ssh-keygen -l -E md5 -f demo_key.pub
256 MD5:d7:4d:ff:1b:69:ee:e9:c8:c9:22:cd:85:60:aa:de:b8 [email protected] (ED25519)
# サーバー証明書の場合(確認対象のPEM形式の証明書をserver.crtとして用意)
$ openssl x509 -noout -fingerprint -sha256 -in server.crt
掲載した値は検証用に生成した鍵のもので、鍵ごとに異なります。-E で指定するハッシュアルゴリズムを変えると同じ鍵でも表示が変わるため、社内の鍵管理台帳と照合するときはアルゴリズムを揃えてください。OpenSSH 6.8以降の既定はSHA256で、コロン区切りの16進表記はMD5形式です。SSHの接続手順と公開鍵認証の全体はSSH接続とは?仕組み・公開鍵認証・ポート22から安全な運用設定まで実装者向けに解説で扱っています。
コンテンツフィンガープリントと生体認証の指紋
コンテンツフィンガープリントは、映像や音声の波形から特徴量を算出し、既知の作品と照合する技術です。テレビ視聴の自動計測や動画共有サイトの著作権照合に使われます。透かしを埋め込むウォーターマークと違い、元のコンテンツに手を加えない点が特徴です。文書でも同じ発想が使われ、Microsoft PurviewのDLPはひな形となる文書からドキュメントフィンガープリントを作り、同じ書式の文書が外へ送られるのを検知します。
生体認証では、例えばAppleのTouch IDがセンサーで読み取った指紋を数学的な表現に変換し、登録済みのデータと照合します。企業での導入判断は生体認証とは?指紋・顔認証の仕組みと種類・企業の導入判断を解説にまとめています。IT以外では、DNAの反復配列のパターンで個人を見分ける「DNAフィンガープリント法」もあり、Alec Jeffreysらが1985年にNature誌で個人特異的なDNAの「fingerprint」として報告したのが始まりです。いずれもWeb追跡とは無関係で、ブラウザ設定でブロックできる対象ではありません。
ブラウザフィンガープリントが追跡技術として扱われる理由
MDNは、フィンガープリンティングを「ブラウザと基盤OSの識別につながる特徴を収集して組み合わせ、特定のブラウザ(ひいては特定の利用者)を識別する行為」と定義し、要素としてブラウザのバージョン、タイムゾーンと優先言語、利用可能な音声・映像コーデックの集合、インストール済みフォント、ブラウザ設定の状態、画面サイズと解像度を挙げています。個々の値は珍しくありませんが、組み合わせると母集団の中で一意になり得ます。この記事の以降はこの意味で使います。
フィンガープリント採取の流れと、4つのブラウザで実行した結果
フィンガープリント採取(フィンガープリンティング)の典型的な流れは、ページに埋め込まれたスクリプトがブラウザの値を読み出し、1つの文字列にまとめてハッシュ化し、サーバーへ送るというものです。ハッシュ化をサーバー側で行う実装や、JavaScriptを使わずHTTPヘッダやIPアドレスだけを使うパッシブ方式もあります。後述のコードが読む値は、どれも許可画面なしに読み出せます。
採取スクリプトが読む値の3つの群
| 群 | 代表的な値 | 取得経路 |
|---|---|---|
| ソフトウェア | UA、言語、タイムゾーン、フォント | HTTPヘッダ、JavaScript |
| ハードウェア | 画面寸法、CPUコア数、GPU | JavaScript、Canvas、WebGL |
| ネットワーク | IPアドレス、リファラー | サーバー側のアクセス記録 |
ネットワーク群とHTTPヘッダは、サーバーが受け取った通信からそのまま読めます。これに対してCanvasやWebGLの描画結果は、ページ上でJavaScriptを実行しないと得られません。この違いが、後述するW3Cのパッシブとアクティブの区別にあたります。
同じ採取スクリプトを4つのブラウザで実行した結果
採取の中身を確かめるため、次のスクリプトを2026年10月20日に1台のMac(macOS 26.6.2、Intel Core i9-9880H)上で実行しました。Playwright 1.64.1が同梱するChromium 156・Firefox 157(Playwrightのパッチ版)・WebKit 27.2と、インストール済みのGoogle Chrome 155をヘッドレスで起動し、ローカルに立てた同じページで値を読み出しています。各構成を2回起動し、その都度、新しい非永続ブラウザコンテキストを作って値を比較しました。同じ利用者プロファイルを維持した通常の再起動とは条件が異なります。WebKitはSafari本体ではないため、Safariの追跡防止機能の挙動は含みません。掲載コードはHTTPSまたはlocalhostのページ上で実行してください。結果をコンソールへ表示するだけで、サーバーには送信しません。
async function sha256(text) {
const buf = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(text));
return [...new Uint8Array(buf)].map(b => b.toString(16).padStart(2, '0')).join('').slice(0, 16);
}
async function collect() {
const c = document.createElement('canvas');
c.width = 240; c.height = 60;
const x = c.getContext('2d');
x.textBaseline = 'top'; x.font = '14px Arial';
x.fillStyle = '#f60'; x.fillRect(100, 1, 62, 20);
x.fillStyle = '#069'; x.fillText('Cwm fjordbank glyphs vext quiz', 2, 15);
x.fillStyle = 'rgba(102,204,0,0.7)'; x.fillText('Cwm fjordbank glyphs vext quiz', 4, 17);
const v = {
userAgent: navigator.userAgent,
languages: navigator.languages.join(','),
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
screen: [screen.width, screen.height, screen.colorDepth].join('x'),
hardwareConcurrency: navigator.hardwareConcurrency,
plugins: navigator.plugins.length,
canvas: await sha256(c.toDataURL())
};
v.combined = await sha256(JSON.stringify(v));
return v;
}
collect().then(console.log);
| 構成 | Canvasハッシュ(1回目) | 2回目 | plugins |
|---|---|---|---|
| Chromium 156 | 8eeebc69ef2c3ac3 | 同じ | 0 |
| Google Chrome 155 | 6b6a818ca8a24eee | 同じ | 5 |
| WebKit 27.2 | 1aaaf695a124657b | 同じ | 5 |
| Firefox 157(既定) | bd8b1fd675ee6345 | 変化 | 0 |
| Firefox 157(baseline無効) | 6f1e19358309f6a2 | 同じ | 0 |
| Firefox 157(RFP有効) | f8f4fabd95d71661 | 変化 | 5 |
結果から読めることは3つあります。1つめに、同じ文字列を同じフォント指定で描かせても、ブラウザごとにハッシュ値が違います。同じMac上のChromium(ソフトウェア描画のSwiftShader)とGoogle Chrome(Intel UHD Graphics 630をMetal経由で使用)でも一致しませんでした。この比較ではブラウザのバージョンや描画方式も異なるため、ハッシュの差をGPUとドライバだけに帰属させることはできません。
2つめに、Chromium・Chrome・WebKitは、保存データを引き継がない新しいコンテキストで2回読み出しても同じCanvasハッシュを返しました。環境情報から毎回計算し直す値なので、Cookieを消すだけでは識別を防げないことを示す例です。ただし、ブラウザの更新や設定変更の後も同じ値になることまでは、この実測では確かめていません。
3つめに、Firefox 157は既定の状態でCanvasハッシュが起動ごとに変わりました。設定 privacy.baselineFingerprintingProtection を無効にしたときだけ値が固定されたので、変化の原因はFirefoxの標準保護によるCanvasの乱数化です。同じ起動のなかで同じサイトを2回読み込むと値は同じで、ホスト名を127.0.0.1からlocalhostに変えると別の値になりました。サイト間でCanvasの値を突き合わせにくくする保護ですが、サイト機能への影響や、他の情報による追跡まで排除できるわけではありません。なお、privacy.resistFingerprinting を有効にすると、タイムゾーンはAtlantic/Reykjavik(UTC)、WebGLのレンダラー名は「Mozilla」に置き換わり、全員を同じ値に寄せる方向の保護になりました。
ブラウザフィンガープリンティングの分類と、Canvasで差が出る理由
仕組みの説明は、W3Cが仕様策定者向けに公開しているガイダンス文書Mitigating Browser Fingerprinting in Web Specificationsの分類に沿うのが正確です。
W3Cの4分類と代表的な3方式
W3Cの文書は、パッシブ、アクティブ、一時的なイベントの相関、Cookieライクを区別しています。一時的なイベントの相関は、複数のサイトでほぼ同時に観測される端末の変化を使ってセッションを結び付ける方式です。次の表では、残る3方式を比較します。
| 種類 | 成立条件 | 主な材料 | 検知可能性 |
|---|---|---|---|
| パッシブ | クライアントでコードを実行しない | UA、リクエストヘッダ、IP | 不可 |
| アクティブ | JavaScriptやCSSを実行する | Canvas、フォント、画面寸法 | 原理的に可能 |
| Cookieライク | 端末に状態を書いて読み戻す | evercookie等の永続化 | 保存先・取得方法による |
この区別が重要なのは、対策の効きかたが違うからです。パッシブでは、通信情報がサーバー側で識別に使われたかをブラウザから観測できません。一方アクティブは「クライアント側で検知され得る形で行われる点が決定的な違い」とW3Cが書くとおりで、後述するSafariやFirefoxの防御はこの検知可能性に乗っています。
CanvasとWebGLが指紋になる仕組みと初出研究
Canvasフィンガープリンティングを最初に提案したのは、Keaton MoweryとHovav Shachamが2012年5月のW2SPで発表した論文Pixel Perfect: Fingerprinting Canvas in HTML5です。手法は「テキストとWebGLシーンをcanvas要素に描画し、生成されたピクセルを調べる」というもので、論文はこの指紋を「一貫性があり、エントロピーが高く、他の指紋と直交し、利用者から見えず、容易に取得できる」と評価しました。一般にGPU、グラフィックドライバ、フォントの描画方式などの差がピクセル値に出るとされます。前章の実測でChromiumとChromeの値が分かれたのも、ブラウザの版と描画方式の違いが影響したと考えられますが、要因ごとの寄与までは切り分けていません。
実態調査で有名なAcarらの2014年の論文The Web Never Forgetsは、Alexa上位10万サイトのうち5,542サイトでCanvasフィンガープリンティングが動いていたと報告しました。ただし同論文は、スクリプトの95%が単一の提供元addthis.comのものだったとも書いています。「上位サイトの5.5%」という数字は、中身がほぼ1社のウィジェットだった点まで含めて読むべきです。
識別材料の取得制限と標準化(プラグイン・バッテリー・フォント)
解説記事でいまだに識別材料として挙げられている項目のうち、いくつかは仕様やブラウザ側の変更で使えなくなっています。
| 項目 | かつての扱い | 2026年の実態 |
|---|---|---|
| プラグイン一覧 | 高エントロピー源 | 仕様が固定値をハードコード |
| バッテリー残量 | Battery Status API | Firefox 52で削除、Safari未実装 |
| ローカルフォント | フォント総当たり検出 | WebKitはOS同梱分のみ公開 |
| Do Not Track | 追跡拒否の意思表示 | WebKitが指紋源として削除 |
| UA文字列の詳細 | OSビルド番号まで露出 | Chrome 113で削減完了 |
navigator.plugins についてMDNは「最近の仕様はこのプロパティが返すリストをハードコードしている」と説明しています。PDFのインライン表示に対応していれば標準的な5件(PDF Viewer、Chrome PDF Viewer、Chromium PDF Viewer、Microsoft Edge PDF Viewer、WebKit built-in PDF)が、非対応なら空のリストが返ります。前章の実測でもChromeとWebKitはこの5件をそのまま返し、PDF表示を持たないヘッドレス版のChromiumは0件でした。環境差は「PDFを表示できるか」の1ビットしか残っていません。
バッテリー情報を取得するPromise形式のgetBattery()はFirefox 43で導入され、Firefox 52から通常のWebページでは利用できなくなりました。Chromeには残っており、実測でも navigator.getBattery は関数として存在しました。WebKit(Safari)は指紋化リスクを理由にBattery Status API、Device Memory API、Network Information APIなどを実装しておらず、Do Not Trackも有効にした利用者が逆に目立つという理由で削除しました。ChromeはUA文字列の削減をChrome 113で完了させています。
Cookieと環境情報による識別の違い
Cookieは、サーバーが発行した識別子を端末に保存し、次回アクセス時に送り返させる仕組みです。環境情報を使うフィンガープリンティングは、端末に識別子を保存しなくても再識別できます。ただし、前章のCookieライク方式は端末への状態保存を使うため、保存の有無だけで全方式を区別することはできません。
利用者は保存されたものを消せますが、計算されるものは消せません。逆に、フィンガープリントはブラウザの更新やモニターの買い替え、拡張機能の追加で値が変わります。ただし、変わったからといって追跡が切れるとは限りません。次章で扱うEckersleyの2010年の研究では、Cookieを受け入れ、24時間を超える期間に複数回訪問した8,833人のうち37.4%が少なくとも1回の指紋変化を示しました。これとは別に、1〜2時間以上経過して再訪し指紋が変わった利用者を対象に、JavaScript無効化による変化を除いて評価したところ、変化後の指紋がどの指紋から派生したかを推定する単純なアルゴリズムは、推定を出した範囲で99.1%を正解させています(誤答0.56%、推定を出さなかったのが35%、偽陽性率0.86%)。事業者側から見れば、Cookieより消えにくく、しかしCookieより不安定で、その不安定さは補正され得る識別子です。
サードパーティCookieの制限が進んだことでフィンガープリントが注目された経緯はサードパーティCookie廃止の現在地と企業がとるべき対策【2026年最新】で、Safariが2017年から続けている追跡防止の実装はITPとは?Safariの制限仕様と広告計測への影響・対策【2026年最新】で扱っています。
一意率83.6%と33.6%の測定条件と比較の限界
「ブラウザの83.6%が一意」という数値は、Peter Eckersleyが2010年にPETSで発表した論文How Unique Is Your Web Browser?の数字です。原論文を読むと、統計処理を経た標本は470,161件、そのうち83.6%が瞬時的に一意で、FlashまたはJavaが有効なブラウザに限れば94.2%が一意でした。指紋の分布のエントロピーは少なくとも18.1ビット、つまり無作為に選んだブラウザと指紋が一致する相手は286,777台に1台という計算になります。
問題は、著者自身が標本の偏りを明記している点です。論文は該当箇所を「この、プライバシー意識の高い利用者の標本において(In this sample of privacy-conscious users)」と書き出しています。EFFのPanopticlickという、プライバシー診断サイトにわざわざアクセスした人たちの集まりであり、一般的なWebサイトの訪問者層ではありません。
その追試にあたるのが、Gómez-Boixらが2018年のWWWで発表したHiding in the Crowdです。フランスの上位15サイトの1つから2,067,942件のフィンガープリントを収集した結果、一意だったのは33.6%にとどまりました。研究チーム自身の報告は「このデータセットで一意な指紋の割合は過去に報告されたものよりはるかに低く、以前の研究の80%超に対してわずか33.6%である」と述べ、要因としてプラグインの廃止がデスクトップ機の一意率を大幅に押し下げたことを挙げています。
どちらの数字も測定としては正しく、母集団と時代が違うだけです。2018年の研究対象もフランスの特定サイトであり、その一意率を現在の自社サイトへ当てはめることはできません。W3Cのガイダンスは「30数ビットのエントロピーがあれば個々人を一意に識別できる」と書いていますが、必要な識別力は対象集団の規模と、IPアドレスやログイン情報といった併用データの有無で変わります。
広告での解禁と不正検知での実装状況
Googleが2025年2月16日に禁止を撤回し、ICOが「無責任」と反応
2024年12月18日、Googleは広告プラットフォームポリシーを2025年2月16日に変更すると告知しました。変更の説明はプライバシー強化技術の進展を理由に挙げており、この改定で、それまで置かれていたデバイスフィンガープリントの使用禁止条項が外れました。
翌12月19日、英国の情報コミッショナーオフィス(ICO)が反応を公表しています。ICOは「フィンガープリンティングは、自分の情報がどう収集されるかについて人々の選択とコントロールを減らす可能性が高いため、オンラインで利用者を追跡する公正な手段ではないというのが当庁の見解です」と述べ、続けて「この変更は無責任だと考えます」と明言しました。さらに、Google自身が2019年に「これは利用者の選択を覆すものであり、誤っている」と表明していた事実を引用しています。英国ではPECR(プライバシー電子通信規則)が適用され、フィンガープリンティング技術の使用前に利用者へ公正な選択肢を与える必要があるとも書かれています。ICOはその後、デバイスフィンガープリンティングを含むStorage and Access Technologiesの最終版ガイダンスを2026年4月29日に公表しています。
つまり2026年時点の状況は、Googleのポリシー上は許容される一方、各国のデータ保護規制は別途かかる二重構造です。広告事業者から「Googleが認めたから使える」と説明された場合、その説明はポリシー面だけを指しています。
Privacy Sandbox縮小で残るものと消えるもの
Cookieに代わる仕組みとして進んでいたPrivacy Sandboxは、方針が大きく変わりました。Googleは2025年4月22日にChromeでサードパーティCookieの選択方式を現行のまま維持すると発表し、続く2025年10月17日には、Attribution Reporting API、IP Protection、Protected Audience、Topicsなど採用が伸びなかった技術の廃止を決めたと公表しています。継続するのはCHIPS、FedCM、Private State Tokensなどです。
廃止リストにIP Protectionが含まれている点は見落とされがちです。シークレットモードでIPアドレスを秘匿する構想が止まったため、ネットワーク群の主要材料であるIPアドレスは当面そのまま残ります。
不正検知でのFingerprintJSの位置づけ
広告以外の用途で実装が多いのは、不正注文の検知、アカウントの多重作成防止、無料トライアルの重複利用の抑止です。ブラウザフィンガープリントを生成するライブラリの一つがFingerprintJSで、2026年10月時点の最新リリースはv5.3.0(2026年10月7日公開)、ライセンスはバージョン5.0.0以降MITです。
導入を検討するなら、認証の代わりにしないことを前提条件にしてください。前章の実測のとおり、Firefoxの標準設定ではCanvasの値がセッションやサイトごとに変わり、逆に同一機種・同一構成の端末同士では値が衝突します。社給PCを同じイメージで一括展開している企業ネットワークからのアクセスは、まとめて同じ指紋になりやすい典型です。ログイン成功後の追加確認を出す判断材料としては機能しますが、これ単体で本人性を担保すると誤判定が起きます。追加認証や本人確認への切り替え手段を用意してください。
ブラウザ別のブロック状況と、自分の指紋を確認する手順
| ブラウザ | 既定の指紋対策 | 方式 | 通常閲覧への適用 |
|---|---|---|---|
| Safari | あり | 既知スクリプトのAPI利用等を制限 | Safari 26.0から |
| Firefox | あり | リストブロック+Canvas乱数化 | 標準設定で適用(デスクトップ版) |
| Brave | あり | farbling(乱数化) | 既定で適用 |
| Edge | 一部 | リストブロック | バランス(既定)で適用 |
| Chrome | 限定的 | UA文字列等の識別情報を削減 | 情報削減は通常閲覧にも適用 |
Safari 26.0の既知スクリプト対策とITPとの違い
WebKitはITPで全サードパーティCookieをブロックしたうえで、ローカルフォントを公開しないなど指紋の材料そのものも削ってきました。方式が変わったのはSafari 17.0からです。プライベートブラウズに「既知のトラッカーとフィンガープリンティングのブロック」「指紋化可能なWeb APIへのノイズ付与」が入り、これが設定画面の「高度なトラッキングとフィンガープリントからの保護」にあたります。そしてSafari 26.0では、WebKitの記述によれば「既知のフィンガープリンティングスクリプトが、画面寸法、ハードウェア同時実行数、SpeechSynthesis APIで利用できる音声の一覧、Apple Payの決済能力、Web Audioの読み戻し、2Dキャンバスなど、デバイスの特性を明らかにし得るWeb APIへ確実にアクセスすることを妨げる」ようになりました。それらのスクリプトによるCookieやLocalStorageへの長命な書き込み、クエリパラメータや document.referrer の読み取りも遮られます。すべてのサイトを一律に壊すのではなく、既知の指紋採取スクリプトだけを狙う設計です。
FirefoxのETP標準・厳格設定による保護範囲の違い
Firefoxの指紋対策は3層あり、混同されがちです。1つめはDisconnectの指紋採取リストに載ったドメインのリソースを止める「Fingerprinting Blocking」で、強化型トラッキング防止(ETP)が標準でも通常閲覧で有効です。2つめは標準設定でブラウザ全体に効く基本の保護(privacy.baselineFingerprintingProtection、既定値true)で、Firefoxの設定定義ファイル StaticPrefList.yaml には「ETPの標準モードで有効になる指紋対策」と説明されています。Firefoxのソースで既定の対象を定義した RFPTargetsDefaultBaseline.inc には、デスクトップ向けにCanvasの乱数化(EfficientCanvasRandomization)、画面の利用可能領域を解像度に揃える処理、タッチ点数の集約が並んでいます。前章でFirefoxのCanvasハッシュが起動ごとに変わったのはこの層の働きです。
3つめが、より広い項目を対象にする「Fingerprinting Protection」(privacy.fingerprintingProtection)で、Firefoxのソースから自動生成される機能対応表では、標準の通常閲覧のみ無効、標準のプライベートブラウズと厳格の通常・プライベートでは有効です。Mozillaが2025年11月10日にFirefox 145の新しい指紋対策を発表したときも、まずプライベートブラウズとETP厳格で導入し、既定化はその後に進めると説明していました。この対応表に基本の保護の行はないため、「標準の通常閲覧では乱数化されない」と読むのは誤りです。about:config の privacy.resistFingerprinting はさらに別の機能で、既定値はfalseです。Tor Browser由来の強力な正規化を行うぶん、タイムゾーンがUTCになるなどサイト表示を壊しやすく、常用は勧めません。
BraveのfarblingとChromeの保護方式の違い
Braveは、全員を同じに見せるのではなく、サイトごと・セッションごとに違う値を返します。Brave自身の説明によれば、farblingと呼ぶこの手法は「セッション単位・eTLD+1単位のシードを使って決定的に生成」されるため、同一セッション内の同一サイトには毎回同じ値が返り、別サイトや次のセッションでは違う値になります。CanvasやWeb Audioなどに適用されます。なお、Braveは2024年1月にDesktop版とAndroid版の1.64でStrict保護モードを廃止すると予告しており、現行のShieldsのヘルプでは指紋防御を「Block Fingerprinting」の有効・無効(既定は有効)で説明しています。旧資料にあるMaximumやStrictを現行の選択肢として扱うことはできません。
Chromeの通常閲覧には、指紋採取スクリプトを検知して遮る仕組みも、値を乱数化する仕組みもありません。前章の実測でもChrome 155のCanvasハッシュは2回とも同じでした。シークレットモード向けには、Chrome 140で導入が案内されたScript Blockingがあり、既知の指紋採取手法を使うドメインから第三者コンテキストで配信されるスクリプトを止める機能と説明されています。ただしGoogleのPrivacy Sandbox機能一覧は、このScript Blockingを総覧で「Do not launch」、個別の項目で「段階的廃止予定(Scheduled for phaseout)」としており、管理者向けポリシーの対応範囲もChrome 140〜145です。現行のChromeで使える機能として当てにはできません。
Microsoft Edgeの追跡防止は既定の「バランス」でFingerprintingカテゴリをブロック対象に含みますが、ブロックするのは指紋リストと他のリストの両方に載った配信元だけで、指紋リストだけに載る配信元は「悪意のない指紋採取」として止めません。UA削減やClient Hintsで露出を減らしてはいるものの、ChromeやEdgeでさらに対策したい場合は拡張機能に頼ることになります。ただし拡張機能を入れること自体が構成の差を増やし、かえって一意性を上げる場合があります。この逆説はアドブロック(AdBlock)とは?仕組み・安全性と2026年のブラウザ別対応状況で扱っているブロッカー全般の課題と共通します。
Cover Your Tracksによる一意性の確認と測定上の制約
自分のブラウザがどれだけ目立つかは、EFFが運営するCover Your Tracksで確認できます。2010年にPanopticlickとして始まった研究プロジェクトが2020年に改称したもので、トラッカーのブロック状況と指紋の一意性の両方を測り、直近の訪問者と比べた相対値を返します。数値は訪問者母集団に依存するため絶対的な指標ではありませんが、設定を変えた前後で比較する用途には向いています。ページに埋め込まれた1×1画像などの計測タグが実際に読み込まれているかを自分で確かめる手順は、トラッキングビーコン(Webビーコン)とは?仕組み・用途・確認と対策を徹底解説にまとめました。
日本の外部送信規律と個人情報保護法の適用条件
日本で自社サイトに指紋採取を含むタグを入れる場合、確認すべき法令は2つあります。
1つめは電気通信事業法の外部送信規律(第27条の12、2023年6月16日施行)です。条文は規律対象となる情報送信機能を「利用者の電気通信設備に記録された当該利用者に関する情報を当該利用者以外の者の電気通信設備に送信する機能」と定義しています。ここだけ読むとCookieのように端末へ記録されたものが対象に見えますが、総務省は外部送信規律FAQの問1-7で「外部送信規律は、利用者の端末から外部に情報を送信するよう指令するプログラム等を利用者の端末に送信する行為全般を規制するものです。このような行為を行っていれば、Cookieを利用していなかったとしても規律対象となります」と回答しています。指紋採取スクリプトの配信もこの行為にあたり得ます。対象役務の判定手順と、通知・公表・同意・オプトアウトという4つの対応方式の使い分けは、電気通信事業法とは?外部送信規律の対象判定とタグ管理・同意取得の実装要件を解説で整理しています。
2つめは個人情報保護法です。個人情報保護委員会はFAQで、Cookie等の端末識別子について「個人情報に該当しない場合には、通常、当該端末識別子に係る情報端末の利用者に関する情報として、『個人に関する情報』に該当し、個人関連情報に該当することとなると考えられます」としています。フィンガープリントから生成した識別子も個人関連情報に該当し得ますが、他の情報と容易に照合して特定の個人を識別できる場合は、全体として個人情報に該当します。ただし第三者提供の確認義務は無条件ではなく、同委員会は法第31条第1項が「個人関連情報の第三者提供一般に適用されるものではなく、提供先の第三者が個人関連情報を『個人データとして取得することが想定される』場合に限り適用されます」と説明しています。提供先で会員IDと突合される設計かどうかが分岐点です。
この個人関連情報の扱いは改正が決まっています。2026年7月17日に公布された改正個人情報保護法は、一部を除き公布から2年以内の政令で定める日に施行され、特定の個人への連絡に使える識別符号などを含む個人関連情報を「連絡可能個人関連情報」として新設し、その不適正利用と不正取得を禁止します。フィンガープリントから作った識別子が該当するかは、それを使って特定の個人へ情報を届けられる形で扱っているかで分かれるため、施行に向けて示されるガイドラインで確認してください。
実務上の判断としては、フィンガープリントを規制回避の手段として位置づける設計は勧めません。ICOの見解が示すとおり、規制当局は技術の種類ではなく利用者の選択とコントロールを基準に見ています。Cookie同意バナーを設置しながら指紋採取スクリプトを説明していない構成なら、まず自社の役務が施行規則第22条の2の27の4類型に該当するかを確認し、該当するなら通知・公表・同意・オプトアウトのどの方式で確認の機会を与えているかを点検してください。公表方式を採っているのに外部送信一覧へ指紋採取の送信先を書いていなければ、そこが穴になります。Cookieの分類自体を整理し直したい場合は、サードパーティCookieとは?仕組みとブラウザ別の扱いを解説【2026年最新】から確認してください。
よくある質問|フィンガープリントに関する5問
フィンガープリントをブロックすると何が起きますか?
ブラウザの防御方式によって結果が違います。Safari 26.0は既知の指紋採取スクリプトを対象に制限しますが、そのスクリプトがサイトの機能にも関与している場合は影響が出る可能性があります。FirefoxのCanvas乱数化のように読み出すデータを変更する保護では、Canvasの画素を読み戻して処理する一部のサイトで画像やグラフが崩れることがあります。表示が壊れた場合は、サイト側の不具合や他のブロック機能も考えられます。対象サイトだけで保護の有効・無効を比較し、原因を切り分けてください。
自分のブラウザのフィンガープリントは確認できますか?
EFFのCover Your Tracksで測定できます。ブラウザが返している値の一覧と、直近の訪問者の中でどれだけ一意かの推定が表示されます。設定を一つずつ変えて比較すると、表示される識別材料やブロック結果の変化を確認できます。ただし、一意性の数値だけで実際の追跡防止効果を断定することはできません。
「高度なトラッキングとフィンガープリントからの保護」とは何ですか?
Safariの設定項目です。Safari 17.0でプライベートブラウズ向けに導入された保護群を指し、既知のトラッカーとフィンガープリンティングのブロック、指紋化可能なWeb APIへのノイズ付与、リンクに付いた既知の追跡用クエリパラメータの除去などが含まれます。適用範囲はプライベートブラウズのみか、すべての閲覧かを設定で選べます。Appleの新機能一覧によれば、iOS 26では「これまでプライベートブラウズに限られていたAdvanced Fingerprinting Protectionが、Safariのすべての閲覧を保護するようになった」とされています。
フィンガープリンティングは違法ですか?
技術そのものを禁じる法律は日本にありません。ただし、収集した情報が個人関連情報や個人データにあたる場合は個人情報保護法の規律がかかり、端末から外部へ情報を送信させる行為であれば電気通信事業法の外部送信規律で確認の機会を与える義務が生じ得ます。英国のようにPECRで同意を求める法域もあるため、越境でサービスを提供する場合は提供先の法域ごとに確認が必要です。
SSHのフィンガープリントとブラウザのフィンガープリントは同じものですか?
別物です。SSHのフィンガープリントは公開鍵をハッシュ化した短い文字列で、接続先が同じサーバーかどうかを目視で確かめるための値です。値が固定されていること自体が目的で、追跡には使いません。ブラウザフィンガープリントは端末構成の組み合わせから利用者を推定するもので、値が一意になることが問題視されています。共通しているのは、対象を短い識別子に要約するという発想だけです。