安全なパスワードといえば、皆さんはどんなものを思い描くでしょうか。
桁数が8桁以上・定期的に変更、などいろいろとイメージを持たれるでしょう。しかし、「安全な」パスワードの作り方は最近大きく変化していることをご存じでしょうか。
パスワードを窃取する、悪用するといった攻撃者の手口も進化し、さらに解析するコンピュータも非常に高速になってきているので、パスワードの作り方も進化が必要なのです。
この記事では、現在本当に安全なパスワードとは何か、ご説明します。
また、パスワード情報のほかにも多様なセキュリティインシデントについて、適切な知識と必要な対策を行っていただけるよう、セキュリティインシデントについて基礎知識から事例まで網羅した資料をこちらから無料で配布しています。
本記事と併せて、貴社のセキュリティ対策にお役立ていただけます。
パスワード桁数などのルールの常識は非常識になりつつある
パスワードが8桁以上、定期的に変更するといった今までのパスワードルールの常識は、一言でいうともう通用しないものと考えた方が賢明です。
各種のセキュリティ団体や、セキュリティベンダーなどのガイダンスでも、パスワードのルールについてはここ数年大幅に改訂されています。
パスワード桁数は最低でも10桁以上で英数字と記号の組み合わせが必要
例えば桁数ですが、かつては「8桁以上」とされていました。この指針は2011年にIPAが公表していたものです。このため、「パスワードは8桁以上にしてください」などとサイトのユーザー登録などの場面で要求されることも多かったのです。
これに対して、現在のIPAは「できるだけ長く」「複雑で」「使い回さない」の3点を安全なパスワードのポイントとしており、8桁、10桁などと桁数は指定しません。
複雑、というのは、英数字・記号・桁数が多いといった要素を組み合わせることを意味しています。文字列を複雑にすることにより、悪意ある攻撃者が早期にパスワードを解読して見破る時間をさらに長くすることができます。
では、現在パスワードが解析されるまでにどれくらいの時間を要するのでしょうか。言い換えると、悪意ある者が総当たり攻撃=ブルートフォース攻撃を仕掛けたときに、パスワードの解読ができるか、という問題です。
パスワードの解読時間を調べられるHOW SECURE IS MY PASSWORDというサイトがあります。このサイトによりランダムな文字列のパスワードの解読時間を調べた結果は以下の通りです。解析コンピュータの条件など、詳しいことはわかりませんが、目安となりそうです。
8桁では記号まで入れないと、かなり心もとない結果になっています。
桁数 | 6桁 | 8桁 | 10桁 | 12桁 | 14桁 |
---|---|---|---|---|---|
アルファベット | 400ミリ秒 | 22分 | 1ヶ月 | 300年 | 80万年 |
アルファベット+数字 | 1秒 | 1時間 | 7か月 | 2000年 | 900万年 |
アルファベット+数字 +記号 | 19秒 | 2日 | 52年 | 40万年 | 40億年 |
※アルファベットは、大文字+小文字を混合している場合です。
桁を多くすること、できるだけ文字列は組み合わせることにより、パスワードをより安全にできることがわかります。
単純にアルファベットだけでも、14桁になると、なんと80万年もかかります。6桁ではすべて秒またはそれ未満の単位でパスワードがわかってしまいます。ちなみに、日本の代表的なセキュリティ機関・団体によると、次のパスワードが推奨されています。
- 内閣サイバーセキュリティセンター
- 10桁以上、英数字+記号の混合
- JPCERT/CC
- 12桁以上、英数字+記号
8桁といわれていた10年前から変化し、現在は10~12桁+英数字+記号のパスワードがより安全なものとして推奨されています。
このルールに、自分の生年月日・電話番号といった自分に関係のある数字を使わないこと、そして、意味のある文字列にしないこと(例えば、Musicloverは不適切)の2つの基本ルールを加えたパスワードは現在安全なものということができそうです。
解読しにくいパスワードであれば定期的な変更は不要
さらに論点となっているのは、パスワードに定期的な変更が必要か、という問題です。かつて、不正アクセス対策には、定期的にパスワードを変更すべきであるとNIST(米国国立標準技術研究所)の電子的認証に関するガイドラインに記載されていました。
ところが、2017年6月に発表されたNISTの「電子的認証に関するガイドライン」の最新版では、「サービス提供者はパスワードの定期変更を要求すべきでない」と記載が変更されました。
つまり、パスワードは、複雑なものであれば、定期的変更は必要がない、ということです。定期的な変更は、むしろ弊害があり、利用者は複雑なパスワードを作って覚えておくよりも変更しても覚えていられる簡単なパスワードを作りがちになってしまうことが指摘されています。
安全なパスワードの桁数などを考慮して効率よく作成するには
アルファベット、数字、記号の組み合わせで、桁数を長くすれば解読されづらい安全なパスワードになります。これを定期変更せずに使い続けることはできますが、各サイトでパスワードを変えておかないと、1つのサイトから窃取されたパスワードであらゆるサイトのパスワードが破られることになるので、危険極まりない話です。
そこで、さらに安全なパスワードを多く作り出し、安全に管理するにはどうしたらよいのかが問題になります。
2つ方法があり、1つがパスワードのシリーズを「コアパスワード」でつくる考え方です。もう1つがツールを使う考え方です。2つの方法について少し詳しく見てみましょう。
コアパスワードを使用した作成方法
忘れない、複雑なパスワードを自分で作成する場合は「コアパスワード」と呼ばれるベースの文字列を利用してパスワードを作成していくことが有効な手段です。この「コアパスワード」を使う考え方は、IPAからも推奨されています。
コアパスワードには、自分と関係のない固有名詞を利用する方法や、何らかの文章を作成、文節ごとの頭文字をつなぎ合わせてワードをつくる方法があります。
コアパスワードMidorigaokaを使ったパスワード作成例
Midorigaoka (地名)+01+記号、02+記号+ Midorigaoka
さらに緑から他の色に変える
Murasakigaoka+03+記号、04+記号+Murasakigaoka
文章を作成、文節ごとの頭文字をつないだパスワード例
Kotoshi no natsu ha umi he iku (今年の夏は海へ行く)→ Knnhuhi+001+記号
Umide sakana wo tutte taberu (海で魚を釣って食べる)→Uswtte+002 +記号
これらのやり方でパスワードを作ると、複雑なパスワードができるほか、自分が規則性をわかっていればよいので管理がしやすく、また、多くのパスワードを作りやすくなります。
パスワード管理ツールの利用
LastPass、1Password、Dashlaneなど、パスワード生成・管理ツールを使い、パスワードは自動生成し、自分では覚えない、という方法もあります。
サービスにマスターパスワード、または生体認証でログインし、PC・スマホなど複数デバイスで使うことができます。自動生成されるパスワードは強固なものであり、一元管理もこの方法なら簡単に行えます。
パスワードの強度をチェックするには
作成したパスワードの強度が十分であるかどうかは、次にあげるようなサービスを使ってチェックをすることができます。
サイトにパスワードを入力すると、どれくらいで解読される可能性があるか、またサイトによってはどんな問題点のあるパスワードなのか、指摘してくれます。
まとめ
以上みてきた通り、パスワードは、かつてより多い桁数・いくつかの種類の文字列を組み合わせる複雑さが必要になっています。
攻撃者がより巧妙にパスワードを窃取すること、また、解析するコンピューターも高速化しているため、パスワードもこれに合わせて進化することが必要になったためです。
IPAなどで推奨するパスワードの作り方や、ツールを使い、各サービスで異なったパスワードを利用し、安全にサービスを使いましょう。
また、パスワード情報のほかにも多様なセキュリティインシデントについて、適切な知識と必要な対策を行っていただけるよう、セキュリティインシデントについて基礎知識から事例まで網羅した資料をこちらから無料で配布しています。
本記事と併せて、貴社のセキュリティ対策にお役立ていただけます。