Nowa wersja kompaktowej biblioteki kryptograficznej wolfSSL 5.0.0 jest już dostępna. Została zoptymalizowana do użytku na urządzeniach wbudowanych o ograniczonych zasobach procesora i pamięci, takich jak urządzenia Internetu Rzeczy, systemy inteligentnych domów, samochodowe systemy informacyjne, routery i telefony komórkowe. Kod napisano w języku C i jest rozpowszechniane na licencji GPLv2.
Biblioteka zapewnia wysokowydajne implementacje nowoczesnych algorytmów kryptograficznych, w tym ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 oraz DTLS 1.2, która według twórców jest 20 razy bardziej kompaktowa niż implementacje z OpenSSL. Oferuje zarówno uproszczone API, jak i warstwę kompatybilności z API OpenSSL. Obsługuje OCSP (Online Certificate Status Protocol) oraz CRL (Certificate Revocation List) do sprawdzania unieważnienia certyfikatów.
Główne nowości w wolfSSL 5.0.0:
- Dodano wsparcie dla platform: IoT-Safe (z obsługą TLS), SE050 (z obsługą RNG, SHA, AES, ECC i ED25519) oraz Renesas TSIP 1.13 (dla mikrokontrolerów RX72N).
- Dodano wsparcie dla algorytmów postkwantowej kryptografii, odpornych na ataki z wykorzystaniem komputerów kwantowych: grupy NIST Round 3 KEM dla TLS 1.3 oraz hybrydowe grupy NIST ECC oparte na projekcie OQS (Open Quantum Safe, liboqs). Odporną na ataki z wykorzystaniem komputerów kwantowych grupy dodano również w warstwie zapewniającej kompatybilność. Zaprzestano wsparcia dla algorytmów NTRU i QSH.
- W module dla jądra Linux zrealizowano wsparcie dla algorytmów kryptograficznych zgodnych z normą bezpieczeństwa FIPS 140-3. Przedstawiono osobny produkt z realizacją FIPS 140-3, którego kod jest obecnie w fazie testów, przeglądów i weryfikacji.
- W module dla jądra Linux dodano warianty algorytmów RSA, ECC, DH, DSA, AES/AES-GCM, przyspieszane za pomocą wektora instrukcji CPU x86. Przy pomocy wektora instrukcji przyspieszono także obsługę przerwań. Dodano wsparcie dla podsystemu do weryfikacji modułów za pomocą podpisów cyfrowych. Zapewniono możliwość kompilacji wbudowanego silnika kryptograficznego wolfCrypt w trybie "--enable-linuxkm-pie" (niezależny od pozycji). Moduł zapewnia wsparcie dla jąder Linux 3.16, 4.4, 4.9, 5.4 i 5.10.
- W warstwie zapewniającej kompatybilność z innymi bibliotekami i aplikacjami dodano wsparcie dla libssh2, pyOpenSSL, libimobiledevice, rsyslog, OpenSSH 8.5p1 oraz Python 3.8.5.
- Dodano dużą porcję nowych interfejsów API, w tym EVP_blake2, wolfSSL_set_client_CA_list, wolfSSL_EVP_sha512_256, wc_Sha512*, EVP_shake256, SSL_CIPHER_*, SSL_SESSION_* itp.
- Usunięto dwie luki, które uznano za niegroźne: zawieszanie się przy tworzeniu podpisów cyfrowych DSA z określonymi parametrami oraz niepoprawne sprawdzanie certyfikatów z wieloma alternatywnymi nazwami obiektu, przy użyciu ograniczeń powiązanych z nazwami.
Źródło: opennet.ru
