Les développeurs du projet OpenBSD ont présenté la version portable du package LibreSSL 3.7.0, qui est un fork d'OpenSSL visant à garantir un niveau de sécurité supérieur. Le projet LibreSSL se concentre sur un support de qualité des protocoles SSL/TLS en supprimant les fonctionnalités superflues, en ajoutant des moyens supplémentaires de protection et en procédant à un nettoyage significatif et à une révision de la base de code. La version LibreSSL 3.7.0 est considérée comme expérimentale, dans laquelle se développent des fonctionnalités qui feront partie d'OpenBSD 7.3.
Caractéristiques de LibreSSL 3.7.0 :
- Ajout du support de la signature numérique avec la clé publique Ed25519, développée par Daniel Bernstein et basée sur l'utilisation de la courbe elliptique Curve25519 et du hachage SHA-512. Le support d'Ed25519 est disponible sous forme de primitive distincte ainsi que via l'interface EVP.
- L'interface EVP a ajouté le support des signatures numériques X25519, qui diffèrent des signatures Ed25519 par l'utilisation uniquement des coordonnées « X » lors des manipulations avec des points sur la courbe elliptique, permettant ainsi de réduire considérablement la taille du code nécessaire pour créer et vérifier les signatures.
- Une API de bas niveau compatible avec OpenSSL 1.1 a été mise en œuvre pour le travail avec des clés publiques et privées, prenant en charge les types de clés EVP_PKEY_ED25519, EVP_PKEY_HMAC et EVP_PKEY_X25519.
- Au lieu des fonctions système timegm() et gmtime() pour la conversion des dates, les fonctions POSIX de BoringSSL ont été utilisées.
- La bibliothèque BN (BigNum) a été nettoyée de code ancien et inutilisé traitant des nombres premiers.
- Le support de la HMAC PRIVATE KEY a été supprimé.
- Le code interne pour la création et la vérification des signatures DSA a été révisé.
- Le code pour l'exportation des clés pour TLSv1.2 a été réécrit.
- Un nettoyage et une révision de l'ancien stack TLS ont été effectués.
- Le comportement des fonctions BIO_read() et BIO_write() a été rapproché de celui d'OpenSSL 3.
Source : opennet.ru
