パスワードハッシュクラック時間推定
ガイド
パスワードハッシュクラック時間推定
特定のハッシュアルゴリズムで保護されたパスワードをブートストラップするのに、現実世界の攻撃者がどれくらいの時間がかかるかを推定します。この推定器は、Hashcatのレベルのハッシュレートと選択されたパスワードの構成のキー空間を組み合わせ、四つの攻撃者レベル——予算GPU、単一のRTX 4090、プロフェッショナルな8GPUクラスタ、および国レベルのボットネット1000のH100アクセラレーター——に対して、それぞれのクラック時間の報告を行います。
一般的な強度メーターとは異なり、このツールはすべてのハッシュが等しくないことを理解しています。12文字のパスワードがMD5で保護されれば数秒で解ける一方、同じパスワードがArgon2idで適切なパラメータで保護されれば、国レベルのリソースに抵抗し、数世紀にわたって耐えられる可能性があります。アルゴリズムとそのコストパラメータの選択は、文字数を増やすよりも重要です。
使用方法
- アプリケーションがパスワードを保存するために使用するハッシュアルゴリズムを選択してください。
- キー導出関数の場合、そのコストパラメータを設定してください。bcryptではコストファクター、scryptではNパラメータ、Argon2idではメモリ(メガバイト)と反復回数、PBKDF2では反復回数です。
- 評価したいパスワードの長さを入力し、そのパスワードが取り得る文字セットを選択してください。
- 関心のある攻撃者レベルのクラック時間行を読み取ってください。推奨表示は、動機のあるオフライン攻撃者に対して、プロフェッショナルクラスタレベルを現実的な上限として使用しています。
- 防御している脅威モデルに応じて、アルゴリズム、コスト、長さ、または文字セットを繰り返し調整し、緑色の評価を得るまで続けます。
機能
- 8つのアルゴリズム — MD5、SHA-1、SHA-256、SHA-512、bcrypt、scrypt、Argon2id、およびPBKDF2-HMAC-SHA256、それぞれの塩、メモリハード、および反復コストのバリエーションを含む。
- 4つの攻撃者レベル — 予算GPU、単一のRTX 4090、プロフェッショナルな8GPUクラスタ、および国レベルの規模のH100のファルト、それぞれがHashcat 6.xの公開ベンチマークに基づいて調整されています。
- コスト意識のKDFスケーリング — bcryptのコストファクター、scryptのN、Argon2idのメモリと時間、およびPBKDF2の反復回数は、各レベルのハッシュレートを再スケーリングし、パラメータの変更により即座に評価が変化します。
- 対数計算 — 長いパスワードや大きなキー空間に対応し、オーバーフローを防ぎ、32文字のシンボルパスワードも意味のある数字を生成し、無限大ではなくなります。
- 色分けされた評価 — 「瞬時に解ける」から「優れた」まで、各行はその時間のバケットにマッチする評価のピルを獲得し、プロフェッショナルクラスタレベルに基づいた総合的な推奨を表示します。
- 6つの文字セット — デジットのみのPINから完全な94文字のASCII印刷可能なスペースまで、各オプションに隣接する文字数が表示されており、追加の多様性がどれだけ価値あるかが明確になります。
よくある質問
-
ハッシュレートとは何ですか?そしてなぜアルゴリズムによってその値が大きく異なるのですか?
ハッシュレートは、ハードウェアが1秒あたりにどれだけの試行を実行できるかを示す数値です。MD5やSHA-256のような高速で塩を用いない設計は、圧縮関数を1回だけ通すため、現代のGPUが数十億回/秒で実行できます。bcrypt、scrypt、Argon2idなどのキー導出関数は、各試行がCPUサイクル、メモリ、または両方で意図的に高コストになるように設計されており、その結果、レートが6〜9桁の範囲で減少します。このギャップがKDFを使用してパスワードを保存する目的です。
-
メモリハードな関数であるscryptやArgon2idが、PBKDF2よりもGPUに対して抵抗する理由は何ですか?
PBKDF2はHMACを繰り返すだけであり、GPUの数千の小さなコアに並列化されやすいです。メモリハードな設計は、各試行がRAM内の大きなランダムなワークセットに触れることを強制し、GPUコアの制限されたメモリ帯域とチップ内キャッシュを暴露します。その結果、カスタムASICまたはGPU攻撃の大部分の優位性が失われ、ブートストラップのコストは攻撃者が購入できるシリコン面積に比例します。
-
bcryptのコストファクターは現実の時間にどのように変換されますか?
bcryptのコストファクターは指数です。コストNは、Blowfishのキー設定を2のN乗回実行します。コストを1増やすことで、正当なログインの計算時間と攻撃者が1回の試行に費やす時間の両方が2倍になります。防御側は認証ごとに数ミリ秒の追加時間を吸収し、攻撃側はキー空間全体にわたって同じ倍率を吸収します。そのため、コストを10から12に変更することは、最も安いセキュリティの勝利の一つです。
-
最悪ケースと平均ブートストラップ時間の違いは?
最悪ケースはキー空間を完全に消費する時間であり、攻撃者がすべての可能なパスワードを探索する必要がある場合にのみ関係します。期待値、または平均時間はその半分であり、一様なランダム検索順序の中間にある正しい推測が平均的に存在するためです。この推定器は平均ケースを報告しており、暗号学的な脅威モデルでよく使われる数字です。
-
これらの推定は辞書、レインボーテーブル、および認証情報の漏洩を考慮していますか?
いいえ、これらの推定は選択された文字セットから一様にランダムに抽出されたパスワードに対して行われています。現実の攻撃者は、漏洩されたパスワードリスト、一般的な置換、およびターゲット辞書から始まり、人間が選択したパスワードの効果的なキー空間を縮小します。ここでの数字は、完全にランダムなパスワードに対する攻撃者の努力の上限を表し、完全なランダムパスワードに対してKDFを使用し、塩を適用し、アプリケーション層でのレート制限を実施する価値の下限を示しています。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
