Przygotowano wydanie kompaktowej biblioteki kryptograficznej wolfSSL 5.1.0, zoptymalizowanej do użycia na urządzeniach wbudowanych z ograniczonymi zasobami procesora i pamięci, takich jak urządzenia Internetu rzeczy, systemy inteligentnego domu, systemy informacyjne w samochodach, routery oraz telefony komórkowe. Kod został napisany w języku C i jest rozpowszechniany 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 wolfSSL 5.1.0:
- Dodano wsparcie dla platform: NXP SE050 (z wsparciem dla Curve25519) oraz Renesas RA6M4. Dla Renesas RX65N/RX72N dodano wsparcie dla TSIP 1.14 (Trusted Secure IP).
- Dodano możliwość użycia algorytmów postkwantowej kryptografii w porcie dla serwera http Apache. Dla TLS 1.3 wdrożono schemat podpisów cyfrowych NIST round 3 FALCON. Dodano testy cURL, skompilowanego z wolfSSL w trybie stosowania algorytmów kryptograficznych odpornych na ataki z użyciem komputera kwantowego.
- Do warstwy zapewniającej zgodność z innymi bibliotekami i aplikacjami dodano wsparcie dla NGINX 1.21.4 oraz Apache httpd 2.4.51.
- Do kodu dla zgodności z OpenSSL dodano wsparcie dla flagi SSL_OP_NO_TLSv1_2 oraz funkcji SSL_CTX_get_max_early_data, SSL_CTX_set_max_early_data, SSL_set_max_early_data, SSL_get_max_early_data, SSL_CTX_clear_mode, SSL_CONF_cmd_value_type, SSL_read_early_data, SSL_write_early_data.
- Dodano możliwość rejestracji funkcji callback do zastąpienia wbudowanej implementacji algorytmu AES-CCM.
- Dodano makro WOLFSSL_CUSTOM_OID do generowania własnych OID dla CSR (certificate signing request).
- Dodano wsparcie dla deterministycznych podpisów ECC, włączanych makrem FSSL_ECDSA_DETERMINISTIC_K_VARIANT.
- Dodano nowe funkcje wc_GetPubKeyDerFromCert, wc_InitDecodedCert, wc_ParseCert oraz wc_FreeDecodedCert.
- Usunięto dwie luki w zabezpieczeniach, którym przypisano niski poziom ryzyka. Pierwsza luka umożliwia przeprowadzenie ataku DoS na aplikację kliencką podczas ataku MITM na połączenie TLS 1.2. Druga luka wiąże się z możliwością przejęcia kontroli nad wznowieniem sesji klienta przy użyciu proxy opartego na wolfSSL lub połączeń, które nie weryfikują całego łańcucha zaufania certyfikatu serwerowego.
Źródło: opennet.ru
