Webサイトにアクセスする端末はパソコンだけではない。今では携帯電話からアクセスすることも多い。では,携帯電話からのWebアクセスのセッション管理はどうなっているのだろうか。パソコンからのアクセスと変わらないように思えるかもしれないが,実はまったく違う。携帯電話のWebアクセスは,パソコンと違う制約があり,セッション管理もそれに合わせて変わっている。そのことが,使い勝手やセキュリティの違いになっている。
管理に使える機能は事業者で異なる
まずは,携帯電話機からのWebアクセスがパソコンとどう違うのかについて見ていこう。
携帯電話機からのWebアクセスは,携帯電話網のゲートウエイ・サーバーを経由して,インターネット上のWebサイトに届く。このうちHTTPが使われるのは,ゲートウエイ・サーバーとWebサイトの間。携帯電話機とゲートウエイ・サーバーの間は,HTTPとは異なるアプリケーション・プロトコルを使う。携帯電話網で使うアプリケーション・プロトコルは,NTTドコモのiモード,KDDIのEZweb(イージーウェブ),ソフトバンクモバイルのYahoo!(ヤフー)ケータイのサービスでそれぞれ異なるものを採用している。
このように携帯電話機はWebサイトと直接HTTPでやりとりせず,ゲートウエイ・サーバーを介して通信するため,セッション管理に使える機能に制限がある。最も違いが大きいのはiモードだ。iモード端末にはCookieを保存する機能がない(図3-1の1)。このため,パソコンで当たり前に使われているCookieによるセッション管理ができない。一方,EZweb端末とYahoo!ケータイ端末は,Cookieが使えるようになっている。
また,3社の携帯電話機はいずれも,Webブラウザでスクリプトが使えない(同2)。このことがセッション管理に大きな制約を加える。問題になるのは,フォームを使ってセッションを管理しようとする場合。フォームでセッションIDを送るのには原則としてリンクではなくボタンをクリックさせる必要がある。スクリプトが使えればリンクをクリックしたときにセッションIDを送らせることもできるが,携帯電話機ではそれができない。画面の小さな携帯電話機でボタンを表示させるのは,レイアウト上制約が大きくなってしまう。このため,フォームを使う方法はほとんど使われない。
ちなみに,携帯電話機からのアクセスで,送信元IPアドレスがセッション管理に使えないのは,パソコンからのアクセスと同じだ。Webサイトが判別できる送信元IPアドレスは,ゲートウエイ・サーバーのIPアドレスになる。さらに,同一セッションのアクセスでも,アクセスのたびに送信元IPアドレスが変わることもある(同3)。
iモードはURLを使うしかない
それでは,携帯電話のWebアクセスのサービスで使えるセッション管理の方法を整理してみよう。
パソコンで広く使われているCookieでセッションを管理する方法は,EZwebとYahoo!ケータイでは使える(図3-2の1)。iモード以外はCookieでセッションを管理するのがベストだ。
一方Cookieが使えないiモードでは,URLにセッションIDを付ける方法しかない(同2)。パソコンと同様に,URLでセッションを管理するのはセキュリティ上の問題がある。ただしiモードに限って言えばほかに適切な代替手段がない。
今のところiモード端末は,画面上にはURLが表示されず,リンク元情報をほかのWebサイトに送ることもない。携帯電話網区間の通信は,事業者が暗号化しており,金融サイトのようなセキュリティを重視するサイトは,iモードEゲートウエイとWebサイトの間を専用回線で結んだりしている。勝手サイトでは安心とは言えないが,iモードの公式サイトでURLを使うのは問題ない。
一方,携帯電話ならではのセッション管理方法もある。携帯電話機からのWebアクセスを受け付けるWebサイトは,端末1台ずつに割り当てられた端末識別番号を取得できるようになっている。この端末識別番号を使えば,WebサイトがセッションIDを生成しなくてもセッションを管理できる(同3)。端末識別番号はユーザーごとに固定の数字が割り当てられており,携帯電話機を取り換えても変わらない。このためユーザーの識別にも使える。
ただし,この端末識別番号の取得の方法は,3事業者それぞれで異なる。またiモード端末は,SSLで通信している間は端末識別番号を通知しない。端末機識別番号を使えるところが限られる。同じ番号を使い続けることになるため,万一,端末識別番号が他人に知られたときに,簡単にセッション・ハイジャックされてしまうという危険もある。