大文字・小文字を必ず混在させる様にすると、生成できる総数が変わってしまう
実は以前にパスワード登録時に大文字・小文字の区別を必須にすると、パスワードの総数が減って逆によくないという話を知人から聞き、少し心配になってきたので、パスワード登録の仕組みについて少し考えてみました。インターネットも浸透し、スマートフォンを1人で1台持つような時代です。
そんな時代に合った様々なインターネットサービスが展開されており、使いこなせれば様々な管理が楽になったり、集計が楽になったり、誰とでもすぐに連絡が取れたり・・・と非常に便利ですね。
そんなサービスを受ける為には、アカウントを取得してパスワードを設定する機会も多いのではないでしょうか。
そんなパスワードですが、中には「大文字・小文字・記号・数字」を必ず混在させなければパスワード認証で引っかかってしまって、登録ができないサービスもあると思います。
これは単純なパスワードを設定してしまう事で、乗っ取りや悪用されるといった被害に合わない為の対策です。
本来、登録する自分自身で他者がわからないようなパスワードを考えて登録する物ですが、登録した本人もわからなくなってしまう事があったり、安易にパスワードを設定してしまったり、急いでいてひとまず簡単な物を設定してそのまま・・・という場合もあるかもしれません。
登録する段階で、大文字・小文字・記号・数字を必ず入れなければ登録が完了できないようにすることで、仮に安易なパスワードを設定されても多少のセキュリティ性を持たせることができます。
ですが、登録する時に大文字・小文字・記号・数字の混在が必須、もし含まれていなければ登録ができない・・・としてしまうと、生成出来るパスワードの総数が減ってしまいます。
大文字だけ・小文字だけといったパターンを全て除外できてしまう
パスワードを特定する場合、類推して試す事もあると思いますが、多くが機械的に全てのパターンを試してきます。そうした時に大文字・小文字・記号・数字の混在が必須になっていると、大文字だけ、小文字だけ、といったパスワードのパターンを全て除外できるので、結果的に想定よりも短い時間でパスワードが割られてしまうこともあるのだそうです。
例えば2文字の「a」と「b」で考えてみると 「Ab」「AB」「aB」「ab」「Ba」「BA」「bA」「ba」のパターンがあるでしょうか・・・ここから大文字だけ・小文字だけを除外すると4つ減り、半分になってしまいます。
必ず大文字を入れなければならない、小文字をいれなければならない、といったようにあらかじめ制限を付けておく事で、類推されにくくセキュリティ性の高いパスワードを作ることができますが、実際は作る事のできるパスワードの総数が減ってしまう結果となってしまいます。
なら登録させる文字数を増やせば良いかというと、そうでもないですね。
最低10文字!とすると、9文字以下のパターンが除外できてしまいますからね。
最低限のセキュリティ性を持たせる仕組みがベスト
パスワードの推奨設定は大文字・小文字・記号・数字を混ぜ込んだパスワードです!混ぜ込んだパスワードを設定して使いましょうという文言で促して、登録時に大文字がないだとか、数字がないだとかで登録をはじいてしまう・・・という事は控えた方が、サービス全体でセキュリティ性が高まるような気がします。実際に登録する時になると大文字・小文字を混在させる事は面倒なもの・・・
私自身も混在させると訳がわからなくなってきますので、もし登録時に混在が必須でなければ混ぜ込む事はあまりしないかもしれません。
ですが制限のないままだと、セキュリティ性が全くないようなパスワードが乱立してしまう可能性がとても高まるので、最低限のセキュリティ性を確保できる仕組みにしておく事がベストなのかもしれませんね。
総数が減ってしまうとしても仕組みでカバーできる
仮にパスワードの総数が減ってしまったとしても、3回間違えると1日間ロックされてしまうとか、ロックを解除する為には電話しなければならないとか・・・そういった仕組みに出来れば最低でも3回の入力を回避できればいいので、総数が減っても問題なさそうです。
大文字・小文字・記号・数字の混在させた10桁パスワードの全パターンの特定には1千万年程度必要
参考までに機械的にパスワードを総当たり攻撃した場合の時間を調べてみました。 6桁の英字(大文字・小文字区別なし)では最大で約37分、10桁になると約32年かかるそうです。大文字・小文字を混在させ、数字を足すと、6桁で最大約5日、10桁では約20万年!!
更に記号を足すと、6桁で最大約54日、10桁では約1千万年もかかるという情報がみつかりました。
恐らく機械の性能でもっと時間がかかったり、もう少し短い時間で解読できたりするかもしれませんが、大文字・小文字・記号・数字を混在させた10桁のパスワードを作ると、1千万年位は耐えてくれそうです。
パスワードの総数が減ってしまうので、最初に制限を設けるのは逆に良くないと聞きましたが、最初に制限を設定して必ず混在させるようして、文字入力数を最低でも8桁程度つけてあげれば、そうそう割られる事もなさそうです。
ちなみに大文字・小文字・記号・数字を混在させた8桁のパスワードを全パターン出すには約1千年必要だそうです。
総数が減ってしまうといっても、そこまで心配する事もなさそうですね。
だからといって、安易なパスワードにしてしまってはいけませんよ。
類推されにくい物を設定しなければ意味がないので、要注意です。