Die Bibliothek OpenSSL 3.5.0 wurde veröffentlicht und enthält Implementierungen der Protokolle SSL/TLS sowie verschiedener Verschlüsselungsalgorithmen. OpenSSL 3.5 wird als eine Version mit längerer Unterstützung (LTS) eingestuft, für die Updates über einen Zeitraum von 5 Jahren bereitgestellt werden (bis April 2030). Die Unterstützung der vorherigen Versionen OpenSSL 3.3, 3.2 und 3.0 LTS dauert bis April 2026, November 2025 und September 2026. Der Quellcode des Projekts wird unter der Apache 2.0-Lizenz veröffentlicht.
Hauptneuerungen:
- Unterstützung für kryptografische Algorithmen, die gegen Quantencomputerangriffe resistent sind, hinzugefügt:
- ML-KEM (CRYSTALS-Kyber) — ein Schlüsselwechselalgorithmus, der Methoden der Kryptografie nutzt, die auf der Lösung von Gitterproblemen basieren, deren Lösungszeit sich auf klassischen und Quantencomputern nicht unterscheidet.
- ML-DSA (CRYSTALS-Dilithium) — ein Algorithmus zur Erstellung digitaler Signaturen, der auf der Gittertheorie basiert.
- SLH-DSA (Sphincs+) — ein Algorithmus zur Erstellung digitaler Signaturen, der Methoden der kryptographischen Hash-Funktionen anwendet. SLH-DSA erzeugt kleinere Signaturen und arbeitet langsamer als ML-DSA, basiert jedoch auf völlig anderen mathematischen Prinzipien, was bedeutet, dass es auch bei einer Kompromittierung von Algorithmen auf der Basis der Gittertheorie effizient bleibt.
- Vollständige Unterstützung des QUIC-Protokolls (RFC 9000) wurde implementiert, das nun sowohl für Client- als auch für Serveranwendungen verfügbar ist. QUIC ist eine Erweiterung des UDP-Protokolls, das Multiplexing mehrerer Verbindungen unterstützt und Verschlüsselungsmethoden bietet, die TLS entsprechen. Das QUIC-Protokoll wird in HTTP/3 verwendet und wurde als Alternative zu der Kombination von TCP+TLS entwickelt, um Probleme mit der langen Aufbau- und Aushandlungszeit von TCP zu lösen und Verzögerungen bei Paketverlusten während der Datenübertragung zu beseitigen.
- Die Möglichkeit zur Nutzung von Drittanbieter-Stacks mit Implementierungen des QUIC-Protokolls wurde hinzugefügt, einschließlich Stacks, die den 0-RTT-Modus (0 Round Trip Time) unterstützen, der es ermöglicht, sofort mit der Datenübertragung nach dem Senden des Verbindungsaufbaus-Pakets zu beginnen.
- Unterstützung für undurchsichtige (opaque) symmetrische Schlüsselobjekte (EVP_SKEY) hinzugefügt, die die Implementierungsdetails des Schlüssels verbergen.
- Parameter „no-tls-deprecated-ec“ hinzugefügt, um die Unterstützung für TLS-Gruppen, die in RFC-8422 als veraltet erklärt wurden, zu deaktivieren.
- Parameter „enable-fips-jitter“ hinzugefügt, der im FIPS-Anbieter die Nutzung einer auf Jitter basierenden Entropiequelle aktiviert, implementiert durch die Jitterentropy-Bibliothek. Die Entropiegenerierung auf Basis von Jitter erfolgt durch die Messung der Zeitunterschiede bei der wiederholten Ausführung einer bestimmten Instruktionsmenge auf der CPU, die von einer Vielzahl interner Faktoren abhängt und ohne physische Kontrolle über die CPU unvorhersehbar ist.
- Im CMP (Certificate Management Protocol) wurde die Unterstützung für die zentrale Schlüsselgenerierung hinzugefügt (öffentlicher und privater Schlüssel für den Kunden werden auf der Serverseite generiert). сервера).
- Unterstützung für die Bereitstellung mehrerer Schlüsselsätze (keyshares) für eine TLS-Verbindung hinzugefügt.
- API für das Pipelining hinzugefügt, das die gleichzeitige Verarbeitung mehrerer Datenblöcke bei der Verwendung bestimmter Chiffren wie AES-GCM unterstützt, die Parallelberechnungen ermöglichen.
- In den Anwendungen req, cms und smime wurde der Standardverschlüsselungsalgorithmus von des-ede3-cbc auf aes-256-cbc geändert.
- Die Standardverschlüsselungsliste für TLS umfasst nun auch hybride KEM-Gruppen (Key Encapsulation Mechanism), die resistent gegen Brute-Force-Angriffe auf Quantencomputern sind.
- Im Standard-Keyshare-Set, das in TLS verwendet wird, wurden die Algorithmen X25519MLKEM768 und X25519 hinzugefügt.
- Die Funktionen BIO_meth_get_*() wurden als veraltet deklariert.
Quelle: opennet.ru
