2023年03月26日くいなちゃん
パスワードは本当に定期的に変えたほうが良いのかを検証しました。

「パスワードは3ヶ月ごとに変えてください。」「過去5回以内に使用したパスワードを再設定しないでください。」などとよく言われますが、どのくらい効果があるのか気になったため検証しました。
1パスワードを定期的に変える安全性
1.1全部試行するケース
実際に試行して確かめてみましょう。
単純化のため、パスワードは「0000」から「9999」の4桁の数字をランダムに設定することにします。 これに対し、パスワードを破ろうとするハッカー(クラッカー)は、「0000」から始めて「9999」までを順番に打ち込んでいきます。 「9999」まで打ち込んでも破れなかったときは、再度「0000」に戻ってやり直します。
さて、このときパスワードを変更しなければ、ハッカーは10,000回以内の試行で必ずパスワードを破ることができます。 つまり平均をとると約5,000回の試行で破られると言えます。 では、パスワードを定期的に変更すると、破られるまでの平均回数がこの約5,000回よりも高くなるでしょうか。 もしも高くなれば、パスワードを定期的に変更したほうがセキュリティが向上することを意味します。
それぞれ1,000,000回ずつシミュレートした結果、表1-1のようになりました。
パスワードを変更する頻度 | 破られるまでの平均回数 |
---|---|
変更しない | 4999.96回 |
5000回に1回変更 | 7486.71回 |
4000回に1回変更 | 8003.51回 |
3000回に1回変更 | 8503.57回 |
2000回に1回変更 | 8997.70回 |
1000回に1回変更 | 9510.94回 |
毎回変更 | 9994.50回 |
パスワードを変える頻度を高めるほどハッカーに破られるまでの回数が上がっていますので、パスワードはなるべく高頻度で変えることで、セキュリティが向上することが確認できました。
1.2全部試行しないケース
今の例ではハッカーはパスワードを破れるまで試行を続けましたが、途中でやめるケースでも確認してみましょう。 今度はハッカーは「0000」から「5999」までを順番に打ち込み、それで破ることができなければハッカーは諦めるとします。 このときにハッカーがパスワードを破る確率を求めてみます。
1,000,000回ずつシミュレートした結果、表1-2のようになりました。
パスワードを変更する頻度 | 破られる確率 |
---|---|
変更しない | 60.05% |
5000回に1回変更 | 55.04% |
4000回に1回変更 | 52.02% |
3000回に1回変更 | 51.03% |
2000回に1回変更 | 48.77% |
1000回に1回変更 | 46.83% |
毎回変更 | 45.11% |
やはり頻繁に変更したほうが、セキュリティが向上することが確認できました。
1.3過去のパスワードを使わない安全性
次に、過去のパスワードはなるべく使い回さないほうが良いかどうかを検証します。
先ほどの検証で、高頻度でパスワードを変えたほうが良いことが判りましたので、今度は毎回パスワードを変えることにします。 ただし、いくつかのパスワードを順番に使い回して設定することにします。 例えば、パスワードが2個の場合は交互に設定し、3個の場合は「A、B、C、A、B、C、…」のように順番に設定します。
ハッカーは、「0000」から「9999」までを順番に打ち込み、それで破れなければ諦めます。 さて、ハッカーがパスワードを破る確率はどうでしょうか。
1,000,000回ずつシミュレートした結果、表1-3のようになりました。
パスワードを使い回す個数 | 破られる確率 |
---|---|
1個 | 100.00% |
2個 | 74.92% |
3個 | 70.36% |
4個 | 68.30% |
5個 | 67.20% |
6個 | 66.48% |
7個 | 66.02% |
8個 | 65.68% |
9個 | 65.35% |
10個 | 65.14% |
パスワードはなるべく多くの種類を使ったほうが破られる確率が下がることが判りました。 つまり過去に使ったパスワードはなるべく再設定しないほうが良さそうです。
2結論
単純化したモデルでは、頻繁に異なるパスワードで更新したほうがセキュリティが向上することが、実験によって確認できました。 ただちょっと面倒なのは事実なので、実際に頻繁に変えるかどうかは別問題になりますね。