色々な場面で登場するパスワード。
登録先のシステムによって、文字種や文字数などの規定は様々ですが、「最低何文字」という規定はあっても「最大文字数」はあまり明記されていません。
少し調べてみると、最大128文字程度であることが多いようです。実際にそこまで長くする人はいないので、最大文字数はわざわざ表示する必要はないだろう、ということでしょう。
パスワードは長くなればなるほど安全になる、というのはわかると思いますが、反面、長くなればなるほど、覚えたり入力したりするのが面倒になり、ユーザーのストレスが増加することになるので、パスワードの文字数については「必要十分な桁数があればいい」という考え方で良いと思います。
大抵の人は、システムが要求する最小桁数や、現時点でスタンダード的になっている8桁でパスワードを設定していると思いますが、本当に安全な桁数は何桁なのでしょうか?
これに関しては、「ブルートフォースアタック」といわれるパスワードの総当たり攻撃を、一般的なレベルのPCで行った場合の実験結果が、様々な研究機関やセキュリティ関連企業などから発表されています。
それによると、パスワードを設定して生成したZIPファイルのパスワード解析にかかる時間は、以下のとおりとなっています。
ZIPパスワード検証結果
利用文字種\桁数 | 7桁 | 8桁 | 9桁 | 10桁 |
---|---|---|---|---|
英小文字のみ (26文字種) | 2秒 | 52秒 | 22分 | 10時間 |
英大小文字+数字 (62文字種) | 15分 | 15時間 | 39日 | 7年 |
英大小文字+数字+記号 (96文字種) | 5時間 | 20日 | 5年 | 527年 |
dit 2014年発表データより参照(http://www.dit.co.jp/report/security_report/forensic_center/20141001.html)
この表を見る限り、現時点でメジャーな「8桁パスワードは十分安全とはいえない」ということになります。
さらに、英小文字だけだと、10文字でも10時間で解析されてしまうので、とても安全とはいえません。
「安全」といえるレベルに到達するには「英大文字+小文字+数字の組み合わせで10文字(解析に7年)以上」「英大文字+小文字+数字+記号の組み合わせで9文字(解析に5年)以上」のパスワードを設定する必要がある、という結果が出ています。
攻撃者が解析に使うPCの処理速度が上がれば、解析に要する時間はさらに短縮してしまいます。
ただ、実際にオンラインサービスへ攻撃をするとなると、これ以上の時間がかかります。
複数回のパスワード間違いなどでアカウントロックがかかるようになっていたりするので、この表の解析時間だけで、危険性を断言するには無理があります。
とはいっても、8文字という文字数では、やや不安になりますね……。
そこで、パスワードの文字数だけで安全性を高めるのではなく、新たな技術を使って安全性を高める新方式が開発されています。
例えば、「ワンタイムパスワード」や「指紋認証」や「顔認証」、「ICカード認証」などなど……これらについては、また別の機会にご紹介します。