Hilfe zum IBM HTTP Server: Erste schnelle Schritte mit Sicherheitsverbindungen

SSL

SSL ist ein Verschlüsselungssystem, das auf Servern eingesetzt wird, um die Vertraulichkeit von Daten zu gewährleisten, die im World Wide Web übertragen werden. Server, auf denen SSL aktiviert ist, verschlüsseln sensible Daten in nicht lesbaren Text, bevor sie sie an Clients senden. Dadurch wird verhindert, dass andere Benutzer die Daten lesen können, selbst wenn sie auf ihrem Weg abgefangen werden. Clients, die Daten vom Server erhalten, entschlüsseln dann den Text, um ihn lesen zu können. Mit der Verwendung von SSL auf Web-Servern kann sichergestellt werden, dass Daten, die zwischen Clients, z. B. Web-Browsern, und einem Server, z. B. einem Web-Server, übertragen werden, vertraulich bleiben. Ferner können Clients durch SSL die Identität des Servers authentifizieren.

Damit Server und Client SSL für geschützte Übertragungen verwenden können, muss der Server ein Paar aus öffentlichem und privatem Schlüssel und ein Zertifikat besitzen. Der Server unterzeichnet mit seinem privaten Schlüssel die Nachrichten, die an die Clients gesendet werden. Der Server sendet seinen öffentlichen Schlüssel an die Clients, damit diese prüfen können, ob die unterzeichneten Nachrichten auch wirklich vom Server stammen. Außerdem können sie mit dem öffentlichen Schlüssel des Servers Nachrichten an den Server verschlüsseln, die der Server dann wiederum mit seinem privaten Schlüssel entschlüsselt.

Damit der Server seinen öffentlichen Schlüssel an Clients senden kann, benötigt er ein Zertifikat, das von einer Zertifizierungsstelle (CA) ausgestellt wurde. Das Zertifikat enthält den öffentlichen Schlüssel des Servers, den registrierten Namen (DN, Distinguished Name), der dem Zertifikat des Servers zugeordnet wurde, die fortlaufende Nummer oder das Ausstellungsdatum des Zertifikats und das Verfallsdatum des Zertifikats.

Eine Zertifizierungsstelle (CA, Certification Authority) ist ein vertrauenswürdiger Dritter (oder eine bestimmte interne berechtigte Stelle), die Zertifikate ausstellt. Die CA überprüft die Identität des Servers und unterzeichnet das Zertifikat digital mit ihrem privaten Schlüssel. Mit dem öffentlichen Schlüssel kann geprüft werden, ob das Zertifikat gültig ist. Ein unterzeichnetes Zertifikat bindet die Identität des Servers an ein elektronisches Schlüsselpaar, mit dem Daten verschlüsselt und digital unterzeichnet werden können. Das Zertifikat selbst wird mit dem privaten Schlüssel der Zertifizierungsstelle unterzeichnet, um zu prüfen, ob der Server auch tatsächlich der Server ist, für den er sich ausgibt.

Damit ein Web-Server im geschützten SSL-Modus arbeitet, müssen Sie für Ihr System zunächst ein unterzeichnetes Zertifikat von einer Zertifizierungsstelle anfordern. VeriSign Inc. ist eine der zahlreichen Unternehmen, das als Zertifizierungsstelle operiert. Sie können jedoch auch ein von einer anderen Zertifizierungsstelle unterzeichnetes Zertifikat mit dem richtigen Format verwenden.

Wenn Sie Sicherheitsverbindungen konfigurieren, muss Ihr allgemeiner Schlüssel einem digital unterzeichneten Zertifikat einer Zertifizierungsstelle (CA, Certificate Authority) zugeordnet sein, die als Trusted-CA auf dem Server definiert ist.

Zugehörige Informationen

Erste Schritte mit geschützten Verbindungen

Weitere Informationen zu Zertifikaten finden Sie auf der folgenden Website: http://digitalid.verisign.com/

Sicherheitskonzepte

Der folgende Abschnitt enthält einen Überblick über Sicherheitskonzepte.

Was ist eine geschützte Kommunikation?

Der rapide Zuwachs elektronischen Handels im Internet führte zu einem steigenden Bedarf an geschützter Kommunikation im Netzwerk. Außerdem betreffen Übertragungen innerhalb eines Unternehmens über private Netzwerke häufig vertrauliche Daten, die geschützt werden müssen.

