Nach acht Monaten Entwicklung wurde das Release der OpenSSL-Bibliothek 3.2.0 mit der Implementierung der SSL/TLS-Protokolle und verschiedenen Verschlüsselungsalgorithmen abgeschlossen. Der Support für OpenSSL 3.2 wird bis zum 23. November 2025 bereitgestellt. Der Support für die älteren Versionen OpenSSL 3.1 und 3.0 LTS wird bis März 2025 und September 2026 respectively fortgeführt. Der Support für die Version 1.1.1 endet bereits im September dieses Jahres. Der Code des Projekts steht unter der Apache 2.0-Lizenz zur Verfügung.
Hauptneuerungen in OpenSSL 3.2.0:
- Die Unterstützung für das QUIC-Protokoll (RFC 9000) wurde hinzugefügt, das als Transportprotokoll für HTTP/3 verwendet wird. Die Implementierung umfasst unter anderem die Möglichkeit, mehrere Streams über eine einzige Verbindung zu übertragen. Komponenten zur Nutzung von QUIC werden in Servern im Release von OpenSSL 3.3 enthalten sein, das voraussichtlich spätestens am 30. April 2024 veröffentlicht wird.
QUIC ist ein Protokoll, das auf UDP aufbaut und die Multiplexierung mehrerer Verbindungen unterstützt. Es bietet Verschlüsselungsmethoden, die den TLS/SSL-Standards entsprechen. Das Protokoll wurde 2013 von Google als Alternative zum TCP+TLS-Bund für das Web entwickelt, um Probleme mit langen Verbindungsaufbauzeiten und der Abstimmung in TCP zu lösen und um Verzögerungen durch Paketverluste während der Datenübertragung zu beseitigen.
- TLS unterstützt das Erweiterung für die Kompression von Zertifikaten während der Verbindungsaufbauphase (RFC 8879), was die Einrichtung von Verbindungen beschleunigt, da auf den Zertifikataustausch der Großteil des Traffics in dieser Phase entfällt. Es unterstützt die Kompression mit den Bibliotheken zlib, zstd und Brotli.
- Die Unterstützung für die deterministische Variante digitaler Signaturen ECDSA (Deterministic ECDSA, RFC 6979) wurde hinzugefügt, bei der anstelle einer zufälligen Sequenz zur Signaturgenerierung ein HMAC-SHA256-Hash des privaten Schlüssels und des zu signierenden Textes verwendet wird. Dies ermöglicht, bei verschiedenen Signiervorgängen immer dieselbe Signatur zu erhalten, während gleichzeitig ein Datenleck verhindert wird, das zur Ableitung des privaten Schlüssels verwendet werden könnte (der private Schlüssel kann abgeleitet werden, wenn mindestens zwei Signaturen für unterschiedliche Daten unter Verwendung einer wiederholenden Zufallssequenz erstellt wurden).
- Die Unterstützung für erweiterte Varianten digitaler Signaturen mit öffentlichem Schlüssel Ed25519 und Ed448 wurde hinzugefügt: Ed25519ctx, Ed25519ph und Ed448ph (RFC 8032).
- Die Unterstützung für den Verschlüsselungsmodus AES-GCM-SIV (RFC 8452) wurde implementiert, der die hohe Leistung des GCM-Modus (Galois/Counter Mode) mit der Widerstandsfähigkeit gegen Datenlecks bei wiederholter Verwendung eines Zufallswerts kombiniert.
- Die Funktion zur Erstellung von Argon2-Schlüsseln (RFC 9106) wurde umgesetzt, die 2015 den Wettbewerb um Passwort-Hashfunktionen gewonnen hat. Zudem wurde die Möglichkeit zur Nutzung eines Thread-Pools hinzugefügt.
- Die Unterstützung für hybrides Verschlüsselungssystem auf Basis des HPKE-Mechanismus (Hybrid Public Key Encryption, RFC 9180) wurde hinzugefügt. Dieser kombiniert die Einfachheit der Schlüsselübertragung bei der Verschlüsselung mit öffentlichen Schlüsseln mit der hohen Leistung der symmetrischen Verschlüsselung (Daten werden mit einem schnellen symmetrischen Schlüssel verschlüsselt, während der Schlüssel selbst mit einem langsamen asymmetrischen Verfahren geschützt wird).
- In TLS wurde die Verwendung von „rohen“ (raw) öffentlichen Schlüsseln (RFC 7250) implementiert.
- Es wurde die Unterstützung für den TCP-Fast-Open-Mechanismus (TFO — TCP Fast Open, RFC 7413) hinzugefügt, der die Anzahl der Schritte zur Verbindungsherstellung reduziert, indem der erste und der zweite Schritt des klassischen 3-Phasen-Prozesses zur Verbindungsvereinbarung in einer Anfrage kombiniert werden. Dadurch können Daten bereits zu Beginn der Verbindungsherstellung gesendet werden.
- In TLS wurde die Unterstützung für anpassbare digitale Signaturschemata implementiert, die es ermöglichen, alternative Implementierungen von Algorithmen zu verwenden, beispielsweise für die Nutzung von quantensicheren Algorithmen in TLS.
- In TLS 1.3 wurde die Unterstützung für geschützte elliptische Kurven von Brainpool hinzugefügt.
- Die Unterstützung für SM4-XTS-Prozessoranweisungen wurde hinzugefügt.
- Die Windows-Plattform ermöglicht die Verwendung des systemweiten Speichers für Wurzelzertifikate (standardmäßig deaktiviert). Um auf die Zertifikate im Windows-Speicher zuzugreifen, wurde die URI „org.openssl.winstore://“ vorgeschlagen.
Quelle: opennet.ru
