RSA-Key-Exchange vs. (EC)DHE: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | |||
= TLS 1.2 – RSA-Key-Exchange vs. (EC)DHE = | = 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. | ||
Version vom 27. November 2025, 17:43 Uhr
TLS 1.2 – RSA-Key-Exchange vs. (EC)DHE
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.