RSA-Key-Exchange vs. (EC)DHE
Version vom 27. November 2025, 17:41 Uhr von Thomas.will (Diskussion | Beiträge)
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.