Besuchen Sie Keyfactor auf der RSA Conference™ 2024 | 6. bis 9. Mai | Erfahren Sie mehr

Eine Einführung in Cipher Suites

SSL/TLS Bescheinigungen

Die Sicherheit praktisch jeder Internetverbindung hängt von der Verschlüsselung SSL/TLS ab. Das Schutzniveau für diese Verbindungen wird durch die Wahl einer Chiffriersuite bestimmt. Was also ist eine Cipher Suite?

Was ist eine Cipher Suite?

Cipher Suites sind Anweisungssätze, die sichere Netzwerkverbindungen durch Transport Layer Security (TLS), oft noch als Secure Sockets Layer (SSL) bezeichnet, ermöglichen. Hinter den Kulissen bieten diese Cipher Suites eine Reihe von Algorithmen und Protokollen, die für die sichere Kommunikation zwischen Clients und Servern erforderlich sind.

Um eine HTTPS-Verbindung zu initiieren, führen die beiden Parteien - der Webserver und der Client - einen SSL Handshake durch. Der Handshake ist ein ziemlich komplizierter Prozess, bei dem sich die beiden Parteien auf eine gemeinsame Cipher Suite einigen. Die Cipher-Suite wird dann verwendet, um eine sichere HTTPS-Verbindung auszuhandeln.

Warum sind Cipher Suites erforderlich?

Wie bereits erwähnt, ist der SSL Handshake ein komplizierter Prozess, da er eine Vielzahl von kryptographischen Funktionen nutzt, um die HTTPS-Verbindung herzustellen. Während des Handshakes verwenden der Client und der Webserver:

  • einen Algorithmus für den Schlüsselaustausch, um festzulegen, wie symmetrische Schlüssel ausgetauscht werden
  • Ein Authentifizierungs- oder digitaler Unterschriftsalgorithmus, der vorgibt, wie die Server-Authentifizierung und die Client-Authentifizierung (falls erforderlich) durchgeführt werden sollen
  • Eine Massenverschlüsselungs-Chiffre, die zur Verschlüsselung der Daten verwendet wird
  • eine Hash-/MAC-Funktion, die bestimmt, wie die Datenintegritätsprüfungen durchgeführt werden

 

Diese Chiffren werden an verschiedenen Stellen der Verbindung benötigt, um die Authentifizierung, die Schlüsselgenerierung und den Schlüsselaustausch sowie eine Prüfsumme zur Gewährleistung der Integrität durchzuführen. Um festzulegen, welche spezifischen Algorithmen verwendet werden sollen, entscheiden sich der Client und der Webserver zunächst gemeinsam für die zu verwendende Cipher Suite.

Chiffriersuiten sind aufgrund der Vielzahl von Servern, Betriebssystemen und Browsern erforderlich. Es muss eine Möglichkeit geben, all diese Kombinationen unterzubringen, daher sind Chiffriersuiten sehr nützlich, um die Kompatibilität zu gewährleisten.

Wie funktioniert das?

Während des Handshake einer Verbindung, wenn der Client und der Server Informationen austauschen, vergleichen der Webserver und der Browser ihre nach Prioritäten geordneten Listen der unterstützten Cipher Suites, prüfen, ob sie kompatibel sind, und bestimmen, welche Cipher Suite verwendet werden soll.

Die Entscheidung, welche Chiffriersuite verwendet wird, hängt vom Webserver ab. Die vereinbarte Chiffriersuite ist eine Kombination aus:

  • Schlüsselaustauschalgorithmen wie RSA, DH, ECDH, DHE, ECDHE oder PSK
  • Authentifizierungs-/Digitaler Unterschriftsalgorithmus, wie RSA, ECDSA oder DSA
  • Massenverschlüsselungsalgorithmen, wie AES, CHACHA20, Camellia oder ARIA
  • Algorithmen zur Nachrichtenauthentifizierung, wie SHA-256 und POLY1305

 

Zurück zu unserem Cipher-Suite-Paradigma, lassen Sie uns sehen, welche Informationen eine Cipher-Suite liefert.

 

