日々色んなWebサイトやWebサービスなどで、入力を求められる「パスワード」。
あなたはどんなパスワードを設定していますか?
今回は安全なパスワードとは? という問題について
考えてみたいと思います。
目次[コンテンツ]
パスワードの文字数(桁数)は13文字以上がオススメ
ハッカーなどの攻撃者がよく使用する手法として「ブルーとフォース攻撃」と呼ばれるものがあります。
これは、別名「総当り攻撃」とも呼ばれ、あらゆる文字を全て組み合わせて行く手法で
全ての文字列を順に組み合わせていきますので、最後には必ず成功してしまいます。
このブルートフォース攻撃に対して有効な対策はやはり
「パスワードの桁数(文字数)を増やす」
という事です。
パスワードの文字数についてよく耳にする数字として「8文字以上」というものがあります。
ただし、これは既に過去の話となりつつあります。
試しに、「How Secure Is My Password?」というパスワードの強度を診断できるサービスがあります。
How Secure Is My Password?
https://howsecureismypassword.net/
ここで、ランダムな文字列を8文字(半角小文字の英字のみ にて)入力してみたところ...
その診断結果は、なんと『5秒』! で破られてしまうとの事。汗;
そう、攻撃をしかけてくる側も日々進歩しているのです。
単に文字数を増やせばその分、解析に(見破るのに)かかる時間はかかるのは当然なので
文字数を変えて実験してみた結果が下記になります。
※全て半角小文字の英語だけでの組み合わせで実験しました
- 8文字・・・5秒
- 9文字・・・2分
- 10文字・・・59分
- 11文字・・・1日
- 12文字・・・4週間
- 13文字・・・2年
- 14文字・・・51年
- 15文字・・・1,000年
という事になりました。
桁数(文字数)は多ければ多いほど良いのですが、
上記の結果から、大きく違いが現れるのが13文字から
という事がお分かり頂けるかと思います。
パスワードには大文字小文字を混在させるのがオススメ
前述の実験では、「半角小文字の英字のみ」という条件でしたが
今度は「大文字・小文字を混在」させてみた場合はいかがでしょうか
※前述のパスワードに対して1文字だけ大文字を混在させて実験
- 8文字・・・22分
- 9文字・・・19時間
- 10文字・・・1ヶ月
- 11文字・・・6年
- 12文字・・・300年
- 13文字・・・16,000年
- 14文字・・・837,000年
- 15文字・・・4,400万年
という結果になりました。
既に天文学的な数値が並んでいますね。
パスワードには数字を混在させるのがオススメ
今度はパターンを変えて「半角小文字の英字+数字1文字」という条件で
実験を行ってみました。
- 8文字・・・1分
- 9文字・・・42分
- 10文字・・・1日
- 11文字・・・1ヶ月
- 12文字・・・4年
- 13文字・・・100年
- 14文字・・・5,000年
- 15文字・・・175,000年
いかがでしょうか。大文字+小文字 の組み合わせパターンに比べると
少し期間は短くなってしまっていますが、「小文字の英字だけ」の場合と比べると
かなり強固な事がわかります。
パスワードに記号を含めるのがオススメ
では次に、「小文字の英字+記号1文字」の場合でじけっんしてみたいと思います。
- 8文字・・・3分
- 9文字・・・2時間
- 10文字・・・4日
- 11文字・・・5ヶ月
- 12文字・・・700年
- 13文字・・・30,000年
- 14文字・・・5,000年
- 15文字・・・100万年
という結果になりました。
結論
パスワードは『英字の大文字+英字の小文字+数字+記号』を組み合わせたパターンで
13文字以上が強固である。
試しに、8文字で試した場合でも、解読までに『9年』かかるとの結果がはじかれました。
以前、情報セキュリティの公的機関のセミナーに参加した際にもオススメのパターンとして
- 英字の大文字+小文字れ数字+記号 を組み合わせる
- 13文字(桁)以上にする
- 同じパスワードを色んなWebサイトで使い回しをしない
- 定期的にパスワードを変更する
- 推測されやすい文字や誕生日などの数字に設定しない
という明確なアドバイスを受けました。
では、最後にオススメのパターン(13桁)で実験を行ってみましょう。
結果は 『300万年』でした。
いかがでしたか。
今回の実験結果をもとに、パスワードの安全性ついて今一度見直してみてはどうでしょう?