RSA-Key-Exchange vs. (EC)DHE
Zur Navigation springen
Zur Suche springen
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.