È disponibile una nuova versione della libreria crittografica compatta wolfSSL 5.0.0, ottimizzata per l'uso su dispositivi embedded con risorse limitate di CPU e memoria, come dispositivi IoT, sistemi di smart home, sistemi informativi per auto, router e telefoni cellulari. Il codice è scritto in linguaggio C e viene distribuito sotto licenza GPLv2.
La libreria fornisce implementazioni ad alte prestazioni degli algoritmi crittografici moderni, inclusi ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 e DTLS 1.2, che secondo gli sviluppatori sono 20 volte più compatte rispetto alle implementazioni di OpenSSL. Viene fornita sia una propria API semplificata che un'interfaccia per la compatibilità con l'API di OpenSSL. È presente supporto per OCSP (Online Certificate Status Protocol) e CRL (Certificate Revocation List) per la verifica della revoca dei certificati.
Novità principali di wolfSSL 5.0.0:
- Aggiunta la supporto per le piattaforme: IoT-Safe (con supporto TLS), SE050 (con supporto RNG, SHA, AES, ECC e ED25519) e Renesas TSIP 1.13 (per microcontroller RX72N).
- Aggiunto il supporto per gli algoritmi di crittografia post-quantistica, resistenti agli attacchi da computer quantistici: gruppi NIST Round 3 KEM per TLS 1.3 e gruppi ibridi NIST ECC basati sul progetto OQS (Open Quantum Safe, liboqs). I gruppi resistenti agli attacchi da computer quantistici sono stati inclusi anche nello strato per garantire la compatibilità. È stata interrotta la supporto per gli algoritmi NTRU e QSH.
- Nel modulo per il kernel Linux è stata implementata la supporto per algoritmi crittografici conformi allo standard di sicurezza FIPS 140-3. È stato presentato un prodotto separato con implementazione FIPS 140-3, il cui codice è ancora in fase di test, revisione e verifica.
- Nel modulo per il kernel Linux sono stati aggiunti varianti degli algoritmi RSA, ECC, DH, DSA, AES/AES-GCM, accelerati tramite istruzioni vettoriali della CPU x86. Gli handler delle interruzioni sono stati anch'essi accelerati tramite istruzioni vettoriali. È stato aggiunto il supporto per il sottosistema per la verifica dei moduli tramite firme digitali. È stata garantita la possibilità di compilare il motore crittografico embedded wolfCrypt in modalità "--enable-linuxkm-pie" (indipendente dalla posizione). Il modulo supporta i kernel Linux 3.16, 4.4, 4.9, 5.4 e 5.10.
- Nel livello per garantire la compatibilità con altre librerie e applicazioni è stata aggiunta la supporto per libssh2, pyOpenSSL, libimobiledevice, rsyslog, OpenSSH 8.5p1 e Python 3.8.5.
- Aggiunta una grande serie di nuove API, tra cui EVP_blake2, wolfSSL_set_client_CA_list, wolfSSL_EVP_sha512_256, wc_Sha512*, EVP_shake256, SSL_CIPHER_*, SSL_SESSION_* e così via.
- Risolte due vulnerabilità considerate non critiche: un congelamento nella creazione di firme digitali DSA con parametri specifici e un controllo errato dei certificati con più nomi alternativi oggetto, utilizzando limitazioni relative ai nomi.
Fonte: opennet.ru
