Nach acht Monaten Entwicklung wurde die Version 3.2.0 der OpenSSL-Bibliothek mit der Implementierung der SSL/TLS-Protokolle und verschiedener Verschlüsselungsalgorithmen veröffentlicht. Der Support für OpenSSL 3.2 wird bis zum 23. November 2025 bereitgestellt. Der Support für die vorherigen Versionen OpenSSL 3.1 und 3.0 LTS wird bis März 2025 bzw. September 2026 fortgesetzt. Der Support für die Version 1.1.1 wurde im September dieses Jahres eingestellt. Der Projektcode wird unter der Lizenz Apache 2.0 verbreitet.
Die wichtigsten Neuerungen in OpenSSL 3.2.0:
- Die Client-Unterstützung für das QUIC-Protokoll (RFC 9000), das als Transportmittel im HTTP/3-Protokoll verwendet wird, wurde hinzugefügt. Die Implementierung umfasst unter anderem die Möglichkeit, mehrere Streams über einen einzigen Kommunikationskanal zu übertragen. Komponenten zur Verwendung von QUIC werden Servern in die Veröffentlichung von OpenSSL 3.3 integriert, die spätestens am 30. April 2024 veröffentlicht werden soll.
QUIC ist ein Überbau des UDP-Protokolls, das die Multiplexierung mehrerer Verbindungen unterstützt und Verschlüsselungsmethoden bietet, die TLS/SSL entsprechen. Das Protokoll wurde 2013 von Google als Alternative zu der Kombination aus TCP+TLS für das Web entwickelt und löst Probleme mit langen Verbindungsaufbau- und Aushandlungszeiten in TCP sowie Verzögerungen bei Paketverlusten während der Datenübertragung.
- In TLS wurde die Unterstützung für eine Erweiterung zur Komprimierung von Zertifikaten während des Verbindungs-Aushandlungsprozesses (RFC 8879) implementiert, die die Verbindungsherstellung beschleunigt, da der Datenverkehr für Zertifikate einen großen Teil des Traffics beim Verbindungsaufbau ausmacht. Die Komprimierung wird unter Verwendung der Bibliotheken zlib, zstd und Brotli unterstützt.
- Die Unterstützung für die deterministische Variante von digitalen Signaturen ECDSA (Deterministic ECDSA, RFC 6979) wurde hinzugefügt, bei der statt einer zufälligen Sequenz zur Erzeugung der Signatur ein Hash HMAC-SHA256 des privaten Schlüssels und des zu signierenden Textes verwendet wird, was es ermöglicht, bei unterschiedlichen Signiervorgängen immer dieselbe Signatur zu erhalten, jedoch keine Datenlecks zulässt, die zur Ermittlung des privaten Schlüssels verwendet werden können (der private Schlüssel kann ermittelt werden, wenn zumindest zwei Signaturen für unterschiedliche Daten mit einer wiederholenden zufälligen Sequenz generiert werden).
- Die Unterstützung für erweiterte Varianten von digitalen Signaturen mit öffentlichem Schlüssel Ed25519 und Ed448 wurde hinzugefügt: Ed25519ctx, Ed25519ph und Ed448ph (RFC 8032).
- Die Unterstützung des AES-GCM-SIV-Verschlüsselungsmodus (RFC 8452) wurde hinzugefügt, der die hohe Leistung des GCM (Galois/Counter Mode) mit der Widerstandsfähigkeit gegen Lecks bei der Wiederverwendung des Zufallswerts nonce kombiniert.
- Die Funktion zur Erstellung von Argon2-Schlüsseln (RFC 9106) wurde implementiert, die 2015 den Wettbewerb um Passwort-Hashing-Funktionen gewonnen hat. Es wurde die Möglichkeit hinzugefügt, einen Thread-Pool zu verwenden.
- Die Unterstützung für hybrider Verschlüsselung basierend auf dem HPKE-Mechanismus (Hybrid Public Key Encryption, RFC 9180) wurde hinzugefügt, der die Einfachheit der Schlüsselaustauschübertragung in der asymmetrischen Verschlüsselung mit der hohen Leistung der symmetrischen Verschlüsselung kombiniert (Daten werden mit einem schnellen symmetrischen Schlüssel verschlüsselt, während der Schlüssel selbst mit einem langsamen asymmetrischen Verfahren verschlüsselt wird).
- In TLS wurde die Verwendung von „rohen“ (raw) öffentlichen Schlüsseln (RFC 7250) ermöglicht.
- Die Unterstützung für den Mechanismus zur schnellen Eröffnung von TCP-Verbindungen (TFO – TCP Fast Open, RFC 7413) wurde hinzugefügt, der die Anzahl der Schritte zur Einrichtung einer Verbindung durch die Kombination der ersten beiden Schritte des klassischen dreistufigen Verbindungsaufbauprozesses in eine Anfrage reduziert und es ermöglicht, Daten im frühen Stadium der Verbindungsherstellung zu senden.
- In TLS wurde die Unterstützung für anpassbare digitale Signaturschemata implementiert, die die Verwendung von Drittanbieterimplementierungen von Algorithmen ermöglichen, beispielsweise für die Verwendung von quantensicheren Algorithmen in TLS.
- In TLS 1.3 wurde die Unterstützung für sichere elliptische Kurven von Brainpool hinzugefügt.
- Die Unterstützung für SM4-XTS-Prozessoranweisungen wurde hinzugefügt.
- Auf der Windows-Plattform wurde die Möglichkeit implementiert, das systeminterne Speicher für Stammzertifikate zu verwenden (standardmäßig deaktiviert). Um auf Zertifikate im Windows-Speicher zuzugreifen, wurde die URI „org.openssl.winstore://“ vorgeschlagen.
Quelle: opennet.ru
