「宅ふぁいる便」に見るパスワードをユーザーに設定させてはいけない理由 その1
宅ふぁいる便がやってしまいましたね。
2019年1月25日に第一報が出てから、未だにWebサイトが復旧出来ない状態が続いています。
Webサイトというのはそもそも外に向かって開かれた、情報を公開するためのものです。
他方外から侵入されても困る、ということで、本質的にWebサイトというのは「開けよ!だけど閉じてろよ!」という矛盾した命題を抱えているサービスです。
いわばアクセル踏みながらブレーキを踏んだサービスといえばその難しさがわかりやすいかも知れません。
そこで今回は、宅ふぁいる便の「漏洩問題」ではなく、被害を拡大する要因になった二つの点について指摘をしたいと思います。
それと念のためになのですが、これは「宅ふぁいる便」をディスるためのエントリーではありません。私もかなり昔からのユーザーで実はアカウント2コ持ってましたので、ユーザーとしては大変困った事になったなと思っていますが、他方同業に近い者として、関係者の苦労はなんとなく想像がつきます。一日も早い復旧をお祈りします。
Webシステム開発会社であれば、いつ誰もが加害者・被害者になり得るわけです。会員制サイトのWebシステム開発において、少しでも他山の石になれば幸いです。
一つ目のミス:パスワードをユーザーに設定させていた
まず一つは会員登録サイトを開発するにあたって、パスワードを発行する訳ですが、そのパスワードを自分で設定出来るのか、それとも常に自動的に発行されるのか、という二つの選択肢があります。
弊社ではWebシステム開発においては必ずシステムによる自動発行方式としており、ユーザーは自分で設定出来ないようになっています。
なぜかというと・・・・
必ずパスワードを使い回すユーザーが出てくるからです。
実は私もそうです(をい)。
これはそもそもシステムの仕様設計をする際に、まず「人間について考える」事が肝心です。人は面倒臭がりな生き物です。楽な方に流れます。だって人間だものbyみつお なのです。
人間に対する深い洞察力があれば、「パスワードを自分で設定出来るようになれば、パスワードを他でも使い回す人が出てくる」のは容易に想像がつきます。
つまり、会員制サイトのシステム開発において、パスワードを自分で設定出来る仕様にしてはそもそもいけないのです。これをやると前述の通り、間違いなく一定数のユーザーがパスワードを使い回します(IDはメールアドレスの場合が多いので、益々使い回しになります)。その分、会員制サイトの主催者のリスクは高まる事になります。
しかし他方、ユーザーにパスワードを入力させる仕様というのは、大手でも結構よく見られます。クックパッドもそうですし、大手でも珍しくありません。ただ、大手になりますと二段階認証をかませたりするなどそれなりにちゃんと配慮もなされています。大手以外はそもそもそこまで配慮がなされていないケースがほとんどです。
そしてこういうユーザーが自分で設定する仕様の場合、個人情報を何らかの理由で漏洩したと勘違いしたユーザーがサービスに問い合わてくる確率が上がります。そうすると、返答に窮することになります。
例えば事例としてしばしばあるのが、
「私しか知らないはずのメールアドレスにスパムが来るようになった!きっとあんたんところのサイトからメアドとパスワードが漏れたに違いない!調べろ!責任取れ!」
というものです。
しかし当然ですが、「漏洩していない事を証明する」、つまり無い事を証明するのは「悪魔の証明」です。そんな事出来る訳はありません。また本当にスマートにクラッキングをされると、サーバーに入った証拠も出る際に消されているので、本当に入られたかすらも定かではありません。
そういう状況ですから、そこに挙証責任を問われるとかなり大変です。
そしてそのサイトがパスワードを任意設定する前提になっていると、ユーザーが同様によそのサイトでもつか回しをしている可能性は極めて高くなるため、実はよそで漏れて、とばっちりをうけいていた、という事が起こるわけです(これ本当によくあります)。
今回の場合で言うと、「宅ふぁいる便」で過去会員登録をしていたことを忘れ、かつパスワードを使い回しており、「なんか最近スパム来るぞ!漏れてるんじゃないのか!」と他のサイトで文句を言っているユーザーは間違いなく一定数いると思われます。そういうユーザーはそもそも宅ふぁいる便からのメールを良く見ていません。
以前とある会員制サイトのWebシステム開発をした歳お客様から、「YcLtUz-Hw」とかパスワードを自動生成されるとユーザーが覚えにくいし打ちにくいので、アンダーバーとか小文字のlとかハイフンとかは使わないでくれあともっと文字短くシンプルにしてくれという御要望を受けた事があります。そもそも覚えやすいパスワードではパスワードの意味が無いし、ほとんどのユーザーはパスワードを入れる時はコピペが多く自分では打たないし、ログイン後のセッション時間も制御出来るので、入力時の大変さを気にしてパスワードを生成するという事自体本末転倒もいいところですという事で大分ぐるぐるしたディスカッションをした事がありました。
しかしこういう事を言うお客様は確かに一定数おり、会員制サイト開発において、Webシステム開発会社やWeb制作会社側に何のポリシーもないと、そのままお客様の言う仕様を寄せていくことになります。システム受託開発はお客様の言うとおり作るのが基本的なお仕事なので、ある意味普通の振るまいではあります。そして結果的に会員制サイトの主催者のリスクは高まる事になってしまいます。
そういうやっかいな勘違いしたユーザーからの問い合わせを減らすためにも、会員制サイトの構築、Webシステム開発に当たっては、パスワードは自動生成するのが一番無難と言えるでしょう。
その(2)に続きます。