Was ist eine Cipher Suite

Was ist eine Cipher Suite?

Was ist eine Cipher Suite?

Aufbau einer Cipher Suite

Was ist eine Cipher Suite? Eine Cipher-Suite (Chiffre) setzt sich aus mehreren Teilen zusammen.

Jeder Satz ist repräsentativ für die spezifischen Algorithmen, die ihn umfassen. Chiffren (kryptografische Algorithmen) werden an den verschiedensten Stellen einer Verbindung eingesetzt, um Informationen zu ver- und entschlüsseln sowie die Integrität sicher zu stellen.

  • Ein Schlüsselaustauschalgorithmus
    • bestimmt die Art und Weise, wie symmetrische Schlüssel ausgetauscht werden. Es schützt die Informationen die zum Erstellen des gemeinsamen symmetrischen Schlüssels erforderlich sind z.B. (RSA, PSK, ECDHE, ECDH, DH).
      • ECDH_ECDSA arbeitet mit elliptischen Kurven. Der öffentliche Schlüssel des Servers muss ein ECDH-Schlüssel in seinem Zertifikat enthalten, das von einer Zertifizierungsstelle ausgestellt wurde, die selbst einen öffentlichen ECDSA-Schlüssel verwendet.
      • ECDH_RSA wie oben, aber die Zertifizierungsstelle muss einen öffentlichen RSA-Schlüssel verwenden.
      • ECDHE_ECDSA arbeitet mit (sendet) einen dynamisch generierten EC-Diffie-Hellman-Schlüssel, signiert selbst aber mit einem ECDSA-Schlüssel. Ist gleichzusetzen mit DHE_DSS jedoch mit elliptischen Kurven.
      • ECDHE_RSA ist wie ECDHE_ECDSA wobei der öffentliche Schlüssel des Servers ein RSA-Schlüssel ist und zum Signieren des kurzlebigen Diffie-Hellman-Schlüssels elliptischen Kurven verwendet werden.
        • Elliptische Kurven “ECC” sind z.B.:
          • NistP256 = 128 Bit; verfügbar im FIPS-Modus
          • NistP384 = 192 Bit; verfügbar im FIPS-Modus
          • NistP521 = 512 Bit; verfügbar im FIPS-Modus
          • Curve25519 = 128 Bit
          • Curve448 = 224 Bit

Unter Windows können die unterstützten Kurven in Reihenfolge abgefragt werden:

certutil.exe –displayEccCurve

Elliptische Kurvenreihenfolge

  • Der Authentifizierungsalgorithmus/Signaturverfahren für Zertifikate – Certificate Key
    • legt fest, wie die Serverauthentifizierung und und wenn erforderlich die Clientauthentifizierung ausgeführt wird sowie der sichere Schlüsselaustausch. Signaturverfahren wie RSA, ECDSA, DSA werden von Zertifikaten eingesetzt.
  • Der Bulk Verschlüsselungsalgorithmus
    • bestimmt, welcher symmetrische Schlüsselalgorithmus verwendet wird, um die tatsächlichen Daten zwischen Client und Server zu verschlüsseln wie z.B. AES, CHACHA20, ARIA oder Camellia.

Als Beispiel an dieser Cipher Suite betrachtet TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 : wird AES mit GCM und einem Schlüssel der Stärke 256 Bit eingesetzt.

  • Der Hash basierte Message Authentication Code (MAC) -Algorithmus
    • bestimmt die Methode, die die Verbindung zur Durchführung von Datenintegritätsprüfungen verwenden soll wie z.B. HMAC-SHA256, HMAC-SHA512, POLY1305.

Was ist eine Cipher Suite?

Einfach gesagt ist eine Cipher-Suite im Grunde ein vollständiger Satz von Methoden (technisch als Algorithmen bekannt), die benötigt werden, um eine Netzwerkverbindung durch SSL/TLS ab zu sichern.

TLS ist das genutzte Transportprotokoll. Der Key Exchange Anteil unterstützt Elliptic Curve Diffie-Hellman Ephemeral. Der Anteil Authentication unterstützt ebenfalls Elliptic Curves. Die (AEAD) Encryption mit 128 Bit und dem Galois/Counter Mode kurz GCM verschlüsselt die Daten. Der Hash mit SHA256 Bit sorgt für die nötige Datenintegritätsprüfung.

Aufbau einer Cipher Suite

Hier sehen wir zum Beispiel ein paar Cipher-Suites unterschiedlicher Zusammensetzungen.

Einführung von TLS-Versionen

Schwache Chiffren

Mit der Einführung von TLS 1.3 hat sich mal wieder einiges verändert. Ab der Version TLS 1.3 gelten folgende Chiffren als schwach, dazu zählen:

  • DSA
  • MD5
  • RC4
  • SHA-1
  • Block Ciphers (CBC)
  • Non-AEAD Ciphers
  • schwache elliptische Kurven
  • statische Diffie-Hellmann (DH, ECDH)
  • RSA Schlüsselaustausch (Key-Exchange)

Einführung von TLS-Versionen

TLS 1.3 wurde 2018 eingeführt
TLS 1.2 im Jahr 2008
TLS 1.1 in 2006
TLS 1.0 kam im Jahr 1999 – intern war es die Version SSL 3.1

SSL 3.0 wurde im Jahr 1995 von Netscape und Microsoft PCT eingeführt
SSL 2.0 im Jahr 1994 ebenso die Version SSL 1.0

Was bedeutet eigentlich…?

  • ECDH: Elliptic-Curve Diffie-Hellman
  • DH: Diffie-Hellman
  • RSA: Rivest, Shamir, Adleman
  • ECDSA: Elliptic Curve Digital Signature Algorithm
  • AES: Advanced Encryption Standard
  • GCM: Galois/Counter Mode (ein für kryptographische Blockchiffren verwendeter Betriebsmodus)
  • CBC: Cipher Block Chaining
  • 3DES: Triple Data Encryption Algorithm
  • SHA: Secure Hashing Algorithm
Wichtig zu wissen

Folgende Beispiele von Cipher Suiten..

  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    • OpenSSL: ECDHE-RSA-AES128-SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    • OpenSSL: ECDHE-RSA-AES256-SHA384

..werden während einer Prüfung möglicherweise als weak angezeigt. Das ist auf Angriffen der OpenSSL-Implementierung zurückzuführen. Dataverse verwendet eine Windows-Implementierung, die nicht auf OpenSSL basiert und daher nicht anfällig ist.

Was sind Public-Key-Chiffren

Public-Key-Verschlüsselungen sind eine moderne Variante von Private-Key-Verschlüsselungen und sind sicherer. In diesem Fall verfügen Sender und Empfänger über zwei separate Schlüssel – öffentliche und private Schlüssel. Der Absender verschlüsselt die Nachricht mit dem öffentlichen Schlüssel und gibt den privaten Schlüssel niemals an den Empfänger weiter, wodurch die Sicherheit gewährleistet ist.

Windows manipulieren

Unter Windows können wir das Verhalten und unsere Anforderungen durch Änderungen verschiedener Werte steuern.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

Windows manipulieren

Was ist eine Cipher Suite