ネットサービスでアカウントを登録したことがない方は現代ではほとんどいらっしゃらないでしょう。
アカウント登録をする際に間違いなく必要になるのがパスワードです。
様々なサービスで同じパスワードを使いまわすことはもちろんよくないのはご存知でしょうが、そもそもパスワードって何桁なら安全なのか知っていますか?
今回は何桁以上のパスワードであれば安全と言えるのかを実際にパスワードをクラッキング(解読)して、桁数によってどれぐらいの時間がかかるかを検証してみました。
普段設定しているパスワードが安全なのかを知ることができる良い機会ですのでぜひご覧ください。
目次
今回のパスワード解読のルール
パスワードの解読は以下の3つの方法に沿って行っていきます。
- ZIPファイルのパスワードを解読する
- 同一のパソコンから解読する
- パスワードはアルファベット、数字を必ず取り入れる
①ZIPファイルのパスワードを解読する
ウェブサービスのパスワードを解読するのはセキュリティ上 非常に危険なので、ZIPファイルのパスワードを解読する時間で計測します。
解読にはJohn the Ripperというツールを利用します。
John the Ripperとは
有名な高速パスワード解読ソフトです。
自分のパスワードを忘れてしまったから使う、というのは恐らく稀で、たいていは犯罪者集団が不正利用を目的に悪用していると考えられます。
こうした便利なツールが存在するため、悪用してくる攻撃者からパスワードを見破られないようにする対策が必要というわけです。
ちなみにJohn the Ripperについてですが、以下の動画にて詳しく解説していますので気になる方はぜひご覧ください。
②同一のパソコンから解読する
公平性を保つため、1つのパソコンで計測します。
今回はMacbook Proを利用します。
Appleが提供するノートPCで、CPU:2.3GHz、8コア
Intel Core i9 プロセッサを搭載し、メモリも64GBあり、現行マックブックの中では最高スペックのものを利用します。
ちなみにお値段は 416.680円です(お高い…!)
③パスワードはアルファベット、数字を必ず入れる
どの桁数においても、難易度の担保のため、簡単なパスワードは使用せずに、アルファベットと数字を必ず取り入れるようにします。
John the Ripperにはよくあるパスワード候補が大量に搭載されており、わかりやすいパスワードはすぐに当たりがつけられて解読されてしまうのです。
これを避けるために数字とアルファベットを織り交ぜて設定します。
パスワード解読の検証結果
それでは実際に以下で検証結果を紹介していきます。
4桁のパスワードの場合
パスワード付きのzipファイルを作製し、4桁のパスワードを設定します。
続いて以下の画像の通りJohn the Ripperのコマンドを使ってパスワードの解読を開始します。
さて、ここからEnterを押すと解析開始ですが…
なんとたったの10秒で解析ができてしまいました。
(12abという文字が解析結果のパスワードであり、その下の0:00:00:10という文字列が解析にかかった時間を表します)
実際にパスワードを入力するとzipファイルはきちんと開けて、しっかり中身を見ることができました。
4桁だとあっという間に解読されてしまうことがわかりました。
6桁のパスワードの場合
続いて6桁のパスワードで検証してみます。
4桁の時と同じようにパスワードの解析をします。
4桁で10秒程度だったので6桁でも10分ぐらいあればいけるのではと予想されますが…
結果は1時間11秒でした。
(解読されたパスワードはk31m1f、時間は0:01:00:11)
想像以上に時間がかかりました。
2桁増やすだけでここまで解読時間が変わってくるのですね。
8桁パスワードの場合
最後に様々なサービスで推奨されている8桁のパスワードで検証してみます。
6桁で1時間だったので8桁だと数時間は覚悟していますが果たしてどうなるでしょうか・・・
上記画像は、計測を始めてから1日が過ぎたものですが、全く解析が終わる気配がありません。
画像の赤線で示されている数字が計測時間になっているのですが、すでに22時間が経過してしまいました。
いつ終わるのかは気になるところですが、途方もない時間がかかりそうなので、今回はここでタイムアップとさせて頂きました。。。
検証結果まとめ
今回の検証結果をまとめるとそれぞれの桁数のパスワード解読にかかった時間は4桁→10秒、6桁→1時間11秒、8桁→計測不能、となりました。
なぜここまでの差が出たかというと、答えは単純で、桁数が増えるとそれだけパスワードのパターン数が膨大になっていくからです。
今回のように数字とアルファベットを組み合わせた時のそれぞれの桁数におけるパターン数は4桁→167万9616、6桁→21億7678万2336、8桁→2兆8211億99万7456、となります。
パスワードの解読ではこのパターンをすべて検証していくため、パターン数が増えるほど、解読に時間がかかるのです。
しかし、桁数をただ多くすれば良いだけではありません。
例えば8桁以上が推奨されているからといって19920501のような生年月日などのわかりやすいパスワードは桁数が多かろうと一瞬で解読されてしまいます。
実際にやってみると5秒で解読されてしまいました。
これはディクショナリアタック(辞書攻撃)というパスワードの解読方法で、辞書や人にとって意味のある単語のリストから解読する手段です。
ご紹介したように、桁数が増えてくるととんでもない数のパスワードを試さなければなりません。
そのため少しでも早く解読できるようにまずディクショナリアタックを用いてよく使われるパスワードから解読を始めるというのが、パスワードクラッキング(解読)の基本的な方法です。
名前や誕生日などのわかりやすい文字や数字を使ってしまうと、このディクショナリアタックによってすぐに解読されてしまうのでご注意ください。
まとめ
この記事からわかる通り、パスワードは、やはり8桁以上で、英数字を混ぜた、予想されにくい文字列がふさわしいようです。
最後に面白いサイトを見つけたのでご紹介します。
こちらはDashlane Inc.というアメリカのパスワード管理ソフトを提供している企業が運営しているサイトです。
このサイトではパスワードをフォームに入力すると、そのパスワードが解読されるまでの時間が表示されます。
パスワード管理ソフトを提供している企業ということもあり、英数字記号まで含めた8桁のパスワードでも割とすぐに解読されてしまいます。
参考までにですが、12桁以上で設定すると解読に1000年以上かかることになり、安全なパスワードと言えるようです。
あなたが今使っているパスワードがどれくらいの時間で解読されてしまうのかをぜひ試してみてはいかがでしょうか⇓
もし数時間で解読されてしまうようであれば、パスワードの変更を強くおすすめします。
以上、桁数ごとのパスワード解読検証の記事でした。