Skip to main content

RSA

🔐 TLS-Handshake mit RSA – verständlich erklärt:

Ein Server erzeugt ein Schlüsselpaar, bestehend aus zwei Teilen:

  • Der Private Key bleibt ausschließlich auf dem Server und wird niemals übertragen.

  • Der Public Key hingegen darf öffentlich eingesehen und von jedem genutzt werden.

Wenn sich ein Client mit dem Server verbindet, erhält er zunächst das Zertifikat des Servers, in dem auch der Public Key enthalten ist.

Anschließend beginnt der TLS-Handshake:

    1. Der Client sendet unverschlüsselt eine zufällige Zahl – den Client Random – an den Server und bittet gleichzeitig um den Server Random, der ebenfalls zufällig generiert wird.
      Wichtig: Der Server erzeugt für jeden Client eine eigene Server-Random-Zahl, um die Verbindung individuell abzusichern.

    2. Nun erzeugt der Client den Pre-Master-Key, eine zufällige, meist 48 Byte große Zeichenfolge.
      Diesen verschlüsselt er mit dem Public Key des Servers – so entsteht das sogenannte Encrypted Pre-Master Secret.

    3. Der Client überträgt das verschlüsselte Pre-Master Secret an den Server.
      Da nur der Server im Besitz des passenden Private Keys ist, kann nur er diese Nachricht wieder entschlüsseln und so an den ursprünglichen Pre-Master-Key gelangen.
      Dieses Verfahren nennt man asymmetrische Verschlüsselung, da zwei unterschiedliche Schlüssel (Public/Private) verwendet werden.

    4. Um die anschließende Kommunikation effizienter zu gestalten, wechseln Client und Server nun zu einem symmetrischen Verfahren:

      • Beide Seiten berechnen unabhängig voneinander einen Session-Key, der sich aus dem:

        • Pre-Master-Key

        • Client Random

        • Server Random
          zusammensetzt.

      • Da beide denselben Berechnungsweg und dieselben Werte verwenden, entsteht identisch derselbe Session-Key auf beiden Seiten.

    5. Ab diesem Moment kann die gesamte Kommunikation verschlüsselt mit dem Session-Key stattfinden – schnell, sicher und symmetrisch, solange die Verbindung aktiv ist.