ケータイWebの今後を安全に保つには(1/3) − @IT(情報元のブックマーク数)

徳丸さんによるケータイWebアプリセキュリティについての後編

前回では、URLにセッションIDを埋め込むことの問題点を指摘した上で、今後はできるだけケータイでもCookieを使うことを提案しました。それを受けて今回は、前半で、ケータイWebでCookieを使う際の注意点について説明します。
そして後半では、連載の終わりに当たり、スマートフォンが普及しつつある状況下でのケータイWebの今後について説明します。

ケータイWebの今後を安全に保つには (1/3):再考・ケータイWebのセキュリティ(最終回) - @IT

これまで説明したように、KDDIソフトバンクのケータイでは従来からCookieが利用でき、NTTドコモの端末でも2009年末モデル以降でCookieが利用できます。セッション管理にCookieを利用することで、セッション管理の安全性を高めることが可能です。

ケータイWebの今後を安全に保つには (1/3):再考・ケータイWebのセキュリティ(最終回) - @IT

ソフトバンクのsecure.softbank.ne.jpの話。(すでに廃止されています)

これに対してソフトバンクの旧来のSSLは、ケータイブラウザとWebサーバの間にsecure.softbank.ne.jpというゲートウェイが割り込む形になっていました(図2)。SSLの暗号化通信は、secure.softbank.ne.jpで受信する際に復号され、再度暗号化されて送信されます。この方式では、ゲートウェイ(secure.softbank.ne.jp)が通信内容を見たり、改変したりすることができてしまいます。

ケータイWebの今後を安全に保つには (1/3):再考・ケータイWebのセキュリティ(最終回) - @IT

このうち、スマートフォン向けのWebアプリケーションは、一般の(PCなどの)Webアプリケーションと技術的には同等です。従って、スマートフォン「固有」の注意点はあまりありません。スマートフォンのブラウザではJavaScriptCookieなどが使えますし、事業者のゲートウェイの存在を意識する必要もありません。ケータイIDも送信されません。
これに対して、スマートフォンのクライアントアプリケーション(以下、スマートフォンアプリ)の方は注意が必要です。筆者は、ケータイWebアプリケーションとスマートフォンアプリには共通するセキュリティ上の注意点があると考えています。それを考える上では、以下の着眼点が重要と考えます。
WebサーバとHTTPで通信するが、安全な開発方法が確立しているとはいえない
ケータイIDを使うことができる
「PCから見えないはず」という思い込みによる油断がもたらす脆弱性がある

ケータイWebの今後を安全に保つには (2/3):再考・ケータイWebのセキュリティ(最終回) - @IT

スマートフォンアプリの通信はキャプチャできる(そりゃWi-Fi経由だったら見れるよな。)

一例として、スマートフォンアプリの通信の様子をネットワークキャプチャする例を紹介しましょう。
画面7は、あるTwitterアプリケーション(Android用)の通信の様子をWiresharkというソフトによりキャプチャしている様子です。筆者のアカウント(@ockeghem)で認証後、コンテンツをAPI経由で取得している様子を図示しています。
ご覧のように、HTTPヘッダも含めたリクエスト全体が取得できています。
また、SSLにより暗号化されたリクエストも違う手法で取得できます。SSLによる暗号化は、第三者による盗聴を防ぐためのものです。従って、利用者本人がネットワークの内容を取得する場合、SSLによる暗号化では防ぐことはできません。
このように、ケータイWebの場合以上に、スマートフォンアプリの場合も「PCから見えないはず」という思い込みは大変危険です。ケータイIDによる認証も使うべきではありません。

ケータイWebの今後を安全に保つには (3/3):再考・ケータイWebのセキュリティ(最終回) - @IT

screenshot