「クッキーでホームページ訪問者は管理されている?」

第5回 「クッキーでホームページ訪問者は管理されている?」

インターネットで利用されている仕組みとして,クッキーはもはや必要不可欠のものになりつつある。しかし,クッキーを経由して,自分のプライバシーが漏れてしまったり,悪用される危険性はないのだろうか。今回はクッキーについて考えてみよう

 普段なにげなく閲覧しているホームページで,「ようこそ!あなたは3回目の訪問ですね」と,自分が何回そのホームページにアクセスしたか表示されたり,ショッピングサイトやオークションサイトなどで,自分のユーザーーIDを入力しなくても自動的に表示されていることがあるだろう。しかし,そのホームページを閲覧していないパソコン(たとえばインターネットカフェなどから)で同じホームページを見ても,自分がいつも入力している数字やIDを表示してくれるわけではない。

 これはそのホームページを閲覧した際に作成される「クッキー」というファイルを利用して,そのユーザーが何回訪問したか,またそのユーザーのIDは何かなどを表示させているわけだ。

OnePoint !!
クッキーを参照する
クッキーファイルはOSとブラウザ別に,以下のディレクトリなどに保存されている。

Windows
-

・Internet Explorer
Windows98の場合
photo
C:Windows:Cookies
Windows2000/XPの場合
photo
C:\Documents and Settings\(ユーザー名)\Cookies
・Netscape6.1
photo 「編集」→「設定」→「プライバシーとセキュリティ」→「Cookie」

Macintosh
-
・Internet Explorer ・Netscape6.1
photo
「編集」→「初期設定」→「Cookie」
photo
「編集」→「設定」→「プライバシーとセキュリティ」→「Cookie」


クッキーはなぜ利用されるか

 ほとんどのブラウザは,始めからクッキーを受け入れる設定になっている。ブラウザの設定を開き,「クッキーを受け入れる際,常に警告させる」といった設定に変更し,普段通りにいろいろなホームページを閲覧してみるとよいだろう(写真1)。驚くほどの回数の警告(クッキーを受け入れるか確認する)が出るはずだ。それほどクッキーはさまざまなWebサイトで利用されているわけだ。

画面
写真1■Internet Explorer6からはクッキー関連の設定が強化されている。「ツール」−「インターネットオプション」から「プライバシー」タブを選択すると,スライダを調整することでクッキーをどこまで許可するか設定できる。この画面の「詳細設定」ボタンを押すと「プライバシー設定の詳細」画面が起動し,クッキーが利用されたときにダイアログを表示させるように設定できる

 なぜこのようなクッキーファイルが自分のパソコンに存在するのだろうか。分かりやすい例をあげれば,ショッピングサイトなどで利用されている「ショッピングカート」がある。買い物をするには,商品の横にある「買い物カゴに入れる」といったボタンをクリックすることで,そのユーザーの必要な商品,数量をカウントさせる仕組みだ。もちろん買い物をする商品や個数は,個々のユーザーによって異なってくるために,この情報をクッキーファイルとして受け渡すわけだ。ショッピングサイトで「ブラウザのクッキーをOnにしてください」といった注意書きを見ることがあるだろう。

 つまりWebサイトを運営している立場から考えてみれば,クッキーは非常に便利な道具となる。クッキーを使用することで「どのページが人気があるのか」,「同じユーザーが何回訪問したか」など,Webページを作るうえで参考になるアクセス情報を,詳細に知ることができるからだ。また,バナー広告などを出す場合にも,そのユーザーがどういったものに興味があるか,どういったものが好きなのかをクッキーを利用して事前に察知していれば,そのユーザーに合わせた広告を表示することが可能になるわけだ。もちろん,あなたが見ているこのページにも,クッキーは利用されているのだ。

 しかし,クッキーを利用した情報収集はプライバシーの面から考えるとあまり好ましいものではない。ZDNetではクッキーに関しての「プライバシーへの考え方」を明示しているが,そうでないWebサイトであれば,どのような情報収集に使用されるかまったく分からない。これはユーザーにとっても不安であろう。そこで,プライバシーに対するポリシーが明示されていないWebサイトから自分の身を守るためにも,クッキーについて詳しく解説していこう。

