安全なパスワードの長さは?その質問自体が間違っているかも
今回は「安全なパスワードの長さは?その質問自体が間違っているかも」についてご紹介します。
関連ワード (セキュリティ等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
パスワードが長い方が安全であるのは、常識だと言っていいだろう。パスワードが長くなるほど、あり得る組み合わせが増える。つまり、自動化システムであらゆる組み合わせを試していくことでパスワードを破る「総当たり攻撃」にかかる時間も、それだけ長くなるわけだ。
セキュリティの専門家は、もはや8文字のパスワードでは短すぎ、ゲーミングPCに使われるGPUのような、簡単に入るハードウェアでも簡単に破れると考えている。例えばHive Systemsの計算では、NVIDIAの「GeForce RTX 4090」を使用した場合、8文字のアルファベット(大文字と小文字)、数字、記号のすべての組み合わせを調べたとしても1時間もかからないという。これは2年前に主流だったグラフィックスカードの2倍以上の速度であり、ムーアの法則がいまだに通用することを示す例の1つだ。
8文字では短かすぎるとすれば、どれくらいあればいいだろう。何か決まった数字はあるのだろうか。筆者は、公開されているさまざまな資料の推奨内容を調べてみたが、専門家の意見が一致している数字はない。ただし、大まかなコンセンサスはある。少なくとも12文字は必要で、長ければ長いほどいいというものだ。しかし一番いいのは、ランダムに選ばれた4つ以上の単語からなるパスフレーズかもしれない。
筆者が調査した限り、あらゆる専門家が、数字や文字、記号の使用を義務付けるといった複雑さの要件を増やすよりも、パスワードの長さの方がはるかに重要だと一様に述べている。しかしそれ以上に重要なのは、パスワードが本当にランダムなものであることだ。それらの条件が決まれば、パスワードを推測する作業の難易度を測る「エントロピー」と呼ばれる指標を得ることができる。
合理的な推測ができる攻撃者であれば、ペットの犬の名前や、生まれ年から作った低エントロピーのパスワードなどすぐに破ることができる。しかし、パスワードマネージャーが生成した本当にランダムなパスワードであれば、破るのはずっと難しくなる。
では、どれだけの長さがあればいいだろうか。
Daniel Brecht氏は、InfoSec Instituteのサイトに掲載されているパスワードのセキュリティに必要な複雑さと長さについて考察した記事で、12文字が出発点だと述べている。
いくつかのよく使われているパスワードマネージャーの開発者も、基本的にその意見に同意している。例えばBitwardenのブログでは、文末に感嘆符までつけて、確信を持って「パスワードは14文字から16文字、あるいはそれ以上にすること!」と述べている。
この数字も適当に書かれたものではない。Bitwardenのブログに書かれたアドバイスは、米国立標準技術研究所(NIST)が公表したデジタルIDに関するガイドライン「NIST SP 800-63B」に基づくものだ。このガイドラインでは、「ユーザーに対しては、無理のない範囲で好きなだけパスワードを長くするように推奨すべきだ。ハッシュ化されたパスワードのサイズは元のパスワードの長さに依存しないため、ユーザーが望むのであれば、長いパスワードの利用を禁じる理由はない」と述べている。