canvas fingerprintingなどによる訪問者追跡の技術

最近、Canvas Fingerprintingに言及している記事をよく見かけるようになりました。例えば、"クッキーより怖いcanvas fingerprintingって何?迂回方法は?“(Gizmode)。これは一言でいえば、ブラウザを識別・特定するために利用される、既存のCookieに代わるブラウザ識別情報の保存の仕方なわけです。「怖い」かといえば、追跡を望まない場合にCookieをブロックする方法では防ぐ事が出来ないという意味では「怖い」ですが、ブラウザを通じて個人情報が抜き取られるわけではなく、その意味においてはCookieと同レベルの安全度ではないかと思います。(この辺り、もし誤解あれば教えてください。)

この手の技術については、Webサイトの訪問者を追いかける側から見れば、AppleのSafariブラウザが「サード・パーティー・クッキー」の受け入れを拒否する設定をデフォルトにした辺りからニーズが高まった印象があります。特にMac Book/Mac Book Airの人気が高まり、サイト訪問者に占めるMacユーザーの割合が増えてくる一方で、「サード・パーティー・クッキー」を利用した計測を利用するサイトにしてみれば、ページビュー数などは数えられるものの、再訪問が識別できないので、訪問者数の精度が落ちるというわけです。さらに言えば、ネット広告技術の向上が著しい時期でもあり、リターゲティング広告やリアルタイムビッティング(RTB)など、サイト間での訪問者識別情報の共有が必須になってきています。

そこで「サード・パーティー・クッキー」に依存しない計測方法が模索され、ブラウザで利用できる保存領域やサーバー側で設定できる通信上の任意に設定できるデータ領域が対象になり、その一つとしてHTML5のCanvas API機能が着目されました。このような領域はCanvas以外にも存在し、例えばほぼデフォルトで導入されているFlashプラグインを利用して、「Flash Cookie」のようなものを作ればCookie以上にデータを保存できる仕組みが実装できるわけです。

このような技術を集めたものが2010年にSamy Kamkar氏が発表した「Ever Cookie」と呼ばれる技術です。利用できそうな記憶領域にブラウザ識別のIDを埋め込み、ブロックされたとしても、どれか1つでも残っていればデータを復旧できるという代物です。FlashやSilverlightの記憶領域を利用して情報を共有し、同一PCでブラウザを変えても、同じ訪問者と識別出来たりするというものです。他にもブラウザの各種の属性情報のパターンを見て特定する技術などがあるようです。

訪問者側でも「DoNotTrack」ヘッダーを利用した追跡可否の意思表示が出来るようになるなど、ポリシーや法規制などの側面があり、サイト側からの追跡を牽制できる一方で、計測技術的な観点でいえば、まだまだやれる事が多いこともあります。

なお、Canvas Fingerprinting技術を使って追跡を行っていると名前が挙がる「AddThis」という、ソーシャルメディアでの共有ボタンのガジェットを提供するガジェットがありますが、この動きをブロックするために、Adblock PlusDoNotTrackMeが対応しているようです。ただCanvas APIへのアクセスをブロックするものではないため、Canvas Fingerprintingそのものをブロックするのは困難ではないでしょうか。

追跡を極力避けるとすればJavaScriptや各種プラグインをOFF設定にし、ブラウザのシークレット・ウィンドウ・モードの利用などで、それなりにブロック出来ますが、いまどきのサイトの閲覧には非常に不便を強いられるのではと思います。

※どの程度の識別ができるのかは、HTML5 Canvas Fingerprinting あたりのサイトを見てみれば面白いのではないかと。

※上級者はTorなどを使った匿名化などにチャレンジするのだと思いますが、こんな記事もあったりしますので、こちらもイタチごっこなのではないかと。