Cookieの仕組み


〜目次〜
  1. Cookieの仕組み
  2. Cookieの危険性
  3. Cookieの削除手順

  1. Cookieの仕組み

     Cookie(クッキー)とは小さなデータを保存しておくために考えられたブラウザの機能で、Netscape Navigator 2.0 から登場し、Internet Explorer 3.0 以降のブラウザにも採用された機能です。
     通常、インターネットを利用する上で、データの保存はサーバーが担っていました。CGIというプログラムを使い、ユーザーはフォームからデータを送信し、サーバーがそれを受信してサーバー内のファイルにそれを記録します。
     ところが、Cookie はブラウザがユーザーのコンピュータ内にデータを記録する仕組みです。例えば、掲示板などのフォームを表紙した際に前回入力した名前やメールアドレスが表示されるのはこのCookieを使っているおかげです。

     Cookie の正体はテキストファイルです。「Cookie.txt」または「MagicCookie」というファイルを探して、エディタで開いて見ます。整然と文字が並んでいるのが分かります。(データを書き換えないようにしてください。消したい場合はブラウザの機能を使ってください)
     ほとんどの場合、ユーザーが入力したデータがそのまま記録され残っています。また、サービスを提供するサイトが、ユーザーを識別するために識別番号を記録させることもあります。例えば、Yahooなどのサイトでユーザーが自分でカスタマイズした画面でニュースなどの情報を見ることができます。これがCookieの恩恵です。

     Cookieには、記録されるデータの他に、安全に運用するためのデータが付加されています。次に実例を見てみましょう。

    # Netscape HTTP Cookie File
    # http://www.netscape.com/newsref/std/Cookie_spec.html
    # This is a generated file!  Do not edit.
    www.nnj.co.jp   FALSE   /P/001/BBS/      FALSE   881854879       bbsc 秀麗!|!m!|!shurey@xx.biwako.com!|!http://www.biwako.com/~shurey/
    cgi-club.hobbyj.co.jp   FALSE   /BBS/  FALSE   904579628       name    %8fG%97%ed
    cgi-club.hobbyj.co.jp   FALSE   /BBS/  FALSE   904579628       email   shurey%40xx.biwako.com
    cgi-club.hobbyj.co.jp   FALSE   /BBS/  FALSE   904579628       url     http%3a//www.biwako.com/%7eshurey/
    www.nnj.co.jp   FALSE   /P/001  FALSE   881924377       MFM     %8FG%97%ED,37,1,%96q%8F%EA%8A%C4%8E%8B%88%F5
    .yahoo.com      TRUE    /       FALSE   883609200       GET_LOCAL       last=index.html&ver=1
    .msn.com        TRUE    /       FALSE   937396838       MC1     GUID=1e33c480fe7011d0bd8b08002bb9f771
    .microsoft.com  TRUE    /       FALSE   937421994       MC1     GUID=1e33c480fe7011d0bd8b08002bb9f771
    .goo.ne.jp      TRUE    /       FALSE   937398052       ink     gU02ld1IEFE13AF11A49D8BB7838A9186EE641C4
    

     これはNetscape NavigatorのCookieファイルです。1行に1つのCookieがあります。1つのCookieには、「ドメイン」「ディレクトリ」「使用期限」「Cookie の名称と内容」となっています。それらがいくつも並んでいます。

     一番上の Cookie を例に見てみましょう、「www.nnj.co.jp」ドメインの中の「/P/001/BBS/」ディレクトリでCookieが使用されていることが分かります。Cookieはこのように、どこのサイトの、どこのディレクトリ内で使用するか制限をするようになっています。ディレクトリは変更することができますが、ドメインに付いては変更できませんので、データが他に送信されないようになっています。
      「881854879」という部分はCookieの使用期限を表しています。Cookie は受け入れ後、使用期限を経過すると削除されるようになっています。もちろん、Cookieを作ったサイトを再訪問したり、掲示板に書込を行うと、使用期限もその時点から更新されます。
     「bbsc」がCookieを識別する名前で、同じサイトや同じディレクトリで複数のCookieを記録する場合に見分けるための名前です。
     「秀麗!|!m!|!hideki@mx.biwa.or.jp!|!http://www.biwako.com/~shurey/」の部分が Cookie の内容になっています。この場合、掲示板のフォームに入力された、名前、性別、メールアドレス、ホームページのURLが記録されています。

     また、2行目から4行目を見ると、同じサイトで3つのCookieが使われているのが分かります。こちらも名前、メールアドレス、ホームページのURLとなっていますので、掲示板の記録だと考えられます。

     この他、Cookieには暗号化して記録する方法もあります。

  2. Cookieの危険性

     ときどき、Cookieには個人情報が入っているので、危険だという声を聞きます。それは本当でしょうか?確かに入力したパスワードが記録されていて、それがテキストファイルで誰でものぞけるとしたら、それは危険です。もちろん、ネットからのぞかれることはありませんが、もしそれが可能であるならば、Cookieに限らず、あなたのコンピュータに入っている全てのデータが危険にさらされる訳で、これはもうCookieがどうとかいう話ではありません。
     もし、あなたのコンピュータがのぞき見される危険性があるのなら、パソコンにパスワードを掛けたり、ソフトの問題点を改善するなどの処置が必要です。
     Cookieの場合、少なくともデータはあなたのコンピュータの中にあるのですから、管理すべき人が管理方法を間違えない限りデータが外へ出ることはありません。

     まず、第一に入力するデータ、特に個人データは自分で入力をするものです。ですから、不要なデータは入力しないことが重要であって、明らかに自己責任によってデータができあがります。

     Cookieは、決められたサーバーや指定のディレクトリにあるHTMLファイル(CGIの場合もある)を呼び出したときにのみ、データをサーバーへ送信します。ただ単に入力の手間を省くというだけがメリットではありません。必要なときだけデータがサーバー送られるため、サーバーに個人情報を記録する必要がないのです。ただ、商業サービスでは個人情報を記録していないということはありませんが、重要な情報に何度もアクセスしなくても、Cookieを使ってユーザーの識別をする利用方法がありますので、重要なデータは隔離したままで、ユーザーの照合をCookieで簡易に済ませてしまうことができます。これにより、個人情報がインターネット上に流れる回数を減らすことができます。

     Cookieは、あなたの「知らない間に」記録されます。しかし、ウイルスのような危険性はありません。例えばプログラムとして機能するものをCookieに記録することは可能でしょう。しかし、Cookieファイルはテキストファイルです。これがすぐさまプログラムとして動くことは不可能です。誰かが、あなたのパソコンにCookieから不正なデータを取り込んで動くプログラムを忍び込ませたらできるかも知れませんが、そのプログラムが侵入している時点でセキュリティは破られています。そんな手間の掛かることはしなくとも、ウイルスを送りつける方がはるかに簡単です。

     では、全く危険性はないのでしょうか?

     「クロスサイトスクリプティング脆弱性」という問題があります。 (資料:IPA
     これはCookieが本来読み込まれるべきサイト以外のサイトからデータを盗み見られる問題です。しかし、これはCookieの欠陥ではありません。当初発見されたWindowsサーバーのように、Webサーバーのソフトの欠陥なのです。また、この脆弱性の問題はCookieだけではなくフォームやスクリプトにも影響を与えています。

     しかし、このクロスサイトスクリプティングと同じ様な現象が、Cookieの設定ミスで発生する危険性があります。これはCookieを利用するサイトの責任でもあります。
     Cookieは同一ドメインの中で利用されます。ディレクトリを指定することで更に使用範囲を制限できるのですが、この制限を忘れた場合、同じドメインの中でも、他のディレクトリから参照できることになります。
     例えば、ディレクトリ「/」とした場合、そのドメインの全てのディレクトリからCookieを読み書きすることが可能になります。管理者の違うディレクトリが含まれる場合、プロバイダのレンタルホームページなどで1つのサーバーを不特定多数の人が使う場合に注意が必要です。
     また、ドメイン名についても「www.guardian.ne.jp」とするところを「guardian.ne.jp」とサブドメインを省略した場合、同じドメインでも異なるサーバー(サブドメイン)からの参照を許すことになります。例えば「www2.guardian.ne.jp」は利用範囲に入ると言うことです。

     もう1つ、Cookieを利用した個人の行動監視があります。 例えば、ディレクトリ型になった検索サイトを想像してください。あなたは自分の気になる項目を順にクリックして情報にたどり着きます。もちろん、どのページが何回呼び出されたか、サーバーは把握しています。しかし、誰がどのページを見たのか、知る術はありません。ここでCookieを使い識別番号を利用しますと、誰がどのページを見て回ったか分かるようになります。
     もともと、私たちがページを見るときには、どのパソコンからリクエスト(要求)が届いたのかサーバーは常に把握しています。そうしなければ、ページをどこへ届ければいいのか分からないからです。これはWebの仕組みの基本です。このときにIPアドレスやリモートホスト情報をサーバーが記録することで、一人の人物(名前は分からない)の行動を記録することができます。ただし、IPアドレスやリモートホスト情報はダイヤルアップ接続の場合、接続毎に変わってしまいます。
     そこで、Cookieの登場です。Cookieはブラウザに記録されているので、そのブラウザを使っている限り、常に同一人物の行動を把握することが出来ます。また、ユーザー登録という形で付加サービスを利用するときに、実名や住所を入力すると、利用者が完全に特定できることになってしまいます。

     また、この行動記録を利用した広告が問題になり、広告を表示しなくしたり、本来のURL以外のサイトへCookieを送信しない機能が盛り込まれることになりました。
     これは、ある広告企業が、様々なサイトへ広告を提供します。その広告の部分は、広告企業のサーバーへ接続して呼び出された物です。そのため、広告にCookieを埋め込むことで、広告企業は誰がどのサイトでどの広告を見たのか把握することができるようになり、ユーザーの行動を監視しているというのです。これは広告に重要なマーケティングをCookieでやっている訳です。現在ではこのように第三者(サードパーティ)のサーバーがCookieを要求しても送信しないことが一般的です。Internet Explorerでは、オプションで機能をオフにできるようになっています。

     Cookieの内容を時々チェックしてみることをお薦めします。商業サイトの多くがCookieを利用して同一ユーザーが来訪する回数や期間、参照したページや商品などを把握しようとしています。
     Cookieの内容を表示する専用ソフトもありますが、ブラウザの機能でも閲覧したり削除することができます。また、Cookieの受け入れを拒否したり、注意を促す設定にして、手間は増えますが安全性を重視することもでできるでしょう。今一度、あなたのブラウザがCookieに対してできる機能を確認してみてください。

  3. Cookieの削除手順

     Cookieを消したい場合の具体的な操作手順を紹介します。

     【Windows XP / Internet Explorer 6.0】

    1)Internet Explorerを起動します。
    2)メニューバーの「ツール」→「インターネットオプション」を選びます。
    3)「全般」というタブが既に選択された状態です。そのページ内に「インターネット一時ファイル」という項目があります。
    4)ここで「Cookie削除」を押しますと確認の画面が表示され、「[Temporary Internet Files]にある全てのCookieを削除しますか?」という質問に「OK」を選択すると、全てのCookieが削除されます。

     Cookieを個別に閲覧・削除をしたい場合は、専用のソフトを使用してください。

     Cookieを閲覧する機能はありませんが、インターネットオプションの「プライバシー」タブの中で、Cookieの受け入れの許可をどの程度緩和するかなど段階的に設定をすることができます。
     スライダーを上下することでプライバシー保護のレベルを変更します。

     ファーストパーティとは、URL内のファイルまたはそのドメインのことで、直接的にCookieを利用しているサイトを示します。
     サードパーティは、アドレスに表示されるURLとは別のドメインのことで、Cookieを利用したい第三者とも言えます。主に制限されるべき対象となります。

    「Webサイト」 では、個々にCookieを受け入れるサイトや拒否するサイトを指定できます。事前に設定しないといけません。
     
    【MacOS 9.2 / Internet Explorer 5.1】

    1)Internet Explorerを起動します。
    2)メニューバーの「編集」→「初期設定」を選びます。
    3)新しいウインドウの左のメニューから「ファイルの受信中」という項目の「Cookies」を選択します。右に設定画面が表示されます。
    4)設定画面では、各Cookieが閲覧できるようになっています。ここから任意のCookieを選択し、「表示」を押すことで内容を見ることが出来ます。削除したい場合は、「削除」を押してください。

     「Cookieを受信したとき」というメニューで受け入れを拒否したり、警告を表示するように設定できます。

    【MacOS X / Internet Explorer 5.2】

    1)Internet Explorerを起動します。
    2)メニューバーの「Explorer」→「環境設定」を選びます。
    3)新しいウインドウの左のメニューから「受信ファイル」という項目の「Cookies」を選択します。右に設定画面が表示されます。
    4)設定画面では、各Cookieが閲覧できるようになっています。ここから任意のCookieを選択し、「表示」を押すことで内容を見ることが出来ます。削除したい場合は、「削除」を押してください。

     「Cookieを受信したとき」というメニューで受け入れを拒否したり、警告を表示するように設定できます。


戻る