Les développeurs du projet OpenBSD ont récemment annoncé la sortie de l’édition portable du package. “FreeSSL 3.8.0”version dans laquelle plusieurs modifications et améliorations axées sur la stabilité et la compatibilité ont été apportées.
Pour ceux qui ne connaissent pas LibreSSL, sachez que ce est une implémentation open source du protocole TLS développe un fork d’OpenSSL destinés à fournir un niveau de sécurité supérieur. LibreSSL a été initialement développé pour remplacer OpenSSL sur OpenBSD, et a été porté sur d’autres plates-formes une fois qu’une version simplifiée de la bibliothèque a été stabilisée.
Le projet LibreSSL se concentre sur une prise en charge de haute qualité des protocoles SSL/TLS en supprimant les fonctionnalités inutiles, en ajoutant des fonctionnalités de sécurité supplémentaires, ainsi qu’un nettoyage et une refonte importants de la base de code.
Principales nouveautés de LibreSSL 3.8.0
LibreSSL version 3.8.0 il est considéré comme une version expérimentale qui développe des fonctions qui seront incluses avec OpenBSD 7.4. Dans le même temps, des versions stables de LibreSSL 3.6.3 et 3.7.3 ont été formées, dans lesquelles divers bogues ont été corrigés.
Dans cette nouvelle version de LibreSSL 3.8.0, il est mis en évidence que meilleure compatibilité endian.h avec les macros hto* et *toh, En plus d’ajouter le prise en charge de SHA-2 et SHA-3 tronqué et le processus interne de nettoyage et de refonte du code SHA a commencé.
Un autre changement notable est la réécriture des fonctions internes BN_exp() et BN_copy(), ainsi que le remplacement de l’implémentation de la fonction BN_mod_sqrt().
En plus de cela, on note également que instructions ajoutées assembleur pour l’architecture AMD64 utilise les instructions endbr64 (Terminer la branche indirecte).
On note également qu’ajouté un correctif pour un changement mal pensé dans OpenSSL 3 qui a interrompu la prise en charge de la séparation des privilèges dans libtls, De plus, le code BoringSSL a été porté pour vérifier les règles définies dans la RFC 5280 et la traduction de libcrypto continue d’utiliser les interfaces CBB (bytebuilder) et CBS (bytestring).
D’autre part, il est mis en évidence que le code de vérification de la politique BoringSSL RFC 5280 a été importé et utilisé
pour remplacer l’ancien code temporel exponentiel, en plus de supprimer la prise en charge de GF2m: BIGNUM car il ne prend pas en charge l’extension binaire, supprimant la plupart des symboles publics qui étaient obsolètes dans OpenSSL 0.9.8.
Parmi les autres changements qui se démarquent dans cette nouvelle version :
- Suppression de l’API publique X9.31 (RSA_X931_PADDING est toujours disponible).
- Suppression du mode de vol de texte chiffré.
- Suppression de la prise en charge de SXNET et NETSCAPE_CERT_SEQUENCE, y compris le
Commande openssl(1) nseq. - Prise en charge du certificat proxy abandonné (RFC 3820).
- POLICY_TREE et ses structures et API associées ont été supprimées.
- Correction de la vérification des bogues pour i2d_ECDSA_SIG() dans ossl_ecdsa_sign().
- Correction de la détection des opérations étendues (XOP) sur le matériel AMD.
- Correction de la gestion des erreurs dans tls_check_common_name().
- Ajout de l’invalidation du pointeur manquant dans SSL_free().
- Correction de X509err() et X509V3err() et de leurs versions internes.
- Couverture de test significativement améliorée de BN_mod_sqrt() et GCD.
- Comme toujours, une nouvelle couverture de test est ajoutée à mesure que les bogues et les sous-systèmes sont corrigés
ils sont nettoyés.
Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.
Comment installer la nouvelle version de LibreSSL ?
Pour ceux qui souhaitent pouvoir installer cette nouvelle version, ils doivent savoir que pour le moment, elle n’a pas atteint la plupart des distributions Linux, donc l’installation actuellement disponible est compilé le package par vous-même.
Mais ne vous inquiétez pas, la version LibreSSL C’est très simple et pour cela il suffit d’ouvrir un terminal et exécutez les commandes suivantes (vous devez avoir les dépendances suivantes automake, autoconf, git, libtool, perl et git).
La première chose est d’obtenir le code source, ce que vous pouvez faire avec cette commande :
git clone https://github.com/libressl/portable.git
Une fois cela fait, nous allons maintenant préparer la manière de réaliser la compilation, pour cela nous entrons dans le dossier qui contient le code source de LibreSSL et nous allons taper :
cd portable ./autogen.sh ./dist.sh
Une fois cela fait, nous procédons à la compilation avec :
./configure make check make install
Ou si vous préférez le faire avec CMake :
mkdir build cd build cmake .. make make test