【コラム】

最新IT用語解説

15 クッキー(Cookie)

佐藤晃洋  [2001/11/15]
今回のテーマは『Cookie』。前回の『サーチエンジン』の時と同様に、パワーユーザーの方々は「何をいまさら…」と思われるかもしれないが、最近はInternet Explorer 5.5以降でJavaScriptを介してCookieの中身が漏洩するというセキュリティホールが発見されたり、また欧州議会では、現在審議中のプライバシー規制法案の中でCookie規制を追加する修正案が可決されたりと、いまさらながらCookieに関する話題が表舞台に上りつつあるので、ここで改めてCookieの功罪について説明してみたい。

■Cookieは単純だが奥が深い

その前にまずCookieの原理を説明する必要があると思うが、一言で言ってしまえば「あるWebサイトに訪問した際にサーバから送られた特別なデータを、ブラウザが次のアクセスのときにそのまま送り返すだけ」のシステムで、しかもCookieを介して送受信できるデータはあくまで簡単な文字列に限られる。具体的にはあるWebサイトが「次回以降のアクセス時には必ず『ID=xxxxx』というデータを送るように」というデータを送ると、それを受けたブラウザは(CookieをOffにしていない限り)次回以降のアクセス時には必ず『ID=xxxxx』という文字列をWebサイト側に送る、といったことを行っているだけなのだ。

と、まあやっていることは単純だが、これが意外と馬鹿にできない。例えばこの原理を聞いてすぐに思いつくのが、Webサイトのアクセス時にID・パスワードを送信させて自動的にログインさせるシステムだ。これは実際にMy Yahoo!Exciteフレンズなど、多くのサイトで利用されている。また2chなどの掲示板では、掲示板に書き込む際のハンドルネームやメールアドレスなどをCookieで記録して、次回以降のアクセス時にいちいちハンドルネームなどを設定しなくても済むようにしているところが多い。その他いろいろなところでCookieは幅広く利用されている。

技術的にもCookieを使うのはさほど難しくない。CookieはJavaScriptやCGIなどからアクセスすることができるため、一定の書式に従ってデータを記述すれば、通常のHTMLフォームを介したデータのやり取りとさほど変わらずにデータを処理することが可能だ。またCookieではデータの内容以外にも、データの有効期限やCookieを自動的に送信する範囲などを指示することが可能なので、特定の値を複数のHTMLやCGIで共有したりすることや、一定時間アクセスがないと自動的にログアウトさせるような仕組みも実現できる。

■なぜCookieからプライバシーが漏れる?

さて、先ほどもプライバシー規制の一環としてCookieが問題になっているということを書いたが、なぜプライバシー規制の中でCookieが問題になるのか。それは「Cookieを介してユーザの行動を把握できる」という問題、さらには「バナー広告の表示」までもが絡んでくる。

というのも、Cookieを使ってブラウザに一意性のあるIDを振っておくと、例えば同じIDを持つユーザがWebサイトの中をどのような順番で巡って行ったか、というような行動記録を取ることもできてしまうからだ。特にユーザ登録のために個人情報を入力させるようなサイトでは、Cookieで自動的に振られるIDとユーザ登録の内容を連携させることで、個人を特定して行動記録を集めることさえできてしまうわけで、プライバシー保護に力を入れる人たちが神経質になるのも無理もない。

またバナー広告を扱う代理店では、同じくブラウザにCookieを使ったIDを振り、個々のユーザがどのバナーをどのような頻度で閲覧・クリックしたか、といったデータを収集し、ひいては個々のユーザごとに興味の高い広告を多く表示させる、といったことを行っている。これは広告の費用対効果を高めるという意味では非常に効果的なのだが、多くの場合ユーザは自分のアクセスしたサイトだけでなく広告代理店からもデータを採取されていることに気づかないため、これもまたプライバシー保護の観点から問題になっている。

そのため、以前このコーナーでも解説した『P3P』に代表されるプライバシー保護技術の中でも、Cookieに関係するデータの取り扱いにはかなり高いウェイトが置かれており、実際にInternet Explorerでは、従来Cookieの受け入れに関して「On/Off/ダイアログで選択」の3つしか選択肢がなかったものについて、最新版の6.0からかなり細かい制御ができるようになっている。

■それでもCookieは必要

先の欧州議会の規制案では、Cookieについては「使用の際にその旨を明示的に告知する」という結論にどうも落ち着いたようだが、そこに至る議論の過程では「Cookieの使用そのものを禁止する」という意見が何度も出ては消える、という状況が繰り返されていたため、依然として「Cookieの使用禁止」が現実のものとなる可能性は少なくない。ただ仮にCookieの使用が禁止されたとすると、Webのユーザは非常な困難に直面することになる。

その理由は「セッション管理」だ。Webページの閲覧に使われるHTTPプロトコルでは、1ファイルの転送が終わるたびにその都度サーバとの接続が切断されてしまうので、複数のページを渡り歩く必要があるセッションの場合(例:ショッピングサイト、インターネットバンキングなど)は、複数回に渡るサーバへのアクセスが同一人物のものであることを確認するために、最初にパスワード認証を行った後一定期間だけ有効な「セッションコード」を発行・使用するのが一般的である。実はその「セッションコード」の管理にCookieが欠かせないのだ。

セッションコード自体は単なる文字列なので、コードの送受信だけならCookieを使う以外にも方法はいくつかあるが、例えばURL自体にコードを埋め込む方法では、ある特定の条件でコードが他のサイトに漏洩する危険があるし、フォームの中にコードを埋め込む方法はページデザインの制約が大きいなど、どれもいろいろ問題があり、現状ではコード管理にCookieを使用するのが最も一般的となっている。ということは裏を返せば、Cookieが仮に禁止されたとすると、現在Cookieを利用してセッション管理を行っているサイトが改修を余儀なくされるのはもちろんのこと、ユーザ側から見てもサイトの利用に不便を抱える可能性が高くなってしまう、ということでもある。たとえばインターネットバンキングで、ページを移動するたびにユーザIDやパスワードの入力を要求される手間を考えてみればいい。

確かにCookieを使って不正にユーザ情報を収集できる危険性は否定できないものの、それはネット以外の部分も含めた総合的な個人情報保護の枠組みで処理できる範囲のものと考えられるし、ただCookieを禁止、もしくは規制したからといってプライバシー保護が強化されるかというと個人的には疑問だ。せっかくP3Pのような新しいプライバシー保護技術が登場してきているのだから、ただやみくもに規制をかけるのではなく、ユーザの利便性を損なわない形でそれら新技術を利用し、うまくプライバシー保護を強化するような枠組みを作る方向で関係者には検討してほしいと思う。

    新着記事

    特設サイトの情報

    求人情報

    人気記事

    一覧

    イチオシ記事

    新着記事

    特別企画

    一覧

    転職ノウハウ

    あなたの仕事適性診断

    4つの診断で、自分の適性を見つめなおそう!

    Heroes File ~挑戦者たち~

    働くこと・挑戦し続けることへの思いを綴ったインタビュー

    はじめての転職診断

    あなたにピッタリのアドバイスを読むことができます。

    転職Q&A

    転職に必要な情報が収集できます

    スカウト転職する

    企業からアプローチのメッセージが届きます。