なぜ「定期的に変更」する必要があるのか
面倒に思えるパスワードの要件や再設定方法は、サービス特性や扱う情報の重要度と利便性が天秤にかけられて決まる。
確実な本人確認が求められる金銭が絡むようなサービスほど、これらの要件は込み入ったものにならざるを得ない。決して利用者を困らせるためにあるのではなく、サービスを安全に利用してもらうために致し方ないのである。
では、パスワードの要件に代表される「複雑性」、「使い回しの禁止」、「定期的な変更」はそれぞれどういった事象に効果的なのだろうか。
前提として、パスワードはインターネット空間を使って悪事を働く犯罪者からは狙われやすい情報のひとつである。犯罪者はあらゆるサービスのIDとパスワードの組を手に入れるために、よく使われていたり容易に推測が可能だったりするパスワードで、片っ端からログインを試みる。その際「複雑」なパスワードを利用していると、破られる可能性は低くなる。
もし、IDとパスワードの組が何らかの原因によって漏れ、犯罪者の手元に渡った場合、犯罪者はその情報を元に他のサービスへのログインも試みる。パスワードを「使い回さない」ことで、他のサービスへの影響を防ぐことが可能になる。また、情報が漏れてから悪用される間にパスワードを変更できればいいので、「定期的に変更する」ことも全く変更しないよりは効果を発揮する。
定期的なパスワードの変更で見えた不都合
しかし、最近パスワードの「定期的な変更」を強制することで生まれる不都合が注目を浴びている。
複数のパスワードを管理しなければならない利用者としては、システムによって定期的な変更を強制されたとき、どうしても覚えやすいものを設定しがちである。前に設定していたものから数文字を変えただけのパスワードを設定している人は多いのではないだろうか。
例えば“Password1”というパスワードを設定していたとしよう。これを大文字小文字8文字以上などのさまざまな要件の下に変更するときには、“$”、“0”や“!”などの似たような文字に置き換えて、“Pa$$word1”や“Passw0rd!”といった一部を変えたものを使ってしまうのである。
一見複雑に見えなくもないが、これらの変換規則は犯罪者から見ても推測しやすい。もし過去のパスワードが知られてしまうと、変更後のパスワードは簡単に当てられてしまうだろう。これはある研究結果でも証明されている。
ノースカロライナ大学では3カ月に1度、強制的にパスワードを変更させていた。その教員や学生の過去のパスワードから変更のパターンをルール化し、直近のパスワードを推定するという実験が行われた。この結果によると、過去のパスワードがわかっている場合、次のパスワードの17%は5回以内の試行で推測可能で、対象者の41%のパスワードが3秒以内に特定可能であった。
つまり、定期的な変更を強制することで、ありがちな変換規則を使って次のパスワードを決める利用者が多く、結果的に犯罪者から破られやすくなる、という事態に陥ってしまうのだ。