ありがとう。また会おう。

ゆるいかんじで。かたのちからぬいて。やってます。

IP制限は必要悪。

元ネタはこちら。


IP制限は本当に必要かしら? - がるの健忘録


個人的な見解としては、【理想論としては】まったくもってその通り、激しく同意。


で、わざわざ【理想論としては】とつけるからには、もちろん理由があるわけで。


現実問題として、携帯のIPアドレス帯域制限は、必要悪としてやらざるを得ない*1


なぜならば。


今、携帯サイトのトレンド、市場のユーザニーズとしては、大勢が


「携帯でアカウント(特にメールアドレスがアカウントの場合)やパスワード打つの面倒だよね」
「簡単ログイン機能(あるいはモバゲーのように暗黙ログイン)は必須だよね」


だと思う。


そこへ、一介の技術者が切々と携帯個体識別番号を使うことの危険性を述べたところで、相手にされないことが多い。


で、まあ最初の要求、アカウント情報を入力するのが面倒なら、PCの世界であれば

  • Firefoxのアカウント管理機能で、ブラウザ側でローカルに管理してもらう
  • 「次回から自動的にログイン」機能をつける

という選択肢がある。
ところが、携帯サイトの場合、前者は残念ながらそのような機能を搭載している携帯端末は、僕の知る限り存在しない(除くフルブラウザ
後者は、よさそうな気がするが、1つ大きな問題がある。


Cookie


以前の日記にも書いたが、日本の携帯市場の半分を占めるDoCoMoの携帯ブラウザはCookieに対応していない。
したがって、セッション張ろうとしたら、URLにGETパラメータとして埋め込むしかない。
この方法は当然ながらセッションハイジャックの危険が高い*2


セキュリティ方面での権威、高木先生も以前ブログで書いていたが、とにかくDoCoMoには、一刻も早くCookieをサポートしてほしい。
というか、メーカーとか、コンテンツプロバイダ、あるいはIPAのようなセキュリティ関連の機関が
もっと大きく声をあげてDoCoMoを突き上げてほしいと切に願うのだが。。。
極論言えば、「DoCoMoブラウザの脆弱性」くらい強いこと言ってもいいような気がするんだが。。
(少なくとも脆弱なWebアプリケーションを世に量産させる制限を強要している、間接的なセキュリティホールだと言ってもいいのではないだろうか。。。)


ちょっと脱線したので話を戻す。


で、Cookieを使った、「次回から自動ログイン」がダメだとすると。


ここで、携帯特有の「個体識別番号」が出てくる。
これを使えば、Mixiモバイルの「簡単ログイン」や、モバゲーの「暗黙ログイン」がとても簡単に実装できてしまう。
ただ、元ネタの指摘通り、この携帯の個体識別番号は、ちょっとHTTPの知識が有りさえすれば
いとも簡単に偽装ができる*3


で、この偽装を防ぐためにIPアドレス制限は「せざるを得ない」というのが、正直なところ。


もちろん、危険性について、もっともっと声を上げてくことが大事だし、
技術者としてそれを誠実に伝えることが大事、と思っている。
あるいは、


「IP制限なんてしないで、PCサイトと同様、普通にログインする作りにしろ!
 そうしないのなら俺は責任取れないからこの仕事は受けれない!
 どうしてもこれでやれと言うなら、俺は会社辞める!」


って啖呵切るってのも一つの道かもしれない。


ただ、残念ながら現時点での携帯サイトに求められてるニーズを思うと
仮にPCのようなログイン方法しか提供しないサイトを作っても、あまり流行らない、つまり自分の給料にも繋がらない気がする。
(モバゲーが暗黙ログイン方式でなかったら、あそこまで爆発的なヒットしただろうか?*4


じゃあ、俺はもう携帯サイトは作らない!!


・・・といっても、今のWebサイト・サービスは、携帯とセットのことが多いから、携帯やらない・ニアリーイコール・Webサイト屋やらない、ということにもなりかねない。


てことで、頑なにそこを突き詰めていくと、Webサイト屋は廃業するしかないなぁ。。。と悲観的に思わざるを得ない。。。


とはいっても、何かで飯を食っていかなければいけないので
やはり必要悪とは思いつつも、携帯の個体識別番号とIPアドレス制限には、まだまだ付き合い続けなければいけないんだろうなぁ、というのが結論。


それらを必要悪と認識した上で、それが何故必要悪なのか、本来はどうあるべきなのか、それが何故今出来ないのかを理解すること。
また、そういうリスクのあるサービスを提供してるんだ、ということを経営層にもきちんと認識してもらうこと。
そして、大本である携帯キャリアにはもっと声をあげて、しかるべき機能をきちんと実装することを訴え続けること。
・・・が、良識ある携帯技術屋としては必要かなぁ。。。と考えた次第。

*1:もちろん、ログインなどの機能がないOne Wayに情報を提供するサイトならその限りではないが、ここではそういうサイトは除外する

*2:有効時間を短くするとか、セッションIDを常に再生成するとかはあるが、これらは常にユーザの利便性を損なうことにもなり、どこにバランスを求めるかが難しい

*3:実際、僕はデバッグ用途ではそういうことをしているし

*4:もちろん良い意味でも悪い意味でも