web-dev-qa-db-ja.com

別の暗号を使用すると失われるDualEC DRBGの機能は何ですか?

潜在的なNSAバックドアのため、 NISTが現在推奨しています その実装者はECCベースのPRNGデュアルECDRBGを使用しなくなりました。

Wired.comで説明されているように )this PRNGには、次のような特定の機能があります。

  • 出力の継続的テスト
  • 予測抵抗
  • 再シード
  • ...おそらく他の人

質問

  1. 他のPRNGが使用されるようになったため、すべてが同じ機能セットを提供するわけではありません。私たちが見逃している、または何らかの意味で「弱い」機能は何ですか?

  2. これらの機能はどういう意味ですか?なぜそれらは有用ですか? (たとえば、継続的テスト)

私の質問/脅威モデルでは、NSAは私の敵ではないと想定できますが、他の有能な攻撃者が私の暗号化の整合性や有効性を損なうのを防ぎたいと思います。

3

A PRNG再シード、予測抵抗、またはこれらの人々が「継続的テスト」によって意味するものを欠いているものは、PRNGではありません。暗号化の用語ではありません。

逆に、HMAC_DRBGのような優れたPRNGは、Dual_EC_DRBGと同じくらい優れていますが、Dual_EC_DRBGは測定可能なバイアスを示し、非常に遅いため、実際には優れています。 Dual_EC_DRBGの唯一の良い点は、出力が与えられた数論的問題と同じくらいランダムであることを示すセキュリティ証明のためのポテンシャルです。しかし、そのような証拠はまだ知られていません...

ここで、Dual_EC_DRBGとは、fixed Dual_EC_DRBGを意味し、2つの「ランダム」ポイントが、2つの標準ポイントのバックドアではなく、実際にランダムに生成された2つのポイントに置き換えられます。しかし、「修正済み」であっても、それでも遅く、偏っています。

リンク先の記事は、RSASecurityの最高技術責任者を引用しています。RSASecurityは、「他のアルゴリズム」に対するDual_EC_DRBGのいくつかの利点を挙げています。 Dual_EC_DRBGが比較されるアルゴリズムを述べることなく、これらのステートメントは空虚です。 NIST自体は、Hash_DRBGとHMAC_DRBGに同じ機能がないという提案にかなり腹を立てるでしょう。

3
Thomas Pornin

(注:私は暗号研究者ではありません。この回答に完全に基づいていない可能性があります。:P)

サム・カリーが言ったことは何でも塩のバケツでとる。彼はcryptopgrahyについて全く何も知らないことを証明しました。これが完全な見積もりです。

Dual_EC_DRBGにかかる時間の長さは、美徳と見なすことができます。また、攻撃者がシードを推測しようとする速度が低下します。他の多くの暗号化関数(PBKDF2、bcrypt、scrypt)は、ハッシュを1000回繰り返して、特に遅くします。当時、楕円曲線が流行しており、ハッシュベースのRNGが精査されていました。数論に基づいた楕円曲線手法が、他の手法(FIPS 186 SHA-1ジェネレーター)のように)と同じ弱点の多くを被らないことが期待されていました。 SP800-90(Dual EC DRBGを定義)には、出力の継続的なテスト、必須の再シード、オプションの予測抵抗、さまざまな強度を構成する機能などの新機能が必要です。

出力の継続的テスト

これは FIPS-140-2 からの引用です。

連続乱数ジェネレーターテスト。暗号化モジュールが承認済みまたは非承認済みのRNGを承認済みの動作モードで使用する場合、モジュールは、一定値への失敗をテストする各RNGに対して次の連続乱数ジェネレーターテストを実行する必要があります。

  1. RNGへの各呼び出しがnビットのブロック(n> 15)を生成する場合、電源投入、初期化、またはリセット後に生成された最初のnビットブロックは使用されませんが、次のn-と比較するために保存されます。生成されるビットブロック。 nビットブロックの後続の各生成は、以前に生成されたブロックと比較されます。比較された2つのnビットブロックが等しい場合、テストは失敗します。
  2. RNGへの各呼び出しが16ビット未満を生成する場合、電源投入、初期化、またはリセット後に生成された最初のnビット(一部のn> 15)は使用されませんが、次のn生成ビットと比較するために保存されます。 。後続の各生成nビットは、以前に生成されたnビットと比較されます。比較された2つのnビットシーケンスが等しい場合、テストは失敗します。

