応用情報技術者 2023年 秋期 午前2 問36
問題文
パスワードクラック手法の一種である、レインボーテーブル攻撃に該当するものはどれか。
選択肢
ア:何らかの方法で事前に利用者 IDと平文のパスワードのリストを入手しておき、 複数のシステム間で使い回されている利用者 IDとパスワードの組みを狙って、ログインを試行する。
イ:パスワードに成り得る文字列の全てを用いて、 総当たりでログインを試行する。
ウ:平文のパスワードとハッシュ値をチェーンによって管理するテーブルを準備しておき、それを用いて、 不正に入手したハッシュ値からパスワードを解読する。(正解)
エ:利用者の誕生日、電話番号などの個人情報を言葉巧みに聞き出して、 パスワードを類推する。
パスワードクラック手法の一種である、レインボーテーブル攻撃に該当するものはどれか【午前2 解説】
要点まとめ
- 結論:レインボーテーブル攻撃は、平文パスワードとハッシュ値の対応をチェーンで管理したテーブルを使い、ハッシュ値からパスワードを高速に復元する手法です。
- 根拠:ハッシュ関数は一方向性ですが、レインボーテーブルは事前計算したハッシュとパスワードの対応表を利用し、総当たりより効率的に復号を試みます。
- 差がつくポイント:レインボーテーブルは「事前計算」と「チェーン構造」によるメモリ効率化が特徴で、単純な総当たりや辞書攻撃と区別できることが重要です。
正解の理由
選択肢ウは「平文のパスワードとハッシュ値をチェーンによって管理するテーブルを準備し、不正に入手したハッシュ値からパスワードを解読する」と説明しています。これはまさにレインボーテーブル攻撃の定義に合致します。レインボーテーブルは事前に計算したハッシュ値とパスワードの対応をチェーン構造で圧縮し、ハッシュ値から元のパスワードを高速に逆算する技術です。
よくある誤解
レインボーテーブル攻撃は単なる総当たり攻撃や辞書攻撃と混同されやすいですが、事前計算とチェーン構造による効率化が特徴であり、単純な試行錯誤とは異なります。
解法ステップ
- 問題文の「レインボーテーブル攻撃」の特徴を確認する。
- 各選択肢の説明を「事前計算」「ハッシュ値からの復元」「チェーン構造」の観点で比較する。
- 「チェーンによるテーブル管理」と「ハッシュ値からパスワードを解読」がある選択肢を特定する。
- それが選択肢ウであることを確認し、正解とする。
選択肢別の誤答解説
- ア: 利用者IDと平文パスワードのリストを使うのは「クレデンシャルスタッフィング攻撃」に近く、レインボーテーブルとは異なります。
- イ: 総当たり攻撃は全パスワード候補を試す方法で、レインボーテーブルの事前計算とは異なります。
- ウ: レインボーテーブル攻撃の正しい説明です。
- エ: 個人情報を聞き出して推測するのは「ソーシャルエンジニアリング攻撃」であり、レインボーテーブルとは無関係です。
補足コラム
レインボーテーブル攻撃は、パスワードのハッシュ値を逆算する効率的な方法ですが、ソルト(salt)を付加したハッシュ化により対策が可能です。ソルトはパスワードにランダムな値を加えることで、同じパスワードでも異なるハッシュ値を生成し、レインボーテーブルの効果を無効化します。
FAQ
Q: レインボーテーブル攻撃はどのように防げますか?
A: パスワードにソルトを付加してハッシュ化することで、レインボーテーブルの事前計算が無効化されます。
A: パスワードにソルトを付加してハッシュ化することで、レインボーテーブルの事前計算が無効化されます。
Q: 総当たり攻撃とレインボーテーブル攻撃の違いは何ですか?
A: 総当たり攻撃はリアルタイムで全候補を試すのに対し、レインボーテーブルは事前に計算したテーブルを使い高速に逆算します。
A: 総当たり攻撃はリアルタイムで全候補を試すのに対し、レインボーテーブルは事前に計算したテーブルを使い高速に逆算します。
関連キーワード: レインボーテーブル、パスワードクラック、ハッシュ関数、ソルト、総当たり攻撃、クレデンシャルスタッフィング、ソーシャルエンジニアリング

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

