CyberGlossary

攻撃と脅威

レインボーテーブル攻撃

別称: 時間-空間トレードオフ

定義

ハッシュ関数と還元関数を交互に並べたチェーンを圧縮テーブルに保存し、ソルトなしハッシュを総当たりよりはるかに速く逆引きする事前計算攻撃。

レインボーテーブルは、ハッシュ関数で候補空間を処理した結果を「ハッシュと還元の交互チェーン」として符号化し、各チェーンの端点だけを保存します。ハッシュを解くときは、還元チェーンを繰り返し適用して端点と一致する箇所を探し、対応するチェーンを辿って元のパスワードを復元します。空間と時間のトレードオフであるため、ソルトのない短いパスワードのハッシュをほぼ瞬時に破ります。ユーザーごとのランダムなソルトと、Argon2id、bcrypt、scrypt などの memory-hard ハッシュにより事実上無効化されるため、まともな認証設計ではソルト付きハッシュが必須です。

  • ソルトなしの MD5・SHA-1 パスワードデータベースを公開レインボーテーブルで解読する。
  • ophcrack のテーブルで一定長以下の NTLM ハッシュを復元する。

関連用語