SSL Protokoll

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004 (Geändert)


Der 4D Web Server kann über das SSL Protokoll (Secured Socket Layer) im gesicherten Modus kommunizieren.

Definition

Das SSL Protokoll sichert die Kommunikation zwischen zwei Anwendungen ab, das sind hauptsächlich Web Server und Browser. Diese Art von Protokoll ist weit verbreitet und mit den meisten Web Browsern kompatibel.

In der Netzwerkarchitektur reiht sich das SSL Protokoll ein zwischen TCP/IP auf niederer Ebene und dem HTTP Protokoll auf hoher Ebene.

Netzwerkarchitektur mit SSL:

Hinweis: Das SSL Protokoll eignet sich auch für die „klassischen" Client/Server Verbindungen von 4D Server und 4D Client. Weitere Informationen dazu finden Sie im 4D Server Handbuch im Abschnitt "Client/Server Verbindungen verschlüsseln".

Das SSL Protokoll bürgt für die Identität von Sender und Empfänger, sowie für die Vertraulichkeit und Vollständigkeit der ausgetauschten Informationen:

Identifizierung: Die Identität von Sender und Empfänger wird bestätigt.

Vertraulichkeit: Die gesendeten Daten sind verschlüsselt, damit sie für unbefugte Dritte nicht lesbar sind.

Integrität: Die empfangenen Daten wurden weder wissentlich noch versehentlich verändert.

Das Sicherheitsprinzip von SSL basiert auf Verschlüsselungsalgorithmen mit einem Schlüsselpaar, d.h. einem privaten und einem öffentlichen Schlüssel.

Mit dem privaten Schlüssel werden die Daten verschlüsselt. Diesen bewahrt der Sender (Web Site) auf. Mit dem öffentlichen Schlüssel werden die Daten entschlüsselt. Er wird über das Zertifikat an den Empfänger weitergegeben (Web Browser). Für den Einsatz von SSL im Internet wird ein Herausgeber für das Zertifikat benötigt, z.B Verisign®. Der Herausgeber stellt der anfragenden Web Site gegen eine Gebühr ein Zertifikat aus, das die Identität des Servers garantiert und den öffentlichen Schlüssel zur Kommunikation im gesicherten Modus enthält.

Hinweis: Weitere Informationen über die Funktionsweise der Verschlüsselung und die Verwendung von öffentlichen und privaten Schlüsseln finden Sie unter dem Befehl ENCRYPT BLOB.

SSL Zertifikat erhalten

Für einen 4D Web Server mit SSL ist ein numerisches Zertifikat notwendig, ausgestellt von einer Zertifizierungsstelle. Das Zertifikat enthält verschiedene Informationen, die an die Web Browser übertragen werden, die sich an die Web Site anschließen.

Hinweis: Ein Browser akzeptiert die Zertifikate einer Zertifizierungsstelle nur, wenn sie in seinen Eigenschaften registriert ist.

Die Auswahl der Zertifizierungsstelle hängt von mehreren Faktoren ab. Je bekannter der Herausgeber ist, desto mehr Browser erkennen die Zertifikate an, die er ausstellt, desto höher ist aber auch die zu zahlende Gebühr. Am häufigsten wird der Herausgeber Verisign® verwendet.

Um ein SSL Zertifikat zu erhalten:

1. Generieren Sie über den Befehl GENERATE ENCRYPTION KEYPAIR einen privaten Schlüssel.

Warnung: Aus Sicherheitsgründen darf der private Schlüssel NIEMALS über das Netz verbreitet werden. Er darf den Rechner mit dem Web Server nicht verlassen. Die Datei Key.pem muss im Ordner mit der Struktur der Datenbank liegen.

2. Richten Sie über den Befehl GENERATE CERTIFICATE REQUEST eine Zertifikatsanfrage ein.

3. Senden Sie diese Anfrage an die ausgewählte Zertifizierungsstelle.

Zum Ausfüllen der Anfrage müssen Sie sich unter Umständen mit der Zertifizierungsstelle in Verbindung setzen. Diese prüft die Echtheit der übermittelten Informationen.

Die Anfrage des Zertifikats wird in einem BLOB im Format PEM (Privacy Enhanced Mail) generiert. Dieses Format autorisiert das Kopieren und Einfügen der Schlüssel in Textform und den Versand per E-Mail ohne das Risiko, dass ihr Inhalt verändert wird. Sie können also zum Beispiel das BLOB mit der Zertifikatsanfrage über den Befehl BLOB TO DOCUMENT in einem Textdokument sichern, es dann öffnen, seinen Inhalt kopieren und in ein E-Mail bzw. ein Web Formular einfügen, das für die Zertifizierungsstelle bestimmt ist.

4. Haben Sie Ihr Zertikat erhalten, erstellen Sie ein Textdokument mit Namen „cert.pem" und kopieren den Inhalt des Zertifikats in dieses Dokument.

Sie erhalten das Zertifikat meist als E-Mail oder als HTML Formular. Der 4D Web Server akzeptiert alle für die jeweilige Plattform (PC, MacOS, Linux...) kompatiblen Textformate. Das Zertifikat muss jedoch im PEM Format sein.

