it-swarm-eu.dev

Was ist ECDHE-RSA?

Was ist der Unterschied zwischen ECDHE-RSA und DHE-RSA?

Ich weiß, dass DHE-RSA (in einem Satz) Diffie Hellman ist, der mit RSA-Schlüsseln signiert ist. Wo DH für Vorwärtsgeheimnis und RSA-Schutz gegen MITM verwendet wird, aber wo werden die elliptischen Kurven in ECDHE-RSA genau verwendet? Welche Vorteile hat ECDHE-RSA gegenüber DHE-RSA?

90
Hubert Kario

ECDHE-Suiten verwenden den Diffie-Hellman-Schlüsselaustausch mit elliptischer Kurve, während DHE-Suiten normalen Diffie-Hellman-Schlüsselaustausch verwenden. Dieser Austausch wird in beiden Fällen auf die gleiche Weise mit RSA unterzeichnet.

Der Hauptvorteil von ECDHE ist, dass es deutlich schneller als DHE ist. Dieser Blog-Artikel spricht ein wenig über die Leistung von ECDHE vs. DHE im Kontext von SSL.

83
CodesInChaos

So fügen Sie einige Informationen zu den Aussagen von @CodesInChaos hinzu:

Wenn Sie ECDHE anstelle von DHE verwenden, können Sie die folgenden Vorteile erzielen:

  • Bessere Leistung. ECDHE ist bei einer bestimmten Sicherheitsstufe schneller. @CodesInChaos verweist auf einen Artikel, der Zahlen enthält; siehe auch diese Antwort für warum elliptische Kurve bieten bessere Leistung.
  • Kleinere Nachrichten. Ein öffentlicher ECDH-Schlüssel mit einer 224-Bit-Kurve wird über 56 Bytes codiert, während ein klassischer öffentlicher DH-Schlüssel ähnlicher Stärke erforderlich ist Verwenden Sie einen 2048-Bit-Modul und verwenden Sie 256 Bytes. Da ein SSL-Handshake zwei solcher Nachrichten enthält, spart ECDHE Ihnen etwa 400 Byte. Das ist nicht viel, aber es kann in einigen Kontexten einen Unterschied machen.
  • Biodiversität. ECDH beruht auf der Härte eines mathematischen Problems, das sich von dem für die klassische DH verwendeten unterscheidet. Bis zu einem gewissen Grad kann die klassische DH als ein sehr spezifischer Unterfall von ECDH angesehen werden (Berechnungen modulo a prime sind isomorph zur Kurvenpunktaddition in einer anomalen Kurve), so dass wir ein Argument darüber, wie ECDH inhärent ist mindestens so stark wie DH (wenn ECDH gebrochen ist, ist DH auch). In der Praxis gibt es subexponentielle (d. H. Schnellere) Algorithmen zum Lösen von diskreter Logarithmus , weshalb wir für einfache DH einen 2048-Bit-Modul anstelle eines 224-Bit-Moduls verwenden müssen; Es ist kein solcher "schnellerer" Algorithmus bekannt, der die elliptische Kurvenvariante bricht.
  • Modebewusstsein. Elliptische Kurven sind cool. Dies ist ein wichtiger Vorteil, obwohl er üblicherweise mit einer ernsthafteren und langweiligeren Terminologie ausgedrückt wird ("Compliance", "Approved Algorithmus" ...).
  • Bereinigung. Wenn Sie die ECDHE-Verwendung erzwingen, lehnen Sie alte Implementierungen automatisch ab, die nicht wissen, wie ECDHE ausgeführt wird. Wenn Sie ECDHE für Ihren Webserver verwenden, müssen Sie sich keine Gedanken mehr über IE 6.0 oder 7.0! Die kryptografischen Argumente für ECDHE sind eine gute Ausrede, um solche Dinosaurier zu töten, die lange versteinert sein sollten) vor.
55
Thomas Pornin

Ich sehe zwei Fragen

"Wo werden die elliptischen Kurven in ECDHE-RSA genau verwendet?"

Ich sehe dies als "Wie werden elliptische Kurven verwendet, wenn es sich um RSA in ECDHE_RSA handelt?". Überprüfen Sie RFC 4492, Abschnitt 2, ECDHE_RSA - es ist ziemlich gut. Im Wesentlichen ist das Serverzertifikat ein RSA-Zertifikat (dh mit langfristigen RSA-Schlüsseln), aber während des TLS-Handshakes stimmt es stattdessen einem vorübergehenden/temporären/ Ephemeral ( Der [~ # ~] e [~ # ~] ist der öffentliche DHE) EC-Schlüssel mit DH. Die langfristige Authentizität wird also über die RSA-Signatur des Serverzertifikats bestätigt, die transienten Schlüssel werden jedoch über kurzlebige EC-Schlüssel abgeleitet (die dann den symmetrischen Schlüssel generieren).

Welche Vorteile hat ECDHE-RSA gegenüber DHE-RSA?

Dies wird bereits in den anderen Antworten angesprochen.

6
DeepSpace101

Was ist der Unterschied zwischen ECDHE-RSA und DHE-RSA?

Beginnen wir mit den Ähnlichkeiten.

  • Beide Chiffresuiten verwenden kurzlebige Schlüssel für den Diffie-Hellman-Prozess. (das ist das "E" im Namen). Dies bietet Vorwärtsgeheimnis.
  • Beide Chiffresuiten verwenden RSA, um die emphermeralen Schlüssel des Servers zu signieren und so den Austausch vor Man-in-the-Middle-Angriffen zu schützen (das ist der RSA im Namen).

Nun zum Unterschied.

  • ECDHE-RSA verwendet Diffie-Hellman für eine elliptische Kurvengruppe, während DHE-RSA Diffie-Hellman für eine Modulo-Prime-Gruppe verwendet.

Welche Vorteile hat ECDHE-RSA gegenüber DHE-RSA?

Es gibt einen bekannten Angriff, der für konventionelle DH funktioniert, aber nicht für ECDH.

Um das gleiche Maß an angenommener Sicherheit zu erreichen, benötigt * DH eine viel größere Gruppe als ECDH. Das bedeutet langsamere Berechnungen und mehr Netzwerkverkehr.

Einige Kunden unterstützen nur konventionelle DHE, während andere nur ECDHE unterstützen. Außerdem schlägt Java 7 den Handshake fehl, wenn DHE mit einer Primzahl größer als 1024 Bit ** verwendet wird.

Wenn Sie also eine breite Client-Kompatibilität, eine starke Kryptografie und Weiterleitungsgeheimnis mit so vielen Clients wie möglich wünschen, sollten Sie ECDHE als bevorzugte Option und DHE (mit einer entsprechend großen Primzahl) als zweite Wahl verwenden.

* Das ist der Rechenaufwand, der erforderlich ist, um es angesichts der derzeit bekanntesten Angriffe zu knacken.
** Niemand hat öffentlich zugegeben, es geknackt zu haben, aber es wird vermutet, dass gut ausgestattete Angreifer dies tun könnten.

2
Peter Green