パスワードを変更したらログインできなくなった

 Webサイトなどでパスワードを入力する際、「****」を使って入力した文字が見えないようにする必要はないのではないか――。そんな提案をめぐり、研究者が賛否両論を展開している。

 最初に問題を提起したのはWebユーザビリティ研究の第一人者ヤコブ・ニールセン氏。「パスワードを入力する際、画面に“****”としか表示されないのはユーザビリティ上問題がある。一般的に、パスワードを隠してもセキュリティは向上しない。それどころかログインに失敗してコストがかさむ」と指摘し、入力したパスワードの文字がはっきり見えるようにした方がいいと提言した。

セキュリティ的な問題もあるので賛否両論ありますが、賛否は置いといて、タイムリーな話題だったので書いておきます。


仕事で少し関わりのあるシステムについて問い合わせがあり、「ユーザが自分のログイン用のパスワードを画面から変更したらログインできなくなった」とのこと。
ログをもらって調べてみると、単純に変更したパスワードとログイン時に入力しているパスワードが違うだけで、ログインできないのは当たり前なんですが、ユーザがパスワードを間違えて入力している経緯を想像すると、上の記事にも納得できる。


ログを見ると、このユーザが画面から変更したパスワードが「abcdefg123」*1で、変更後にログインするときに入力しているパスワードが「abcdefg12345」となっている。
さらに、パスワード変更画面の入力フィールドはmaxlengthが10桁で制限されているけど、ログイン画面のパスワード入力フィールドには文字数制限がない。


と、ここからは想像で、
このユーザはパスワードを変更する際に、「abcdefg12345」をコピペして登録しようとした。
でも、ペーストされたのは「abcdefg123」までで、画面上には「****」で表示されているため、気づかずそのまま登録されてしまった。
で、ログイン画面から「abcdefg12345」を入力してログインしようとしたけど、もちろんパスワードが一致しないのでログインできない。。。


結局、ユーザの操作ミスが原因ですが、根本的な原因はUIにあると思います。
パスワードが「****」で表示されているのでユーザが入力ミスに気づかないことも1つだし、
変更時にlengthが指定されているのに、ログイン時には指定されていないこともそうです。
(ただし、システムのアカウントがないユーザに対して、パスワードの文字数を特定できないようにログイン画面では文字数制限を指定していないという意図があれば別です。)


システム的には些細なことかもしれませんが、ユーザ視点で考えると、操作ミスをしない、またはミスをしたことがフィードバックされるUIを提供しなければいけないと思う次第です。

*1:もちろん実際のパスワードじゃなくて、仮のパスワードです。