نسخه جدیدی از کتابخانه رمزنگاری فشرده 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 متوقف شده است.
- ماژول هسته لینوکس از الگوریتم های رمزنگاری که مطابق با استاندارد امنیتی FIPS 140-3 هستند پشتیبانی می کند. محصول جداگانه ای با اجرای FIPS 140-3 ارائه شده است که کد آن هنوز در مرحله تست، بررسی و تایید است.
- انواع الگوریتمهای RSA، ECC، DH، DSA، AES/AES-GCM که با استفاده از دستورالعملهای بردار پردازنده x86 تسریع شدهاند، به ماژول برای هسته لینوکس اضافه شدهاند. با استفاده از دستورالعمل های برداری، کنترل کننده های وقفه نیز تسریع می شوند. پشتیبانی از یک زیرسیستم برای بررسی ماژول ها با استفاده از امضای دیجیتال اضافه شده است. ساخت موتور رمزنگاری wolfCrypt تعبیه شده در حالت "-enable-linuxkm-pie" (مستقل از موقعیت) امکان پذیر است. این ماژول از هسته های لینوکس 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