Une nouvelle version de la bibliothèque cryptographique compacte wolfSSL 5.0.0 est disponible, optimisée pour une utilisation sur des appareils embarqués à processeur et mémoire limités tels que les appareils Internet des objets, les systèmes de maison intelligente, les systèmes d'information automobiles, les routeurs et les téléphones mobiles. Le code est écrit en langage C et distribué sous licence GPLv2.
La bibliothèque fournit des implémentations hautes performances d'algorithmes cryptographiques modernes, notamment ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 et DTLS 1.2, qui, selon les développeurs, sont 20 fois plus compactes que les implémentations d'OpenSSL. Il fournit à la fois sa propre API simplifiée et une couche de compatibilité avec l'API OpenSSL. Il existe un support pour OCSP (Online Certificate Status Protocol) et CRL (Certificate Revocation List) pour vérifier les révocations de certificats.
Principales innovations de wolfSSL 5.0.0 :
- Prise en charge de la plate-forme ajoutée : IoT-Safe (avec prise en charge TLS), SE050 (avec prise en charge RNG, SHA, AES, ECC et ED25519) et Renesas TSIP 1.13 (pour les microcontrôleurs RX72N).
- Ajout de la prise en charge des algorithmes de cryptographie post-quantique qui résistent à la sélection sur un ordinateur quantique : groupes KEM NIST Round 3 pour TLS 1.3 et groupes hybrides NIST ECC basés sur le projet OQS (Open Quantum Safe, liboqs). Des groupes résistants à la sélection sur un ordinateur quantique ont également été ajoutés à la couche pour garantir la compatibilité. La prise en charge des algorithmes NTRU et QSH a été interrompue.
- Dans le module noyau Linux La prise en charge des algorithmes cryptographiques conformes à la norme de sécurité FIPS 140-3 a été implémentée. Un produit distinct intégrant cette norme a été publié ; son code est actuellement en cours de test, d’examen et de vérification.
- Dans le module noyau Linux Les variantes des algorithmes RSA, ECC, DH, DSA et AES/AES-GCM ont été ajoutées et accélérées grâce aux instructions vectorielles du processeur x86. Les gestionnaires d'interruptions ont également été accélérés grâce à ces instructions vectorielles. La prise en charge d'un sous-système de vérification des modules par signature numérique a été ajoutée. Le moteur de chiffrement embarqué wolfCrypt peut désormais être compilé en mode « --enable-linuxkm-pie » (indépendant de la position). Le module prend désormais en charge plusieurs noyaux. Linux 3.16, 4.4, 4.9, 5.4 et 5.10.
- Pour garantir la compatibilité avec d'autres bibliothèques et applications, la prise en charge de libssh2, pyOpenSSL, libimobiledevice, rsyslog, OpenSSH 8.5p1 et Python 3.8.5 a été ajoutée à la couche.
- Ajout d'une grande partie de nouvelles API, notamment EVP_blake2, wolfSSL_set_client_CA_list, wolfSSL_EVP_sha512_256, wc_Sha512*, EVP_shake256, SSL_CIPHER_*, SSL_SESSION_*, etc.
- Correction de deux vulnérabilités considérées comme inoffensives : un blocage lors de la création de signatures numériques DSA avec certains paramètres et une vérification incorrecte des certificats avec plusieurs noms alternatifs d'objets lors de l'utilisation de restrictions de dénomination.
Source: opennet.ru
