OpenSSL 3.6 arrive avec des améliorations de sécurité et de performances

  • Améliorations de sécurité : LMS, FIPS 140-3 PCT et ECDSA déterministe selon FIPS 186-5
  • Améliorations des performances : AVX-512/VAES, AES-CBC+HMAC sur AArch64 et SHA-2 pour LongArch
  • Modifications de build et d'outils : C99 est requis et l'utilitaire openssl configutl est ajouté
  • Nouvelles fonctionnalités dans les protocoles et formats : OCSP multi-agrafage dans TLS 1.3 et CMS avec KEM/ML-KEM

OpenSSL 3.6

La nouvelle succursale OpenSSL 3.6 Il est désormais disponible, six mois après ci-dessus, une mise à jour majeure de l'ensemble populaire de bibliothèques cryptographiques open source. Elle apporte des modifications fonctionnelles, des améliorations de sécurité et des optimisations de performances qui impactent à la fois les serveurs et les applications clientes.

Outre la prise en charge des technologies récentes et des ajustements requis par les normes, cette version introduit des utilitaires et des API qui simplifient l'intégration. Concrètement, les contrôles internes sont renforcés, l’interopérabilité est améliorée et les chemins de chiffrement critiques sont affinés sur plusieurs architectures.

Principales nouvelles fonctionnalités et protocoles d'OpenSSL 3.6

Parmi les changements les plus visibles figure la vérification des signatures. LMS conforme à la norme NIST SP 800-208 dans les fournisseurs FIPS et par défaut, avec l'arrivée d'objets de clés symétriques opaques EVP_SKEY pour les méthodes de dérivation et d'échange de clés, accessibles via EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY() y EVP_PKEY_derive_SKEY().

  • CMS intègre KEMRecipientInfo (RFC 9629) et le support ML-KEM (draft draft-ietf-lamps-cms-kyber), facilitant l'utilisation d'une cryptographie résistante aux futurs adversaires quantiques.
  • Le serveur peut activer Agrafage multiple OCSP dans TLS 1.3, améliorant la livraison du statut de révocation pour les chaînes avec plusieurs certificats.
  • Il est permis de définir une « fonction thunk libre » dans les types de pile OPENSSL_sk, donnant plus de contrôle sur la libération des ressources.

Sécurité et conformité FIPS

La version renforce les garanties en mode validé avec Tests d'auto-évaluation FIPS 140-3 (PCT):dans la génération de clés DH, dans l'importation de clés pour SLH-DSA lors de l'utilisation de FIPS et dans le fournisseur FIPS lors de l'importation de clés RSA, EC et ECX, conformément au guide IG 10.3.

Ce fournisseur s'accompagne également du support de Génération déterministe de signatures ECDSA selon la norme FIPS 186-5, et les catégories de sécurité NIST pour les objets PKEY sont intégrées, ce qui facilite la classification et l'application des politiques en fonction du niveau cryptographique requis.

Optimisations des performances et de l'architecture dans OpenSSL 3.6

Sur x86_64, OpenSSL 3.6 intègre des optimisations Intel AVX-512 et VAES pour AES-CFB128, avec des améliorations notables dans les charges de travail intensives. AArch64 (ARM 64 bits) ajoute la prise en charge de l'algorithme entrelacé AES-CBC+HMAC-SHA, conçu pour accélérer les scénarios de chiffrement authentifié.

L'architecture LoongArch reçoit une implémentation assembleur de SHA-2 pour augmenter les performances, tandis que la pile QUIC ajoute une notification lorsque tous les FIN des flux ont été reconnus, faisant progresser les informations utiles vers le plan d'application.

Changements dans la compilation et les outils

Le projet abandonne définitivement les compilateurs ANSI-C : désormais une chaîne d'outils avec Caractéristiques du C99 pour construire OpenSSL. L'utilitaire est également ajouté. openssl configutl, conçu pour traiter le fichier de configuration et vider un fichier équivalent.

Dans le domaine de la maintenance, supprime la prise en charge de VxWorks et les fonctions liées à sont obsolètes EVP_PKEY_ASN1_METHOD. De plus, l'application comprend de nouvelles options CRYPTO_MEM_SEC y CRYPTO_MEM_SEC_MINSIZE pour initialiser explicitement la mémoire sécurisée.

Formats, interopérabilité et robustesse

Le paramètre par défaut est augmenté PKCS12 macsaltlen de 8 à 16 (aligné sur NIST SP 800-132) et améliore l'interopérabilité des nouveaux magasins PKCS12 entre les implémentations FIPS et non FIPS, réduisant ainsi les frictions dans les migrations et les audits.

Dans la couche utilitaire, openssl req ne génère plus de certificats avec une liste d'extensions vide lorsque SKID/AKID sont définis sur « aucun ». De plus, une vérification manquante est ajoutée pour renforcer l'opération publique RSA « encrypt » : le tampon de sortie indiqué par l'appelant doit avoir au moins la taille du module en octets.

La gestion des clés HMAC est obsolète réserves de mémoire sécurisées (évitant des surcoûts inutiles dans ce cas), et l'API CRYPTO_THREAD__local est étendu pour réduire la dépendance aux variables TLS spécifiques au système d'exploitation.

Disponibilité et support

La version OpenSSL 3.6 est considérée comme finale et stable, avec soutien régulier du cycle pendant deux ansL'équipe du projet accueille favorablement les contributions de la communauté ; les notes de publication et le code source sont disponibles à l'adresse référentiel officiel pour ceux qui souhaitent compiler à partir des sources.

Cette version renforce le pilier de sécurité avec des contrôles FIPS plus stricts, étend les capacités des protocoles tels que CMS et TLS et maximise les performances sur les architectures populaires ; en même temps, modernise l'environnement de construction et simplifie l'administration avec de nouveaux utilitaires et des ajustements d'interopérabilité.