2013-05-30

panopticlickにより、今のブラウザー環境はユニークだという判定を受けた

ブラウザーは、cookieやlocalStorageのような機能を提供しており、これによりWebサイトは、複数回閲覧したユーザーを、たとえIPアドレスが変わったとしても、個人を識別できる。

このような機能を使わずに、変わりゆくIPアドレスの垣根を超えてユーザーを識別しようとすれば、それは可能だろうか。ブラウザーは多くの情報をサーバーに伝えているため、その情報の組み合わせが十分にユニークであれば、個人が識別できるのではないか。それを実際に検証するWebサイトが、panopticlick.eff.orgだ。

Panopticlick

評価している情報は以下の通り。

ユーザーエージェント
これはブラウザーをサーバーに知らせるための情報だ。大半のとりあえず動く必要があるWebサイトは、ユーザーエージェントに従って、そのブラウザーで動くコンテンツを返す。あまり使われていない文字列の場合、かなりのユニーク性がある。
HTTP_ACCEPTヘッダー
これはブラウザーが受け付けるメディアタイプをサーバーに知らせるための情報だ。サーバーはこれに従って、ブラウザーが受け付けるメディアタイプを返す。
ブラウザープラグインのデータ
利用可能なブラウザープラグインだ。珍しいプラグインを使っていれば、それだけユニーク性が増す。
タイムゾーン
これは、あまりそのWebサイトの閲覧者ではないタイムゾーン設定を使っていれば、ユニーク性が増すだろう。
解像度と色数
そのまんま
システムフォント
これは、Flash PlayerやJava Appletが利用可能な場合、それを利用して利用可能なフォント名を列挙し、その結果を情報として使うということだ。FlashやJavaが利用可能で、かつ、珍しいフォント名が利用可能な場合、かなりのユニーク性が確保できる事になる。
cookieが有効かどうか。
cookie機能が有効かどうかを情報として使う。cookieを使うわけではない。
super cookieが有効かどうか
localStorageのような比較的新しいcookie類似機能が有効かどうかを情報として使う。

これらの情報を組み合わせた結果、私のブラウザーは今までテストした2,934,994件のうちで、ユニークであるという判定を受けた。

でかい情報量は、ユーザーエージェントだ。私はUbuntuのレポジトリにあるChromiumを利用しており、このユーザーエージェントは、相当珍しい。

ただし、最大の情報量は、意外にもHTTP_ACCEPTヘッダーだった。どうもこのChromiumと、私の優先する言語設定が、相当の情報量になっているらしい。言語設定を色々と変えてみたが、やはりタイムゾーンとの兼ね合いか、あるいはUbuntuレポジトリのChromiumのHTTP_ACCEPTヘッダーが相当めずらしいのか、情報量は十分に減らない。

どうもJSTはこのWebサイトでは珍しいらしく、これもバカにならない情報量になる。

結果として、私の環境は、これまでテストした環境の中では相当にユニークであるそうだ。

もちろん、ユニークであることと、匿名性はまた別の話だ。例えばTor経由でアクセスした場合、そもそもTorの出口ノード経由でのアクセスになるのでIPアドレスからして相当にユニークであるが、だからといって匿名性に問題があるわけではない。不特定多数の人間が使うコンピューターは、そのコンピューターから先の人間を特定するのが難しい。ブラウザーの送信する情報量のユニーク性が全てではないが、

No comments: