パスワードは何文字以上がいいのか?ベストは〇文字以上!

パスワードの文字数による総当たりの組数
パスワードは総当たり攻撃といいまして、PCを使って、膨大な文字数の組み合わせを全部試してみて、正解を当ててしまうことができます。
半沢直樹のドラマでもやっていましたが、実は時間をかければ可能なんです。
以下wikipediaに掲載されているパスワードの文字数別総当たり回数比較です。
使用する文字の種類 | 1文字の場合 | 4文字の場合 | 6文字の場合 | 8文字の場合 | 10文字の場合 |
---|---|---|---|---|---|
数字のみ(0~9) | 10 | 10,000 | 1,000,000 | 100,000,000 | 10,000,000,000 |
英字(大文字、小文字区別しない) | 26 | 456,976 | 38,915,776 | 208,827,064,576 | 141,167,095,653,376 |
英字(大小区別しない)+数字 | 36 | 1,679,616 | 2,176,782,336 | 2,821,109,907,456 | 3,656,158,440,062,976 |
英字(大文字、小文字区別)+数字 | 62 | 14,776,336 | 56,800,235,584 | 218,340,105,584,896 | 839,299,365,868,340,224 |
英字(大小区別)+数字+記号31文字 | 93 | 74,805,201 | 646,990,183,449 | 5,595,818,096,650,401 | 48,388,230,717,929,320,352 |
英字(大小区別)+数字+記号34文字 | 96 | 84,934,656 | 782,757,789,696 | 7,213,895,789,838,336 | 66,483,263,599,150,104,576 |
文字数が増えるほど、また記号や大文字や数字などが入るほど、総当たり回数が増えていくことがわかりますね。10桁で、記号、大文字、数字も含めた場合、とんでもない組み合わせ数になっています。
パスワード1文字増えるごとに解読にかかる時間は激増
そして、実際上記の組み合わせを行うためにかかる時間をIPAという団体がごく一般的なPCで調査したところ以下の結果になりました。
使用する文字の種類 | 4文字の場合 | 6文字の場合 | 8文字の場合 | 10文字の場合 |
---|---|---|---|---|
英字(大文字、小文字区別しない) | 約3秒 | 約37分 | 約17日 | 約32年 |
英字(大文字、小文字区別)+数字 | 約2分 | 約5日 | 約50年 | 約20万年 |
英字(大文字、小文字区別有)+数字+記号 | 約9分 | 約54日 | 約1千年 | 約1千万年 |
また、上記データはちょっと古いものでしたので、PCは毎年どんどん計算能力が上がっていきますが、2020年に調査したパスワード解読までにかかる時間のデータはこちらです。
設定方法 | 数字 | 小文字 | 小+大文字 | 小+大+数 | 小+大+数+記号 |
---|---|---|---|---|---|
6文字 | 1秒以下 | 1秒以下 | 1秒以下 | 1秒 | 5秒 |
7文字 | 1秒以下 | 1秒以下 | 25秒 | 1分 | 6分 |
8文字 | 1秒以下 | 5秒 | 22分 | 1時間 | 8時間 |
9文字 | 1秒以下 | 2分 | 19時間 | 3日 | 3週間 |
10文字 | 1秒以下 | 1分 | 1ヶ月 | 7ヶ月 | 5年 |
11文字 | 2秒 | 1日 | 5年 | 41年 | 400年 |
12文字 | 25秒 | 3週間 | 300年 | 2,000年 | 34,000年 |
組み合わせ数で言われてもピンときませんが、解読までにかかる時間でみるとイメージしやすいですね。今は、スーパーコンピューターや量子コンピューターなどもありますので、最低でも12桁以上、かつ大文字や記号も含めた方がいいのかなと思いますね。
おすすめのパスワードは何文字以上がいいのか?
先ほどのIPAという団体では、以下の条件でした。
IPA 推奨パスワードの条件
①最低でも10桁以上 ②大文字小文字がある ③記号も使っている
google 推奨パスワードの条件
①12文字以上 ②半角英字、数字、記号を使っている
団体や企業ごとにお勧めのパスワード桁数は若干違いますが、先ほどの解読時間を考えると、当サイトとしては、最低12桁以上。そして、記号、大文字も含めることをお勧めしたいと思います。
12桁以上のパスワードの作り方
長いパスワードだと、覚えるのが大変になってきますよね。かといって、生年月日等を入れれば、簡単に解読されてしまう恐れも。
コアパスワードを設定
12桁以上のパスワードは、コアパスワードを設定することをお勧めします。
「コアパスワード(8桁くらい)」 + 「 記号 」 + 「 数字 」などの組み合わせです。
例えば、「todayisrain(11桁)」+「$」+「22」 ➡ todayisrain$22
という作り方です。
つまり覚えやすい短いパスワードに記号、数字などを組み合わせる方法です。
名前や生年月日を変えるマイルールを考える
例えば、watanabeではなく、aを全部bにしてみて、wbtbnbeにしてみる。
生年月日が0615であれば、これを倍して、1230にしてみる。
自分だけのマイルールで覚えやすいものを変換することで、安全性が高まります。
google workspaceでは、ユーザーのパスワードの桁数指定が可能
有料版google workspaceでは、パスワードの桁数指定が可能です。
左側のメニューから セキュリティ > 認証 > パスワードの管理に進みましょう。
安全なパスワードを適用するにチェックをいれましょう。これで、文字だけとか、passwordのような簡単に解読されそうなパスワードは設定ができなくなります。
そして、長さも設定ができます。おすすめは12桁以上です。
なお、microsoft365では、パスワードの有効期限をポリシーで設定ができるのですが、桁数や記号を入れるなどのルール設定はできません。運用ルールとしては社内で定めることしかないですね。
パスワードを定期的に変更は不要?
実は、総務省やアメリカのNIST(米国国立標準技術研究所)などは、パスワードを定期的に変更する必要はないという声明を出しています。定期的に変更する場合、覚えやすいパスワードにせざるを得ないので、より簡単なパスワードになってしまいがちで、逆に安全性が損なわれるということなんですね。
まとめ
パスワードの長さについて、まとめてみました。特に法人の場合、従業員が覚えやすい安易なパスワードを使ってしまう可能性がありますので、google workspaceのような設定ができるのはありがたいですね。
また、定期的に変更するのは大変です。ある程度セキュリティの高いパスワード作成して、それを使うことの方が重要ではないでしょうか。
関連記事
