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 avec des ressources processeur et mémoire limitées, tels que des dispositifs Internet des objets, des systèmes de maison intelligente, des systèmes d'information automobile, des routeurs et des téléphones mobiles. Le code est écrit en C et distribué sous la licence GPLv2.
La bibliothèque fournit des implémentations hautes performances des algorithmes cryptographiques modernes, y compris 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. Elle propose à la fois une API simplifiée et une couche de compatibilité avec l'API OpenSSL. La prise en charge de l'OCSP (Online Certificate Status Protocol) et de la CRL (Certificate Revocation List) pour la vérification de la révocation des certificats est également incluse.
Principales nouveautés de wolfSSL 5.0.0 :
- Ajout du support des plateformes : IoT-Safe (avec support TLS), SE050 (avec support RNG, SHA, AES, ECC et ED25519) et Renesas TSIP 1.13 (pour les microcontrôleurs RX72N).
- Ajout du support des algorithmes de cryptographie post-quantique, résistants aux attaques par 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 aux attaques par ordinateur quantique ont également été ajoutés au middleware pour assurer la compatibilité. Le support des algorithmes NTRU et QSH a été abandonné.
- Le module pour le noyau Linux a mis en œuvre le support des algorithmes cryptographiques conformes aux normes de sécurité FIPS 140-3. Un produit distinct avec une mise en œuvre FIPS 140-3 est présenté, dont le code est encore en phase de test, de révision et de vérification.
- Le module pour le noyau Linux a ajouté des variantes d'algorithmes RSA, ECC, DH, DSA, AES/AES-GCM, accélérées par des instructions vectorielles CPU x86. Les gestionnaires d'interruptions ont également été accélérés grâce aux instructions vectorielles. Ajout du support pour un sous-système de vérification des modules par signatures numériques. Une possibilité de compilation du moteur cryptographique embarqué wolfCrypt en mode « --enable-linuxkm-pie » (indépendant de la position) a été fournie. Le module prend en charge les noyaux Linux 3.16, 4.4, 4.9, 5.4 et 5.10.
- Ajout du support de libssh2, pyOpenSSL, libimobiledevice, rsyslog, OpenSSH 8.5p1 et Python 3.8.5 dans le middleware pour assurer la compatibilité avec d'autres bibliothèques et applications.
- Ajout d'un grand nombre de nouvelles API, y compris EVP_blake2, wolfSSL_set_client_CA_list, wolfSSL_EVP_sha512_256, wc_Sha512*, EVP_shake256, SSL_CIPHER_*, SSL_SESSION_* etc.
- Deux vulnérabilités ont été corrigées, considérées comme non dangereuses : un gel 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'objet, lors de l'utilisation de contraintes liées aux noms.
Source : opennet.ru
