Die Beauftragte für den Datenschutz und die Informationsfreiheit

Informationen zur Verschlüsselung mit SSL

Das Protokoll Secure Socket Layer (SSL) ist ein Verfahren zur sicheren Kommunikation zwischen Web-Server und Browser mit dem gleichzeitig die Authentizität des Web-Servers sichergestellt werden kann.

SSL verwendet dabei sowohl symmetrische als auch asymmetrische Verschlüsselung.

Symmetrische Verschlüsselung

Bei der symmetrischen Verschlüsselung wird zum Ver- und Entschlüsseln von Daten ein einziger Schlüssel verwendet. Ein Vorteil dieser Methode besteht darin, dass große Datenmengen sehr schnell ver- und entschlüsselt werden können. Der Nachteil ist, dass Sender und Empfänger beide über diesen einen Schlüssel verfügen müssen.

Asymmetrische Verschlüsselung

Bei der asymmetrischen Verschlüsselung kommen zwei Schlüssel, ein sog. Schlüsselpaar, zum Einsatz. Ein Schlüssel wird dabei zum Verschlüsseln der Daten verwendet, der andere zum Entschlüsseln dieser Daten. Dies funktioniert, da beide Schlüssel mathematisch zueinander in Beziehung stehen. Um dieses Verfahren für die Kommunikation zwischen einem oder vielen Sendern und einem Empfänger zu nutzen, wird vom Besitzer des Schlüsselpaares der Schlüssel zum Verschlüsseln von Daten als "Öffentlicher Schlüssel" verbreitet, während der Schlüssel zum Entschlüsseln als "Geheimer Schlüssel" bei ihm verbleibt. Auf diese Weise kann ein jeder, der über diesen öffentlichen Schlüssel verfügt, verschlüsselte Nachrichten an den Besitzer des Schlüsselpaares senden, die nur von diesem mit seinem geheimen Schlüssel gelesen werden können.

Nachteil asymmetrischer Verschlüsselungsverfahren ist aber, dass sie grundsätzlich langsamer arbeiten als symmetrische Verfahren.

Authentizität

Auch der "Geheime Schlüssel" kann zur Verschlüsselung von Daten verwendet werden, die wiederum mit dem dazugehörigen "Öffentlichen Schlüssel" entschlüsselt werden können.

Wenn genau bekannt ist, wem der entsprechende öffentliche Schlüssel zuzuordnen ist, kann auf diese Weise die Authentizität eines Senders festgestellt werden, da mit dem öffentlichen Schlüssel tatsächlich nur die Nachrichten entschlüsselt werden können, die der Besitzer des dazugehörigen geheimen Schlüssels verschlüsselt hat.

Um sicherzustellen, wem genau ein öffentlicher Schlüssel zuzuorden ist, kann der Besitzer eines Schlüsselpaares seinen öffentlichen Schlüssel von einer Zertifizierungs-Stelle "signieren" lassen, womit seine Angaben von dritter Seite überprüft werden. Die Zertifizierungs-Stelle wiederum verschlüsselt dieses Zertifikat mit ihrem privaten Schlüssel. Somit wird die Echtheit dieses Zertifikates dadurch bestätigt, dass es nur mit dem bekannten öffentlichen Schlüssel der Zertifizierungs-Stelle geöffnet werden kann.

Das Verfahren basiert darauf, dass die Vertrauenswürdigkeit des öffentlichen Schlüssels der Zertifizierungsstelle vorausgesetzt wird.

SSL

Soll eine SSL-Verbindung zwischen einem Web-Server und einem Browser hergestellt werden, übersendet der Web-Server seinen zertifizierten öffentlichen Schlüssel an den Browser, der das Zertifikat prüft, indem er es mit dem bereits bekannten öffentlichen Schlüssel der entsprechenden Zertifizierungsstelle öffnet (die öffentlichen Schlüssel von vielen Zertifizierungsstellen sind bereits im Browser hinterlegt oder können importiert werden).

Wird das Zertifikat und damit der öffentliche Schlüssel als gültig erkannt, generiert der Browser nun einen symmetrischen Schlüssel, verschlüsselt diesen mit dem öffentlichen Schlüssel des Web-Servers und übersendet ihn anschließend an den Web-Server. Dieser kann nun den symmetrischen Schlüssel ebenfalls verwenden, sobald er ihn mit seinem geheimen Schlüssel entschlüsselt hat.

Web-Server und Browser verwenden nun für den Rest der SSL-Sitzung diesen gemeinsamen Schlüssel zur symmetrischen Verschlüsselung ihres Datenverkehrs.

Zusammenfassung

Das SSL-Protokoll verwendet sowohl die langsamere asymmetrische, als auch die symmetrische Verschlüsselung. Die asymmetrische Verschlüsselung wird aber nur verwendet, um den Web-Server gegenüber dem Browser zu authentifizieren und um einen, für eine symmetrische Verschlüsselung notwendigen gemeinsamen Schlüssel sicher vom Browser zum Web-Server übertragen zu können. Für das höhere Datenaufkommen der weiteren SSL-Sitzung wird nur noch die schnellere symmetrische Verschlüsselung verwendet.

Dass das SSL-Protokoll verwendet wird, wird in der Adressleiste Ihres Browsers mit "https://..." anstelle des einfachen "http://..." angezeigt.