RSA-Key-Exchange vs. (EC)DHE: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
 
= TLS 1.2 – RSA-Key-Exchange vs. (EC)DHE =
 
 
 
== Um was geht es? ==
 
== Um was geht es? ==
* Dieser Artikel erklärt, warum der klassische RSA-Key-Exchange in TLS 1.2 unsicher ist und warum moderne Verbindungen ausschließlich ephemere Diffie-Hellman-Verfahren (DHE/ECDHE) verwenden sollten.
+
*Dieser Artikel erklärt, warum der klassische RSA-Key-Exchange in TLS 1.2 unsicher ist und warum moderne Verbindungen ausschließlich ephemere Diffie-Hellman-Verfahren (DHE/ECDHE) verwenden sollten.
  
 
== Grundlagen ==
 
== Grundlagen ==
* TLS 1.2 unterstützt mehrere Verfahren zum Aufbau des gemeinsamen Sitzungsschlüssels.
+
*TLS 1.2 unterstützt mehrere Verfahren zum Aufbau des gemeinsamen Sitzungsschlüssels.
* Historisch weit verbreitet war der '''RSA-Key-Exchange''', moderner und sicherer ist jedoch das '''(EC)DHE-Verfahren'''.
+
*Historisch weit verbreitet war der '''RSA-Key-Exchange''', moderner und sicherer ist jedoch das '''(EC)DHE-Verfahren'''.
  
 
== RSA-Key-Exchange (veraltet und unsicher) ==
 
== RSA-Key-Exchange (veraltet und unsicher) ==
* Beim RSA-Key-Exchange erzeugt der Client das '''Pre-Master Secret''' und verschlüsselt es mit dem langfristigen öffentlichen RSA-Schlüssel des Servers.
+
*Beim RSA-Key-Exchange erzeugt der Client das '''Pre-Master Secret''' und verschlüsselt es mit dem langfristigen öffentlichen RSA-Schlüssel des Servers.
* Der Server entschlüsselt das Pre-Master Secret mit seinem '''privaten RSA-Serverkey'''.
+
*Der Server entschlüsselt das Pre-Master Secret mit seinem '''privaten RSA-Serverkey'''.
* Der RSA-Serverkey ist ein '''statischer, langfristiger Schlüssel''', der sich nicht pro Verbindung ändert.
+
*Der RSA-Serverkey ist ein '''statischer, langfristiger Schlüssel''', der sich nicht pro Verbindung ändert.
* Alle abgeleiteten Sitzungsschlüssel hängen direkt von diesem langfristigen RSA-Schlüssel ab.
+
*Alle abgeleiteten Sitzungsschlüssel hängen direkt von diesem langfristigen RSA-Schlüssel ab.
* Wird der private Serverkey irgendwann kompromittiert, kann ein Angreifer alle aufgezeichneten TLS-Sitzungen nachträglich entschlüsseln.
+
*Wird der private Serverkey irgendwann kompromittiert, kann ein Angreifer alle aufgezeichneten TLS-Sitzungen nachträglich entschlüsseln.
* Der RSA-Key-Exchange bietet '''keine Forward Secrecy'''.
+
*Der RSA-Key-Exchange bietet '''keine Forward Secrecy'''.
* Aus diesem Grund wurde der RSA-Key-Exchange in TLS 1.3 vollständig entfernt.
+
*Aus diesem Grund wurde der RSA-Key-Exchange in TLS 1.3 vollständig entfernt.
  
 
== (EC)DHE – Ephemeres Diffie-Hellman ==
 
== (EC)DHE – Ephemeres Diffie-Hellman ==
* Beim (EC)DHE-Verfahren erzeugen Client und Server jeweils einen temporären, einmaligen Diffie-Hellman-Schlüssel.
+
*Beim (EC)DHE-Verfahren erzeugen Client und Server jeweils einen temporären, einmaligen Diffie-Hellman-Schlüssel.
* Diese temporären Schlüssel existieren nur während des Handshakes und werden danach gelöscht.
+
*Diese temporären Schlüssel existieren nur während des Handshakes und werden danach gelöscht.
* Aus den temporären Schlüsseln wird das '''Pre-Master Secret''' berechnet.
+
*Aus den temporären Schlüsseln wird das '''Pre-Master Secret''' berechnet.
* Der langfristige Server-Schlüssel aus dem Zertifikat wird nur zur '''Signatur''' genutzt, nicht zur Entschlüsselung.
+
*Der langfristige Server-Schlüssel aus dem Zertifikat wird nur zur '''Signatur''' genutzt, nicht zur Entschlüsselung.
* Ein Angreifer, der später den Server-Private-Key erbeutet, kann alte Sitzungen nicht nachträglich entschlüsseln.
+
*Ein Angreifer, der später den Server-Private-Key erbeutet, kann alte Sitzungen nicht nachträglich entschlüsseln.
 +
*(EC)DHE bietet '''Perfect Forward Secrecy'''.
 +
*(EC)DHE ist das heute empfohlene Standardverfahren.
 +
 
 +
