SSL in Studio verwenden

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.

SSL und Transport Layer Security (TLS)

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.

TLS bietet drei grundlegende Sicherheitsservices:
  • Vertraulichkeit von Nachrichten – Wird durch eine Kombination der Verschlüsselung mit privaten und mit symmetrischen Schlüsseln erreicht. Der gesamte Verkehr zwischen einem Client und einem Server wird mit einem Schlüssel und einem Verschlüsselungsalgorithmus verschlüsselt, der beim Verbindungsaufbau vereinbart wird.
  • Nachrichtenintegrität – Stellt sicher, dass die in einer Sitzung übertragenen Daten auf dem Weg zum Zielort nicht geändert werden. TLS und SSL verwenden eine Kombination aus öffentlichen/privaten Schlüsseln und Hashfunktionen, um die Nachrichtenintegrität zu gewährleisten.
  • Gegenseitige Authentifizierung – Der Austausch von Identifikationsdaten über Zertifikate mit öffentlichem Schlüssel. Die Identitäten von Client und Server werden in Zertifikaten mit öffentlichem Schlüssel codiert, die die folgenden Komponenten enthalten:
    • Den registrierten Namen des Subjekts
    • Den registrierten Namen des Ausstellers
    • Den öffentlichen Schlüssel des Subjekts
    • Die Signatur des Ausstellers
    • Den Gültigkeitszeitraum
    • Die Seriennummer
Sie können auch das gesicherte HTTP-Protokoll (HTTPS) verwenden, um sicherzustellen, das die Sicherheitsinformationen des Clients beim Download auf einen Server geschützt bleiben.

Zertifikate

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.

Eine SSL- oder TLS-Sitzung wird wie folgt eingerichtet:
  1. Der Client und der Server tauschen 'Begrüßungsnachrichten' aus, um den Verschlüsselungsalgorithmus und das Hash-Verfahren (für die Nachrichtenintegrität) zu vereinbaren, die bei der Sitzung verwendet werden sollen.
  2. Der Client fordert ein Zertifikat im ITU-T-Standardformat X.509 vom Server an, um die Identität des Servers zu prüfen. Der Server kann seinerseits ein Zertifikat vom Client anfordern, muss dies aber nicht. Beim Überprüfen von Zertifikaten werden das Zertifikatformat und der Gültigkeitszeitraum berücksichtigt. Außerdem wird überprüft, ob das Zertifikat die Signatur einer anerkannten Zertifizierungsstelle enthält oder selbst signiert ist.
  3. Der Client erstellt in zufälligen Abständen eine Reihe von Schlüsseln, die zur Verschlüsselung verwendet werden. Diese Schlüssel werden mit dem öffentlichen Schlüssel des Servers verschlüsselt und über eine gesicherte Verbindung an den Server übermittelt.



Feedback | Notices


Timestamp icon Letzte Aktualisierung: Friday, November 8, 2013


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/SSL_overview.html