クッキーの仕組み

 では簡単にクッキーの仕組みを理解しておこう。ブラウザはホームページの閲覧時,Webサイトからクッキーを受け取る(図1)。そして,ブラウザはそのクッキーを受け取り保管する。ユーザーが再び同じサイトを訪問した際には,Webサイトはそのユーザーが保持していたクッキーを参照するというのが,基本的なクッキーの利用方法だ(図2)。

図1
図1■ブラウザはホームページの閲覧時,Webサイトからクッキーを受け取る。

図2
図2■ブラウザはそのクッキーを受け取り保管する。ユーザーが再び同じサイトを訪問した際には,Webサイトはそのユーザーが保持していたクッキーを参照する。

 例として,単純なクッキーカウンターを試してみよう。まず筆者のWebサイトにアクセスしてクッキーを受け取る。ブラウザの「更新」ボタンを押すと,クッキーファイルを参照し,「クッキー情報」のカウントが1つあがるはずだ。保持されているクッキーファイルを削除するとカウントは0(初めて訪問)になる。ここではカウンターのほかに,訪問者の「IPアドレス」,「直前まで見ていたホームページのURL」の3つをクッキーとしてセットしている。

 ではクッキーファイルの中身について少し解説しておこう。今回テストしたクッキーファイルを開くとこのような内容になっている(リスト1)。これはNetscape6.1のクッキーファイルだ。

リスト1■Netscape6.1のクッキーファイル

# HTTP Cookie File
# http://www.netscape.com/newsref/std/cookie_spec.html
# This is a generated file! Do not edit.
# To delete cookies, use the Cookie Manager.

.blackout.org TRUE / FALSE 1005263977 COUNT 5
.blackout.org TRUE / FALSE 1005263977 IP 223.238.95.27
.blackout.org TRUE / FALSE 1005263977 URL

 クッキーファイルは「Name」,「Domain」,「Path」,「Expires」,「Secure」で構成されている(表1)。1番左にはドメイン名があり,クッキーを受け渡したドメイン名が書かれている。2番目に「TRUE」とあるのは,クッキーがセットされた際,HTTPヘッダかJavaScriptどちらでセットされたかを示している。TRUEであればHTTPヘッダ,FALSEであればJavaScriptでセットされたことを意味する。3番目の「/」はPathの部分にあたる。次の4番目の「FALSE」はSecureを表す。そして,数字の羅列された部分はクッキーの有効期限を表している。最後は見てわかるようにサイトから受け取ったクッキーの中身になる。クッキーNameやそれに付随する情報がここにあたる。

表1■クッキーファイルに書かれている内容

Name クッキーの名前
Domain クッキーを受け渡したドメイン名
Path クッキーのアクセスできるパス。「/」である場合サイト内のどこからでもクッキーにアクセスできる。「cgi-bin」とあれば「cgi-bin」以下ということになる
Expires クッキーの有効期限
Secure サーバの保護(HTTPS/SSLなどを使用してクッキーを伝送)


クッキーの安全性

 先ほども述べたように,クッキーはプライバシーの侵害だと言われることもあるが,すでに定着した機能であるという見方が多い。それは実際にクッキーを利用して集められる情報は,メールアドレスや個人名の入る情報ではないという考え方からだ。しかしブラウザのセキュリティホールを利用して,クッキーファイルを読むことができたというもある。

 ほかにも,悪意を持ったクッキーが存在する。たとえば,「test1.hoge.com」と「test2.hoge.com」はどちらも「.hoge.com」というクッキーを読み取ることができる。しかし「.com」というクッキーは作成できない。これはもし「.com」というクッキーを作成できれば,そのクッキーは「.com」のどのサイトでも読み取れてしまうからだ。Netscapeのクッキーの仕様書には,クッキーを作成する際に,ドメイン名は最低2つのピリオドを,そしてまた米国以外の,たとえば日本などのドメイン名(.ne.jpなど)は3つ以上のピリオドを含む必要があるとされている。しかし,実際には「.ne.jp」や「.co.jp」というドメイン,つまりピリオドは3つ以上必要になるはずのクッキーが作成されてしまうケースがある。今回は,リスト2の5つのブラウザでチェックしている。

