Die neue Version der kompakten Kryptografiebibliothek wolfSSL 5.0.0 steht zur Verfügung. Sie wurde für die Verwendung auf eingebetteten Geräten mit begrenzten CPU- und Speicherressourcen optimiert, wie zum Beispiel Internet of Things (IoT)-Geräte, Smart Home-Systeme, automobile Informationssysteme, Router und Mobiltelefone. Der Code ist in C geschrieben und steht unter der GPLv2-Lizenz.
Die Bibliothek bietet hochleistungsfähige Implementierungen moderner Kryptographiealgorithmen, einschließlich ChaCha20, Curve25519, NTRU, RSA, Blake2b, TLS 1.0-1.3 und DTLS 1.2, die laut den Entwicklern 20-mal kompakter sind als die Implementierungen von OpenSSL. Sie bietet sowohl eine vereinfachte API als auch eine Schicht zur Kompatibilität mit der OpenSSL API. Unterstützung für OCSP (Online Certificate Status Protocol) und CRL (Certificate Revocation List) zur Überprüfung von Zertifikatsrückrufen ist ebenfalls vorhanden.
Die Hauptneuheiten von wolfSSL 5.0.0:
- Unterstützung für die Plattformen IoT-Safe (mit Unterstützung für TLS), SE050 (mit Unterstützung für RNG, SHA, AES, ECC und ED25519) und Renesas TSIP 1.13 (für RX72N-Mikrocontroller) hinzugefügt.
- Unterstützung für Post-Quantum-Kryptographie-Algorithmen, die gegen Angriffe mit Quantencomputern resistent sind, hinzugefügt: NIST Round 3 KEM-Gruppen für TLS 1.3 und hybride NIST ECC-Gruppen auf Basis des OQS-Projekts (Open Quantum Safe, liboqs). Gruppen, die resistent gegen Angriffe mit Quantencomputern sind, wurden auch in die Schicht zur Gewährleistung der Kompatibilität aufgenommen. Die Unterstützung für die Algorithmen NTRU und QSH wurde eingestellt.
- Im Linux-Kernel-Modul wurde Unterstützung für kryptografische Algorithmen implementiert, die den Sicherheitsstandard FIPS 140-3 entsprechen. Ein separates Produkt mit der Implementierung von FIPS 140-3 wird derzeit getestet, begutachtet und überprüft.
- Das Modul für den Linux-Kernel bietet Varianten der Algorithmen RSA, ECC, DH, DSA, AES/AES-GCM, die durch x86 CPU-Vektorbefehle beschleunigt werden. Auch Interrupt-Handler wurden mit Vektorbefehlen beschleunigt. Es wurde Unterstützung für ein System zur Überprüfung von Modulen mittels digitaler Unterschriften hinzugefügt. Die Möglichkeit, die eingebettete Kryptobibliothek wolfCrypt im „--enable-linuxkm-pie“-Modus (positionsunabhängig) zu kompilieren, wurde gewährleistet. Das Modul unterstützt die Linux-Kernel 3.16, 4.4, 4.9, 5.4 und 5.10.
- In die Schicht zur Gewährleistung der Kompatibilität mit anderen Bibliotheken und Anwendungen wurde die Unterstützung für libssh2, pyOpenSSL, libimobiledevice, rsyslog, OpenSSH 8.5p1 und Python 3.8.5 hinzugefügt.
- Eine große Anzahl neuer APIs wurde hinzugefügt, einschließlich EVP_blake2, wolfSSL_set_client_CA_list, wolfSSL_EVP_sha512_256, wc_Sha512*, EVP_shake256, SSL_CIPHER_*, SSL_SESSION_* usw.
- Zwei Schwachstellen, die als unbedenklich gelten, wurden behoben: ein Hängenbleiben beim Erstellen von DSA digitalen Signaturen mit bestimmten Parametern und eine fehlerhafte Überprüfung von Zertifikaten mit mehreren alternativen Objektnamen, bei Verwendung von namensbezogenen Einschränkungen.
Quelle: opennet.ru
