資料請求リストに製品が追加されていません。


IT製品の比較サイト|ITトレンド
ITトレンドNo.1ヘッダー

資料請求リスト

0件
  • ホーム
  • 製品を探す
  • ランキングから探す
  • 記事を読む
  • はじめての方へ
  • 掲載について
  • ITトレンドEXPO
  1. IT製品 比較TOP
  2. その他のセキュリティ
  3. 暗号化ソフト
  4. 暗号化ソフトの関連記事一覧
  5. レインボーテーブルとは?概要、攻撃の仕組みや対策方法も解説!

レインボーテーブルとは?概要、攻撃の仕組みや対策方法も解説!

#その他セキュリティ
2023年01月17日 最終更新
暗号化ソフトの製品一覧
Twitterでツイートする
Facebookでシェアする
Pocketで後で読む
ITトレンド 編集部
IT製品の比較サイト
ITトレンド 編集部
レインボーテーブルとは?概要、攻撃の仕組みや対策方法も解説!

レインボーテーブル攻撃を知っていますか。ハッシュ化について調べる中で気になった人がいるかもしれません。また、この脅威から自社の情報を守る方法を知りたい人も多いでしょう。

この記事ではレインボーテーブルの概要から攻撃の仕組み、対策方法まで解説します。セキュリティ対策を行う参考にしてください。

暗号化ソフト人気ランキング | 今週のランキング第1位は?

レインボーテーブルとは

レインボーテーブルの概要を見ていきましょう。

ハッシュ値を平文に戻す方法の1つ

ハッシュ値は平文を不可逆的に変換したものです。この変換をハッシュ化といいます。後に復号することを想定した暗号化とは異なり、ハッシュ値から元の平文に復号することはできません。

しかし、レインボーテーブルを使えばハッシュ値から元文を割り出せる場合があります。レインボーテーブルは平文とハッシュ値の対応表であり、ハッシュ値を検索して対応する平文を探せます。

たとえば、「リンゴ」のハッシュ値が「a2f4」だとしましょう。この平文とハッシュ値の間には数学的関連性がないため、暗号化のようなアルゴリズムによる復号は不可能です。しかし、レインボーテーブルから「a2f4」を探せば、対応する平文が「リンゴ」だと分かります。

このことから、レインボーテーブルはハッシュ化によって秘匿された情報を不正に取得する攻撃手段として使われます。

2つの関数が使われる

レインボーテーブルでは、ハッシュ関数と還元関数という2種類の関数が用いられます。

1.ハッシュ関数

ハッシュ関数とは、平文をハッシュ化するための関数です。前述の例で言えば、「リンゴ」を「a2f4」に変換するのがハッシュ関数です。不可逆的な変換を担うことから、一方向関数や要約関数とも呼ばれます。

一口にハッシュ関数と言っても、いくつかのアルゴリズムが存在します。平文が同じ「リンゴ」でも、どのようなハッシュ値になるかはハッシュ関数のアルゴリズム次第です。しかし、アルゴリズムと平文が同じであれば、得られる結果は常に同じになります。

2.還元関数

還元関数とは、ハッシュ値から平文を得る関数です。ただし、ハッシュ化の変換をそのまま逆に行うのは不可能です。「リンゴ」の例でいえば、ハッシュ値「a2f4」からハッシュ化前の平文「リンゴ」を得る関数は作れません。

還元関数の役割は、ハッシュ値をパスワードなどの条件を満たす平文のどれかに対応づけることです。「a2f4」の本当の平文は「リンゴ」ですが、還元関数ではそのことは気にせず別の平文と結び付けます。

一見無意味な操作ですが、還元関数は次の項で解説するチェインの作成に役立ちます。

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

レインボーテーブル攻撃とは、レインボーテーブルを利用して不正にハッシュ化内容を解読するサイバー攻撃です。その仕組みを見ていきましょう。

1.チェインを作成する

ハッシュ関数と還元関数を使い、以下のような手順で平文とハッシュ値のチェインを作成します。

  1. 1.平文「リンゴ」にハッシュ関数を使い、ハッシュ値「a2f4」を得る
  2. 2.ハッシュ値「a2f4」に還元関数を使い、平文「ミカン」を得る
  3. 3.手順1と2を一定の回数繰り返し「リンゴ-a2f4-ミカン-bf55-…イチゴ」というチェインを作る

上記の例では「リンゴ」のハッシュ値「a2f4」から還元関数で、別の平文「ミカン」を得るのがポイントです。

これによりランダムに多種の平文がテーブルに加わることになります。還元関数は、手順1と2の繰り返しごとに変更します。たまたま同じ平文が出現した場合に以後のデータが全て重複してしまう事態を避けるためです。

