Entry № 1008
レインボーテーブル攻撃
レインボーテーブル攻撃 とは何ですか?
レインボーテーブル攻撃ハッシュ関数と還元関数を交互に並べたチェーンを圧縮テーブルに保存し、ソルトなしハッシュを総当たりよりはるかに速く逆引きする事前計算攻撃。
レインボーテーブルは、ハッシュ関数で候補空間を処理した結果を「ハッシュと還元の交互チェーン」として符号化し、各チェーンの端点だけを保存します。ハッシュを解くときは、還元チェーンを繰り返し適用して端点と一致する箇所を探し、対応するチェーンを辿って元のパスワードを復元します。空間と時間のトレードオフであるため、ソルトのない短いパスワードのハッシュをほぼ瞬時に破ります。ユーザーごとのランダムなソルトと、Argon2id、bcrypt、scrypt などの memory-hard ハッシュにより事実上無効化されるため、まともな認証設計ではソルト付きハッシュが必須です。
● 例
- 01
ソルトなしの MD5・SHA-1 パスワードデータベースを公開レインボーテーブルで解読する。
- 02
ophcrack のテーブルで一定長以下の NTLM ハッシュを復元する。
● よくある質問
レインボーテーブル攻撃 とは何ですか?
ハッシュ関数と還元関数を交互に並べたチェーンを圧縮テーブルに保存し、ソルトなしハッシュを総当たりよりはるかに速く逆引きする事前計算攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
レインボーテーブル攻撃 とはどういう意味ですか?
ハッシュ関数と還元関数を交互に並べたチェーンを圧縮テーブルに保存し、ソルトなしハッシュを総当たりよりはるかに速く逆引きする事前計算攻撃。
レインボーテーブル攻撃 からどのように防御しますか?
レインボーテーブル攻撃 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
レインボーテーブル攻撃 の別名は何ですか?
一般的な別名: 時間-空間トレードオフ。