Secure Sockets Layer (SSL) ist die Standardsicherheitstechnologie zum Einrichten einer verschlüsselten Verbindung zwischen einem Server und einem Client. Die verschlüsselte Verbindung stellt sicher, dass alle zwischen Server und Client übertragenen Daten vor unbefugter Einsichtnahme und vor Änderungen geschützt sind. Der Server benötigt zum Erstellen einer SSL-Verbindung ein SSL-Zertifikat. Dieser Abschnitt gibt einen Überblick über die Verwendung von SSL in Studio, erläutert das Zusammenspiel von TLS (Transport Layer Security) und SSL-Sicherheit, beschreibt Zertifikate und stellt Prozeduren bereit, mit denen Sie Zertifikate einer Zertifizierungstelle (Certificate Authority, CA) und Zielentitätszertifikate mit privatem Schlüssel zum Überprüfen der SSL-Clientauthentifizierung ordnungsgemäß importieren können.
TLS 1.0 ist eine Aktualisierung von SSL 3.0. Beispielsweise unterscheidet sich das TLS-Handshakeprotokoll zum Einrichten der Client/Server-Authentifizierung und -Verschlüsselung vom SSL-Handshakeprotokoll. Außerdem ist TLS jetzt stärker erweiterbar. Obgleich TLS und SSL nicht interagieren können, stellt TLS einen Mechanismus bereit, mit dem eine Implementierung von TLS 1.0 auf eine SSL 3.0-Implementierung zurückgesetzt werden kann.
Das TLS-Protokoll verwendet eine mit öffentlichen und symmetrischen Schlüsseln arbeitende Verschlüsselungstechnologie. Die Verschlüsselungstechnologie mit öffentlichen Schlüsseln verwendet eine Kombination aus öffentlichen und privaten Schlüsseln. Die mit einem der Schlüssel verschlüsselten Daten können jeweils nur mit dem 'Gegenstück' entschlüsselt werden. Wenn Daten beispielsweise mit dem öffentlichen Schlüssel verschlüsselt wurden, können sie nur mit dem privaten entschlüsselt werden.
Die öffentlichen Schlüssel der Server sind allgemein zugänglich, während die privaten Schlüssel geheim gehalten werden. Um eine sichere Nachricht an den Server zu senden, verschlüsselt ein Client die Nachricht mit dem öffentlichen Schlüssel des Servers. Wenn der Server die Nachricht erhält, entschlüsselt er sie mit seinem privaten Schlüssel.
Die Verschlüsselung mit symmetrischem Schlüssel verwendet zum Ver- und Entschlüsseln den gleichen Schlüssel. Der Client erstellt in zufälligen Abständen einen symmetrischen Schlüssel, mit dem alle Sitzungsdaten verschlüsselt werden. Dieser Schlüssel wird mit dem öffentlichen Schlüssel des Servers verschlüsselt und an den Server übermittelt.
SSL verwendet digitale Zertifikate zum Authentifizieren der Identität des Servers und (optional) der Identität des Clients. Digitale Zertifikate stammen von einer Zertifizierungsstelle (Certificate Authority, CA), die digitale Zertifikate ausgibt, erneuert bzw. entzieht, nachdem die Identität und Legitimation der anfordernden Partei geprüft wurde. Ein CA-Zertifikat (z. B. ein Root-CA-Zertifikat oder ein untergeordnetes CA-Zertifikat) enthält die Signatur der CA und den Gültigkeitszeitraum. Die CA garantiert die Verbindung zwischen einem Schlüssel und einer anderen CA oder einer Zielentität. Eine Zielentität ist eine Person, eine Rolle, eine Organisation, ein Pseudonym bzw. eine Hard- oder Softwarekomponente.
Für die Verschlüsselung und die Authentifizierung wird ein öffentlicher und ein privater Schlüssel verwendet. Der öffentliche Schlüssel ist in ein Zertifikat eingebettet, das als Site- oder Server-Zertifikat bezeichnet wird. Dieses Zertifikat enthält mehrere Informationselemente (z. B. den Namen der CA, die das Zertifikat ausgegeben hat, den Namen und den öffentlichen Schlüssel des Servers bzw. des Clients, die Signatur der CA sowie das Datum und die Seriennummer des Zertifikats). Der private Schlüssel wird erstellt, wenn Sie ein selbst unterzeichnetes Zertifikat oder eine CA-Zertifikatanforderung erstellen. Er wird zur Entschlüsselung von Clientnachrichten verwendet.