Kuina-chan

くいなちゃん2019年05月20日


パスワードは定期的に変えたほうが良いのかどうかを検証しました。

「パスワードは3ヶ月ごとに変えてください。」「過去5回以内に使用したパスワードを再設定しないでください。」などとよく言われますが、どのくらい効果があるのか気になったため検証しました。

1パスワードを定期的に変える安全性

1.1全部試行するケース



実際に試行して確かめてみましょう。
単純化のため、パスワードは「0000」から「9999」の4桁の数字をランダムに設定することにします。 これに対し、パスワードを破ろうとするハッカー(クラッカー)は、「0000」から始めて「9999」までを順番に打ち込んでいきます。 「9999」まで打ち込んでも破れなかったときは、再度「0000」に戻ってやり直します。
さて、このときパスワードを変更しなければ、ハッカーは10,000回以内の試行で必ずパスワードを破ることができます。 パスワードがランダムに設定される場合、平均をとると約5,000回の試行で破られると言えます。
では、パスワードを定期的に変更すると、破られるまでの平均回数がこの約5,000回よりも高くなるでしょうか。 もしも高くなれば、パスワードを定期的に変更したほうがセキュリティが向上することを意味します。
それぞれ1,000,000回ずつ試行してみた結果、表1-1のようになりました。
表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回
ハッカーが5000回打ち込むごとにパスワード変更する場合から、ハッカーが1回打ち込むごとにパスワードを変更する場合までを表にしました。 パスワードを変える頻度を高めるほどハッカーに破られるまでの回数が上がっていますので、パスワードはなるべく高頻度で変えることで、セキュリティが向上することが確認できました。

1.2全部試行しないケース



今の例ではハッカーは破れるまで試行を続けましたが、別のケースも確認してみましょう。 今度はハッカーは「0000」から「5999」までを順番に打ち込み、それで破ることができなければハッカーは「諦める」とします。 このときにハッカーがパスワードを破る確率を求めてみます。
1,000,000回ずつ試行した結果、表1-2のようになりました。
表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-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結論

頻繁に異なるパスワードを設定したほうがセキュリティが向上することが、実験によって確認できました。
1558298670jaf