web-dev-qa-db-ja.com

ECDSA暗号と鍵交換に関する転送秘密の質問

ECDSA暗号はサーバーの秘密鍵に依存しないため、「各セッション」に対して異なる鍵を生成するという前方機密性があると聞きました。 「各セッション」はどのように定義されているのですか?この異なるキーアプローチは、同じサーバーを言うために、連続する/異なるSSL接続ごとに発生するのか、それともサーバー側のSSL再ネゴシエーション要求が発生したときに既存のSSL接続内で発生するのか?

1
user53029

各セッションは、各SSLセッションを意味します。クライアントとサーバーの両方がセッションの再利用を実装し、各SSL接続がクリーンな方法で閉じられる場合、SSLセッションは複数のTCP=接続(つまりSSL接続)で再利用できます。

同じ接続内で複数の完全なSSLハンドシェイクを行う場合、SSL接続は複数のSSLセッションで構成される場合もあります。

1
Steffen Ullrich

Forward Secrecy

データの送信を保護するために使用されるキーは、追加のキーを派生させるために使用してはなりません。データの送信を保護するために使用されるキーが他のキーイングマテリアルから派生している場合、そのマテリアルを使用してそれ以上のキーを派生させることはできません。このように、単一のキーの侵害は、その単一のキーによって保護されているデータへのアクセスのみを許可します。

Perfect Forward Secrecy(PFS)

PFSは上記に当てはまりますが、以下の2つの特性を満たします。

  • 鍵の合意のために、セッションごとにランダムな公開鍵を生成します
  • その際、どのような決定論的アルゴリズムも使用しません

SSL/TLSでの質問への対応

「各セッション」はどのように定義されていますか?

Ephemeral Diffie HellmanはPF​​Sに使用されます 。 Ephemeral Diffie Hellman(DHE/ECDHE)を使用すると、単一のSSLセッションが閉じるたびに、各セッションでDHパラメータの再ネゴシエーションが強制されます。したがって、「各セッション」とは、文字通り、セッションが終了するとすぐにキーが破棄されることを意味します。サーバーはセッションIDを保存しないため、毎回新しいキーが強制されます。

この異なるキーアプローチは、同じサーバーを言うために、連続する/異なるSSL接続ごとに発生するのでしょうか、それともサーバー側のSSL再ネゴシエーション要求が発生するときに既存のSSL接続内で発生するのですか?

同じサーバーでも、サーバー側がセッションキーをキャッシュしてはならないサーバー側の再ネゴシエーションでもかまいません。したがって、* DHE暗号スイートには新しいDHパラメータが必要です。これが理論の仕組みです。構成は別の話のようなものです。 一部のサーバーでは、これを確実に行うためにセッションの再開を無効にする必要がある場合があります。

RFC5246:TLS 1.2標準

DHE暗号スイートを使用する場合、実装はハンドシェイクごとに新しいXを生成する必要があります(SHOULD)。

関連する質問と回答

1
RoraΖ