米MacromediaのWeb技術 Flashが大はやりだ。もともとはWeb上のアニメーション・ツールだが,使いやすいユーザー・インタフェースを作れることがうけて,業務システムやECサイトでの採用が広がっている。ブラウザの操作性の悪さに辟易(へきえき)している人は,一度試してみる価値があるだろう(関連記事)。

 Flashのほかにも,Curl(関連記事)やPDF(関連記事)などブラウザの弱点を補完する技術がいくつか登場(または進化)しており,Webサイトに取り入れる動きが広まっている。その詳細は,日経システム構築の 7月号 特集「ブラウザに代わる選択肢」にまとめた。

 実はその記事では触れなかったが,取材を進めながらセキュリティの観点から不安を感じることがあった。と言うのも,Flashを使うサイトはアドレス・バーを非表示にしてURLを隠す傾向にあるからだ。

意図は理解できるが,かえって利用者の不安をあおるのでは?

 サイト運営者や開発者によれば,セッション管理で問題を発生させないために,URLを表示しないのだという。通常,ページを動的に生成するWebサイトは,そこにどんなコンテンツが表示されているかを把握するために,HTMLのページ単位でセッションIDを割り振ってセッション管理を実施している。

 ところがFlashの場合,HTMLのページ単位ではなく,オブジェクト単位でサーバーと通信したり再描画したりできる。簡単に言うと,Flashファイルを呼び出すHTMLファイルを1回ダウンロードすれば,同じページの中で表示する内容を次々に変えていけるのだ。

 つまり,ページ単位でのセッション管理という概念が無い。Flashファイルとサーバーは,ブラウザとは独立して通信している。このため,その通信の最中に,利用者にブラウザの「戻る」ボタンを押されたり,勝手なURLを記述されたりしてページを移動されると,トランザクション処理が途中で失敗する可能性がある。ページ単位で管理していないために,ページを移動された場合の対処が,HTMLファイルを使っている場合と比較して難しいのだ。

 ECサイトで住所や商品を途中まで入力したところで処理が失敗し,いきなりログイン画面に戻ってしまうと,利用者もやりきれないだろう。怒った利用者がそのサイトを立ち去る恐れもある。これを考えれば,アドレス/メニュー・バーを非表示にしたくなる開発者の意図が分からないでもない。

 しかし,それはかえって利用者の不安をあおることになると思う。Webサイト上で,クレジット・カード番号やID/パスワード,各種個人情報をセキュリティ管理の甘いサイトやなりすまされたサイトに送信しないためには,利用者自身がWebサイトの身元を確認しておく必要がある。一般の利用者は,URLが目的の会社のものかどうかを確認することで,サイトの身元を確認する。そのURLが表示されなければ確認できない。

 そのWebサイト(ページ)がSSLを使っている場合には,デジタル証明書からサイトの身元を確認する方法もある。Internet Explorerなどでは,ブラウザの右下に表示される鍵マークをクリックすると,デジタル証明書の内容が表示される。証明書中の発行先(サブジェクト)が,そのサイトのURLである。

 だが,一般の利用者にそこまで強いるのは難しい。しかも,鍵マークを表示するステータス・バーを,JavaScriptやフレームを使って非表示にされたら,この方法でも確認が不可能または面倒になる。

URLを隠さなくてもメッセージの工夫などでリスクは減らせるはず

 Flashを使うサイトに限らず,URLを隠すサイトはある。隠す理由は,主には前述のようなセッション管理に関する問題を回避するためだという。しかし,以前の記事で書いたように,それはサイトの偽造などを許すだけだ。いくらSSLをかけていても,偽造を許せば意味はない。

 HTMLファイルの場合には,ソースを見ることができる限り,ソース中の送信フォームを記述した場所を探し,送信先のURLを確認すれば,入力した情報がどこに送られるのかは分かる。

 しかし,FlashのプログラムはSWFというバイナリ・ファイルにコンパイルされた状態でダウンロードされる。だからソースを見て危険かどうかを判断できない。利用者にしてみれば「どこからダウンロードしたのか」が唯一の判断材料となる。その情報を隠されたらどうにもならない。

 また,Flashはローカル・リソースにアクセスする機能を持っている。ローカル共有オブジェクトという特定の領域に限定されるが,この領域に不用意に重要な情報をため込んでいた場合,危険なFlashファイルを送り込まれてそれらの情報にアクセスされる恐れがないとは言えない。

 URLをわざわざ隠さなくても,すべてのバーを表示した上で「ブラウザの戻るボタンを押さないでください」と一言書くだけでも十分だろう。さらに,「ページを移動すると,今まで入力したデータが無効になる恐れがあります」とでも加えれば,ほとんどの利用者は注意するだろう。隠すことで発生するリスクが,それで得られる利便性よりも大きいことを認識すべきだ。

 最後に念のため。私は個人的には,Flashのよさをとても評価している。ブラウザの欠点を補う技術が,もっと普及してほしいとも思っている。もしも偽造サイトを使ったFlashによる被害が発生すれば,「Flashは危険」などと誤ったレッテルを貼られる恐れがある。Flashを使ってサイト利用者の満足度を向上させるためにも,リスクを考慮したサイト作りを心がけていただきたい。

(尾崎 憲和=日経システム構築)