web-dev-qa-db-ja.com

ECDHE-RSAにおけるRSAの役割は何ですか?

私はいくつかの教科書を読みましたが、説得力のある説明は見つかりませんでした。

暗号スイートECDHE-RSA-AES128-GCM-SHA256では、最初の部分(ECDHE-RSA)でのRSAの役割は何ですか?暗号スイートのこの部分は鍵交換アルゴリズムを示していますよね?それがECDHEの使用目的です。つまり、鍵交換なので、なぜRSAが必要なのでしょうか。

鍵の交換に両方のアルゴリズムが使用されていますか?私はそれについて少し混乱しています。

明らかに、ECDHEやRSAを個別に説明する必要はありません。 このコンテキストでどのように機能するかの説明が欲しいだけです。

13
Johnny Willer

ECDHE自体はアクティブな攻撃者に対しては価値がありません。受信したECDHキーをアクセスしようとしているサイトに関連付ける方法がないため、攻撃者は自分のECDHキーを送信するだけで済みます。これは、ECDHEがephemeralであるためです。つまり、サーバーのECDHキーが証明書に含まれていません。そのため、サーバーはRSAを使用してECDHキーに署名します。RSA公開キーはサーバーの証明書にあるものです。

9
cpast
 $ openssl ciphers -V ECDHE-RSA-AES128-GCM-SHA256
 ... Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD

つまり、キー交換(Kx)はECDHですが、認証部分(Au、つまり証明書の検証)はRSAであるため、内部にRSAキーを持つ証明書が必要です。

8
Steffen Ullrich

暗号スイート名は、以下で構成されています。

  • TLSプレフィックス
  • 鍵交換アルゴリズム
  • 認証アルゴリズム
  • 暗号化アルゴリズム
  • 暗号化強度
  • 暗号化モード
  • MACまたはPRF機能(TLSバージョンに依存)

あなたの場合、楕円曲線diffie-hellman鍵交換は、エフェメラルモード(前方機密を提供する)で使用され、この交換はRSA署名で認証されます。

5
chamoute

RSAはサーバーの認証に使用され、ECDHEはクライアントとサーバー間の共有秘密を生成するために使用されます。

具体的には、これは、サーバーがRSA秘密鍵を使用して、クライアントに送信する一時的なECDHパラメータ(公開鍵)に署名することを意味します。

これは、クライアントがECDH公開鍵が一部のMITMではなくサーバーに属していることを認識する方法です。

これは、一種のCAとして機能するサーバーとして見ることができます。これは、1回限りの公開鍵に署名するものです。

4
Erwan Legrand