La bibliothèque OpenSSL 3.5.0 a été publiée, comprenant la mise en œuvre des protocoles SSL/TLS et divers algorithmes de chiffrement. OpenSSL 3.5 est classé dans les versions avec support à long terme (LTS), pour lesquelles les mises à jour sont publiées pendant 5 ans (jusqu'en avril 2030). Le support des anciennes branches OpenSSL 3.3, 3.2 et 3.0 LTS se poursuivra jusqu'en avril 2026, novembre 2025 et septembre 2026, respectivement. Le code du projet est distribué sous la licence Apache 2.0.
Principales nouveautés :
- Ajout de la prise en charge d'algorithmes cryptographiques résistants aux attaques par ordinateur quantique :
- ML-KEM (CRYSTALS-Kyber) — un algorithme d'échange de clés utilisant des méthodes de cryptographie basées sur la résolution de problèmes de théorie des réseaux, dont le temps de résolution ne diffère pas entre ordinateurs classiques et quantiques.
- ML-DSA (CRYSTALS-Dilithium) — un algorithme de formation de signatures numériques basé sur la théorie des réseaux.
- SLH-DSA (Sphincs+) — un algorithme de formation de signatures numériques utilisant des méthodes de cryptographie basées sur des fonctions de hachage. SLH-DSA est en retard par rapport à ML-DSA en termes de taille des signatures et de vitesse d'exécution, mais repose sur des principes mathématiques totalement différents, ce qui le rend efficace en cas de compromission des algorithmes basés sur la théorie des réseaux.
- Une prise en charge complète du protocole QUIC (RFC 9000) a été mise en œuvre, désormais disponible non seulement pour les applications clientes, mais aussi pour les applications serveur. QUIC est une couche supérieure au protocole UDP, prenant en charge le multiplexage de plusieurs connexions et fournissant des méthodes de chiffrement équivalentes à TLS. Le protocole QUIC est utilisé dans HTTP/3 et a été créé comme une alternative à l'association TCP+TLS, résolvant les problèmes de temps d'établissement et de négociation de connexions en TCP, tout en éliminant les retards dus à la perte de paquets lors du transfert de données.
- Ajout de la possibilité d'utiliser des piles tierces avec la mise en œuvre du protocole QUIC, y compris des piles prenant en charge le mode 0-RTT (0 Round Trip Time), permettant de commencer immédiatement le transfert de données après l'envoi du paquet d'établissement de la connexion.
- Ajout du support des objets symétriques de clés opaques (EVP_SKEY), qui masquent les détails de l'implémentation de la clé.
- Ajout du paramètre « no-tls-deprecated-ec » pour désactiver le support des groupes TLS déclarés obsolètes dans RFC-8422.
- Ajout du paramètre «enable-fips-jitter», qui permet au fournisseur FIPS d'utiliser une source d'entropie basée sur le jitter, mise en œuvre avec la bibliothèque jitterentropy. La génération d'entropie basée sur le jitter se fait en mesurant les variations dans le temps de réexécution d'un ensemble spécifique d'instructions sur le CPU, sujet à de nombreux facteurs internes et imprévisible sans contrôle physique sur le CPU.
- Le CMP (Certificate Management Protocol) a ajouté la prise en charge de la génération centralisée de clés (la clé publique et la clé privée pour le client sont générées du côté) de serveurs).
- Ajout de la prise en charge de la fourniture de plusieurs ensembles de clés (keyshares) pour une seule connexion TLS.
- Ajout d'une API pour le pipelining, permettant de traiter simultanément plusieurs blocs de données lors de l'utilisation de certains chiffrement, comme AES-GCM, qui prennent en charge des calculs parallèles.
- Dans les applications req, cms et smime, l'algorithme de chiffrement par défaut a été changé de des-ede3-cbc à aes-256-cbc.
- Des groupes hybrides KEM (Key Encapsulation Mechanism), résistants aux attaques par ordinateur quantique, ont été ajoutés à la liste des chiffrements par défaut pour TLS et sélectionnés comme prioritaires.
- Les algorithmes X25519MLKEM768 et X25519 ont été ajoutés à l'ensemble de clés (keyshares) utilisés par défaut dans TLS.
- Les fonctions BIO_meth_get_*() sont déclarées obsolètes.
Source : opennet.ru
