2014年2月13日木曜日

パスワード入力を廃したWebサービスが生き残るという皮肉

一ユーザとしてはパスワードの入力ダイアログは面倒。しかしセキュリティのことを考えると、ID/PASSの入力は必須とされる。

本当にそうか?ちゃんと考えてみよう。





  • ブログのコメント欄はパスワードないよね
    • なぜならPOSTしかしないから
    • 本人確認ってのは、データを取り出したり編集するときに、「さっきの人?」ってことを確認するためにある
  • 同一セッションなら要らないよね
    • 再編集する場合でも、「さっきPOSTしたブラウザかどうか」はクッキーで判断可能
    • 調整さんはクッキーの制御で、「さっきPOSTしたブラウザなら」再編集可能にしている
  • プロキシから加入者番号が毎回来ていればいいよね
    • docomoのuidやiモードIDのように、キャリアがネットワーク上で加入者番号を付加してくれている場合にはそれを使えば個人が識別できる
    • ちゃんとキャリアのネットワークから来ているかどうかのIPアドレスチェックは必要
    • ログインはおろか会員登録さえナシに個人が識別できるので最強(だった)
    • ガラケーじゃないと意味が無い
    • 一応お金を払うような時だけ、iモードパスワードを入れさせるけど、初期値が「0000」で、そのケータイをいじれる時点でほぼ本人としていいので、かなり緩いパスワード
  • 長いクッキーなら一度ログイするだけでしばらくログインしなくていいよね
    • 会員登録は普通にメールアドレスで本人確認するけどFaceBookとかログインしっぱなし
    • クッキーを長くするとはらくくるだけで、他のサイトからでも「いいね」が押せちゃう
    • 他人にブラウザ触られたら、FaceBookになりすましで投稿されちゃうという「セキュリティ上のリスク」はあるけど、そのリスクを飲み込んでいる
    • クッキーがのぞき見られたらセッションは乗っ取られちゃうけど、盗聴されている時点でほぼ乗っ取られているも同じ
    • 盗聴を防ぐには通信経路を暗号化するというのが正攻法
  • つーか、ブラウザじゃなくてアプリならクッキーのようなものをずっと保持できるよね
    • 結局スマホアプリになると最初はログインするけどあとはログインしなくていいよね
    • 会員登録時にはやっぱりパスワード設定するけど
  • 電話番号で認証するケースもあるよね
    • LINEとかそう
    • 会員登録の時に、ショートメッセージを受信することで「本人である」という確認をしている
    • 通話はショートメッセージは、「電話」というネットワークがセキュアであるということを前提にしている
    • 会員登録の時にもパスワードは登場しないし、ログインもしない。
  • アプリ連携という方法もある
    • TwitterやFaceBookのアプリとして連携して、ログインはそちらにお任せするという方法
    • FaceBookが常にログインしていれば、パスワードを入れる必要はない
    • ただしみんながみんなFaceBookを使っているわけではない
というのがこれまでの、ログインの「歴史」。


セキュリティってのも、安全と安心が混じりまくっている。例えばパスワードというシステムは、ユーザに鍵の作成を委任してしまっている時点で、ユーザにリスクが移っているだけだ。例えば、ユーザのメールアドレスに、「パスワード変更が6ヶ月されておりませんので再設定をお願いします」というメールを送って、ニセサイトに誘導すれば、あっけなくパスワードを盗み出すことができる。

本当にセキュリティを考えるのなら、パスワードは簡単に打たせちゃダメ。銀行のシステムとかは、振り込み前には、乱数カードから適当な列と行をピックアップして、都度ランダムなパスワードを打たせている。こういう発想が大事。

昔は、PCってのはみんなで使うものだから、毎回パスワードを打たせるというのがあるべき姿みたいだったけど、物理的にそのPCのクッキーが使えている時点でもうアウトなんだから、あきらめた方がいい。スマホが出てきたときにはその相場ができあがったと言っていい。はいもう一回。パスワードはそんなに打たせちゃダメ。

じゃぁどうすりゃいいか。これがいい。

  • ユーザはログインIDの欄にメールアドレスを入力
  • システムはユーザのメールアドレスにワンタイムパスワードを送信
  • ユーザはワンタイムパスワードでログイン(その瞬間にパスワードは無効化)
  • あとは長いクッキー
  • クッキーが切れたらまたワンタイムパスワードを発行
メールって言ってるけど、携帯のSMSだとさらに本人確認が厳格になる。メールとちがってSMSは一通10円ほどお金かかるからちょっともったいないけど。

実はメールでワンタイムパスワードを送るってところがひっかかりポイントではある。メールというシステム自体が暗号化されない。パソコンからメールサーバまでを暗号化するソリューションはあるが、メールサーバからメールサーバへの通信は暗号化されてない。それがヤなポイントではあるが、それ言い始めると、新規会員登録も厳しい。メールが全部盗聴されることを前提に、ユーザの記憶に頼るのは、リスクに対する負荷が大きすぎるのだ。

本当にそこまでのリスクを考えるなら、通信経路では盗聴が難しいSMSを使えばいい。ただこれも通信経路ってだけの話なので、携帯電話の中に盗聴アプリを入れたりする方がまだ簡単にやられちゃうだろうね。

以上は、実リスクの大小と他サービスの相場とユーザ負荷を考えたときのバランスで出した結論。セキュリティだけのことを考えている人からはスゲー叱られるから、得意げに言わないようにね。



0 件のコメント:

コメントを投稿