TOPセキュリティ > レインボーテーブルの仕組みと現在の役割は(前)

セキュリティ

レインボーテーブルの仕組みと現在の役割は(前)

2021/07/27

Michael Hill CSO

 レインボーテーブルは、パスワードのハッシュ値から元のパスワードを割り出すために使うテーブルの一種。ハッシュ値とパスワードを対応付けるために、ハッシュ関数と還元関数で導き出した大規模なテーブルを生成して使う仕組みとなっている。Philippe Oechslin氏が考案し、2003年に論文を発表した。手法自体は、1980年代初頭のMartin Hellman氏とRonald Rivest氏の研究に基づいている。両氏の研究は、暗号解読の処理時間と所要メモリーのトレードオフについて探ったものだった。「レインボー」という名前は、テーブルの中で還元関数を順番に使用していく様子を、虹の色の違いになぞらえている。

レインボーテーブルの仕組み

Credit: Matejmo / Getty Images

 Webサイトの運営企業などがユーザーのパスワードを保存する場合、セキュリティ上の理由から、通常はパスワードそのものではなく、パスワードをハッシュ関数で変換したハッシュ値を保存する。こうしておけば、パスワードそのものが流出する恐れはなくなる。ハッシュ値が流出した場合、ブルートフォースでしらみつぶしに探していけば、元のパスワードを割り出すことは理論上は可能だが、対象の候補の数が増えるほど、通常は現実的ではなくなる。

↑ページ先頭へ