== Sicherheitsvergleich ==
 +
{| class="wikitable"
 +
! Bereich
 +
! RSA-Key-Exchange (TLS 1.2)
 +
! (EC)DHE (TLS 1.2 & 1.3)
 +
 
 +
|-
 +
! Forward Secrecy
 +
| Keine (statischer Serverkey)
 +
| '''Ja, immer''' (temporäre Schlüssel)
 +
 
 +
|-
 +
! Angriffe auf alte Sitzungen
 +
| Nachträgliches Entschlüsseln möglich, wenn der Serverkey kompromittiert wird
 +
| Nicht möglich, da temporäre Schlüssel vernichtet werden
 +
 
 +
|-
 +
! Abhängigkeit vom Zertifikatsschlüssel
 +
| Session abhängig vom langfristigen RSA-Schlüssel
 +
| Zertifikat dient nur zur Signatur
 +
 
 +
|-
 +
! Gefahr durch Key-Leak
 +
| Sehr hoch
 +
| Gering
 +
 
 +
|-
 +
! Status in TLS 1.3
 +
| '''Komplett entfernt'''
 +
| '''Standardverfahren'''
 +
|}
 +
 
 +
== Fazit ==
 +
*Der RSA-Key-Exchange von TLS 1.2 ist technisch überholt und unsicher, da er keine Forward Secrecy bietet und alte Sitzungen bei einer Kompromittierung des Serverkeys entschlüsselt werden können.
 +
*(EC)DHE ist der moderne, sichere Standard für TLS-Verbindungen und die Grundlage von TLS 1.3.

Aktuelle Version vom 27. November 2025, 17:43 Uhr

Um was geht es?

  • Dieser Artikel erklärt, warum der klassische RSA-Key-Exchange in TLS 1.2 unsicher ist und warum moderne Verbindungen ausschließlich ephemere Diffie-Hellman-Verfahren (DHE/ECDHE) verwenden sollten.

Grundlagen

  • TLS 1.2 unterstützt mehrere Verfahren zum Aufbau des gemeinsamen Sitzungsschlüssels.
  • Historisch weit verbreitet war der RSA-Key-Exchange, moderner und sicherer ist jedoch das (EC)DHE-Verfahren.

RSA-Key-Exchange (veraltet und unsicher)

  • Beim RSA-Key-Exchange erzeugt der Client das Pre-Master Secret und verschlüsselt es mit dem langfristigen öffentlichen RSA-Schlüssel des Servers.
  • Der Server entschlüsselt das Pre-Master Secret mit seinem privaten RSA-Serverkey.
  • Der RSA-Serverkey ist ein statischer, langfristiger Schlüssel, der sich nicht pro Verbindung ändert.
  • Alle abgeleiteten Sitzungsschlüssel hängen direkt von diesem langfristigen RSA-Schlüssel ab.
  • Wird der private Serverkey irgendwann kompromittiert, kann ein Angreifer alle aufgezeichneten TLS-Sitzungen nachträglich entschlüsseln.
  • Der RSA-Key-Exchange bietet keine Forward Secrecy.
  • Aus diesem Grund wurde der RSA-Key-Exchange in TLS 1.3 vollständig entfernt.

(EC)DHE – Ephemeres Diffie-Hellman

  • Beim (EC)DHE-Verfahren erzeugen Client und Server jeweils einen temporären, einmaligen Diffie-Hellman-Schlüssel.
  • Diese temporären Schlüssel existieren nur während des Handshakes und werden danach gelöscht.
  • Aus den temporären Schlüsseln wird das Pre-Master Secret berechnet.
  • Der langfristige Server-Schlüssel aus dem Zertifikat wird nur zur Signatur genutzt, nicht zur Entschlüsselung.
  • Ein Angreifer, der später den Server-Private-Key erbeutet, kann alte Sitzungen nicht nachträglich entschlüsseln.
  • (EC)DHE bietet Perfect Forward Secrecy.
  • (EC)DHE ist das heute empfohlene Standardverfahren.

Sicherheitsvergleich

Bereich RSA-Key-Exchange (TLS 1.2) (EC)DHE (TLS 1.2 & 1.3)
Forward Secrecy Keine (statischer Serverkey) Ja, immer (temporäre Schlüssel)
Angriffe auf alte Sitzungen Nachträgliches Entschlüsseln möglich, wenn der Serverkey kompromittiert wird Nicht möglich, da temporäre Schlüssel vernichtet werden
Abhängigkeit vom Zertifikatsschlüssel Session abhängig vom langfristigen RSA-Schlüssel Zertifikat dient nur zur Signatur
Gefahr durch Key-Leak Sehr hoch Gering
Status in TLS 1.3 Komplett entfernt Standardverfahren

Fazit

  • Der RSA-Key-Exchange von TLS 1.2 ist technisch überholt und unsicher, da er keine Forward Secrecy bietet und alte Sitzungen bei einer Kompromittierung des Serverkeys entschlüsselt werden können.
  • (EC)DHE ist der moderne, sichere Standard für TLS-Verbindungen und die Grundlage von TLS 1.3.