レインボーテーブル攻撃とは?
れいんぼーてーぶるこうげき
レインボーテーブル攻撃とは、あらかじめ計算したハッシュ値の対応表を使ってパスワードを効率的に解析するクラッキング手法です。
レインボーテーブル攻撃とは、パスワードとそのハッシュ値の対応関係を事前に大量計算して表(レインボーテーブル)にまとめておき、漏洩したハッシュ値からパスワードを逆引きするサイバー攻撃の手法です。
通常、パスワードはハッシュ化されてデータベースに保存されます。ハッシュ関数は一方向性があるため、ハッシュ値からパスワードを直接復元することはできません。しかしレインボーテーブルは「削減関数」を使ってハッシュとパスワードを交互に変換したチェーンを作ることで、総当たりより少ない保存容量で効率的に逆引きを実現します。攻撃の流れは以下の通りです。
- 事前にパスワード候補とハッシュのチェーンを大量生成してテーブルを作成する
- 漏洩したハッシュ値をテーブル内で検索する
- 一致するエントリからチェーンをたどって元のパスワードを特定する
レインボーテーブル攻撃への対策として最も有効なのが「ソルト」の付加です。ソルトとはパスワードに付け加えるランダムな文字列で、ユーザーごとに異なる値を使うことでレインボーテーブルを事前計算する意味をなくします。現代のシステムではbcryptやArgon2のようにソルトを内包し計算コストを調整できる専用のパスワードハッシュ関数を使うことが標準的とされています。MD5やSHA-1など汎用ハッシュのみによるパスワード保存は危険です。
使い方・例文
企業のデータベースが不正アクセスを受けてハッシュ化済みパスワードが流出した際、攻撃者がレインボーテーブルを使ってパスワードを短時間で解析する場面で登場します。
この用語をシェア
最終更新: