過去の経緯を無視して利用者のプライバシーも共有するFlashのSharedObject

Webブラウザで利用されるCookieの中にはサードパーティCookieと呼ばれるCookieがあります。
サードパーティCookieとは、例えばhttp://www.example.com/index.htmlというページがあったとして、そのページに貼り付けてある、http://ad.example1.jp/ad.gifの画像に設定されている、あるいは画像のリクエスト時に送信するCookieの事です。要するに、アドレスバーに表示されているドメインとは別のドメインと送受信するCookieです。
サードパーティCookieは、IE6以降の規定の設定ではサービス提供側が適切なポリシーを設定しないと使用できなくなっています*1。これは、かつて大手の広告会社がCookieによってユーザを識別して行動を追跡していた事が問題となり、サードパーティCookieはプライバシーを守る上で制限すべきだという結論に達した結果です(たしか)。他のWebブラウザでも同様な制限がかかっています。

このような歴史があるCookieですが、そのCookieとよく似た技術にFlashのSharedObjectというものがあります。SharedObjectを使うと、Flashムービーからローカルコンピュータ上にデータを保存*2したり、保存してあるデータを読み出したりすることができます。
SharedObjectは、Cookieと同じく他のドメインで設定されたデータを操作する事はできないようになっています。しかし、サードパーティCookieにかけられていた制限と同様な制限はかかっておらず、別ドメインのswfファイルを呼び出した場合でも有効になっています*3
SharedObjectが使えるようになったのは、調べてみるとFlashMX(Flash Player6)からみたいですがFlashMXの発表は2002年の3月です。IE6のリリースが2001年の8月ですし、高木さんの資料(PDF)によれば2000年頃からサードパーティCookieが問題となっていたそうですので、Macromediaは問題があると認識していながらSharedObjectの機能を追加したという事でしょうか。
2005年の9月に提供が開始されたFlash Player8からはサードパーティのSharedObjectを無効にする設定ができるようになったのですが、規定の設定では有効になっています。しかも、この設定というのが非常にみつけにくい場所にあります*4。ファイルを直接消すとかでなければ、データの削除も基本的にこの設定ページからしかできません。

さらに、これだけではないのです。
SharedObjectのデータはどこに保存されるかというと、WindowsXPの場合は

C:\Documents and Settings\UserName\Application Data\Macromedia\Flash Player\#SharedObjects\Unique?ID\

以下に、Mac OS Xの場合は

/Users/UserName/Library/Preferences/Macromedia/Flash Player/#SharedObjects/Unique?ID/

以下にドメイン別で保存されます。
パスを見ていただくとわかるのですが、Webブラウザに関する文字が一切出てきません。つまり、Internet ExplorerでもFirefoxでもNetscapeでもOperaでもSafariでも関係なく、Flash Playerは同じデータを読みに行くのです。もはやWebブラウザを使い分けての自作自演は許されません。

Cookieは議論され続けた結果、より安全なものになっているという印象です。しかし、そうしている間に97.3%の普及率を誇るFlash Playerはなんだかまずい事になっています。FlashMXのリリースを伝えるプレスリリースには各企業からのコメントが並んでいます。その中にDoubleClickの名前を見つけ、少し、震えたのでした。
次期バージョンのFlash Playerでは、せめて規定でサードパーティのSharedObjectが無効になって欲しいものです。

*1:@ITの記事が詳しいです IE 6のプライバシ管理機能 8.Cookieフィルタリング・レベルの詳細

*2:永続的に!

*3:実験にFlashの評価版(swfの書き出しが可能かは不明)を使おうと思ったのですが、EULAで購入評価以外の目的で使用する事が禁止されていたので、とある方がSharedObjectのサンプルとしてWeb上で提供していたものを使わせていただきました

*4:Flashムービーのコンテキストメニューから設定...を選び、現れたパネルの中の高度な設定...ボタンを押し、開いたページの中から[グローバルストレージ設定] パネルのリンクを探し、リンク先でサードパーティFlashコンテンツにコンピュータ上のデータを格納する事を許可します。のチェックを外します