web-dev-qa-db-ja.com

ランダムなDHグループが標準グループよりも推奨されるのはなぜですか?

Logjamを考慮して、独自のDHグループを生成するための推奨事項があることを知っています( https://weakdh.org/sysadmin.html )。このタスクをエンドユーザーに任せることは、大規模なグループ(2048ビットのグループ#14または4096ビットのグループ#16など)に対する攻撃を事前に計算するよりもはるかに問題が多いようです。偏執狂)。

さらに、これらの標準グループの生成は、明らかに悪意を持って作成されたものではありません(これはpi拡張に基づいています)。しかし、ランダムなグループは、それが悪意を持って作成されていないことを保証しません。

この共通の推奨事項は何をもたらしますか?

標準グループ: https://tools.ietf.org/html/rfc3526#page-4

3
Anthony Kraft

ツールを使用して安全なDHグループを生成するため、ランダムに完全に生成するわけではありません。これらのツールは、それらを厳格なテストに通し、安全でないプロパティがないことを確認しています。テストは非常に正確であるため、選択したパラメーターの1つが安全でない可能性は非常に低くなります。 2と5と呼ばれる2種類のジェネレーターがあります。デフォルトは2ですが、違いについては こちら を参照してください。世代はおおよそ次のようになります。

  • DHグループジェネレーターは、ランダムな候補のリストを作成します。これらはすべて完全にランダムであり、システムのエントロピープールから取得されるため、悪意を持って選択されていないことを確認できます。
  • ジェネレーターは、各候補を広範なテストにかけ、大多数を破棄し、安全に使用できる特別なプロパティを持つ少数のみを残します。

NISTが行ったのは、最初のステップでpiを使用することです。なぜなら、彼らが理論的にはそれ以外の方法でバックドアを付けることができるため、独自のランダム性を使用することを彼らが言った場合、明らかにあなたはそれらを信頼しないからです。これは安全に最初のステップを決定論的なものに変えます。

これで、ジェネレータは自分のシステムのエントロピーからエントロピーを取得するため、自分でグループを作成することを心配する必要はありません。この段階は非決定的であり、DHを弱める事前計算攻撃は問題ではなくなります。

独自のDHグループを使用する必要があるのは、事前計算を伴う攻撃からより安全になるためです。独自のDHグループを使用してはならない理由は、それらの生成が計算的に重いためであり、非常に古いコンピューターを使用している場合は、作成に時間がかかることがあります。しかし、openssl dhparamを使用してそれらを生成する限り、悪いDHグループについて心配する必要はありません。

1
forest

これらの議論を落胆させないでください:

  • 量子コンピューターのプロトタイプはすでに機能しており何かを作成しています。何だと思う?
  • GPUファームは、民間の研究者であっても、今日は非常に手頃な価格です。そして、はい-10x GeForce Titan ZA GOOD KICK-ASSを作成できます
  • 「オンサイト」でグループを生成/計算する実際の問題はありません、それは今日はるかに高速です

そのため、参考資料として提供した記事に同意します。

0
Alexey Vesnin