2010-10-09
■ [ruby][vim] Gemfileをvimで色付けする方法
普通にRubyなファイルとして扱ってもいいけど、Gemfile専用のsyntaxを公開してる人がいるのでそれを使う手も。手順は以下。
- wget -O ~/.vim/syntax/Gemfile.vim http://github.com/iain/osx_settings/raw/master/.vim/syntax/Gemfile.vim
- wget -O ~/.vim/ftdetect/Gemfile.vim http://github.com/iain/osx_settings/raw/master/.vim/ftdetect/Gemfile.vim
■ [mobile] 端末識別番号による認証「かんたんログイン」は何が問題なのか?
メモ的にまとめてみる。
- 素人がかんたんログインを実装しようとすると危ない
- 代わりに、Cookieでremember me(ログイン情報を保存)を実装すればOK。
- Cookie使えないドコモの古いケータイ使ってる人ははやく機種変してください(;_;)
参考
かんたんログインの問題
- かんたんログインは、ケータイから送られてくる端末識別番号をキーにユーザの認証を行う方式である。
- しかし端末識別番号は自動的に送信されるものなので、ケータイサイトを運営すれば他人の端末識別番号はいくらでも収集できる。
- また、端末識別番号はHTTPのヘッダとして送られてくるので、偽装するのは簡単。
- ではどうやってPC等からの偽装を弾いているのかというと、ユーザエージェントとIPアドレスをチェックする方法が主流。*1
- ケータイのIPアドレスはキャリア各社のサイトに載っているが、なんと完全性が保証されていない
- つまり、「かんたんログイン」が本当にセキュアかどうかは誰にも保証できない!*2
DoCoMo:
※本情報はあくまでも目安としてご参照ください。iモードセンタ以外から本IPアドレスでのアクセスがない事を保証するものではありません。
[作ろうiモードコンテンツ:iモードセンタの各種情報 | サービス・機能 | NTTドコモより引用]
KDDI:
※本情報はEZサーバ以外のホストによる上記表のIPアドレスでのアクセスがないことを保証するものではありません。
[KDDI au: 技術情報 > IPアドレス帯域より引用]
SoftBank:
※本情報はあくまでも目安としてご参照ください。 本IPアドレス帯域以外からソフトバンク携帯電話のアクセスがない事を保証するものではありません。
[WEB & NETWORK IPアドレスより引用]
端末識別番号の問題
端末識別番号が自動送信される環境では、以下のような問題が起こり得る
例1:効果的なワンクリ詐欺の実装方法
- ショッピングサイトを運営して、端末識別番号と住所氏名のペアを用意する
- アダルトサイトを運営して、同じ端末識別番号が来るのを待つ
- 「10万円払って下さい」という文面が住所氏名とともに書かれたメールを送信する
例2:モバイルサイト運営で集まった端末識別番号と個人情報のペアが、名簿業者に売られる
対応策
- そもそもの動機は「毎回ユーザ名とパスワードを入力するのがめんどい」こと
- PC用サイトでは、Cookieを使ってログイン情報を一定期間覚えるのが普通
- ケータイ用サイトも同じようにすればOK (そうすれば、毎回「かんたんログイン」というボタンを押す必要すらなくなるのでむしろ便利に)
問題はCookieが使えないドコモの古いケータイの対応で、そのままだとログイン情報が覚えられないので毎回ユーザ名とパスワードを入力してもらうことになる。 どうするのが良いんですかね。趣味のプロジェクトなら単に「頑張って入力してください」で諦められるけど。
おわりに
- かんたんログインにはどうやってもセキュアになりきれないという問題があり、端末識別番号(が自動的に送信されること)に関してもプライバシー上の問題がある
- 今さらかんたんログインを実装するというのは「端末識別番号の自動送信がないと動かないサイト」をわざわざ増やすということで、良くない
- 一方IS03はAndroidなのに端末識別番号を送信するとかいう噂があるが、(色んな意味で)大丈夫か?*3
- Cookieによる認証に「超かんたんログイン」とか名前を付けて流行らせばいいんじゃないかな (「Railsで超かんたんログインを実装する11の方法」みたいな)
おお、紹介thx! >Gemfile.vim<br>あれ書いたのだいぶ昔だけど、ちゃんと最新のに対応してるのかなあ。