Home / 用語 / レインボーテーブル攻撃

レインボーテーブル攻撃

※本ページにはプロモーション(広告)が含まれています

セキュリティ

読みれいんぼーてーぶるこうげき
英語Rainbow table attack

💡 ひとことで言うと

事前計算したハッシュ値の対応表を使い、パスワードのハッシュから元のパスワードを高速に逆引きする攻撃手法です。

詳しい解説

レインボーテーブル攻撃は、パスワードのハッシュ値と元の平文パスワードの対応関係を事前に大量計算してテーブル化し、漏洩したハッシュ値から元のパスワードを高速に特定する攻撃手法です。ブルートフォース攻撃が攻撃時に都度計算を行うのに対し、レインボーテーブル攻撃は計算済みデータを参照するだけのため、解析時間を劇的に短縮できます。

Webサイトのデータベースには、ユーザーのパスワードがそのまま保存されることはなく、MD5やSHA-1などのハッシュ関数で変換した文字列として記録されます。攻撃者がデータベースを盗んでもハッシュ値しか手に入らないはずですが、レインボーテーブルを使えば「このハッシュ値はこの平文パスワードに対応する」と即座に判明してしまいます。特にMD5やSHA-1のような古いハッシュ関数で、よく使われる短いパスワードを保存している場合は脆弱性が高くなります。

対策の中核は「ソルト(salt)」と呼ばれるランダムな文字列をパスワードに付加してからハッシュ化する手法です。ユーザーごとに異なるソルトを使うことで、事前計算されたテーブルが無効化されます。さらに、bcrypt・scrypt・Argon2のような計算コストの高いハッシュ関数(ストレッチング)を使うことで、攻撃者の計算コストを跳ね上げ、レインボーテーブルの作成自体を非現実的にできます。Webサービスを開発する場合は、これらの最新のパスワードハッシュ関数の利用が必須です。

📘 具体的な場面

ECサイトの脆弱性からデータベースが流出し、MD5でハッシュ化されたパスワード一覧が漏れたケースでは、攻撃者が公開されている膨大なレインボーテーブルと照合することで、短時間で多数のユーザーパスワードを復元してしまいます。bcryptやArgon2でソルト付きハッシュ化していれば被害を最小限に抑えられます。

別の呼び方

Rainbow table
レインボーテーブル
事前計算攻撃

関連する用語

この用語に関する関連記事

Check Also

【2026年最新版】Windowsのタスクバーをカスタマイズする方法【完全ガイド】

【2026年最新版】Windo …