web-dev-qa-db-fra.com

Qu'est-ce que l'ECDHE-RSA?

Quelle est la différence entre ECDHE-RSA et DHE-RSA?

Je sais que DHE-RSA est (en une phrase) signé Diffie Hellman à l'aide des clés RSA. Où DH est utilisé pour le secret avancé et les protections RSA contre MITM, mais où les courbes elliptiques dans ECDHE-RSA sont-elles utilisées exactement? Quels sont les avantages d'ECDHE-RSA par rapport à DHE-RSA?

90
Hubert Kario

Les suites ECDHE utilisent l'échange de clés diffie-hellman à courbe elliptique, où les suites DHE utilisent un diffie-hellman normal. Cet échange est signé avec RSA, de la même manière dans les deux cas.

Le principal avantage de l'ECDHE est qu'il est nettement plus rapide que la DHE. Cet article de blog parle un peu des performances d'ECDHE par rapport à DHE dans le contexte de SSL.

83
CodesInChaos

Pour ajouter un peu d'informations sur ce que dit @CodesInChaos:

Lorsque vous utilisez ECDHE au lieu de DHE, vous pouvez obtenir les avantages suivants:

  • Meilleures performances. ECDHE est plus rapide, pour un niveau de sécurité donné; @CodesInChaos pointe vers un article qui donne des chiffres; voir aussi cette réponse pour pourquoi la courbe elliptique offre de meilleures performances.
  • Messages plus petits. Une clé publique ECDH, avec une courbe de 224 bits, sera codée sur 56 octets, tandis qu'une clé publique DH classique de force similaire doit utiliser un module de 2048 bits et utilisera 256 octets. Puisqu'il y a deux de ces messages dans une négociation SSL, ECDHE vous fait économiser environ 400 octets. Ce n'est pas beaucoup, mais cela peut faire une différence dans certains contextes.
  • Biodiversité. L'ECDH s'appuie sur la dureté d'un problème mathématique qui est distinct de celui utilisé pour la DH classique. Dans une certaine mesure, la DH classique peut être considérée comme un sous-cas très spécifique de l'ECDH (les calculs modulo a prime sont isomorphes à l'ajout de points de courbe dans une courbe anormale) afin que nous puissions nous servir d'un argument sur la façon dont l'ECDH est intrinsèquement au moins aussi fort que DH (si ECDH est cassé, DH aussi). En pratique, il existe des algorithmes sous-exponentiels (c'est-à-dire plus rapides) pour résoudre logarithme discret , c'est pourquoi nous devons utiliser un module de 2048 bits au lieu d'un module de 224 bits pour DH simple; alors qu'aucun algorithme "plus rapide" n'est connu pour rompre la variante de la courbe elliptique.
  • Fashionability. Les courbes elliptiques sont cool. C'est un avantage important, bien qu'il s'exprime habituellement avec une terminologie plus sérieuse et ennuyeuse ("conformité", "algorithme approuvé" ...).
  • Nettoyage. Si vous imposez l'utilisation d'ECDHE, vous rejetterez automatiquement les anciennes implémentations qui ne savent pas comment faire ECDHE. Si vous utilisez ECDHE pour votre serveur Web, vous n'avez plus à vous soucier de IE 6.0 ou 7.0! Les arguments cryptographiques pour ECDHE sont une bonne excuse pour tuer de tels dinosaures qui auraient dû se fossiliser longtemps depuis.
55
Thomas Pornin

Je vois deux questions

"où les courbes elliptiques dans ECDHE-RSA sont-elles utilisées exactement?"

Je vois que c'est comme "Comment les courbes elliptiques sont-elles utilisées quand c'est RSA dans ECDHE_RSA?". Eh bien, vérifiez RFC 4492, Section 2, ECDHE_RSA - c'est assez bon. Essentiellement, le certificat de serveur est un certificat RSA (c'est-à-dire avec des clés RSA à long terme) mais pendant la prise de contact TLS, il accepte à la place un transitoire/temporaire/ éphémère ( la [~ # ~] e [~ # ~] est la clé publique DHE) EC avec DH. Ainsi, l'authenticité à long terme est confirmée via la signature RSA du serveur cert mais les clés transitoires sont dérivées via des clés EC éphémères (qui génèrent ensuite la clé symétrique)

Quels sont les avantages d'ECDHE-RSA par rapport à DHE-RSA?

Ceci est déjà traité dans les autres réponses.

6
DeepSpace101

Quelle est la différence entre ECDHE-RSA et DHE-RSA?

Commençons par les similitudes.

  • Les deux ciphersuites utilisent des clés éphémères pour le processus Diffie-Hellman. (c'est le "E" dans le nom). Cela assure le secret de transmission.
  • Les deux ciphersuites utilisent RSA pour signer les clés emphermerales du serveur et protègent ainsi l'échange contre les attaques de l'homme du milieu (c'est-à-dire RSA dans le nom).

Maintenant pour la différence.

  • ECDHE-RSA utilise Diffie-Hellman sur un groupe de courbes elliptiques tandis que DHE-RSA utilise Diffie-Hellman sur un groupe modulo-prime.

Quels sont les avantages d'ECDHE-RSA par rapport à DHE-RSA?

Il existe une attaque bien connue qui fonctionne pour la DH conventionnelle mais pas pour l'ECDH.

Par conséquent, pour obtenir le même niveau de sécurité supposé, DH a besoin d'un groupe beaucoup plus grand que ECDH. Cela signifie des calculs plus lents et plus de trafic réseau.

Entrer dans le monde désordonné des aspects pratiques, certains clients ne prennent en charge que la DHE conventionnelle tandis que d'autres clients prennent uniquement en charge l'ECDHE. De plus Java 7 échouera la prise de contact si DHE est utilisé avec un nombre premier supérieur à 1024 bits **.

Donc, si vous voulez une large compatibilité avec les clients, une cryptographie solide et un secret de retransmission avec autant de clients que possible, vous devez utiliser ECDHE comme option préférée et DHE (avec une prime convenablement grande) comme deuxième choix.

* C'est la quantité d'effort de calcul nécessaire pour le casser compte tenu des meilleures attaques actuellement connues.
** Personne n'a publiquement admis l'avoir craqué, mais on soupçonne que des attaquants bien dotés pourraient le faire.

2
Peter Green