Logjamを考慮して、独自のDHグループを生成するための推奨事項があることを知っています( https://weakdh.org/sysadmin.html )。このタスクをエンドユーザーに任せることは、大規模なグループ(2048ビットのグループ#14または4096ビットのグループ#16など)に対する攻撃を事前に計算するよりもはるかに問題が多いようです。偏執狂)。
さらに、これらの標準グループの生成は、明らかに悪意を持って作成されたものではありません(これはpi拡張に基づいています)。しかし、ランダムなグループは、それが悪意を持って作成されていないことを保証しません。
この共通の推奨事項は何をもたらしますか?
ツールを使用して安全なDHグループを生成するため、ランダムに完全に生成するわけではありません。これらのツールは、それらを厳格なテストに通し、安全でないプロパティがないことを確認しています。テストは非常に正確であるため、選択したパラメーターの1つが安全でない可能性は非常に低くなります。 2と5と呼ばれる2種類のジェネレーターがあります。デフォルトは2ですが、違いについては こちら を参照してください。世代はおおよそ次のようになります。
NISTが行ったのは、最初のステップでpiを使用することです。なぜなら、彼らが理論的にはそれ以外の方法でバックドアを付けることができるため、独自のランダム性を使用することを彼らが言った場合、明らかにあなたはそれらを信頼しないからです。これは安全に最初のステップを決定論的なものに変えます。
これで、ジェネレータは自分のシステムのエントロピーからエントロピーを取得するため、自分でグループを作成することを心配する必要はありません。この段階は非決定的であり、DHを弱める事前計算攻撃は問題ではなくなります。
独自のDHグループを使用する必要があるのは、事前計算を伴う攻撃からより安全になるためです。独自のDHグループを使用してはならない理由は、それらの生成が計算的に重いためであり、非常に古いコンピューターを使用している場合は、作成に時間がかかることがあります。しかし、openssl dhparam
を使用してそれらを生成する限り、悪いDHグループについて心配する必要はありません。
これらの議論を落胆させないでください:
そのため、参考資料として提供した記事に同意します。