●レインボー攻撃とは
パスワードとハッシュ値の対応表から他人のパスワードを特定する手法。
●出題された回(平成29年度春期以降)
令和4年度春期/平成31年度春期
レインボー攻撃の説明
レインボー攻撃とは、パスワードとハッシュ値の対応表からパスワードを特定する手法です。
ハッシュ値とは?
元データをハッシュ関数に適用した時、返ってくる値がハッシュ値です。
ハッシュ値の特徴は以下の2つです。
- ハッシュ値から元データを解析するのが困難である
- 同じ元データから得られるハッシュ値は常に同じである
このような特徴から、パスワードはハッシュ値に変換してから保管されるみたいです。
レインボー攻撃
レインボー攻撃にはハッシュ関数と還元関数を用います。
還元関数はハッシュ値からデータを作成する関数ですが、作成されたデータは元データと一致しません。例えば、「Apple」のハッシュ値が「23h5f」だとします。
この「23h5f」を還元関数に適用した時、「Banana」というデータが返ってきたりします。一見、無意味に見えますが、レインボー攻撃においては意味がある関数になっています。
下の図のようにハッシュ関数と還元関数を何回も繰り返すことで、元データに対応するハッシュ値を沢山持つことができます。
ハッシュ値で保存されているパスワードを盗み、そのハッシュ値が上のチェーンに存在すれば、元データであるパスワードが分かります。これがレインボー攻撃です。
過去問
応用情報技術者 午前試験
令和4年度春期問42、平成31年度春期問38
パスワードクラック手法の一種である、レインボー攻撃に該当するものはどれか。
ア 何らかの方法で事前に利用者IDと平文のパスワードのリストを入手しておき、複数のシステム間で使い回されている利用者IDとパスワードの組みを狙って、ログインを試行する。
イ パスワードに成り得る文字列の全てを用いて、総当たりでログインを試行する。
ウ 平文のパスワードとハッシュ値をチェーンによって管理するテーブルを準備しておき、それを用いて、不正に入手したハッシュ値からパスワードを解読する。
エ 利用者の誕生日や電話番号などの個人情報を言葉巧みに聞き出して、パスワードを類推する。
正解は”ウ”
パスワードとハッシュ値の対応表を用いてパスワードを解読するのがレインボー攻撃です。よって、”ウ”が正解です。