長さと文字種から解読時間を見積もる
パスワードの強度はそのエントロピー — 最悪の場合にブルートフォース攻撃者が必要とする試行回数 — によって測定されます — これはパスワードの長さと使用する文字種の数によって決まります。パスワードの構成(パスワード自体は絶対に入力しない)を入力して、解読時間を推定してください。
計算式
文字セットサイズ:小文字26、大文字26、数字10、一般的な記号32。
計算例
小文字のみ(26文字)を使用する8文字のパスワード、100億回/秒の試行速度の場合:
- エントロピー:
- 平均解読時間:
考慮すべき重要なポイント
- この見積もりは、盗まれたパスワードハッシュに対するオフラインのブルートフォース攻撃を前提としており、これは実際のログインフォームに対するオンラインの推測試行よりもはるかに高速です。 ほとんどの実際のサービスは、繰り返しのログイン失敗に対してレート制限やロックアウトを行うため、オンラインの攻撃者はここで使われている1秒あたりの試行回数と比べて劇的に遅くなります — オフラインでのブルートフォース(データ侵害でパスワードハッシュが流出した後)こそが、この種の見積もりが実際に最も当てはまるシナリオです。
- 一般的な、辞書に載っている、または過去に流出したパスワードは、その生のエントロピーが示すよりもはるかに早く解読される可能性があります。 この計算機は、文字セット全体にわたる真に一様なランダムなブルートフォース探索を前提としています — 実際の攻撃者は通常、一般的なパスワード、辞書の単語、既知の流出済みパスワードを最初に試すため、単純な置き換えを施した一般的な単語であれば、「数学上はエントロピーが高い」パスワードでもほぼ瞬時に解読されることがあります。
- 推測速度は、パスワードを保護しているハッシュアルゴリズムによって大きく異なります。 bcryptやArgon2のような、遅く目的専用に設計されたアルゴリズムでハッシュ化されたパスワードは、高速な汎用アルゴリズムでハッシュ化されたパスワードよりも桁違いに長い時間がブルートフォースにかかることがあります — これはパスワード自体の強度とは無関係な要因であり、それを保存するサービスがどのようにセキュリティを実装したかに完全に左右されます。
- パスワードの実際の安全性は、解読時間の計算だけに左右されるものではありません。 複数のアカウントでパスワードを使い回すこと、フィッシングに引っかかること、マルウェアによって捕捉されることは、いずれもこのブルートフォースモデルを完全に迂回します — 純粋なエントロピーを超えたより広い視点については、パスワード生成機計算機自体の「考慮すべき重要なポイント」を参照してください。
よくある間違い
- 実際の本物のパスワードを「チェック」のために入力してしまう。 この計算機は意図的に本物のパスワードのテキストを一切求めず、長さと文字種だけを尋ねます — 保存しないと主張するツールであっても、オンラインツールに本物のパスワードを入力することは不要なリスクであり、完全に避けるのが最善です。
- 高い解読時間の見積もりが、パスワードを使い回しても実際に安全だという意味だと思い込んでしまう。 この計算機は総当たり攻撃への耐性のみを測定します — 長く高エントロピーなパスワードでも複数のサイトで使い回していれば、解読時間の見積もりが何世紀分であっても、そのうちの1つのサイトが侵害された瞬間に完全に危険にさらされます。
- 実際の辞書の単語で構成されたパスフレーズを、その計算上のエントロピーと同等に扱ってしまう。 ここでの計算は文字セット全体にわたる一様なランダム探索を前提としています — 認識可能な単語、名前、パターンから作られたパスワードは、その生の長さや文字の多様性が示唆するよりもはるかに速く解読されることがよくあります。実際の攻撃者はまずありそうな推測を試すためです。
- 非現実的な推測速度を選び、その結果を正確なものとして扱ってしまう。 推測速度は、攻撃者のハードウェアとパスワードを保護するハッシュアルゴリズムによって桁違いに変わります — 解読時間の見積もりは正確なカウントダウンではなく、おおよその桁数として扱ってください。
知っておくと役立つこと
- 既存のパスワードを評価するのではなく、実際に新しいパスワードを生成する必要がありますか?パスワードジェネレーターは、暗号学的に安全なランダム性を使って、選んだ文字種の組み合わせからランダムなパスワードを作成します。