CipherSuite1

Von links nach rechts beginnend, legt ECDHE fest, dass die Schlüssel während des Handshakes mittels ephemerer Elliptic Curve Diffie Hellman (ECDHE) ausgetauscht werden. ECDSA oder Elliptic Curve Digital Signature Algorithm ist der Authentifizierungsalgorithmus. AES128-GCM ist der Massenverschlüsselungsalgorithmus: AES im Galois Counter Mode mit einer Schlüsselgröße von 128 Bit. SHA-256 schließlich ist der Hashing-Algorithmus.

Warum sind Chiffriersuiten wichtig?

Cipher Suites sind wichtig, um die Sicherheit, Kompatibilität und Leistung von HTTPS-Verbindungen zu gewährleisten. So wie Rezepte die erforderlichen Zutaten für ein perfektes Rezept beschreiben, geben Cipher Suites vor, welche Algorithmen für eine sichere und zuverlässige Verbindung zu verwenden sind.

Wie wir bereits erwähnt haben, ist es der Webserver, der letztendlich bestimmt, welche Cipher-Suite verwendet wird. Daher ist die Prioritätenliste der Chiffriersuiten auf dem Webserver sehr wichtig. Die Auswahl der richtigen Chiffren, die auf einem Webserver aufgelistet werden sollen, ist für jeden Administrator von entscheidender Bedeutung und hängt weitgehend von der Art der Benutzer, die sich mit dem Server verbinden, und der von ihnen verwendeten Technologie ab.

Auch die Benutzer sind dafür verantwortlich, sichere Verbindungen zu gewährleisten. Da die Browser-Hersteller ihre Liste der unterstützten Cipher-Suites aktualisieren, nachdem eine Sicherheitslücke entdeckt wurde, müssen die Benutzer die neuesten Browser-Patches installieren, um die Wahrscheinlichkeit von Kompatibilitätsproblemen zu verringern, wenn schwache Cipher-Suites auf der Serverseite veraltet sind.

Unterstützte Cipher Suites in TLS 1.2

Bevor wir darauf eingehen, wie viele verschiedene Cipher Suites es gibt, sollten wir uns daran erinnern, dass alle TLS Protokolle vor TLS 1.2 (d. h. TLS 1.0 und TLS 1.1) aus verschiedenen Sicherheitsgründen veraltet sind. Derzeit sind die einzigen akzeptablen TLS Protokolle TLS 1.2 und TLS 1.3.

Ab TLS 1.2 unterstützt das Protokoll 37 verschiedene Chiffriersuiten. Wenn Ihnen diese Zahl groß vorkommt, stellen Sie sich vor, dass TLS 1.2 seit fast einem Jahrzehnt existiert, in dem viele verschiedene Systeme aufgetaucht sind. Rechnet man hinzu, dass jede Chiffriersuite aus vier verschiedenen Algorithmen besteht, kommt man auf bis zu 40 verschiedene Kombinationen von Chiffrierungen.

Von allen unterstützten Chiffriersuiten in TLS 1.2 wird empfohlen, die mit dem ephemeren Diffie-Hellman-Algorithmus zu verwenden. Die empfohlenen Chiffriersuiten sind also die folgenden:

  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  • TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305

Identifizierung schwacher Chiffren

Mit der Einführung von TLS 1.3 haben sich viele Dinge geändert, um die Sicherheit des Protokolls zu verbessern. Zunächst einmal wurden alte, unsichere Chiffren abgeschafft, darunter:

  • RC4
  • DSA
  • MD5
  • SHA-1
  • Schwache elliptische Kurven
  • RSA-Schlüsselaustausch
  • Statisches Diffie-Hellman-Verfahren (DH, ECDH)
  • Blockchiffren (CBC)
  • Nicht-AEAD-Chiffren

Unterstützung von Cipher Suites in TLS 1.3