異なる平文からスタートして同様な手順で複数のチェインを作ります。これらのチェインを並べたものがレインボーテーブルです。各チェインの同じ列では共通の還元関数を使っていることになります。

しかし、このままではデータの量が多すぎるため、膨大なメモリが必要です。そこで、各チェインの先頭と末尾だけを残し、それ以外の部分は削除します。上記の例で言えば、チェインは「リンゴ-イチゴ」の状態になります。

2.還元関数を使って復元する

レインボーテーブルは、複数のチェインの先頭と末尾だけが並び、下記のような状態になっています。

リンゴ-イチゴ
サクラ-スミレ
・
・
トマト-パセリ

関数を使って計算すれば、先頭と末尾以外の部分を復元できます。これを活用し、ハッシュ値から元の平文を求める手順は以下のとおりです。

  1. 1.対象のハッシュ値に、チェインの末尾の列を得た還元関数を適用する。
  2. 2.得られた平文と同一のものがないか各チェインの末尾を調べる。
  3. 3.ない場合は末尾の1つ前に使った還元関数を、対象のハッシュ値に適用する。得られた平文のハッシュ値を求め、このハッシュ値に末尾の列に使った還元関数を適用して平文を得る。
    この平文で2.の照合を行う。いずれかのチェーンの末尾に一致する平文が得られるまで、開始列をさかのぼる形で繰り返す。
  4. 4.一致する末尾を持つチェーンが見つかれば、そのチェーンを復元する。チェーン内にある対象のハッシュ値の、直前の平文が求める元文になる。

たとえば、手順1で得た平文が「スミレ」だった場合に、手順2で末尾に「スミレ」が見つかったとします。このとき、そのチェーンを復元すれば、「スミレ」の一つ手前にあるハッシュ値と解読対象のハッシュ値は同一です。

さらにその手前の平文が、求めたい元文になります。末尾の列に一致する平文がない場合は、列をさかのぼってチェックするわけですが、テーブルには先頭と末尾しかありません。

そこで、もしチェックしたい列に対象のハッシュ値があるとしたらチェーンの末尾が何になるかを計算して、一致を調べるわけです。

レインボーテーブル攻撃への対策方法

レインボーテーブル攻撃によるハッシュ値の解読を防ぐには、どうすればよいのでしょうか。

ソルト処理を行う

ソルト処理とは、平文に余分な文字列を付加することです。付加する文字列をソルトと呼びます。この処理を施してからハッシュ化することで解読が困難になります。

たとえば、あるユーザーがログインパスワードを「リンゴ」に設定しているとしましょう。これをハッシュ化すると「a2f4」になります。この「a2f4」を第三者に取得されると、レインボーテーブルで平文が「リンゴ」だと特定されます。

そして、一度特定してしまえばハッシュ値「a2f4」のユーザーは全員パスワードが「リンゴ」であると判明してしまうのです。

しかし、「リンゴ」にソルトを付けて「リンゴabcd」などとしてハッシュ化すれば、解読が難しくなります。また、ユーザーごとにソルトを変えれば、仮に同じパスワードを使っていても、攻撃者はその都度解読せねばなりません。

ストレッチングを実施する

ソルト処理は多数のユーザーを被害から守る点では有効です。しかし、特定のユーザーに対する攻撃にはあまり意味がありません。ソルトを付けた「リンゴabcd」が割り出されれば、攻撃者がそこから「リンゴ」にたどりつくのは難しくないでしょう。

そのような被害を防ぐのに有効なのがストレッチングです。ストレッチングとは、保護したい平文に繰り返しハッシュ化を行うことです。

レインボーテーブル攻撃は1回のハッシュ化を解読するだけでも大きな時間がかかります。そのため、ハッシュ化を複数回繰り返したものは現実的な時間では解読不可能です。たとえば、ハッシュ化を数万回繰り返せば、解読に必要な時間は数十年にも及びます。

ただし、ハッシュ化すればするほどサーバに負荷がかかります。充分な安全性を確保できる範囲で、サーバの負荷を抑えられるように調節が必要です。

レインボーテーブルを理解してセキュリティ強度を上げよう!

レインボーテーブルとは、ハッシュ値と平文の対応表です。取り出せるデータ量は膨大ですが、ハッシュ関数と還元関数を使うことで使用容量を抑えられ、必要に応じて復元して使われます。レインボーテーブル攻撃への対策として有効なのは以下の2つです。

ソルト処理
平文にソルトを付加してからハッシュ化
ストレッチング
ハッシュ化を繰り返す

以上を踏まえて、自社のセキュリティ強度を高めましょう。

暗号化ソフト人気ランキング | 今週のランキング第1位は?
こちらもおすすめ!
暗号化ソフト 選び方ガイド
電球 製品を選ぶときのポイントがわかる!
電球 どんな企業が導入すべきかがわかる!
お役立ち資料ダウンロード
選び方ガイドのダウンロードはこちら arrow

