良いパスワード文字列と自動生成

アカウントを作るとき、パスワード入力欄では、大体6~8文字を最低の長さとして、最長20文字くらいの英数字である事が多いです。

記号が使える場合は、記号を混ぜることでかなり強固なパスワードとなりますが、今回は英数字という事で考えていきます。

 

パスワードが第三者に知られるパターンには、ソーシャルハッキングやマルウェア感染などもありますが、直接的にアカウントに対して攻撃が行なわれるのは大きく分けて2パターンあります。

 

1.総当り攻撃(Brute force attack)
その名前のまま全ての有効な文字の組み合わせを試す手法。

仮にパスワードが4桁の数字であれば、「0000」から「9999」までを順番に試していく。
全部のパターンを試すので、時間の制約さえ無ければ100%パスワードが判ってしまう。

 

2.辞書攻撃(Dictionary attack)
単語(固有名詞なども含まれるし組み合わせる場合もある)が羅列されたリストから順番に試していく手法。

4桁のパスワードを全部自力で入れるのは時間がかかるので、「1192」や「4649」等の、よく使われるものを試していく。
短時間で突破しやすいものの、リストと一致しなければそこで終わる。

メインで使われるのはこちら。

 

2つの攻撃手法が主としてあるという事は、その両方に強いパスワードが求められますね?

総当り攻撃に対して強いのは単純な長さです。
パスワードが長ければ長いほど、組み合わせが多くて時間がかかってしまいます。

 

一方で辞書攻撃に強いのは、単語や固有名詞などを避けてランダムな組み合わせにする点も挙げられますが、こちらも実は長さが大事です。

20桁にも達する単語の組み合わせは、リストにある1つの単語だけでは到底足りません。
つまり組み合わせる事になります。

しかし20桁になる単語の組み合わせは、組み合わせる順番も正確でないとならない為、星の数ほどパターンが存在する事になります。

 

良いパスワード文字列

これらを考えると、単語や固有名詞を利用しない長いパスワードが良いパスワードとなります。

しかし現実問題として、頻繁にパスワードを手動入力するアカウントのパスワードが20桁というのは辛いものがあります。

ということで、覚えられる範囲で限界まで。
最低でも英数12桁のパスワードが理想的だと思います。
8桁と12桁は良く使われる長さでもあります。

 

少し話が横に逸れますが、パスワードを考える上で見落としている人が多いと思う事が1つあります。

それは、「パスワードは基本的に大文字と小文字を区別する」という事です。
これは実に大きな違いですが、意外と小文字しか使わない人が多い。

英数で考えると、
小文字(26) + 数字(10) = 36
小文字(26) + 大文字(26) + 数字(10) = 62

自分でパスワードを決める際には、英字は大文字と小文字を使いましょう。

 

12桁の英数パスワードを実際に作ってみる

自分の感覚で1つ決めてみても良いですが、完全なランダム生成を行なうにはジェネレータが便利です。

以下のサイトではウェブ上で手軽にパスワードのランダム生成が可能です。

パスワード生成ツール(lufttools)

 

作ったパスワードは、メモするのであればPC上ではなく紙媒体にメモし、何度か入力している内に覚えてしまいましょう。

 

最終更新:2013/07/16 (初出:2013/07/16)
  1. コメントはまだありません。

  1. トラックバックはまだありません。