リスト2■クッキーをチェックしたブラウザのリスト

Netscape Communicator 6.1 Windows
Netscape Communicator 4.78 Linux
Netscape Communicator 6.1 Macintosh
Internet Explorer 5 Macintosh(OS9.2.1)
Internet Explorer 5.5 Windows

 この中で,Internet Explorer 5.5(Windows)以外のブラウザでは,「.ne.jp」クッキーの作成が可能だった(写真2)。そしてそのクッキーは同じ「.ne.jp」を持つサイトであれば参照することができることも確認している。もし,このようなクッキーに個人情報を埋め込む形でブラウザに食べさせてしまえば,ユーザーがクッキーを削除しない限り「.ne.jp/.co.jp/.or.jp」などを持つどのサイトからもクッキーに埋め込まれた情報を参照することができてしまう。

画面
写真2■「.ne.jp」というクッキーでも利用可能になっている例

 つまり,このような悪意を持ったクッキーを作成する際,アンケートや個人情報をクッキーにしのばせておけば,ほかのサイトでも同様のクッキー情報を抜き取ることができるわけだ。

 実際数ヶ月の間クッキーを削除しないで放置していると,こういった「.co.jp」などの怪しげなクッキーファイルが投げ込まれていることがある。数は少ないが,こういったことも含め,どのようなクッキーが保持されているかを知っておく必要がある。

クッキーの管理

 クッキーに関しては,すべてを受け付けないというわけにはいかないだろう。クッキーを受け取る機会は多く,また日常の閲覧にも便利な面が多い。たとえばオークションサイトなどでは,いちいちIDとパスワードを入力しなくとも,自動的に表示してくれるほうが楽だろうし,またショッピングなどにもクッキーは必要となる。そこで考えなければならないのがクッキーの管理だ。日頃訪れるサイトに対するクッキーを把握し,それ以外は削除してしまうというほうが安心だ。

 Internet Explorer6からは,クッキーの拒否設定を簡単に行うことができるし,Netscape Communicator6.1やInternet Explorer5(Macintosh版)などは,設定画面でクッキーの管理が可能だ。また,PC Magazine's CookieCop Ver.1.2などのように,フリーソフトウェアやシェアウェアでもクッキーが管理できるソフトがある。こうしたツールなどを利用し,クッキーの受け入れを許可するサイト,しないサイトを振り分けて,不要なクッキーは削除してしまうほうがよい。またクッキーを受け付けることを拒否したり,警告を出させるといったこともブラウザの設定画面で行うことができる。

 クッキー自体は便利な機能を提供してくれるものなのかもしれない,しかしユーザーの断りなしに,情報収集が行われていることはあまり好ましいとは言えない。インターネットでは,クッキーを利用したユーザーの追跡,情報収集が行われていることは知っておいたほうがよいだろう。

TTSのOne Point Lesson

メールをトレースする
 メールを出した相手がメールをちゃんと読んでくれたか(メールを開いてくれたか)メールを送信した本人がしることはできないものなのか?

 Webバグを利用すれば相手がそのメールを開いたか知ることができる。実際に試してみたければiTraceYou.comのホームページでアカウントを作成し,試してみるとよいだろう。HTMLメールでGIF画像を埋め込み,送信したユーザーがそのメールを開けば,送信が成功したことをメールで教えてくれる(写真3)。ただし,こういったサービスをスパマーも利用していることをお忘れなく。

画面写真3■iTraceYou.comで登録しておくと,写真のようなメールが送付されてくる