スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.3368
ハッシュ関数を用いて生成されたパスワードのハッシュ値から、元のパスワードを効率的に逆算するために、あらかじめ平文とハッシュ値の対応関係をチェーン状に大量に計算して保存しておく攻撃手法はどれか。

【正解の解説】

レインボーテーブル

これは、辞書とそれに対応する暗号の訳をすべて書き留めた「巨大なカンニングペーパーの冊子」のようなものです。本来、ハッシュ値から元のパスワードを割り出すのは膨大な計算時間がかかりますが、レインボーテーブルを使えば、答えのページをパラパラとめくるだけで一瞬で見つけ出せるため、攻撃者は非常に効率よくパスワードを破ることができます。

スポンサーリンク

【その他の選択肢の解説】

ブルートフォース

レインボーテーブルが「事前に計算した答えの辞書を使う」のに対し、こちらは「その場で毎回計算して試す」という違いがあります。そのため、ブルートフォース攻撃は気の遠くなるような時間がかかりますが、レインボーテーブルは事前の準備に時間はかかるものの、実行時は驚異的なスピードで解読できるという特徴があります。

辞書攻撃

辞書攻撃は「よくある単語」を効率よく試す手法ですが、レインボーテーブルは単語だけでなく記号を含んだ複雑な組み合わせのチェーン結果まで網羅している点が異なります。どちらもパスワード破りの手法ですが、事前のデータ構造の作り方や探索の効率化のアプローチにおいて、根本的な仕組みが大きく異なるため注意が必要です。

ソルト付加

こちらは攻撃手法ではなく、レインボーテーブルなどの事前計算による攻撃を防ぐための極めて有効な「セキュリティ対策(防御側)」です。ソルトを使うと、攻撃者が用意したレインボーテーブルのデータが全く役に立たなくなるため、現代のシステムでは必須の防御技術として広く採用されています。