5

私は暗号化を探していましたが、Rainbow Tablesのいくつかの実装がパスワード(たとえばWindows)の魅力のように機能するのを見てきました。

RARファイルに対するRainbow攻撃の実装はまだ見ていません。なぜそうなのですか。RAR暗号化をより安全にし、この種の攻撃の影響を受けないようにする理由は何ですか?

4

4 に答える 4

15

レインボー テーブルは、ハッシュ関数を反転するための最適化です。ハッシュしかないときにパスワードを見つけます。これはここでは厳密に必要というわけではありませんが、レインボー テーブルとは何ですか。いくつかの一般的な誤解を解消する非常に優れた説明があります。

RAR 暗号化 (または、パスワードを使用してデータを暗号化するほぼすべてのもの) には 2 つの部分があります。まず、鍵導出関数(KDF) を使用して、パスワードから暗号化鍵を導出します。次に、暗号化キーを使用してデータを暗号化または復号化します。

KDF がハッシュ関数であっても、レインボー テーブルは役に立ちません。攻撃者は KDF の出力を持っていません。パスワードが認証に使用される場合、KDF の出力はデータベースに保存されているものです。暗号化にパスワードが使用される場合、KDF の出力は、攻撃者が求めている秘密鍵です。

いずれにせよ、レインボー テーブルは無塩ハッシュに対してのみ役立ちます。WinRARは、salt を含む優れた KDF ( PBKDF2 ) を使用します。

KDF は、可変長文字列を固定サイズのキーに変換します。KDF の重要な特性は、入力文字列を個別のキーに個別にマップする必要があることです。暗号化ハッシュ関数(SHA-1、SHA-256、…) がこれを実現します。入力文字列が人間によって提供されたパスワードの場合、ハッシュ関数だけでは達成できない重要なプロパティが他に 2 つあります。

  • 2 人が同じパスワードを選択した場合、同じキーを持つことになってはなりません。
  • 攻撃者が力ずくでパスワードを見つけられないように、KDF は計算が遅くなければなりません。

塩は最初の性質を達成します。2 番目のプロパティは、次のようなことを行うことによって実現されます。パスワードを取得し、ソルトを追加し、ロットをハッシュします。このハッシュを取り、ソルトを追加し、ロットをハッシュします。何度も繰り返します。

レインボー テーブルは、「一方向」関数を使用してプリイメージを計算するための最適化です。関数は、一方向の計算は簡単ですが、逆方向の計算はほぼ不可能です。つまり、x が与えられると、y=f(x) を計算するのは簡単ですが、y が与えられると、何らかの方法で x を推測して確認する以外に、y=f(x) となるような x を見つける既知の方法はありません。ハッシュ関数はこのようなものです。対称鍵による暗号化は、このようなものではありません。攻撃者は、その逆数を計算できる以上に f を計算できません。したがって、レインボー テーブルは対称暗号化の解読には役立ちません。

于 2012-08-08T17:32:06.687 に答える
6

レインボー テーブルは、暗号化ではなく、ハッシュのデコードに使用されます。レインボー テーブルは、可能な入力のセットに対して事前に計算されたハッシュの単なるリストです。

そのため、考えられるすべての Windows パスワードのハッシュを事前に計算すると、不明なパスワードを回復する場合に必要なのは、SAM データベースからのハッシュだけであり、それをレインボー テーブルで検索します。レインボー テーブルは、そのハッシュに対応するパスワードを提供します。これはパスワード ソルトによって複雑になりますが、それが基本的な考え方です。

レインボー テーブルは、暗号化の解読には役立ちません。理論的には、考えられるすべての鍵と考えられるすべての平文入力について、考えられるすべての暗号文を事前に計算できますが、このデータを格納するには、宇宙に存在する原子よりも多くのビットが必要になるでしょう。あなたがそこにたどり着く前に、おそらく何もないところまで沸騰してしまったでしょう。キーをブルートフォースするだけの方が高速です(それでも法外に遅いですが)。

于 2010-09-29T00:28:31.070 に答える
3

レインボー テーブルは、暗号化ハッシュ関数によって生成されたハッシュからプレーンテキスト コンテンツを復元するのに役立ちますが、RAR ファイルはファイル データとヘッダーに AES 暗号化を使用します。違う種類の動物です。

于 2010-09-29T00:29:43.863 に答える
1

ハッシュ化されたパスワードのレインボー テーブルを打ち負かす簡単な方法は、saltを使用することです。私は RAR ファイルの暗号化に詳しくありませんが、ウィキペディアのページによると、RAR3 は悪質な暗号化スキームを使用しています。

于 2010-09-29T00:28:35.390 に答える