応用情報技術者試験 平成31年春 午前問38 解説付き過去問
問題
パスワードクラック手法の一種である、レインボー攻撃に該当するものはどれか。
正解
解説
この問題は、パスワードクラック手法の一種である「レインボー攻撃(レインボーテーブル攻撃)」の具体的な内容を問うものです。以下の手順で解説します。
- パスワードとハッシュ関数の関係
- レインボー攻撃の仕組み
- 他の攻撃手法との違い
- パスワードリスト攻撃:他サービスから漏洩した利用者IDとパスワードの組を利用してログインを試行する。
- 総当たり攻撃(ブルートフォース攻撃):すべての文字列の組合せを試行することでパスワードを推測する。
- ソーシャルエンジニアリング:利用者から個人情報を聞き出してパスワードを類推する。
システムでは、パスワードをそのまま保存するのではなく、ハッシュ関数を用いてハッシュ値に変換し、その値を保存するのが一般的です。
ハッシュ関数は一方向性を持つため、ハッシュ値から元のパスワードを直接復元することは困難です。
レインボー攻撃は、あらかじめ多数の平文パスワードとそれに対応するハッシュ値を計算しておき、チェーン(連結構造)によって圧縮・整理したテーブル(レインボーテーブル)を作成する手法です。
攻撃者は、不正に入手したハッシュ値に対してこのテーブルを参照することで、対応するパスワードを高速に割り出すことが可能になります。
この攻撃は辞書攻撃の一種ですが、ハッシュと平文の直接対応表を持つのではなく、計算量と保存容量を抑えるためにチェーン構造が用いられています。
レインボー攻撃と類似するが異なるパスワードクラック手法には以下のようなものがあります。
したがって、レインボー攻撃に該当するのは、平文のパスワードとハッシュ値をチェーンで管理するテーブルを用いて、ハッシュ値からパスワードを解読する手法です。