Ich habe eine kleine Verwirrung über SSL-Handshake zwischen Browser und Server in einem typischen https Web-Szenario:Wie Browser während SSL-Handshake symmetrische Schlüssel erzeugt
Was ich verstanden habe, so weit ist, dass im Prozess des SSL-Handshake, Client (Browser in diesem Fall) verschlüsselt einen zufällig ausgewählten symmetrischen Schlüssel mit dem öffentlichen Schlüssel (Zertifikat vom Server erhalten). Dies wird an den Server zurückgesendet, der Server entschlüsselt ihn (symmetrischer Schlüssel) mit dem privaten Schlüssel. Dieser symmetrische Schlüssel wird jetzt während des Rests der Sitzung zum Verschlüsseln/Entschlüsseln der Nachrichten an beiden Enden verwendet. Einer der Hauptgründe dafür ist eine schnellere Verschlüsselung mit symmetrischen Schlüsseln.
Fragen 1) Wie wählt der Browser diesen "zufällig" ausgewählten symmetrischen Schlüssel aus und generiert ihn?
2) Haben Entwickler (oder/und Browser-Benutzer) Kontrolle über diesen Mechanismus zur Erzeugung symmetrischer Schlüssel?
Der Client generiert den Sitzungsschlüssel nicht; verschlüsselt es nicht; und überträgt es nicht. Der Sitzungsschlüssel wird über ein Schlüsselvereinbarungsprotokoll abgeleitet. Ihre Beschreibung ist grundsätzlich falsch. Ihre Frage beruht auf einer falschen Annahme. – EJP