エントロピーとは
エントロピーは、可能なパスワードの場合の数を対数2スケール(ビット)で表した値です。たとえば40ビットは約1兆通り、60ビットは約100京通りの場合の数を意味します。
エントロピーはおおよそ『長さ × log2(文字プールの大きさ)』で計算されます。長さを増やすことがエントロピーを上げる最も確実な方法です。
総当たり vs 辞書攻撃
総当たりは可能なすべての組み合わせを順に試す方式で、エントロピーが高いほど非現実的なほど時間がかかります。
辞書攻撃はよくあるパスワード・単語・漏えいリストを先に試します。そのため、どんなに長くてもよくある単語やパターンなら一瞬で破られます。ランダム性が重要な理由です。
ハッシュと漏えい
よく作られたサイトは、パスワードを平文ではなくハッシュで保存します。しかしデータが漏えいすると、攻撃者はオフラインで毎秒数十億回の推測を試せます。
このとき、長くランダムなパスワードは解読コストを負担不可能なほど高くし、事実上安全になります。
どれくらい強くすべきか
実用的な目安は次のとおりです。
- 28ビット未満:非常に弱い(即座に破られる)
- 40〜60ビット:普通(重要でないアカウント)
- 60〜100ビット:強い(ほとんどのアカウントに十分)
- 100ビット以上:非常に強い(長期的なセキュリティ)