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

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „==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 ephe…“)
 
Zeile 1: Zeile 1:
==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.*
+
= 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 ==
 
== 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 Schlü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 Grundlage von TLS 1.3.*
 

Version vom 27. November 2025, 17:41 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.