どんなパスワードにすれば安全なのか?




こんにちは、松本です。

最近、安全のために、

「パスワードは簡単すぎないものにしましょう」

と言われることが多くなりましたが、実際に、

「どんなパスワードなら安全なのか?」

に関してはよくわからないということが多いのではないでしょうか?

文字数は?
文字の種類は?
・・・・などなど

残念ながら、100%完璧に安全なパスワードというものは存在しません。

どんなパスワードを設定しても、第三者が適当に入力したものが偶然あたってしまう可能性はゼロではないですので。

それでも、昨今問題になっているアカウントの乗っ取りなどを防ぐためにも、できることなら安全性の高いパスワードを設定しておきたいものですね。

当記事では、そんな安全性の高いパスワードについてご紹介します。

安全性の低いパスワードとは?


ではまず、安全性の低いパスワードから・・・。

以下のようなパスワードは、明らかに安全性が低いですので、可能な限り使わないほうが良いでしょう。

短い
例:ab、q10など

ワンパターな文字の繰り返し
例:1111、abcde、qwertyなど

数字だけ
例:生年月日、車のナンバー、記念日など

単語として意味がある、はその組み合わせ
例:password、ohanami、cooljapanなど

利用者の発信内容や嗜好、IDから予測しやすい
例:サーファーのブログで「1173」や「bigwave」など

これらは、適当に入力しただけでも当たってしまいやすいパスワードばかりですし、コンピューターを使って高速で解析されると、アッと言う間に突破されてしまう可能性が高いです。

どんなパスワードが良いのか?


では、どんなパスワードが良いのでしょうか?

基本的に、パスワードは、

長い
規則性がなく予測困難
使える文字の種類が多い

という条件を満たしていれば比較的安全です。

以下、もう少し具体的に。

長い


パスワードは長ければ長いほど安全です。

例えば、カスペルスキーのパスワード強度を測定できるページでチェックしてみると、

8文字未満は問題外、10文字でまずまず、14文字以上で強力

という感じに判断できそうです。

規則性がなく予測困難


ですが、長いパスワードでも、

・辞書に載っている言葉
・同じ文字の繰り返し
・「abcd・・・」や「9876・・・」のような規則的な文字の並び
・「qwerty」のようなキーボードの並び順通りの文字の組合せ

などや、それらの組合せでは、パスワードの安全性は下がります。

上記、カスペルスキーの測定ページでも、例えば「supercooljapan」と入力してみると、14文字あるにもかかわらず規則性がない場合の8文字と同程度の安全性であると判定されることからも、このような、

わかりやすい文字の並びを使うと安全性が下がる

ということがわかると思います。

使える文字の種類が多い


また、パスワードに使える文字の種類(数字、アルファベット大小文字、記号など)が多いほどパスワードの安全性は高くなります。

間違えやすいのですが、「使う」種類ではなく、「使える」文字の種類ですので、通常は利用するシステムで決められています。

つまり、一般的に、

使える文字の種類はユーザーに選択権がありません

なので、使える文字の範囲で、上記「長さ」と「規則性」に留意するようにしましょう。

また、「大文字、小文字、数字、記号を最低1文字ずつ含める必要があります」というシステムがよくありますが、実はこれは、使えるパスワードの種類を減らしてしまう仕組みで、パスワードを突破するためによく使われるブルートフォースアタック(可能性のある全てのパターンを試してみる総当たり攻撃)には逆に弱くなってしまうはずです。

恐らく、前項の「規則性がなく予測困難」なパスワードを強制する助けになっているものなのでしょう。

まとめ


というわけで、パスワードは、

システムで決められた文字の範囲で、規則性に乏しい文字の並びで、最低8文字、できれば10文字以上、安全性を重視するなら14文字以上

にすると良さそうです(あくまでも個人的な判断ですが)

そうは言っても判断が難しい場合が多いと思いますので、パスワードの判定ツールや作成ツールを利用するのが良いのではないでしょうか。

以下のような、ブラウザで無料で使えるものもありますので、ぜひ利用してみてください。
カスペルスキーのパスワード強度を測定できるページ
マイクロソフトのパスワード強度を測定できるページ

補足


ちなみに、パスワードの強度には、これらの他にもたくさんの要素が影響してきます。

例えば、システム側で、パスワードを間違えてた時にやり直しができる回数制限を設けている場合、これだけで安全性は大きく上がります。

また、上で紹介したツールページに表示される突破されるまでの時間は、パスワードを受け付ける側の処理時間を考慮していませんので、アメブロのようなオンラインのサービスの場合には、同じ手法で行えばもっと時間がかかるものと思われます。

逆に、どんなに強力なパスワードを設定しても、暗号化せずにログイン可能なパスワードを送信している場合は、ネット盗聴には無力です。

個人的には、一般の人が使える100%安全な認証方法って、今後も含め、発明されることは無いんじゃないかと思いますが、もしされたら素晴らしいですね。