Webサイトを作る側にとって,インターネットとiモードで決定的な違いがあるのをご存知だろうか。実は,iモード(NTTドコモ)ではCookieが使えない。このため,iモード向けのWebアプリは,インターネットでは当然の,Cookieによるセッション管理ができないのだ。

iモードは「危険」とされるURLでセッションを管理

 Cookieによるセッション管理を簡単に説明しておこう。もともとWebアクセスに使うアプリケーション・プロトコルには「セッション」という概念がない。このため,インターネット向けのWebアプリは,WebサイトからWebブラウザにセッション情報を渡し,次回以降のアクセスではWebブラウザからWebサイトへセッション情報を送ってもらう。こうして,一連のWebアクセスを関連付ける。そのために今どきのWebアプリが使うのが,Cookieという名の短いテキスト・データだ。WebサイトはWebブラウザにWebページを送るときに,Cookieを付けて送る。こうするとWebサイトは,そのWebサイトへの次回以降のアクセスのときにCookieを送り返すようになる。

 ところがiモードはCookieが使えない。iモードとほとんど同じサービスのEZweb(KDDI)やYahoo!ケータイ(ソフトバンクモバイル)は,Cookieが使える。また,NTTドコモの携帯電話機であっても,フルブラウザ(IPによるパソコン向けサイトへのアクセス)では,Cookieが使える。セッション管理にCookieが使えないのは,iモードだけの特異な仕様なのだ。そこでiモード向けのWebアプリは,URLにセッション情報を埋め込む形でセッションを管理している。

 実はこのURLにセッション情報を埋め込む方法は,インターネットでは危険とされている。URLはほかのWebサイトにリンク元(referer)情報として送られてしまうことがあるからだ。リンク元情報は,Webアプリのページの中のリンクをクリックしたときに送られるのが基本だが,Webブラウザによってはブックマークやメーラーのリンクをクリックしただけでも,表示中のWebページのリンク元情報が送られてしまうことがある。このような場合,URLに埋め込まれたセッション情報を入手したクラッカが,正規ユーザーに成りすましてアクセスできてしまう。

iモード+専用線経由なら大丈夫?

 これだけ書くと,URLでセッションを管理するiモードは常に危険なように思えるが,実際はそれほどでもない。まずiモードは,ほかのWebサイトにリンク元情報を送らない。記者がNTTドコモに問い合わせたところ,仕様でそう決まっているとの回答だった。また,携帯電話網は,標準URLを含めてパケットをまるごと暗号化しているため,盗聴を試みても解読できないことになっている。少なくとも公式サイトの運営者は,iモード・ゲートウエイとWebサイトの間を専用線で接続すれば,URLをセッション管理に使っても安全は確保できる。

 ただし,iモード・ゲートウエイとWebサイトの間をインターネット経由で接続していると安全とは言えなくなる。インターネット内ではセッション情報が暗号化されずに転送されるからだ。つまり,インターネット経由で接続せざるを得ない勝手サイトや,自らの意思でインターネット経由での接続を選んだ公式サイトでは,100パーセント安全とまでは言えない。もちろん,その程度ならたいしたことはないという意見もあるかもしれない。インターネット上で盗聴が起こりがちなのは,無線LANアクセスや社内LANなどの部分だからだ。

iモードもCookieサポートを

 しかし,iモードがCookieをサポートしていないことには,やはり問題がある。Webアプリを含むサイトのiモード対応が進まなかったり,Webサイトが安易な方法でiモード対応することで,インターネットやほかの事業者の携帯電話機からのアクセスを危険にさらす可能性があるからだ。

 iモードに対応するサイトをiモード専用にするのであれば,構築の手間はあるが技術的な問題は少ない。ただし,インターネット上にパソコン,iモード,EZweb,Yahoo!ケータイのアクセスを汎用的に受け付けるサイトを作るとなると,とたんに難しくなる。正しくiモード対応をするためには,(1)iモードからのアクセスであることを判別して,(2)iモードだけCookie以外でセッションを管理する--必要がある。この二つを実現する標準的な手法は確立されていない。インターネット向けのサイトではWebアプリ構築用のソフト部品やフレームワークが使えるが,iモードではそれぞれのサイトが自前で開発しなければならない。

 現実はどうか。自前の開発は面倒だし,リスク管理が難しいという判断で,携帯電話機対応に手を出せない企業も多そうだ。一方,安易に開発してしまうことで,セキュリティ上の問題を生じさせているサイトもある。例えば,iモード対応の結果として,パソコンからのアクセスでも,URLによるセッション管理が使えるようになってしまっているサイトが存在する。

 また,携帯電話機からのアクセスを受け付ける場合は,iモードに限らずURLでセッションを管理するサイトも存在する。このような作り方をしたサイトでは,iモード以外からのアクセスでセッション情報を漏らしてしまう可能性がある。パソコン用の一部のWebブラウザやEZwebの一部機種は,URLの直接入力やブックマークからのアクセスでも,表示中のページのURLをリンク元情報として送信してしまうバグを残しているからだ。

 iモードの将来や,iモードとインターネットの共存を考えると,記者にはiモードのCookieのサポートは不可欠のように思える。最近のWebブラウザの標準設定のように,悪質なCookieを排除しながらセッション管理用のCookieを受け入れるようにするのが理想だ。Cookieサポートにはプライバシー上の懸念がある,という意見もあるだろう。だがCookieは,iモードがサポートしているユーザー識別用のID(ユーザーID/iモードID)をWebサイトに送出する機能よりは問題が小さいはずだ。ユーザー識別用のIDはログイン時のユーザー名入力を省略するといった用途のために用意されているのだが,悪用されれば,アクセス履歴の追跡に使われてしまう可能性がある。そろそろiモードもCookieサポートを真剣に考えるべき時期なのではないだろうか。

■変更履歴
最後から2番目の段落にある,パソコン用の一部のWebブラウザやEZwebの一部機種のバグについて説明を追加しました。 [2008/5/8 12:27]
■変更履歴
URLによるセッション管理が危険な理由についての説明に誤りがありました。お詫びして訂正します。本文は修正済みです。 [2008/5/8 15:49]