これが彼が言及していたものであるかどうかはわかりませんが、PRNG)に関して、私が考えたり見つけたりできる継続的なテストの唯一のアプリケーションです。

ご覧のとおり、これは非常に単純なテストであり、適切なPRNG)であれば合格できます。

予測抵抗

彼は、攻撃者が最初のnビットを指定してPRNG anyCSPRNGが有用であるためにはこの特性を持たなければならないので、なぜ彼がこれをDual-EC-DRBGの利点と考えるのかわかりません。

再シード

繰り返しになりますが、なぜ彼がこれをDual-EC-DRBGの特別な特性と見なしているのかわかりません。 SP800-90A で定義されている他のアルゴリズムはすべて、PRNGを再シードするメソッドを定義しています。

最近インターネットで多くの人が指摘しているように、PRNGは簡単に置き換えられます。 Dual-EC-DRBGから切り替えても何も失われません。

2
user10211

決定論的ランダムビットジェネレーターをDual_EC_DBRGから切り替えることで見逃しているのは、

  • バイアス。実際の出力にはバイアスがかかっているため、バイアスを取り除くために追加のレイヤーが追加されています。 (バイアスは悪いことです)
  • 非効率。 Dual_EC_DBRGは、他の方法に比べて遅いです。何かを遅くしたいという非常に特殊なケースがいくつかありますが、DBRGはその1つではありません。 (遅さの正当化としてPBKDF2に与えられたアナロジーは笑える。)
  • 実装の複雑さ。 Dual_EC_DBRGの実装は、同時に提供された代替案のいずれかを実装するよりも注意が必要です。 (あなたはそれを推測しました。これも悪いことです)

つまり、これらは3つの大きなストライキですに対して当時の代替案と比較してDual_EC_DBRG。これらは知られていました。

誰もがDual_EC_DRBGを公開された代替案よりも好むべきだった理由は1つだけです。楕円曲線はかっこいいです。私は実際にその理由に同情しており、それは正当であると考えます他の条件が同じであればしかし、Dual_EC_DBRGが当時利用可能な他のDBRGよりも明らかに劣っていたことを考えると、誰もが選ぶ理由はありませんそれ。

念のため、バックドアの可能性は2007年に証明されました。したがって、2007年のプレゼンテーション以降の決定では、バックドアの可能性をその理由に追加する必要がありました。

選択のための独特の「説明」がおそらくこの質問の背後にあるものであるサム・カリーは、愚かではありません。しかし、彼が真実を話すことを禁じられた場合、「ユニコーンは素敵なきれいな青の色合いなので、私たちはそれを選びました」のような応答を提供することは有益です。不当な理由を正当化することを余儀なくされた場合、意味不明な言葉が予想されます。

1

これで、他のPRNGが使用されます...

いくつかのニッチな製品を除いて 、デュアルECDRBGは以前は誰も使用していなかったことは注目に値します。当初、独立した研究者は、これは恐ろしく非効率的なアルゴリズムであり、悪意のある攻撃者によって中毒される可能性のある出力を生成したと指摘しました。しかし、標準作成プロセス中のNSAからのかなりの主張のために、このアルゴリズムは、誤った設計者からの悪い考えとして歴史に単に残っていただろう。

したがって、他のPRNGが使用されるようになりました。他のPRNGは常に使用されているため、何も変わりません。

また、最新のテクノロジーでは、単純な数学的PRNGをまだ使用している場合、それは間違っています。プールを外部から供給された真のエントロピーを管理できるアルゴリズムは、実際のランダム性の単純で効果的なソースと組み合わせて、すべての既知の攻撃に耐性があります。

1
tylerl