皆さんは、パスワードを設定する時に
- 「8文字以上で設定してください」
- 「名前や誕生日などの予想しやすいパスワードは設定しないでください」
- 「連続した数字を使用しないでください」
- 「パスワードには必ず大文字小文字、数字を含んでください」
このような注意を受けた事はありませんか?
これは、分かりやすいパスワードを設定すると、人がパスワードを予測するのが容易になるだけではなく、コンピュータでパスワードを解読しようとした時に、解読時間が大きく変わってくるからという理由があります。
この動画では、実際にどれくらい解読時間が変わるのかを検証していきます。
分かりやすいパスワードの場合、一瞬で解読されてしまう驚きの様子が見れますので、是非最後まで記事を見ていってください。
パスワード解読方法
今回は、パスワードのかかったZIPファイルの解読時間を計測してみます。
また、解読にはパスワード解読ソフト「John the ripper」 というツールを利用します。
使用したPCのスペックは
- OS:Mac
- CPU:2.3GHz 8コア Intel Core i9
- メモリ:64GB 2666MHz DDR4
になります。
今回は
- 「人の名前や誕生日等の分かりやすいパスワードを設定した場合」
- 「コンピュータが決めたランダムな文字列を設定した場合」
の二つにわけて、文字数は同じという条件で解読時間を比べてみます。
また、この記事では「分かりやすいパスワードだった場合」の検証を行いますが、別の観点で「パスワードの文字数が短い場合と長い場合の解読時間の違い」について検証した記事もございますので、興味のある方は下記リンクよりぜひご覧になってください。
4桁の場合
まずは4桁で検証してみます。
4桁の数字4桁の分かりやすいパスワードの場合どれぐらいの早さで解読できるか試してみます。
パスワード付きのZIPファイルを作成し、パスワードの解読の処理をセットアップします。
それでは早速やってみます。
Enterを押すと解読開始です。
よーい、スタート。
はい、一瞬で解読が完了しました。
解読結果に表示された『1111』というパスワードを入力してみると、無事 zipファイルを開くこともできました。
このように4桁の数字のみのパスワードの場合は一瞬で解読することが可能です。
続いて、4桁のアルファベットと数字を交えたランダムな文字列だとどうなるでしょうか?
早速試してみます。
もう一度パスワードを設定しなおして計測してみました。
かかった時間は1分18秒でした。
このように4桁のパスワードの場合は、アルファベットや数字を交えたランダム文字列でもすぐに解読されてしまいます。
8桁の場合
続いて一般的にパスワードの最低の桁数として推奨されている8桁で検証してみます。
8桁のわかりやすい文字列の場合
分かりやすいパスワードの一例としてよくあるのが『名前 + 誕生日』の組み合わせです。
今回は試しに「yuki0101」で検証してみたいと思います。
zipファイルにパスワードをセットして、早速検証開始です。
はい、4桁の数字のみのパスワードと同様に一瞬で解読されてしまいました。
このように分かりやすいパスワードの場合は桁数関係なく一瞬で解読されてしまいます。
8桁のランダムな英数字文字列の場合
次に、8桁の英数字のランダムな文字列で試してみます。
パスワードは「v8kgJ04T」とします。
パスワードを設定し、検証開始!
しかし、…1日が経過しても、パスワードが解読されることはありませんでした。
このままだと解読に時間がかかってしまいそうなので、ランダムな文字列の場合は測定不能という結果にさせて頂きます。
簡単なパスワードが解読される理由
上述したように、パスワードが短い文字数のものや、分かりやすい文字列だとすぐに解読されてしまいます。
その理由は、「辞書攻撃」というパスワード解読手法を用いているからです。
辞書攻撃は辞書に乗っている英単語や人名、パスワードによく使われることが多い文字列を、大量に登録した辞書ファイルなどを用いてパスワード解読を行う手法です。
パスワード設定者が、パスワードを忘れないように一般的に使われる単語や人物名等、覚えやすいパスワードを設定するというケースを想定した攻撃手法です。
8桁のパスワードの場合、アルファベット、数字、記号のパターン数は2兆8211億99万7456通りとなり、この組み合わせを一つ一つ試すと膨大な時間がかかります。
そのため攻撃者は、辞書攻撃を用いてパスワード解読時間の短縮を試みるのです。
今回は辞書攻撃を用いて解読していますので、『名前+誕生日』のような分かりやすい文字は一瞬で解読されてしまいました。
まとめ
辞書攻撃はパスワードを解読する手法の中でも代表的な手法で誰でも簡単に悪用する事が出来てしまいます。
最近では、Apple製品の標準ブラウザであるSafariでは強力なパスワードを自動で提案・管理してくれる機能が搭載されたり、便利なパスワード管理アプリがいくつもリリースされていたりしてきています。
ランダムなパスワードの管理もしやすくなってきていますので、パスワードを設定する際はアルファベット、数字、記号まで含めたランダムな文字列を積極的に設定するようにしましょう。