見出し画像

WebのFingerprintは思ったより高性能にユーザを追跡している

IT関連のニュースを見ていたら、技術者ブログでWebのFingerprint機能というのは、cookieより高性能にユーザを追跡しているよという記事があったので備忘録ついてに紹介しておこう。
元のサイトはこちら。[https://www.bitestring.com/posts/2023-03-19-web-fingerprinting-is-worse-than-I-thought.html]

Fingerprintってなに?

fingerprintとは単語としては『指紋』という意味だが、Webにおけるfingerprintとはユーザの識別機能の呼び名である。

通常のサイト管理者はアクセスしてきたユーザの情報はブラウザの持つcookieで管理している。
(cookieを許可しますかと聞いてくるあれ)
cookieの中にはどんなサイトを訪れたかなども含まれているので、その人に合った広告を表示したりなどにも使用されている。

ただ、このcookieはユーザのブラウザ側で管理されている情報なので、閲覧履歴を削除した際にcookieを削除するとサイトのアクセス記録も削除されるという特徴がある。

一方、サーバ側でcookeiに代わるユーザの追跡機能として使用されることがあるのがFingerprintと呼ばれる技術だ。(実際には併用される)
このFingerprintでは変数の例として、ブラウザの情報の他に、OSの種類や、インストールされているアプリ、ブラウザの拡張機能、デバイスの解像度やハードウェア構成、インストールされているフォント情報などを用いてユーザを識別している。

同じユーザは通常同じ構成の端末でサイトへアクセスしてくるはずなので、上記のような特定の端末情報をハッシュ値(識別値)としてサーバ側で保持することで、ユーザが履歴を削除したとしても追跡できるということである。

Fingerprintの厄介なところ

このFingerprintだが、思ったより高性能らしい。

サイトにアクセスログを残したくないと考える人はブラウザのシークレットモードとかプライバシーモードと呼ばれる機能を使用する。
(chromeだと黒枠のやつ)
ところが、このFingerprintではその状態であってもユーザを識別できるとのこと。
ブログの作者がフィンガープリントのハッシュ値を確認できるサイト(https://fingerprint.com)にアクセスしたときの値がこちら。

https://www.bitestring.com/posts/2023-03-19-web-fingerprinting-is-worse-than-I-thought.html

1回目、2回目は通常のモードでそれぞれ履歴を消してアクセスしたとき、3回目は履歴の削除と合わせてシークレットモードでのアクセスしたが、同じ値が表示されている。

つまりFingerprintではシークレットモードであってもユーザを追跡できるということだ。

Fingerprintを回避するには

このFingerprintの識別を回避する方法についてだが、Firefoxを使用している人なら設定で『privacy.resistFingerprinting = true』を設定することで回避できるとのこと。
具体的にはブラウザへ『about:config』を入力して、設定モードで上記を設定する。
この状態でFingerprintを確認すると以下の様になる。

https://www.bitestring.com/posts/2023-03-19-web-fingerprinting-is-worse-than-I-thought.html

この設定状態だと通常のブラウザアクセスであってもFingerprintのハッシュ値は別の値として認識される。

ブログのサイトではその他の回避方法としてTorブラウザを用いる方法があるとのことだが、上記のようにFingerprint機能は特殊な設定を行わないとユーザの識別を回避できない機能なので、今後のWeb広告などでプライバシーの問題とも関連してくるかもしれない。

記事が気に入ったらフォローやスキをつけてもらえると嬉しいです。 サポートいただけたら私のやる気(コーヒー代)となります。