web-dev-qa-db-ja.com

ECDHE_RSA暗号でECDHEがRSAによって署名される方法

ECDHEを鍵交換として使用し、RSAを認証として使用する暗号について:

この2つのアルゴリズムがどのように連携して正確に機能するか、ECDHEプロセスはRSA公開鍵によって暗号化されますか? DHパラメータとは何ですか?このプロセス全体について説明してください。認証と鍵交換プロセスのすべての部分を接続するのに困っています。 ECDHEはPFS(転送秘密)にのみ使用されますか、それとも他の利点がありますか?

6
Johnny Willer

一言で言えば、それがどのように機能するかです:

1)クライアントがサーバーに接続します。サーバーは、サポートするSSL/TLSプロトコルを通知し、SSL証明書をクライアントに送信します。証明書にはRSA公開鍵が含まれており、証明書は(おそらく)クライアントが信頼する認識されたCAによって署名されています。

2)クライアントは証明書のCA署名を検証し、(おそらく)証明書が有効であることを信頼します。クライアントとサーバーはECDHEの使用に同意します。

3)クライアントとサーバーは、安全なセッションを促進するために使用される一時的なECDHEキーのセットを生成します。サーバーからクライアントに送信されるキーは、サーバーの秘密キー(前の手順1で証明書の一部として以前に送信された公開キーに対応)を使用してサーバーによって署名されます。クライアントは、以前に受信した(以前は信頼できると判断されていた)サーバーの公開鍵を使用して、署名が有効であることを検証します。したがって、クライアントは、サーバーから受信した一時キーが、中間者攻撃者からではなく、サーバーから実際に送信されたものであると信頼できます。

4)クライアントとサーバーは、一時キーのセットを使用して安全なセッションを続行します。これらのキーは、セッションの最後にクライアントとサーバーの両方で破棄され(再利用されません)、完全な転送秘密を容易にします。

5
mti2935