このコンテンツの専門家

ITトレンド 編集部
IT製品の比較サイト
勤怠管理・就業管理
CRM
開発ツール
経歴・実績
ITトレンドはイノベーションが2007年より運営している法人向けIT製品の比較・資料請求サイトであり、2020年3月時点で、累計訪問者数2,000万人以上、1,300製品以上を掲載しています。サイトを閲覧し利用する企業内個人であるユーザーは、掲載されている製品情報や口コミレビューなどを参考に、自社の課題に適したIT製品を複数の製品・会社から比較検討ができ、その場で資料請求が一括でできるサイトです。
ITトレンド 編集部

このカテゴリーに関連する記事

DH(Diffie-Hellman)法とは?概要、仕組みや問題点をわかりやすく解説

DH(Diffie-Hellman)法とは?概要、仕組みや問題点をわかりやすく解説

SSL暗号化とは?概要や暗号化の流れや役割、導入方法を詳しく解説!

SSL暗号化とは?概要や暗号化の流れや役割、導入方法を詳しく解説!

CRYPTREC暗号リストとは?初心者向けにわかりやすく解説!

CRYPTREC暗号リストとは?初心者向けにわかりやすく解説!

個人情報保護法での暗号化の必要性とは?実施方法や注意点も解説

個人情報保護法での暗号化の必要性とは?実施方法や注意点も解説

RSA暗号とは?仕組みや応用事例を初心者にもわかりやすく解説!

RSA暗号とは?仕組みや応用事例を初心者にもわかりやすく解説!

公開鍵・秘密鍵とは?暗号化の仕組みをわかりやすく解説

公開鍵・秘密鍵とは?暗号化の仕組みをわかりやすく解説

暗号化のAES方式とは?ほかの種類との違い・利用方法を解説!

暗号化のAES方式とは?ほかの種類との違い・利用方法を解説!

暗号化の種類・特徴とは?暗号アルゴリズムもわかりやすく解説!

暗号化の種類・特徴とは?暗号アルゴリズムもわかりやすく解説!

パスフレーズとは?パスワードとの違い・作り方のポイントを紹介!

パスフレーズとは?パスワードとの違い・作り方のポイントを紹介!

暗号化の「DES」とは?概要や仕組み、主流となるAESもあわせて解説!

暗号化の「DES」とは?概要や仕組み、主流となるAESもあわせて解説!

IT製品・サービスの比較・資料請求が無料でできる、ITトレンド。「レインボーテーブルとは?概要、攻撃の仕組みや対策方法も解説!」というテーマについて解説しています。暗号化の製品導入を検討をしている企業様は、ぜひ参考にしてください。

