3.7 TLS/SSL-Cipher Suiten
Das englische „Cipher“ wird mit „Chiffre“ oder „Verschlüsselungsverfahren“ übersetzt. „Cipher Suite“ ist eine Zusammenstellung von Algorithmen für eine sichere Datenübertragung, die normalerweise nicht nur Verschlüsselungsverfahren enthält, sondern weitere kryptographische Verfahren wie Hashes, Signaturen, Protokolle (SSL) und Formate (PKS#1).
Vor Beginn einer verschlüsselten Kommunikation muss zwischen den Teilnehmern vereinbart werden, welche Algorithmen verwendet werden sollen. Nicht jeder Client beherrscht die neuesten Verfahren. Windows XP und alte Smartphones beherrschen die neueren Algorithmen nicht. Um deren Besitzer nicht von der Nutzung des Internets auszuschließen, unterstützen die Betreiber der Server auch die veralteten Verfahren, selbst wenn deren Anfälligkeit bekannt ist.
Benötigt wird für eine verschlüsselte Kommunikation:
• ein symmetrisches Verfahren für die Verschlüsselung der eigentlichen Kommunikation,
• eine asymmetrische Verschlüsselung, um den Schlüssel sicher auszutauschen,
• ein Verfahren für die Authentifizierung der Kommunikationsteilnehmer und
• eine Hashfunktion, um die Integrität der Daten zu kontrollieren.
Nicht alle Verfahren lassen sich kombinieren, und je nach gewählter Kombination kann es enorme Unterschiede in der Sicherheit geben. Der verwendete Browser handelt die Verschlüsselung mit jedem Server individuell aus. Der Browser schickt zunächst eine Liste der Cipher-Suiten, die er beherrscht, an den Webserver. Der Server wählt aus diesem Angebot von typischerweise 20 bis 30 Suiten eine Cipher-Suite aus, die er ebenfalls beherrscht.
3.7.1 Zwei TLS/SSL-Cipher-Suiten als Beispiel
TLS-RSA-WITH-RC4-128-MD5 besteht aus der folgenden Zusammenstellung:
• RSA wird für den sicheren Schlüsselaustausch und zur Authentifikation verwendet,
• die Kommunikation wird mit RC4 mit einem 128-Bit-Schlüssel verschlüsselt,
• MD5 wird verwendet, um die Integrität der Daten zu garantieren.
ECDHE-RSA-AES256-GCM-SHA384 kombiniert die folgenden Elemente:
• Zum sicheren Austausch des Schlüssels zwischen Client und Server wird das Diffie-Hellman-Verfahren auf Basis elliptischer Kurven (EC) verwendet.
• Zur Authentifikation wird RSA verwendet.
• Die Kommunikation nutzt AES mit GCM (Galois/Counter Mode) mit einem 256-Bit-Schlüssel zur Verschlüsselung.
• Die Integrität der Daten wird mit SHA-384 gesichert.
3.7.2 Welche Cipher-Suiten sind am sichersten?
Es scheint sicher zu sein, dass die NSA das Verschlüsselungsverfahren RC4 und das Hashverfahren MD5 nahezu in Echtzeit knacken kann. Die für Internet-Standards zuständige IETF hat im Februar 2015 die Verwendung von RC4 verboten. Es wird Jahre dauern, bis alle (Software-)Hersteller ihre Produkte angepasst haben und die Webserverbetreiber die Updates eingespielt haben.
Die IETF empfiehlt:
• Das Schlüsselaustauschverfahren sollte auf Diffie-Hellman basieren (ECDHE). Dieses Verfahren verhindert mit Perfect Forward Secrecy (PFS), dass eine in der Vergangenheit verschlüsselt aufgezeichnete Kommunikation irgendwann später entschlüsselt werden kann.
• RSA oder ECDSA als Signaturverfahren zur Sicherstellung der Authentizität.
• Die eigentliche Kommunikation wird symmetrisch mit AES-GCM 128-Bit oder besser verschlüsselt.
• SHA-2 (Empfehlung: 384 Bit oder besser) als Hashfunktion, für die Sicherstellung der Datenintegrität.
Allerdings kann der Anwender nicht direkt beeinflussen, was die Computer untereinander aushandeln.
Den wichtigsten Beitrag zur Verbesserung der Sicherheit müssen die Software-Hersteller und hunderttausende Betreiber von Webservern leisten, indem sie unsichere Suiten aus der Serverkonfiguration entfernen (und dadurch riskieren, dass Besucher mit veralteten Browsern ihre Webseiten nicht mehr aufrufen können). Das Problem: Falls der Browser dem Server eine Liste mit Cipher-Suiten schickt, in der die vom Webserver unterstützten modernen Verfahren fehlen, kommt keine SSL-verschlüsselte Kommunikation zustande. Dieses Kompatibilitätsproblem betrifft z. B. den Internet Explorer von Windows XP, der mit immer mehr modernisierten Servern nicht mehr kommunizieren kann.
Wenn Sie den Aufwand nicht scheuen, können Sie Ihren Browser auch selbst sicherer machen. Unter der Webadresse http://www.kuketz-blog.de/unsichere-ssl-verschluesselung-im-browser-abschalten/ finden Sie eine Anleitung, wie man unsichere Cipher-Suiten aus allen gängigen Browsern entfernen kann.
Im Ergebnis sind vielleicht einige Webseiten nicht mehr erreichbar. Dann sollten Sie sorgfältig abwägen:
• Lohnt es das Risiko, die Webseite mit einen anderen, weniger sicheren Browser zu öffnen?
• Benutzen Sie einen alten PC (oder einen virtuellen PC), den Sie nur für potenziell riskante Aktionen verwenden und der keine stationäre oder routinemäßig aufgebaute Verbindung mit Ihren anderen Computern hat!
Dieser Text wurde entnommen aus dem Buch „Sicherheit im Internet“, Kapitel 3.