SSL (Secure Sockets Layer) ist ein kryptographisches Protokoll auf Layer 4 im OSI Modell, das zur sicheren Kommunikation im Internet verwendet wird. SSL stellt eine Verschlüsselungsschicht zwischen zwei Kommunikationspartnern her, um die Vertraulichkeit, Integrität und Authentizität der übertragenen Daten zu gewährleisten. SSL verwendet asymmetrische (public-key) und symmetrische (shared-key) Verschlüsselung, um die Sicherheit zu gewährleisten.
Zu den Hauptmerkmalen von SSL gehören:
Der SSL/TLS-Handshake ist der erste Schritt, bei dem der Client und der Server die Parameter der sicheren Verbindung aushandeln. Dies umfasst die Auswahl einer Verschlüsselungsmethode, den Austausch von Verschlüsselungsschlüsseln und die Authentifizierung des Servers (optional auch des Clients). Der Handshake verwendet asymmetrische Verschlüsselung (Public-Key-Kryptografie), um die Kommunikation zu sichern.
Siehe z.B Diffie Hellman Key Exchange
Während des Handshakes tauschen der Client und der Server Informationen aus, um einen symmetrischen Sitzungsschlüssel zu generieren. Der symmetrische Schlüssel wird dann für die Verschlüsselung und Entschlüsselung der eigentlichen Datenübertragung verwendet. Dies ermöglicht eine effiziente Verschlüsselung und Entschlüsselung großer Datenmengen.
Sobald der Handshake abgeschlossen ist und der symmetrische Sitzungsschlüssel etabliert ist, können Daten sicher zwischen Client und Server übertragen werden. Die Daten werden mit symmetrischer Verschlüsselung verschlüsselt, um sicherzustellen, dass sie auf dem Übertragungsweg nicht abgefangen oder manipuliert werden.