web-dev-qa-db-ja.com

DHパラメータの推奨サイズは?

ワイヤレスルーターでEAP-TLSを設定していますが、現在FreeRADIUS用のDHパラメーターを生成しています。

まず、これらのパラメーターは何をしますか?また、どのようなサイズにする必要がありますか?

私はしばらくの間現在のパラメーターを生成しています:

openssl dhparam -check -text -5 4096 -out dh

私が従ったチュートリアルでは、512ビットのDHパラメータサイズを推奨していますが、私はすず箔のハッターです。これらのパラメーターのサイズと強度のセキュリティ上の意味は何ですか?

14
Naftuli Kay

Diffie-Hellmanは、素数を法とする整数の乗法サブグループp離散対数問題 よりも強くありません。素数pが大きいほど、DL=難しくなります。現在のレコード(学界)は、530ビットの素数係数です計算にはかなりの労力を要しましたが、教訓は、512ビットDHは既存のテクノロジーでは破壊可能であることです。このため、トラフィックを監視している攻撃者は、(代償として)キー交換メカニズムを突破し、セッションキーを回復し、また、DL破壊アルゴリズムは累積的である傾向があります。つまり、同じ係数を使用して不明瞭なセッションを破壊する方が簡単です。

さまざまな団体(NISTを含む)からの現在の推奨では、DHに2048ビットのモジュラスが必要です。既知のDH破壊アルゴリズムは、途方もなく高いコストがかかるため、既知の地球ベースのテクノロジーで完全に実行することはできません。その件に関するポインタについては this site を参照してください。

計算の使用コストは素数サイズ(実装の詳細によっては2次と3次の間のどこか)で比較的急激に上昇しますが、2048ビットのDHで十分です(基本的なローエンドPC)。 1秒あたり数百の2048ビットDHを実行できます)。

17
Tom Leek

特定のビット長の場合、dhパラメータのセットをクラックすることは、RSAキーをクラックするよりも少し難しいです。

Dhパラメータのセットがクラックされると、個々のdhセッションのクラックは比較的簡単になります。したがって、ローカルで生成されたdhパラメータを使用する方が、既知のパラメータを使用するよりも安全です。

したがって、私が使用する経験則は、使用するRSA鍵と同じ長さの自己生成dhパラメータを使用することです。

512ビットはささいにクラックされています。

768ビットは、おそらく学術的な高性能コンピューティングの手が届く範囲にあります。

1024ビットはおそらく国家国家の手が届く範囲にあります。 NSAが1024ビットのdhパラメータの最も一般的なセットをクラックした可能性があるといういくつかの証拠があります。

https://weakdh.org/

2048ビットは一般的に安全であると予想されます。しかし、何年も前に人々は1024ビットが安全であることを期待していたので、長期的な抵抗の後であれば、私は4096ビット(RSAキーとDHパラメータの両方)まで上昇するでしょう。

6
Peter Green