パスワードの文字数と安全性|最適な長さの選び方
パスワードの安全性を左右する最大の要因は「文字数」です。短いパスワードは総当たり攻撃 (ブルートフォース) で瞬時に突破されますが、文字数を増やすだけで解読難易度は指数関数的に上昇します。この記事では、NIST (米国国立標準技術研究所) のガイドラインを踏まえ、安全なパスワードの長さと選び方を解説します。
NIST ガイドラインが示す推奨文字数
NIST が 2017 年に改訂した SP 800-63B では、パスワードに関する従来の常識を大きく見直しました。定期的な変更の強制や複雑な文字種の要求は非推奨となり、代わりに「十分な長さ」が最も重要な要素として位置づけられています。
- 最低文字数: 8 文字以上 (サービス提供者が設定すべき下限)
- 推奨文字数: 12〜16 文字以上
- 最大文字数: 少なくとも 64 文字まで許容すべき
- 文字種の強制 (大文字・記号の必須化) は非推奨
- 定期的なパスワード変更の強制も非推奨
つまり、「短くて複雑なパスワード」よりも「長くて覚えやすいパスワード」のほうが安全性と利便性の両面で優れているというのが現在の国際的な見解です。
文字数と解読時間の関係
パスワードの文字数が増えるほど、総当たり攻撃に要する時間は飛躍的に伸びます。以下の表は、英大小文字・数字・記号 (約 95 種) を使用した場合の推定解読時間です。
| 文字数 | 組み合わせ数 | 推定解読時間 |
|---|---|---|
| 6 文字 | 約 7,350 億通り | 数秒〜数分 |
| 8 文字 | 約 6.6 京通り | 数時間〜数日 |
| 10 文字 | 約 60 垓通り | 数年〜数十年 |
| 12 文字 | 約 5.4 × 1023 通り | 数万年以上 |
| 16 文字 | 約 4.4 × 1031 通り | 数兆年以上 |
8 文字のパスワードは現代の計算能力では現実的な時間内に解読される可能性があります。12 文字以上にすることで、総当たり攻撃に対する耐性が格段に向上します。
パスフレーズの活用法
長いパスワードを覚えやすくする手法として「パスフレーズ」が注目されています。パスフレーズとは、複数の単語を組み合わせて作る長いパスワードのことです。
- 例: 「correct horse battery staple」(28 文字)
- ランダムな 4〜5 単語を組み合わせると 20 文字以上になりやすい
- 意味のある文章ではなく、無関係な単語の組み合わせが理想的
- 単語間にスペースや記号を挟むとさらに強度が上がる
- 自分だけが連想できるストーリーを添えると記憶に定着しやすい
パスフレーズは「長さ」と「覚えやすさ」を両立できるため、NIST のガイドラインとも整合する実践的な手法です。
主要サービスのパスワード文字数制限
サービスによってパスワードの最小・最大文字数は異なります。以下に主要サービスの制限をまとめました。
| サービス | 最小文字数 | 最大文字数 |
|---|---|---|
| 8 文字 | 100 文字 | |
| Apple ID | 8 文字 | 制限なし |
| Microsoft | 8 文字 | 256 文字 |
| Amazon | 6 文字 | 128 文字 |
| X (旧 Twitter) | 8 文字 | 128 文字 |
| 6 文字 | 制限なし | |
| 銀行系サービス (一般的) | 8 文字 | 16〜32 文字 |
銀行系サービスでは最大文字数が短めに設定されている場合があります。制限の範囲内で可能な限り長いパスワードを設定しましょう。
まとめ
パスワードの安全性は文字数に大きく依存します。NIST のガイドラインに従い、最低 12 文字以上、可能であれば 16 文字以上のパスワードを設定することを推奨します。パスフレーズを活用すれば、長くても覚えやすいパスワードを作成できます。パスワードの文字数を確認したいときは、文字カウンタスをご活用ください。