Eine geschützte Netzkommunikation hat die folgenden Merkmale:

Zugriffssteuerung

Die Ressourcen können geschützt werden, indem nur berechtigte Benutzer auf sie zugreifen können. Durch die Einschränkung des Zugriffs auf der Basis von Kennwörtern, IP-Adressen, Host-Namen oder SSL-Client-Authentifizierungen wird die Zugriffssteuerung gewährleistet.

Authentizität

Sie wissen, mit wem Sie sprechen und dass Sie dieser Person trauen können. Die Authentifizierung, unter Verwendung digitaler Unterschriften und Zertifikate, stellt die Authentizität sicher.

Datenintegrität

Nachrichten werden während der Übertragung nicht verändert. Ohne Datenintegrität haben Sie keine Garantie, dass die Nachricht, die Sie gesendet haben, auch mit der empfangenen Nachricht übereinstimmt. Die digitale Unterschrift stellt die Integrität sicher.

Vertraulichkeit und Geheimhaltung

Daten, die während einer Transaktion zwischen zwei Parteien übertragen werden, bleiben vertraulich und können auch dann nicht gelesen werden, wenn sie in falsche Hände geraten. Die Vertraulichkeit und Geheimhaltung von Daten wird durch Verschlüsselung realisiert.

Was ist Verschlüsselung?

Verschlüsselung in ihrer einfachsten Form ist die Umstellung der Zeichen in einer Nachricht, so dass sie erst dann gelesen werden kann, wenn sie später vom Empfänger wieder in ihrer ursprünglichen Form wiederhergestellt wird. Der Sender verwendet dazu einen Algorithmus (oder Schlüssel). Der Empfänger besitzt den Schlüssel für die Entschlüsselung. Die Vertraulichkeit und Geheimhaltung von Daten während Übertragungen im Internet wird durch Verschlüsselung realisiert.

Es gibt zwei Arten von Schlüsseln für die Verschlüsselung:

Asymmetrische Schlüssel

Mit asymmetrischen Schlüsseln können Sie Schlüsselpaare erstellen. Ein Schlüsselpaar besteht aus einem öffentlichen und einem privaten Schlüssel, die nicht identisch sind. Der private Schlüssel enthält einen größeren Anteil des Verschlüsselungsmuster als der öffentliche Schlüssel. Sie sollten Ihren privaten Schlüssel niemandem mitteilen.

Der Server unterzeichnet mit seinem privaten Schlüssel die Nachrichten, die an die Clients gesendet werden. Der Server sendet seinen öffentlichen Schlüssel an die Clients, damit sie Nachrichten an den Server verschlüsseln können, die der Server dann wiederum mit seinem privaten Schlüssel entschlüsselt. Nur Sie sind in der Lage, eine Nachricht zu entschlüsseln, die mit Ihrem öffentlichen Schlüssel verschlüsselt wurde, denn nur Sie haben den privaten Schlüssel. Schlüsselpaare werden in einer Schüsseldatenbank gespeichert, die durch ein Kennwort geschützt ist.

Symmetrische Schlüssel

Symmetrische Schlüssel basieren auf einem uralten Konzept, bei dem Sender und Empfänger eine Art von Muster teilen. Dasselbe Muster wird dann vom Sender für die Verschlüsselung der Nachricht und vom Empfänger für die Entschlüsselung der Nachricht verwendet.

Das Risiko bei der Verwendung symmetrischer Schlüssel besteht darin, dass eine sichere Transportmethode verwendet werden muss, wenn Sie Ihren Geheimschlüssel mit anderen Personen teilen, um mit ihnen kommunizieren zu können.

Das SSL-Protokoll (Secure Sockets Layer) verwendet sowohl den Austausch asymmetrischer als auch symmetrischer Schlüssel. Asymmetrische Schlüssel werden für den SSL-Handshake verwendet. Während des Handshake wird der Hauptschlüssel, der mit dem öffentlichen Schlüssel des Empfängers verschlüsselt ist, vom Client an den Server übergeben. Der Client und der Server erstellen mit dem Hauptschlüssel ihre eigenen Sitzungsschlüssel. Die Sitzungsschlüssel werden dann verwendet, um die Daten während der restlichen Sitzung zu ver -und entschlüsseln. Symmetrische Schlüssel werden beim Austausch der verwendeten Verschlüsselungsspezifikation (oder Verschlüsselungsebene) eingesetzt.

