![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Tipps zur Leistung von Secure Sockets Layer
Diese Seite enthält Tipps zur Leistung von Secure Sockets Layer (SSL). Leistungsaspekte erfordern in der Regel immer einen Kompromiss zwischen Funktion und Geschwindigkeit. Je größer der Funktionsumfang und der Verarbeitungsaufwand ist, desto geringer wird der Durchsatz ausfallen.
- Handshake
- Massenverschlüsselung/-entschlüsselung
Wenn die Verbindung hergestellt ist, führt SSL für jede Lese- und Schreiboperation die Massenverschlüsselung bzw. -entschlüsselung durch. Der Aufwand für einen SSL-Handshake ist weit größer als der für die Massenverschlüsselung/-entschlüsselung.
Wenn Sie den SSL-Durchsatz steigern möchten, müssen Sie die Anzahl der einzelnen SSL-Verbindungen und -Handshakes reduzieren.
Durch die Verringerung der Verbindungsanzahl erhöhen Sie nicht nur den Durchsatz von SSL-Verbindungen sondern auch den Durchsatz ungeschützter TCP/IP-Verbindungen. Eine Möglichkeit, die Zahl der SSL-Verbindungen zu reduzieren, ist die Verwendung eines Browsers mit Unterstützung für HTTP 1.1. Ist ein Upgrade auf HTTP 1.1 für einige Benutzer nicht möglich, kann die Anzahl der SSL-Verbindungen unter Umständen nicht gesenkt werden.
- Die maximale Anzahl der Keepalive-Verbindungen sollte mindestens der
maximalen Anzahl von Anforderungen pro Thread des Web-Servers (oder für IBM HTTP Server
unter UNIX der maximalen Anzahl von Prozessen) entsprechen. Sie müssen also sicherstellen,
dass das Web-Server-Plug-in
für jede potenzielle parallele Verbindung zum Anwendungsserver
eine Keepalive-Verbindung nutzen kann. Andernfalls schließt der Anwendungsserver die Verbindung, nachdem er eine einzelne Anforderung verarbeitet hat.
Darüber hinaus sollte die maximale Anzahl der Threads im Thread-Pool des Web-Containers
über der maximalen Anzahl von Keepalive-Verbindungen liegen,
um zu verhindern, dass sämtliche Threads des Web-Containers von Keepalive-Verbindungen
genutzt werden.Anmerkung: HTTP-Transporte werden nicht weiter unterstützt. Anweisungen zum Festlegen des maximalen Keepalive-Zeitlimits für kanalbasierte Konfigurationen finden Sie im Artikel Einstellungen für HTTP-Transportkanal.
- Die maximale Anzahl der Anforderungen pro Keepalive-Verbindung kann ebenfalls erhöht werden. Der Standardwert liegt bei 100 und bedeutet, dass der Anwendungsserver die Verbindung vom Plug-in nach 100 Anforderungen schließt. Das Plug-in muss danach eine neue Verbindung öffnen. Dieser Parameter soll Denial-of-Service-Attacken beim Herstellen einer Verbindung zum Anwendungsserver verhindern. Bei solchen Attacken werden kontinuierlich Anforderungen gesendet, um die Threads des Anwendungsservers zu belegen.
- Verwenden Sie einen Hardwarebeschleuniger, wenn das System mehrere SSL-Handshakes ausführt.
Die von WebSphere Application Server unterstützten Hardwarebeschleuniger erhöhen nur den Durchsatz beim SSL-Handshake, nicht aber den Durchsatz bei der Massenverschlüsselung und -entschlüsselung. In der Regel profitiert nur der Web-Server von einem Beschleuniger, da Web-Server-Verbindungen kurzlebig sind. Alle übrigen SSL-Verbindungen in WebSphere Application Server sind langlebige Verbindungen.
Der IBM Cryptographic Coprocessor wird für WebSphere Application Server nicht unterstützt. Sie können den IBM Cryptographic Coprocessor jedoch verwenden, um die SSL-Leistung für andere Produkte, z. B. IBM HTTP Server for iSeries, Powered by Apache, zu optimieren.
- Verwenden Sie eine alternative Cipher Suite mit besserem Durchsatz.
Der Durchsatz einer Cipher Suite kann software- oder hardwarebezogen unterschiedlich sein. Eine Cipher Suite, die aus Sicht der Software einen höheren Durchsatz bringt, muss dies nicht zwingend auch bezogen auf die Hardware tun. Bestimmte Algorithmen bringen normalerweise für die Hardware keinen Effekt, z. B. DES und 3DES). Mit spezieller Hardware ist jedoch eine effiziente Implementierung solcher Algorithmen möglich.
Der Durchsatz bei der Massenverschlüsselung und -entschlüsselung wird von der für eine SSL-Verbindung verwendeten Cipher Suite beeinflusst. Die folgende Grafik zeigt den Durchsatz der einzelnen Cipher Suites. Für die Berechnung der Daten wurde Java Secure Socket Extension (JSSE) als Client- und Serversoftware ohne Hardwareunterstützung für die Verschlüsselung verwendet. Beim Test wurde nur die Zeit für die Datenübertragung über eine bestehende Verbindung berücksichtigt, nicht aber die Zeit für den Aufbau der Verbindung. Die Daten geben somit Aufschluss über den SSL-Durchsatz verschiedener Cipher Suites für langlebige Verbindungen.
Vor dem Aufbau einer Verbindung aktiviert der Client für jedes Anwendungsbeispiel eine bestimmte Cipher Suite. Nach dem Verbindungsaufbau misst der Client, wie lange er benötigt, um ein Integer an den Server zu senden, und wie lange der Server braucht, die angegebene Anzahl Bytes an den Client zurückzusenden. Die Veränderung des Datenvolumens hatte so gut wie keinen Effekt auf den relativen Durchsatz der Cipher Suites.
- Der Durchsatz der Massenverschlüsselung wird nur durch die Parameter beeinflusst, die im Namen der Cipher Suite auf WITH folgen, weil der Abschnitt vor WITH nur die Algorithmen für den SSL-Handshake angibt.
- Für die Datenintegrität wurden die beiden Hash-Algorithmen MD5 und SHA (Secure Hash Algorithm) verwendet. MD5 ist im Allgemeinen schneller, dafür aber auch weniger sicher als SHA.
- DES und RC2 sind langsamer als RC4. 3DES (Triple Data Encryption Algorithm) ist der sicherste Algorithmus, verursacht allerdings auch den höchsten Aufwand, wenn nur die Software verwendet wird.
- Die Cipher Suite mit dem besten Durchsatz unter Wahrung der Vertraulichkeit ist SSL_RSA_WITH_RC4_128_MD5. Obwohl SSL_RSA_EXPORT_WITH_RC4_40_MD5 unter dem Gesichtspunkt der Verschlüsselung betrachtet schwächer ist als RSA_WITH_RC4_128_MD5, ist der Durchsatz bei der Massenverschlüsselung derselbe. Solange die SSL-Verbindung eine langlebige Verbindung ist, kann der bei hoher und mittlerer Sicherheitsstufe auftretende Durchsatzunterschied daher vernachlässigt werden. Es wird empfohlen, für alle Komponenten, deren Kommunikation ausschließlich auf WAS-Produkte begrenzt ist, die hohe Sicherheitsstufe anstelle der mittleren zu verwenden. Stellen Sie sicher, dass es sich bei den Verbindungen um langlebige Verbindungen handelt.