OpenSSL 4.0 verschlüsselt, was TLS bisher verraten hat
OpenSSL 4.0.0 ist da: Die Kryptobibliothek entfernt Altlasten, führt ECH für mehr Datenschutz ein und bereitet auf Post-Quantum-Kryptografie vor.
(Bild: Photon photo / Shutterstock.com)
OpenSSL 4.0.0 ist erschienen und bringt tiefgreifende Änderungen an der weitverbreiteten Kryptobibliothek. Das Open-Source-Projekt entfernt veraltete Protokolle wie SSLv2 und SSLv3, schafft das Engine-Konzept ab, führt neue Datenschutzfunktionen im TLS-Handshake ein und erweitert die Bibliothek in Richtung Post-Quantum-Kryptografie. Gleichzeitig bereinigen die Entwickler die API und verschärfen sicherheitsrelevante Prüfungen.
OpenSSL gehört zu den zentralen TLS/SSL-Implementierungen und steckt in Webservern, Betriebssystemen, Netzwerkgeräten und unzähligen Anwendungen. Änderungen an der Bibliothek wirken sich unmittelbar auf die Absicherung von Netzwerkverbindungen, Zertifikatsprüfungen und kryptografische Operationen in großen Teilen der IT-Infrastruktur aus.
Neue Kryptografie: ECH, Post-Quantum und mehr
Zu den wichtigsten Neuerungen gehört die Unterstützung für Encrypted Client Hello (ECH) nach RFC 9849. ECH verschlüsselt Teile des TLS-Handshake – insbesondere die Server Name Indication (SNI). Bislang konnten Dritte wie Netzbetreiber anhand der SNI erkennen, welche Domain ein Client ansteuert. ECH verbirgt diese Information und verbessert so den Datenschutz auf Transportebene deutlich.
Neu sind außerdem hybride Schlüsselaustauschverfahren wie curveSM2MLKEM768. Sie kombinieren klassische elliptische Kurven mit Post-Quantum-Algorithmen und sollen Verbindungen schon heute gegen künftige Angriffe durch Quantencomputer absichern: Selbst wenn ein Angreifer eines der beiden Verfahren bricht, schützt das andere weiterhin die Verbindung.
Die Bibliothek ergänzt mehrere kryptografische Primitive und Standards. Dazu zählt die cSHAKE-Funktion nach SP 800-185 – eine flexiblere Variante von SHA-3, die domänenspezifische Hash-Berechnungen erlaubt. Hinzu kommen Unterstützung für den Signaturalgorithmus ML-DSA-MU sowie SM2/SM3 nach RFC 8998, die unter anderem in regulatorischen Kontexten eine Rolle spielen. Zudem führt OpenSSL 4.0.0 Key-Derivation-Funktionen (KDFs) für SNMP und das Secure Real-time Transport Protocol (SRTP) ein, die in Netzwerkmanagement- und VoIP-Szenarien zum Einsatz kommen. Für TLS 1.2 unterstützt OpenSSL nun außerdem standardisierte Finite-Field-Diffie-Hellman-Gruppen (FFDHE) gemäß RFC 7919. Das verbessert die Interoperabilität und vermeidet unsichere oder proprietäre Parameterwahl beim Schlüsselaustausch.
Strengere Validierung und FIPS-Anpassungen
Die Zertifikatsvalidierung wird an mehreren Stellen strenger. Im Strict-Modus prüft OpenSSL nun zusätzlich die Authority Key Identifier (AKID), und auch die CRL-Prüfung erhält weitere Checks. Im FIPS-Modus erzwingt die Bibliothek jetzt Mindestanforderungen bei PBKDF2 – etwa bei der Zahl der Iterationen –, um schwache Konfigurationen zu unterbinden.
Neu ist außerdem die Möglichkeit, FIPS-Selbsttests verzögert auszuführen. Das ist vor allem in containerisierten Umgebungen nützlich.
Videos by heise
Entfernte Protokolle, APIs und Altlasten
Mit Version 4.0 räumt OpenSSL konsequent auf. Neben SSLv2 und SSLv3 fällt auch das Engine-Konzept weg. Hardwarebeschleunigung und externe Kryptomodule laufen künftig ausschließlich über die Provider-Architektur, die Engines bereits seit OpenSSL 3.0 ablöst. Ebenfalls entfernt: feste TLS-Versionsmethoden, ältere elliptische Kurven, diverse Low-Level-Funktionen und das Skript c_rehash. Stattdessen sollen Nutzer openssl rehash verwenden.
Bei der API gibt es mehrere Änderungen, die Anpassungen im Anwendungscode erfordern können. Zahlreiche Funktionssignaturen tragen jetzt const-Qualifier, der Datentyp ASN1_STRING ist nun vollständig gekapselt – Zugriff auf seine internen Felder ist nur noch über Zugriffsfunktionen möglich. Auch die Ausgabe von Hex-Dumps wurde standardisiert: Signaturen werden in 24-Byte-Blöcken dargestellt, alle anderen Daten in 16-Byte-Blöcken. Das soll die Lesbarkeit verbessern und die Ausgabe konsistenter machen. Und veraltete Funktionen zur Zeitprüfung von Zertifikaten weichen der neuen Funktion X509_check_certificate_times(). Auch beim Laufzeitverhalten gibt es Änderungen: OpenSSL verzichtet künftig auf automatisches Aufräumen globaler Daten über atexit() und setzt stärker auf Standardfunktionen der C-Laufzeitbibliothek, etwa bei snprintf.
Für Entwickler und Betreiber bedeutet das Release mehr Sicherheit und modernere Kryptografie – bei gleichzeitig erhöhtem Migrationsaufwand. Anwendungen, die direkt auf OpenSSL-APIs zugreifen oder ältere Funktionen nutzen, müssen angepasst werden. OpenSSL 4.0 legt damit die Grundlage für den Übergang zu post-quantenresistenten Verfahren und besseren Datenschutz im TLS-Handshake. Details zum neuen Release finden sich auf der zugehörigen GitHub-Projektseite.
(fo)