SSL:Prinzip
Aus KissDoc
Inhaltsverzeichnis |
Thema: SSL
Schlüssel-Prinzip
Der sogenannte öffentliche Schlüssel ("Public Key", PK) dient zum Verschlüsseln von Daten (z.B. einer E-Mail mit vertraulichem Inhalt). Im Gegensatz zu Verschlüsselungsverfahren mit nur einem Schlüssel kann der Datensatz jedoch mit dem gleichen Schlüssel nicht wieder entschlüsselt bzw. in Klartext übersetzt werden. Nur mit dem zum öffentlichen Schlüssel passenden sog. geheimen Schlüssel ("Secret Key", SK) kann der verschlüsselte Datensatz wieder in die ursprüngliche Form gebracht werden.
Als Beispiel für dieses Verfahren sendet Benutzer A dem Benutzer B eine Nachricht, die er mit dem öffentlichen Schlüssel seines Gesprächspartners B verschlüsselt. Benutzer B kann die Nachricht mit seinem geheimen Schlüssel (SK) lesen.
Der öffentliche Schlüssel (PK) erhält seinen Namen daher, dass er zum Verschlüsseln von Nachrichten an die Gesprächspartner verteilt ("veröffentlicht") werden muss, damit diese die Nachrichten oder Dateien damit verschlüsseln können. Allein der Empfänger der Nachricht kann mit seinem geheimen Schlüssel die verschlüsselte Nachricht wieder entziffern. Ein unerwünschter Mithörer ("Netzwerk-Sniffer"), der die verschlüsselte Nachricht mithört und in den Besitz des öffentlichen Schlüssels gelangt, kann mit diesem Schlüssel die Nachricht nicht entziffern.
Das Erzeugen und Verifizieren digitaler Unterschriften funkioniert ähnlich wie das Ver- und Entschlüsseln. Zu einer Nachricht oder Datei wird zunächst eine Prüfsumme erstellt, die diesmal mit Hilfe des geheimen Schlüssels verschlüsselt wird. Der Empfänger der Nachricht kann mit Hilfe des öffentlichen Schlüssels des Absenders die verschlüsselte Prüfsumme entziffern, und mit der Prüfsumme der empfangenen Datei vergleichen, um festzustellen, ob die Datei verändert wurde und der öffentliche Schlüssel des Absenders passt.
Vorgehensweise bei Client und Server
- Der Client sendet eine Verbindungsanfrage an den Server.
- Der Server antwortet mit derselben Nachricht und sendet eventuell ein Zertifikat.
- Der Client versucht, das Zertifikat zu authentifizieren (bei Misserfolg wird die Verbindung abgebrochen). Dieses Zertifikat enthält den öffentlichen Schlüssel des Servers.
- Nach erfolgter Authentifizierung erstellt der Client das pre-master secret, verschlüsselt dieses mit dem öffentlichen Schlüssel des Servers und sendet es an den Server. Ebenfalls erzeugt der Client daraus das master secret.
- Der Server entschlüsselt das pre-master secret mit seinem privaten Schlüssel, der komplementär zu seinem öffentlichen Schlüssel ist und erstellt das master secret.
- Client und Server erstellen aus dem master secret den session key. Das ist ein einmalig benutzter symmetrischer Schlüssel, der während der Verbindung zum Ver- und Entschlüsseln der Daten genutzt wird. SSL unterstützt für die symmetrische Verschlüsselung mit diesem session-key u.a. DES und Triple DES.
- Client und Server tauschen mit diesem session key verschlüsselte Nachrichten aus und signalisieren damit ihre Kommunikationsbereitschaft.
- Die SSL-Verbindung ist aufgebaut.

