創屋ぷれす

レインボー攻撃

レインボー攻撃とは、ハッシュ値から平文を得ることによって、
不正にパスワードを入手したりする攻撃です。

ハッシュ値というのは、ある文字列に対して、逆算が困難な計算を行うことで得られる値です。
文字列を入力すると、ハッシュ値と呼ばれる値に変換してくれるハッシュ関数を使用します。
SHA-256とかが有名なようです。

ハッシュ値から逆算して、平文を得ることはできないので、
レインボー攻撃は、平文と、ハッシュ値の組み合わせのデータを用意し、
データに登録されているハッシュ値が存在すれば平文を得ることができるというものです。

しかし、あらゆるパスワードとハッシュ値の組み合わせを保持することは、
データ量が大きすぎる為現実的ではなく、
データ量を減らすために、レインボーテーブルというハッシュ値と平文のチェーン構造を保持するような
仕組みが存在します。

しかし、レインボー攻撃自体の対策も確立されており
1つのパスワードから必ず同じハッシュ値が計算されないような対策や
ハッシュ関数の入れ子などを行うことで、レインボー攻撃の有効性は著しく低下するそうです。

ハッシュ関数を利用するだけで、安心はできないってことですね。

Comments are closed.