2018.01.16 システム
パスワードを定期的に変更してはいけない
こんにちは、システムエンジニアの大貫です。
メール、Facebook、Twitter、Instagram、google、社内システム、PCやスマホのログイン・・・私達が生活していく中で、様々なWebサービスなどがあり、複数のパスワードを使い分けていると思います。
みなさんが使用しているパスワードは、英数大文字小文字記号混在10桁以上のように複雑なパスワードになっていますか?
パスワードが、簡易的なものや、憶測のされやすいもの、8桁未満なものなどは、パスワードを突破されてしまい、個人情報や、大事なデータ、お金が盗まれたり、情報を改ざんされる可能性もあります。
「パスワードを複雑にする」という対策のほかに、「パスワードは定期的に変えたほうが良い」というのもありますが、なぜパスワードを定期的に変更するということも対策になるのでしょうか?
10桁の複雑なパスワードを設定していたとします。
仮にパスワードを解析するのに「5年」かかるとすると、定期的にパスワードを変えることで、解析中の処理が無駄になるので、パスワードが破られにくくなるということになります。
システム管理者は、パスワードを破られることを防ぐために、「パスワードは○桁以上にしてください」とか、「英数記号混在な複雑なパスワードで!」とか、「定期的にパスワードを変えてください」とか言っているのです。
脱線し続けますが、何桁であれば安全なのでしょうか?
8桁の複雑な(英数大文字小文字記号混在)パスワードを設定していたとします。
PCの性能や、条件にもよりますが、5年前であれば、「数年」で解析できると言われていたものが、今や「数時間」で突破できると言われております。
これが10桁になると、「数年」になり、12桁になると「数千年」になります。
10桁以上のパスワードとなると、覚えるのに一苦労です。。。
しかも「定期的に変更しなさい」「サイト毎にパスワードを変えてください」と言われると、確かに、セキュリティ上はその方が良いのですが、人間の能力には限界があるので、どうしても、ルールが複雑になればなるほど、覚えやすいキーワードや規則性を持ったパスワードになってしまいがちです。
実際に、定期的にパスワード変更を求められると、多くの人は新しくパスワードを作るのではなく、「同じパターンで1~2文字を変えるだけ」であったり、「いくつかのパスワードを用意して切り替えていくだけ」といった単純な行動になるそうです。
例えば「Password!1」というパスワードにして、定期的にパスワードを変えるときに「Password!2」としても、ルールには沿っているわけですが、10桁といえども数秒で解析されてしまうようなパスワードになってしまいます。
これこそが、「パスワードは定期的に変更してはいけない」という理由の一つです。
もちろん、セキュリティ意識が高く、規則性のないパスワードを作成できるのであれば、自主的にパスワードを定期的に変更するのは、やるべきだと思います。ただし、どうしても定期的にパスワード変更を呼びかけると、安易なパスワードになってしまいがちという話です。
「電子認証に関するガイドライン」を発行しているアメリカの政府機関でも、先日「パスワードを定期的に変更するのを推奨しない」といった旨のガイドラインを発行しています。
パスワードを解析するPCの性能も上がっており、パスワードが10桁や12桁でも解析するのに時間がかからないということも起こりえそうです。
それでは、どうすれば良いのか・・・ランダムなパスワードを作成するのが一番ですが、簡単にできることといえば、パスワードの単純に桁数を増やせば良いのです。
ある機関では、スペース込みの64文字以上の「パスフレーズ(文章)」をパスワードにすることを推奨しており、フレーズにすれば長くても覚えやすく、桁数が多いので、総当たり攻撃や、場合によって辞書攻撃を受けたとしても、解読されにくいパスワードになるとのことでした。
自分で防衛できる方法としては、パスワードを長く複雑にすることですが、サイト側で出来ることといえば、ありふれた技術ではありますが、パスワードのリトライ回数を制限することです。
パスワードのリトライが何度もできるので、総当りでパスワードの解析をかけられ解析されてしまうので、それであれば、サイト側でリトライ回数を制限してあげれば、桁数が少ないパスワードでも、パスワードが解析される可能性は少なくなります。
その他にも2要素認証や、生体認証、ワンタイムパスワードなど対策はありますが、サイトの規模や、データの重要性に応じて、最適なご提案させていただきます。
サイトの改善に向けたご相談など、サイト制作に関わることについては、是非マリンロードへご相談ください。