Version de la bibliothèque cryptographique OpenSSL 3.1.0

Après un an et demi de développement, la librairie OpenSSL 3.1.0 est sortie avec la mise en place des protocoles SSL/TLS et de divers algorithmes de chiffrement. La prise en charge d'OpenSSL 3.1 se poursuivra jusqu'en mars 2025. La prise en charge des anciennes branches OpenSSL 3.0 et 1.1.1 se poursuivra jusqu'en septembre 2026 et septembre 2023, respectivement. Le code du projet est distribué sous la licence Apache 2.0.

Principales innovations d'OpenSSL 3.1.0 :

  • Le module FIPS implémente la prise en charge des algorithmes cryptographiques conformes à la norme de sécurité FIPS 140-3. Le processus de certification des modules a commencé pour obtenir la certification de conformité FIPS 140-3. Jusqu'à ce que la certification soit terminée après la mise à niveau d'OpenSSL vers la branche 3.1, les utilisateurs peuvent continuer à utiliser un module FIPS certifié pour FIPS 140-2. Parmi les changements apportés à la nouvelle version du module, on note l'inclusion des algorithmes Triple DES ECB, Triple DES CBC et EdDSA, dont la conformité aux exigences FIPS n'a pas encore été testée. Toujours dans la nouvelle version, des optimisations ont été apportées pour améliorer les performances et une transition a été faite pour exécuter des tests internes avec chaque chargement de module, et pas seulement après l'installation.
  • Code OSSL_LIB_CTX retravaillé. La nouvelle option est exempte de verrous inutiles et vous permet d'obtenir des performances plus élevées.
  • Amélioration des performances des frameworks d'encodeur et de décodeur.
  • Optimisation des performances liées à l'utilisation des structures internes (tables de hachage) et de la mise en cache.
  • Amélioration de la vitesse de génération des clés RSA en mode FIPS.
  • Les algorithmes AES-GCM, ChaCha20, SM3, SM4 et SM4-GCM ont des optimisations d'assembleur spécifiques pour différentes architectures de processeur. Par exemple, le code AES-GCM est accéléré à l'aide des instructions AVX512 vAES et vPCLMULQDQ.
  • La prise en charge de l'algorithme KMAC (KECCAK Message Authentication Code) a été ajoutée à KBKDF (Key Based Key Derivation Function).
  • Diverses fonctions "OBJ_*" ont été adaptées pour être utilisées dans du code multi-thread.
  • Ajout de la possibilité d'utiliser l'instruction RNDR et les registres RNDRRS disponibles dans les processeurs basés sur l'architecture AArch64 pour générer des nombres pseudo-aléatoires.
  • Les fonctions OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio et OPENSSL_LH_node_usage_stats_bio sont obsolètes. Macro obsolète DEFINE_LHASH_OF.

Source: opennet.ru

Ajouter un commentaire