Damit der Server seinen öffentlichen Schlüssel an Clients senden kann, benötigt er ein digitales Zertifikat. Dieses Zertifikat wird von einer Zertifizierungsinstanz ausgestellt, die die Identität des Servers prüft.

Zugehörige Informationen:

Was ist Authentifizierung?

Authentifizierung ist der Prozess, mit dem Sie die Identität prüfen können, also feststellen können, ob jemand auch wirklich der ist, für den er sich ausgibt. Der Server verwendet die Authentifizierung auf zwei Arten:

Digitale Unterschrift

Eine digitale Unterschrift ist eine eindeutige, mathematische Unterschrift, die die Abrechenbarkeit gewährleistet. Eine digitale Unterschrift ist mit einer Kreditkarte vergleichbar, auf der Ihr Bild aufgebracht ist. Um die Identität der Person zu überprüfen, die Ihnen eine Nachricht sendet, müssen Sie sich das digitale Zertifikat des Senders ansehen.

Digitales Zertifikat

Ein digitales B (oder eine digitale ID) ist mit einer Kreditkarte vergleichbar, auf der ein Bild mit Ihnen, auf dem der Vorstand Ihrer Bank den Arm um Sie legt, aufgebracht ist. Ein Händler vertraut Ihnen nicht allein deshalb, weil Sie so aussehen wie die Person auf dem Bild, sondern weil der Vorstand Ihrer Bank Ihnen ebenfalls vertraut.

Sie basieren also Ihr Vertrauen in die Authentizität des Senders darauf, ob Sie der Stelle (Person oder Agentur) vertrauen, die den Sender zertifiziert hat. Die Stelle, die digitale Zertifikate ausstellt, wird als Zertifizierungsinstanz (CA, Certificate Authority) oder Zertifikatunterzeichner bezeichnet.

Ein digitales Zertifikat enthält folgende Einträge:

Sie geben den registrierten Namen beim Anfordern eines Zertifikats an. Das digital unterzeichnete Zertifikat enthält nicht nur Ihren eigenen registrierten Namen, sondern auch den registrierten Namen der CA.

Sie können eines der folgenden Zertifikate anfordern:

CAs senden ihre öffentlichen Schlüssel und ihren registrierten Namen in einem Paket, das die Benutzer dann Ihrem Web-Server und -Browser als Trusted-CA-Zertifikat hinzufügen können. Wenn Sie den öffentlichen Schlüssel und das Zertifikat einer CA als Trusted-CA-Zertifikat definieren, "traut" Ihr Server allen, die ein Zertifikat dieser CA besitzen. Sie können mehrere Trusted-CAs auf Ihrem Server definieren. Der IBM HTTP Server bringt einige Zertifikate von Standard-Trusted-CAs mit. Mit dem IBM Key Management Utiltity, das zu Ihrem Server gehört, können Sie Trusted-CAs hinzufügen und entfernen.

Damit eine geschützte Kommunikation stattfinden kann, muss der Empfänger bei der Kommunikation der CA vertrauen, die das Zertifikat des Senders ausgestellt hat. Dies gilt immer, egal ob der Empfänger ein Web-Server ist oder ein Browser. Wenn ein Sender eine Nachricht unterzeichnet, muss der Empfänger das entsprechende von der CA-unterzeichnete Zertifikat und den öffentlichen Schlüssel als Trusted-CA-Zertifikat definiert haben.

Zugehörige Informationen:

Was ist eine Public Key Infrastructure?

PKI (Public Key Infrastructure) ist ein System digitaler Zertifikate, Zertifizierungsinstanzen, Registrierungsinstanzen, Zertifikatverwaltungsservices und X.500-Verzeichnisse, das die Identität und Berechtigungen aller an einer Transaktion im Internet teilnehmenden Parteien prüft. Dabei kann es sich um finanzielle Transaktionen oder Operationen handeln, für die eine Identitätsprüfung erforderlich ist, wie z. B. die Bestätigung der Herkunft von Angeboten oder des Autors von E-Mail-Nachrichten.

