Diffie-Hellmanについて学び始めたばかりですが、それは十分に単純に思えますが、一時的なDiffie Hellman鍵交換で説明するリソースを見つけるのに苦労しています。
したがって、DHでは、公的に知られている素数pと、循環乗法群上のg mod pがあります。ここで、gは群の生成元です。
エフェメラルDiffie Hellmanでは、エフェメラルとは正確には何ですか? pとgは変わりますか? aとbは定期的に再計算されますか?
ありがとう
AとBは、アリスとボブが交換するephemeralsと呼ばれます。それほど複雑ではありません。 Diffie Hellmanを使用する方法は他にもあります。たとえば、エフェメラルという用語が表示されない DSA-デジタル署名アルゴリズム などです。
また、通常、(P、g)はWebサイトだけでなく、多くのインターネット(RFCを介して)でも修正されています。これは、Logjam攻撃に関する最近の暴露に関連しており、NSA可能性がありますハッキング これについての私の説明はここにあります 。いずれにしても、(P、g)の作成は複雑であるため、ほとんどの人はすでに存在しているものを使用します。 。最近の露出を考えると、より大きな露出を使用する必要があるように見えるか、独自の露出を計算できます(大きなPである必要があります)。
(a、b)は、一部のネットワークセキュリティプロトコルのポリシー、またはTLSの場合は暗号スイートの構成を除いて、定期的に再計算されません。私はその質問に答えるのに十分なTLS暗号スイートの設定に精通していません。一般に、セキュリティを向上させるために、ネットワークセッションは定期的にセッションキーを再計算する必要があります。これは通常8時間ですが、それより短くても長くてもかまいません。数学では何も再計算を必要としません、それは助言されるだけです。
これが私のショットです。私はそれに完全に満足していません。批判をいただければ幸いです。
これはうまく定義されていないと思います。しかし、私はこれをバックアップするためのソースはありません。 (誰かが私に標準のドキュメントを見せてくれるなら、私は間違って見せられて嬉しいです。何かが私にとって不確実性よりも優れています。)
TLS1.2 RFCは言っています サーバーがこれらの3つを選択できるようにします:
struct {
opaque dh_p<1..2^16-1>;
opaque dh_g<1..2^16-1>;
opaque dh_Ys<1..2^16-1>;
} ServerDHParams; /* Ephemeral DH parameters */
したがって、サーバーは3つのうちのいずれかを変更できます。
しかし、私は実際にサーバーの公開鍵(dh_Ys
)のみが変更されると think すると思います。そして、これはべきである十分な秘密を与えるために十分です。
ただし、
opaque dh_p<1..2^16-1>;
opaque dh_g<1..2^16-1>;
すぐに壊れる可能性は低いです。 (2048ビットの場合と同様です。)(そして Thomas Porninが別の質問で述べました :悪いDHパラメータを取得するには、故意にそれを行う必要があります。)
次に、F5のWebサイトを見て、ロードバランサーがEDHを実装する方法を見つけました。
そして、それらには Single DH use
と呼ばれるオプションがあります。これは、 think がdh_p/dh_gペアを再生成します。
ここに引用があります。なぜそうしたいのか分かりません。私を混乱させます。
単一DHの使用
このオプションは、一時/一時的なDHパラメータを使用するときに新しいキーを作成します。強力な素数を使用してDHパラメータが生成されなかった場合(たとえば、DSAパラメータを使用した場合)、小さなサブグループ攻撃を防止する場合は、このオプションを使用する必要があります。強力な素数を使用した場合、ハンドシェイクのたびに新しいDHキーを生成する必要は厳密にはありませんが、これをお勧めします。一時的/一時的なDHパラメータを使用する場合は常に、単一DHの使用オプションを有効にする必要があります。
F5には次のような記事があります BIG-IP 11.4.0以降、新しい一時キーの生成は1時間ごとに発生します。
「キー」と「パラメータ」を交換可能に使用しているのではないかと思います。
CryptoPPがEDHについて語る場合、グループは同じままです。キーペアは変更されます。
繰り返しますが、私は dhparamsとdh-keypairを完全に区別しているかどうかはわかりません。
dhFile
インストールするPEM形式のDHパラメータファイルの名前と、必要に応じてパス。/nsconfig/ssl /がデフォルトのパスです。
このパラメーターは、バックエンドプロファイルの構成時には適用されません。
dhCount
クライアントとNetScalerアプライアンス間の相互作用の数。その後、DHのプライベートとパブリックのペアが再生成されます。ゼロ(0)の値は、無限の使用(リフレッシュなし)を指定します。
このパラメーターは、バックエンドプロファイルの構成時には適用されません。
最小値:0
最大値:65534
dhKeyExpSizeLimit
このオプションにより、秘密鍵サイズにNIST推奨(NIST Special Publication 800-56A)ビットサイズを使用できるようになります。たとえば、サイズが2048ビットのDHパラメータの場合、推奨される秘密鍵のサイズは224ビットです。これは256ビットに切り上げられます。
可能な値:ENABLED、DISABLED
デフォルト値:DISABLED
ここでdhKeyExpSizeLimit
は私を混乱させます。その部分をユーザー定義可能にする理由を理解できません。