web-dev-qa-db-fra.com

Quel est le rôle du RSA dans ECDHE-RSA?

J'ai lu quelques manuels et je n'ai pas trouvé d'explication convaincante.

Dans la suite de chiffrement ECDHE-RSA-AES128-GCM-SHA256, quel est le rôle du RSA dans la première partie (ECDHE-RSA)? Cette partie de la suite de chiffrement indique le algorithme d'échange de clés, non? C'est pour cela que l'ECDHE est utilisé: échange de clés, alors pourquoi avons-nous besoin de RSA?

Les deux algorithmes sont-ils utilisés pour échanger les clés? Je suis un peu confus à ce sujet.

Évidemment, il n'est pas nécessaire d'expliquer ECDHE ou RSA séparément. Je veux juste une explication de leur fonctionnement dans ce contexte .

13
Johnny Willer

ECDHE en lui-même ne vaut rien contre un attaquant actif - il n'y a aucun moyen de lier la clé ECDH reçue au site que vous essayez de visiter, donc un attaquant pourrait simplement envoyer sa propre clé ECDH. En effet, ECDHE est éphémère, ce qui signifie que la clé ECDH du serveur n'est pas dans son certificat. Ainsi, le serveur signe sa clé ECDH en utilisant RSA, la clé publique RSA étant la chose dans le certificat du serveur.

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

Cela signifie que l'échange de clés (Kx) est ECDH, mais la partie d'authentification (Au, c'est-à-dire la validation du certificat) est RSA, donc il attend un certificat avec une clé RSA à l'intérieur.

8
Steffen Ullrich

Le nom de la suite de chiffrement est composé de:

  • Préfixe TLS
  • Algorithme d'échange de clés
  • Algorithme d'authentification
  • Algorithme de cryptage
  • Force de chiffrement
  • Mode de cryptage
  • Fonction MAC ou PRF (selon la version TLS)

Dans votre cas, l'échange de clés diffie-hellman à courbe elliptique sera utilisé en mode éphémère (qui assure la confidentialité) et cet échange sera authentifié avec la signature RSA.

5
chamoute

RSA est utilisé pour authentifier le serveur tandis que ECDHE est utilisé pour générer un secret partagé entre le client et le serveur.

Concrètement, cela signifie que le serveur signe avec sa clé privée RSA les paramètres éphémères ECDH (clé publique) qu'il envoie au client.

C'est ainsi que le client sait que la clé publique ECDH appartient au serveur et non à certains MITM.

Vous pouvez voir cela comme le serveur agissant en quelque sorte comme une autorité de certification, qui signe les clés publiques à usage unique.

4
Erwan Legrand