PKI unterstützt die Verwendung von Zertifikatwiderruflisten (CRL, Certificate Revocation List). Eine Zertifikatwiderrufliste ist eine Liste der Zertifikate, die widerrufen wurden. CRLs sind eine globalere Methode zur Authentifizierung der Identität eines Clients anhand eines Zertifikats. Diese Listen können auch zur Überprüfung der Gültigkeit von Trusted-CA-Zertifikaten herangezogen werden.

CRLs und Trusted-CA-Zertifikate werden auf einem X.500-Verzeichnis-Server gespeichert und von diesem abgerufen. Die Protokolle, die zum Speichern und Abrufen von Daten auf einem X.500-Verzeichnis-Server verwendet werden, sind DAP (Directory Access Protocol) und LDAP (Lightweight Directory Access Protocol). Der IBM HTTP Server unterstützt LDAP.

Die Informationen können auf mehrere Verzeichnis-Server im Internet und in Intranets verteilt werden. Damit ist eine Organisation in der Lage, Zertifikate, Vertrauensmaßnahmen und CRLs von einer zentralen Stelle oder von verschiedenen Stellen aus zu verwalten. Dies gestaltet die Vertrauensmaßnahmen dynamischer, weil Trusted-CAs in einem Netz aus Sicherheits-Servern hinzugefügt oder gelöscht werden können, ohne die Server neu konfigurieren zu müssen.

Zugehörige Informationen:

Was ist das SSL-Protokoll?

Das SSL-Protokoll (Secure Sockets Layer) wurde von der Netscape Communications Corporation entwickelt. Durch SSL wird sichergestellt, dass die zwischen einem Client und einem Server übertragenen Daten vertraulich bleiben. Es ermöglicht dem Client, die Identität des Servers zu authentifizieren. Zur Authentifizierung der Identität eine Clients ist SSL Version 3 erforderlich.

Wenn Ihr Server ein digitales Zertifikat besitzt, können SSL-fähige Browser wie Netscape Navigator und Microsoft Internet Explorer über SSL geschützt mit Ihrem Server kommunizieren. Mit SSL können Sie auf einfache Weise eine sicherheitsgestützte Website im Internet oder Ihrem privaten Intranet einrichten. Ein Browser, der HTTP über SSL nicht unterstützt, ist nicht in der Lage, URLs mit HTTPS anzufordern. Außerdem lassen diese Browser keine Übergabe von Formularen zu, die auf geschützte Weise übergeben werden müssen.

SSL verwendet einen Sicherheits-Handshake, um eine geschützte Verbindung zwischen Client und Server herzustellen. Während des Handshake vereinbaren Client und Server die Sicherheitsschlüssel, die sie in der Sitzung verwenden wollen, und die Algorithmen, die sie für die Verschlüsselung einsetzen wollen. Der Client authentifiziert den Server. Optional kann der Server das Zertifikat des Clients anfordern. Nach dem Handshake werden mit SSL alle Daten in der https-Anforderung und in der Server-Antwort ver- und entschlüsselt. Zu diesen Daten gehören:

HTTPS ist ein eindeutiges Protokoll, das SSL und HTTP miteinander kombiniert. Als Anker in HTML-Dokumenten, die auf SSL-geschützte Dokumente verweisen, müssen Sie https:// angeben. Ein Client-Benutzer kann einen URL auch öffnen, indem er https:// angibt, um ein SSL-geschütztes Dokument anzufordern.

Da es sich bei HTTPS (HTTP + SSL) und HTTP um zwei verschiedene Protokolle handelt, die verschiedene Ports verwenden (443 bzw. 80), können Sie sowohl SSL- als auch andere Anforderungen gleichzeitig ausführen. Demzufolge können Sie sich entweder entscheiden, einige Daten allen Benutzern ohne Sicherheit und spezifische Daten nur den Browsern bereitzustellen, die Sicherheitsanforderungen stellen. Auf diese Weise kann ein Einzelhandelsunternehmen im Internet Benutzern erlauben, die angebotenen Artikel ohne Sicherheitseinschränkungen anzusehen, Auftragsformulare und die Übermittlung von Kreditkartennummern jedoch über bestimmte Sicherheitsfunktionen abzuwickeln.

Zugehörige Informationen: