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


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

資料請求リスト

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

レインボーテーブルとは?攻撃の仕組みや対策方法もあわせて解説!

2021年05月12日 最終更新
暗号化ソフトの製品一覧
レインボーテーブルとは?攻撃の仕組みや対策方法もあわせて解説!

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

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

無料で資料請求!
暗号化ソフトの製品をまとめて資料請求! play_circle_outline
暗号化ソフトの資料請求ランキングで製品を比較! 今週のランキング第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つです。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

初期化ベクトルとは?暗号化で知っておくべき基礎知識を解説!

初期化ベクトルとは?暗号化で知っておくべき基礎知識を解説!

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

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

暗号化の基本知識「平文」とは?初心者向けにわかりやすく解説!

暗号化の基本知識「平文」とは?初心者向けにわかりやすく解説!

ハイブリッド暗号方式とは?仕組みや活用事例をわかりやすく解説!

ハイブリッド暗号方式とは?仕組みや活用事例をわかりやすく解説!

暗号化におけるアルゴリズムとは?種類や強度について詳しく紹介!

暗号化におけるアルゴリズムとは?種類や強度について詳しく紹介!

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

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

Copyright (C) 2022 IT Trend All Rights Reserved.

暗号化ソフトの製品をまとめて資料請求
資料請求フォームはこちらplay_circle_outline
0件の製品が資料請求リストにあります。
リストの製品に資料請求するplay_circle_outline すべての製品に資料請求するplay_circle_outline
リストをリセットreplay
資料請求リストをリセットします。
よろしいですか?
はい いいえ