お役立ち資料ダウンロード こちらをクリック
暗号化
基本情報から選ぶ時のポイント、ITトレンドおすすめの製品情報をまとめてご紹介します。
カテゴリー関連製品・サービス
資料請求で
比較表が作れる!
株式会社DataClasys
株式会社DataClasys
☆☆☆☆☆
★★★★★
4.3
アプリを問わず暗号化!操作変わらず漏洩防止!DataClasys・データクレシス
Microsoft Word/Excel、一太郎、AutoCADなど、あらゆる文書をファイル単位で暗号化。個人情報保護法、不正競争防止法、SOX法などの内部統制強化に対応したファイル管理・文書管理を実現します。
タレスDISジャパン株式会社
タレスDISジャパン株式会社
PCIDSS 準拠と情報漏洩対策【SafeNet トークナイゼーションマネージャー】
クレジットカードデータ等をトークン化する事で、データベースそのものをPCI DSSの監査対象から外すことができ、監査コストを大幅に削減できる新しいソリューション
ペンタセキュリティシステムズ株式会社
ペンタセキュリティシステムズ株式会社
Oracle/Microsoft SQL Serverの商用DB暗号化ソリューション D'Amo
D'Amoは商用データベースOracle・Microsoft SQL Server専用の暗号化ソリューションです。アプリケーションのクエリー変更せずに導入でき、カラム単位で機密情報を選択的に暗号化できます。
タレスDISジャパン株式会社
タレスDISジャパン株式会社
☆☆☆☆☆
★★★★★
4
エンタープライズ暗号鍵管理(EKM)CipherTrust Manager(CM暗号鍵管理)
CipherTrust Manager は、暗号鍵と暗号アプリケーションの一元的な中央集中管理を可能にするエンタープライズ暗号鍵管理(EKM)ソリューションです。
タレスDISジャパン株式会社
タレスDISジャパン株式会社
☆☆☆☆☆
★★★★★
5
クラウドデータ暗号化プラットフォームSafeNet Data Protection On Demand
ハードウェアやソフトウェアに対する先行投資不要なクラウドベースのデータ保護プラットフォームです。複数クラウドの暗号鍵管理をクラウドHSMで一元管理し、暗号化サービスを提供します。
タレスDISジャパン株式会社
タレスDISジャパン株式会社
HSM(ハードウェアセキュリティモジュール)タレスHSM シリーズ
HSMはデータ暗号処理及び暗号鍵を格納する専用ハードウェアです。タレスのHSMは、FIPS 140-2 やコモンクライテリアにより、高いセキュリティレベルが第三者によって評価・認定されています。
タレスDISジャパン株式会社
タレスDISジャパン株式会社
世界で圧倒的な実績のデータベース暗号化ソリューションSafeNet ProtectDB
マルチベンダー対応のデータベース暗号化製品。カラム単位でのきめ細かい暗号化と、専用アプライアンスによる暗号鍵管理により、ハイレベルなセキュリティを実現します。
タレスDISジャパン株式会社
タレスDISジャパン株式会社
ハイブリッドクラウド暗号鍵管理CipherTrust Cloud Key Manager(CCKM)
CipherTrust Cloud Key Manager(CCKM)は複数のクラウド環境上の暗号鍵を一元管理し、今日のハイブリッド環境におけるセキュリティの統合管理を実現します。
ペンタセキュリティシステムズ株式会社
ペンタセキュリティシステムズ株式会社
OSS データベースに特化した透過型暗号化ソリューションMyDiamo
MyDiamo(マイ・ディアモ)は、OSSデータベースに最適化されたデータ暗号化ソリューションです。暗号化機能に、アクセス制御や監査ログ機能を併せたオールインワンのパッケージで導入できます。
カテゴリー資料請求ランキング
1月30日(月) 更新
第1位
  • HSM(ハードウェアセキュリティモジュール)タレスHSM シリーズ
  • タレスDISジャパン株式会社
第2位
  • アプリを問わず暗号化!操作変わらず漏洩防止!DataClasys・データクレシス
  • 株式会社DataClasys
第3位
  • エンタープライズ暗号鍵管理(EKM)CipherTrust Manager(CM暗号鍵管理)
  • タレスDISジャパン株式会社
4位以下のランキングはこちら
ログイン ログイン
新規会員登録 新規会員登録
ITトレンドへの製品掲載・広告出稿はこちらから
レビュー用バナー
新着記事
  • ペイロードを暗号化する「ESP」とは?IPSec上での仕組みを解説
    ESPとはどのような仕組みなのでしょうか。ペイロー...
  • 暗号化機能付きUSBとは?概要や認証方法の種類についても詳しく紹介!
    USBメモリで安全にデータを持ち運びたいと考えてい...
  • クラウド対応の暗号化ソフトのおすすめ12選!選び方も解説!
    データやファイルを暗号化する際には、クラウド型...
  • 安全性が高い「SSH」とは?特徴、認証方式や使い方をわかりやすく解説
    SSHというプロトコルを知っていますか。コンピュー...
  • 暗号化のAES方式とは?ほかの種類との違い・利用方法を解説!
    AESとは、無線LANなどに用いられる暗号化アルゴリ...
  • 暗号化におけるアルゴリズムとは?種類や代表例について詳しく紹介!
    暗号化におけるアルゴリズムを知っていますか。暗...
  • 公開鍵・秘密鍵とは?暗号化の仕組みをわかりやすく解説
    暗号化に使われる公開鍵・秘密鍵についてご存知で...
  • パスフレーズとは?パスワードとの違い・作り方のポイントを紹介!
    情報資産を守るためセキュリティ強化に取り組む企...
  • 暗号化の「DES」とは?概要や仕組み、主流となるAESもあわせて解説!
    DESとは何なのでしょうか。暗号化に関する言葉だと...
  • 暗号化とは?仕組み・種類・方法など基礎知識をわかりやすく解説!
    暗号化はメールや通信など、やり取りを行う際に情...
ページトップへ
ITトレンドについて
ITトレンドとは|
ご利用規約|
レビューガイドライン|
プライバシーポリシー|
クッキーポリシー|
運営会社|
サイトマップ|
お問い合わせ
IT製品を探す
製品を探す |
ランキングから探す |
専門家一覧
IT製品を知る
用語集
IT製品を掲載する
掲載について
関連サービス・サイト
List Finder |
Urumo! |
チラヨミ |
Sales Doc |
Matchup

Copyright (C) 2023 IT Trend All Rights Reserved.

暗号化ソフトの製品をまとめて資料請求
0件の製品が資料請求リストにあります。
資料請求リストをリセットします。
よろしいですか?