نسخه جدیدی از کتابخانه رمزنگاری فشرده wolfSSL 5.0.0 در دسترس است که برای استفاده در دستگاههای تعبیهشده با محدودیت پردازنده و حافظه مانند دستگاههای اینترنت اشیا، سیستمهای خانه هوشمند، سیستمهای اطلاعات خودرو، روترها و تلفنهای همراه بهینه شده است. کد به زبان C نوشته شده و تحت مجوز GPLv2 توزیع شده است.
این کتابخانه پیادهسازیهایی با کارایی بالا از الگوریتمهای رمزنگاری مدرن، از جمله ChaCha20، Curve25519، NTRU، RSA، Blake2b، TLS 1.0-1.3 و DTLS 1.2 را ارائه میکند که به گفته توسعهدهندگان 20 برابر فشردهتر از پیادهسازیهای OpenSSL هستند. هم API ساده شده خود و هم یک لایه برای سازگاری با OpenSSL API فراهم می کند. پشتیبانی از OCSP (پروتکل وضعیت گواهی آنلاین) و CRL (فهرست ابطال گواهی) برای بررسی ابطال گواهی وجود دارد.
نوآوری های اصلی wolfSSL 5.0.0:
- پشتیبانی پلت فرم اضافه شده: IoT-Safe (با پشتیبانی TLS)، SE050 (با پشتیبانی RNG، SHA، AES، ECC و ED25519) و Renesas TSIP 1.13 (برای میکروکنترلرهای RX72N).
- پشتیبانی از الگوریتمهای رمزنگاری پس کوانتومی که در برابر انتخاب در رایانههای کوانتومی مقاوم هستند: گروههای NIST Round 3 KEM برای TLS 1.3 و گروههای ترکیبی NIST ECC بر اساس پروژه OQS (Open Quantum Safe, liboqs). گروه هایی که در برابر انتخاب در یک کامپیوتر کوانتومی مقاوم هستند نیز برای اطمینان از سازگاری به لایه اضافه شده اند. پشتیبانی از الگوریتم های NTRU و QSH متوقف شده است.
- В модуле для ядра Linux реализована поддержка криптографических алгоритмов, соответствующих стандарту безопасности FIPS 140-3. Представлен отдельный продукт с реализацией FIPS 140-3, код которого пока находится на стадии тестирования, рецензирования и проверки.
- В модуль для ядра Linux добавлены варианты алгоритмов RSA, ECC, DH, DSA, AES/AES-GCM, ускоренные при помощи векторных инструкций CPU x86. При помощи векторных инструкций также ускорены обработчики прерываний. Добавлена поддержка подсистемы для проверки модулей по цифровым подписям. Обеспечена возможность сборки встраиваемого криптодвижка wolfCrypt в режиме «—enable-linuxkm-pie» (position-independent). В модуле обеспечена поддержка ядер Linux 3.16, 4.4, 4.9, 5.4 и 5.10.
- برای اطمینان از سازگاری با سایر کتابخانه ها و برنامه ها، پشتیبانی از libssh2، pyOpenSSL، libimobiledevice، rsyslog، OpenSSH 8.5p1 و Python 3.8.5 به لایه اضافه شده است.
- بخش بزرگی از APIهای جدید از جمله EVP_blake2، wolfSSL_set_client_CA_list، wolfSSL_EVP_sha512_256، wc_Sha512*، EVP_shake256، SSL_CIPHER_*، SSL_SESSION_*، و غیره اضافه شد.
- رفع دو آسیبپذیری که خوشخیم به حساب میآیند: توقف هنگام ایجاد امضای دیجیتال DSA با پارامترهای خاص و تأیید نادرست گواهیها با نامهای جایگزین چند شی در هنگام استفاده از محدودیتهای نامگذاری.
منبع: opennet.ru
