レインボーテーブルとは

この記事は約 2 分で読めます

レインボーテーブル (Rainbow Table) とは、ハッシュ値から元のパスワードを 逆引きするために事前計算されたテーブルです。大量のパスワードとそのハッシュ値の 対応表を作成しておき、漏洩したハッシュ値と照合することで元のパスワードを 高速に特定できます。時間と空間のトレードオフを利用した効率的な攻撃手法です。

レインボーテーブルの仕組み

レインボーテーブルはリダクション関数とハッシュ関数を交互に適用したチェーンを 保存します。完全なハッシュテーブルよりも少ないストレージで済みますが、 検索にはチェーンの再計算が必要です。一般的な英数字 8 文字のパスワードであれば、 数分で解読できるテーブルが存在します。パスワードクラッキングの書籍 (Amazon)で技術的な詳細を学べます。

レインボーテーブルへの対策

ソルト (ランダムデータ) をパスワードに付加してからハッシュ化することで、 レインボーテーブル攻撃を無効化できます。また、パスつく.com で生成した 長くランダムなパスワードは、レインボーテーブルに含まれている可能性が 極めて低いため、この攻撃に対して高い耐性を持ちます。パスワード保護の書籍 (Amazon)も参考になります。

関連記事

関連記事

関連用語

用語集に戻る