Außerdem sind die TLS 1.3 Cipher Suites jetzt viel kürzer als die entsprechenden TLS 1.2 Suites. Die Chiffriersuiten enthalten keine Angaben zum Zertifikatstyp - RSA oder ECDSA - und zum Schlüsselaustauschmechanismus - DHE oder ECDHE. Daher wurde die Anzahl der Verhandlungen, die zur Bestimmung der Verschlüsselungsparameter erforderlich sind, von vier auf zwei reduziert. Cipher Suites in TLS 1.3 sehen wie folgt aus:

CipherSuite2

Der Client leitet den Handshake ein, da er weiß, dass der Ephemeral-Diffie-Hellman-Algorithmus für den Schlüsselaustausch verwendet wird, und er kann seinen Teil des Schlüsselanteils während der Client-Hallo-Nachricht senden. Der Vorteil ist, dass der TLS 1.3 Handshake auf einen einzigen Roundtrip verkürzt wird, bei dem der Server mit allen erforderlichen Informationen antwortet, damit die beiden Parteien den Sitzungsschlüssel ableiten und sicher kommunizieren können.

Die unterstützten Cipher Suites in TLS 1 . 3 sind nun auf fünf gesunken und lauten wie folgt

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256
  • TLS_AES_128_CCM_8_SHA256
  • TLS_AES_128_CCM_SHA256

Auswahl von Chiffriersuiten

TLS 1.3 Cipher Suites sind mit älteren Versionen von TLS nicht kompatibel, da ihre Struktur anders ist. Dies bedeutet, dass Website-Administratoren ihre Webserver so konfigurieren müssen, dass sie mit beiden Versionen der unterstützten Cipher-Suites, TLS 1.2 und TLS 1.3, kompatibel sind. Sich nur für die Unterstützung von TLS 1.3 zu entscheiden, ist keine kluge Lösung, da viele Unternehmen immer noch auf TLS 1.2 setzen.

Mozilla empfiehlt drei verschiedene Konfigurationen von Cipher Suites für Webserver, die das Protokoll TLS verwenden.

  • Modern: Diese Konfiguration ist für moderne Clients gedacht, die TLS 1.3 unterstützen und nicht abwärtskompatibel sein müssen. Die Modern-Konfiguration bietet ein extrem hohes Maß an Sicherheit.
  • Mittelstufe: Dies ist die empfohlene Konfiguration für einen Allzweck-Server, der nicht mit älteren Clients wie Windows XP oder alten Versionen von OpenSSL kompatibel sein muss. Sie ist hochsicher und mit fast allen Clients kompatibel, die in den letzten fünf (oder mehr) Jahren veröffentlicht wurden.
  • Alt: Dienste, auf die von sehr alten Clients oder Bibliotheken zugegriffen wird, wie z. B. Internet Explorer 8 (Windows XP), Java 6 oder OpenSSL 0.9.8, und sollten nur als letztes Mittel verwendet werden.

Schlussfolgerung

Cipher Suites sind eine Kombination von Chiffren, die während des SSL/TLS Handshake verwendet werden, um die Sicherheitseinstellungen einer HTTPS-Verbindung zu bestimmen. Die Auswahl und Pflege der geeigneten Cipher Suites sowohl im Webserver als auch im Client ist wichtig, um die Sicherheit, Leistung und Kompatibilität Ihrer HTTPS-Kommunikation zu gewährleisten.

Die Wartung der unterstützten Cipher Suites ist eine wichtige Funktion des Zertifikats-Lebenszyklus-Managements, um sicherzustellen, dass Ihre Zertifikate den branchenüblichen Best Practices entsprechen. Ein erster wichtiger Schritt ist die vollständige Übersicht über alle Zertifikate und Verbindungen in Ihrer IT-Landschaft, gefolgt von kontinuierlicher Überwachung, automatischer Erneuerung und Bereitstellung.

Finden Sie heraus, wie Keyfactor Command eine durchgängige Transparenz und Automatisierung aller Schlüssel und digitalen Zertifikate in Ihrer Umgebung ermöglicht. Sehen Sie sich unsere On-Demand-Produktdemo an.