5. Legen Sie das Dokument „cert.pem" in den Ordner mit der Strukturdatei der Datenbank.

Der Web Server funktioniert nun im SSL Modus. Ein Zertifikat ist im allgemeinen sechs bis 12 Monate gültig.

SSL in 4D installieren und aktivieren

Wollen Sie das SSL Protokoll mit dem 4D Web Server verwenden, müssen auf dem Server an verschiedenen Stellen folgende Komponenten installiert sein:

4DSLI.DLL: Schnittstelle für die gesicherte Ebene (Secured Layer Interface) zum Verwalten von SSL. Diese Datei muss im Ordner 4D Extensions der 4D Anwendung liegen, die die Datenbank im Web publiziert.

key.pem: Dokument mit dem Schlüssel zur privaten Verschlüsselung. Diese Datei muss

- in 4th Dimension oder 4D Server im Ordner mit der Datenbank liegen,

- in 4D Client im Anwendungsordner 4D Client.

cert.pem: Dokument mit dem Zertifikat. Diese Datei muss

- in 4th Dimension oder 4D Server im Ordner mit der Datenbank liegen

- in 4D Client im Anwendungsordner 4D Client.

Dateien zum Integrieren von SSL in 4D Web Server (4th Dimension und 4D Server)

Dateien zum Integrieren von SSL in 4D Web Server (4D Client)

Hinweis: 4DSLI.DLL benötigen Sie auch für die Befehle ENCRYPT BLOB und DECRYPT BLOB.

Die Installation dieser Elemente ermöglicht, SSL für Verbindungen zum 4D Web Server zu verwenden. Damit der 4D Web Server SSL Verbindungen akzeptiert, müssen Sie SSL aktivieren. Gehen Sie dazu in den Einstellungen der Datenbank unter dem Thema Web auf die Seite "Konfiguration" und markieren Sie die Option SSL für Web Server erlauben.

SSL Verbindungen sind standardmäßig erlaubt. Sie können diese Option deaktivieren, wenn Sie mit Ihrem Web Server keine SSL Funktionalitäten nutzen wollen oder auf demselben Rechner ein anderer Web Server mit SSL operiert.

Für die SSL Kommunikation ist in TCP die Portnummer 443 reserviert. Sie können folglich pro Rechner immer nur einen 4D Web Server mit SSL installieren. Der in den Einstellungen der Datenbank definierte TCP Port wird für die Standardverbindungen des Web Servers verwendet.

Die anderen Einstellungen der Datenbank zum Verwalten des 4D Web Servers gelten immer, egal, ob der Server im gesicherten oder nicht gesicherten Modus arbeitet. Das sind die Kennwörter, die Zeitspanne bis zum Abschalten der Verbindung (Timeout), die Größe des Cache, etc.

Verbindung mit Browsern in SSL

Damit eine Web Verbindung im gesicherten Modus ausgeführt wird, muss die vom Browser gesendete URL mit https statt http beginnen.

Meldet sich ein Browser an einen Web Server an, der im gesicherten Modus läuft, weist eine Meldung darauf hin. Sobald der Benutzer diesen Dialog bestätigt, sendet der Web Server das Zertifikat an den Browser.

Der Server bietet einige symmetrische Verschlüsselungsalgorithmen (RC2, RC4, DES...).Von den vorhandenen Algorithmen wird immer der leistungsstärkste verwendet.

Warnung: Die erlaubte Verschlüsselungsebene hängt von der geltenden Rechtslage des jeweiligen Landes ab. Die von 4D Web Server angebotene Verschlüsselungsebene richtet sich nach der Library, die für das Verschlüsselungssystem verwendet wird. 4D bietet standardmäßig eine „Export" Version der Library, bei der die symmetrischen Algorithmen auf 40 Bits begrenzt sind.

Eine 128 Bit-Variante kann, wenn es die Rechtslage Ihres Landes erlaubt, kostenlos per Internet geladen werden. Die URL zum Download finden Sie im Readme innerhalb des 4D Ordners, der mit der Software installiert wurde.

Verbindungsmodus verwalten

Für den Einsatz von SSL im 4D Web Server ist keine besondere Systemkonfiguration notwendig. Sie müssen jedoch berücksichtigen, dass ein Web Server mit SSL auch im nicht gesicherten Modus laufen kann. Der Modus lässt sich auf Anforderung des Browsers verändern. Dazu genügt es, wenn der Benutzer im URL Bereich des Browsers "HTTPS" durch "HTTP" ersetzt. Es ist Sache des Entwicklers, Anfragen im nicht gesicherten Modus zu untersagen oder umzuleiten. Der aktuelle Verbindungsmodus lässt sich mit der Funktion Secured Web connection abfragen.

Referenz

DECRYPT BLOB, Einstellungen des Web Server, ENCRYPT BLOB, GENERATE CERTIFICATE REQUEST, GENERATE ENCRYPTION KEYPAIR, Secured Web connection.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next