Veröffentlichung der kryptografischen Bibliothek OpenSSL 3.5.0

Die Bibliothek OpenSSL 3.5.0 wurde veröffentlicht, die die Protokolle SSL/TLS und verschiedene Verschlüsselungsalgorithmen implementiert. OpenSSL 3.5 wird als Long-Term Support (LTS) eingestuft, für das Updates über einen Zeitraum von 5 Jahren (bis April 2030) veröffentlicht werden. Der Support für die vorherigen Versionen OpenSSL 3.3, 3.2 und 3.0 LTS dauert bis April 2026, November 2025 bzw. September 2026. Der Quellcode des Projekts wird unter der Lizenz Apache 2.0 veröffentlicht.

Hauptneuerungen:

  • Unterstützung für quantenresistente Kryptografiealgorithmen hinzugefügt:
    • ML-KEM (CRYSTALS-Kyber) — ein Schlüsselaustauschalgorithmus, der Methoden der auf Gitterproblemen basierenden Kryptografie nutzt, deren Lösungszeit sich auf herkömmlichen und Quantencomputern nicht unterscheidet.
    • ML-DSA (CRYSTALS-Dilithium) — ein Algorithmus zur Erzeugung digitaler Signaturen, der auf der Gittertheorie basiert.
    • SLH-DSA (Sphincs+) — ein Algorithmus zur Erzeugung digitaler Signaturen, der Methoden der Hash-basierten Kryptografie verwendet. SLH-DSA ist hinsichtlich der Größe der Signaturen und der Geschwindigkeit der Verarbeitung hinter ML-DSA, basiert jedoch auf völlig anderen mathematischen Prinzipien, d.h. es bleibt effektiv im Falle einer Kompromittierung von auf Gittertheorie basierenden Algorithmen.
  • Vollständige Unterstützung des QUIC-Protokolls (RFC 9000) implementiert, das nun nicht nur für Client-Anwendungen, sondern auch für Server-Anwendungen verfügbar ist. QUIC ist eine Erweiterung des UDP-Protokolls, das die Multiplexierung mehrerer Verbindungen unterstützt und Verschlüsselungsmethoden bietet, die TLS entsprechen. Das QUIC-Protokoll wird in HTTP/3 verwendet und wurde als Alternative zum TCP+TLS-Bündel entwickelt, um Probleme mit langen Verbindungsaufbau- und Aushandlungszeiten in TCP zu lösen sowie Verzögerungen bei Paketverlusten während der Datenübertragung zu beseitigen.
  • Die Möglichkeit hinzugefügt, externe Stacks mit Implementierungen des QUIC-Protokolls zu verwenden, einschließlich Stacks, die den 0-RTT-Modus (0 Round Trip Time) unterstützen, der es ermöglicht, sofort mit der Datenübertragung zu beginnen, nachdem das Verbindungsaufbaupaket gesendet wurde.
  • Unterstützung für nicht transparente (opaque) Symmetrische Schlüsselobjekte (EVP_SKEY) hinzugefügt, die die Implementierungsdetails des Schlüssels verbergen.
  • Der 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.
  • Der Parameter „enable-fips-jitter“ wurde hinzugefügt, der in dem FIPS-Anbieter die Verwendung einer auf Jitter basierenden Entropiequelle, die durch die jitterentropy-Bibliothek implementiert ist, aktiviert. Die Entropiebildung auf der Grundlage von Jitter erfolgt durch die Messung der Unterschiede in der Zeit der wiederholten Ausführung eines bestimmten Satzes von CPU-Anweisungen, die von zahlreichen internen Faktoren abhängen und ohne physische Kontrolle über die CPU unvorhersehbar sind.
  • Im CMP (Certificate Management Protocol) wurde die Unterstützung für die zentralisierte Generierung von Schlüsseln hinzugefügt (der öffentliche und private Schlüssel für den Client werden auf der Seite generiert Server).
  • Die Unterstützung für die Bereitstellung mehrerer Schlüsselsätze (Keyshares) für eine TLS-Verbindung wurde hinzugefügt.
  • Eine API für die Pipeline-Verarbeitung (Pipelining) wurde hinzugefügt, die das gleichzeitige Verarbeiten mehrerer Datenblöcke mit bestimmten Verschlüsselungen wie AES-GCM ermöglicht, die parallele Berechnungen unterstützen.
  • In den Anwendungen req, cms und smime wurde der Standardverschlüsselungsalgorithmus von des-ede3-cbc auf aes-256-cbc geändert.
  • Die Liste der Standardverschlüsselungen für TLS wurde um hybride KEM-Gruppen (Key Encapsulation Mechanism) ergänzt, die gegenüber Quantencomputern resistent sind, und als Priorität ausgewählt.
  • Die Schlüsselsätze (Keyshares), die standardmäßig in TLS verwendet werden, wurden um die Algorithmen X25519MLKEM768 und X25519 ergänzt.
  • Die Funktionen BIO_meth_get_*() wurden als veraltet erklärt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4