wolfSSL
wolfSSL مكتبة صغيرة الحجم، محمولة، ومدمجة، تدعم بروتوكولات SSL/TLS، وموجهة لمطوري الأنظمة المدمجة. وهي تطبيق مفتوح المصدر لبروتوكول TLS (SSL 3.0، TLS 1.0، 1.1، 1.2، 1.3، و DTLS 1.0، 1.2، و1.3) مكتوب بلغة البرمجة C. تتضمن المكتبة مكتبات عميل SSL/TLS، وتطبيق خادم SSL/TLS، بالإضافة إلى دعم واجهات برمجة تطبيقات متعددة، بما في ذلك تلك المُعرّفة بواسطة SSL و TLS . كما تتضمن wolfSSL واجهة توافق مع OpenSSL تضم أكثر وظائف OpenSSL استخدامًا. [ 4 ] [ 5 ]
المنصات
يتوفر wolfSSL حاليًا لأنظمة التشغيل التالية: Microsoft Windows ، و Linux ، وmacOS ، وSolaris ، و ESP32 ، و ESP8266 ، وThreadX ، وVxWorks ، وFreeBSD ، وNetBSD ، وOpenBSD ، وأنظمة Linux المدمجة ، وYocto Project ، و OpenEmbedded ، وWinCE ، وHaiku ، وOpenWrt ، و iPhone ، و Android ، و Wii ، و GameCube من خلال دعم DevKitPro، وQNX ، وMontaVista ، وإصدارات Tron ، و NonStop OS ، وOpenCL ، وMicroC/OS-II من Micrium ، و FreeRTOS ، وSafeRTOS ، و Freescale MQX ، و Nucleus ، و TinyOS ، و TI-RTOS ، و HP-UX ، وuTasker، وuT-kernel، وembOS، و INtime ، وmbed ، وRIOT ، وCMSIS-RTOS، وFROSTED، و Green Hills INTEGRITY ، وKeil RTX، TOPPERS، PetaLinux، Apache Mynewt ، و PikeOS ، [ 6 ] Deos، Azure Sphere OS، Zephyr، AIX، و Cesium.
تاريخ
يعود تاريخ wolfSSL إلى عام 2004. كان OpenSSL متاحًا آنذاك، وكان مرخصًا بترخيص مزدوج بموجب ترخيص OpenSSL وترخيص SSLeay . [ 7 ] في المقابل، تم تطوير yaSSL وترخيصه بترخيص مزدوج بموجب كل من الترخيص التجاري وترخيص GPL. [ 8 ] قدم yaSSL واجهة برمجة تطبيقات (API) أكثر حداثة، ودعمًا للمطورين على غرار البرامج التجارية، وكان مزودًا بطبقة توافق مع OpenSSL. [ 4 ] كان MySQL أول مستخدم رئيسي لـ wolfSSL/CyaSSL/yaSSL . [ 9 ] من خلال دمجه مع MySQL، حقق yaSSL انتشارًا واسعًا للغاية وصل إلى الملايين.
في فبراير 2019، تم تعيين دانيال ستينبيرج ، مبتكر cURL ، من قبل مشروع wolfSSL للعمل على cURL. [ 10 ]
البروتوكولات
تقوم مكتبة wolfSSL الخفيفة لبروتوكول SSL بتنفيذ البروتوكولات التالية: [ 11 ]
- SSL 3.0، TLS 1.0، TLS 1.1، TLS 1.2، TLS 1.3
- DTLS 1.0، DTLS 1.2، DTLS 1.3
- الإضافات: مؤشر اسم الخادم (SNI)، الحد الأقصى لطول الجزء، HMAC المختصر ، تفاوض بروتوكول طبقة التطبيق (ALPN)، السر الرئيسي الموسع، المنحنيات الإهليلجية المدعومة
- مجموعات التشفير: كلمة مرور TLS الآمنة عن بُعد ، مفتاح TLS المشترك مسبقًا
- التشفير ما بعد الكمومي : تمت إضافة ML-DSA إلى sigAlgs، وتمت إضافة ML-KEM إلى المجموعات المدعومة، وتم إيقاف QSH وإزالته، ودعم شهادة الخوارزمية المزدوجة، ودعم مصادقة الخوارزمية المزدوجة لبروتوكول TLS 1.3
- مخططات إنشاء مفاتيح TLS الهجينة:
- ECDHE P-256 مع Kyber المستوى 1
- ECDHE P-384 مع Kyber المستوى 3
- ECDHE P-521 مع Kyber المستوى 5
- معايير التشفير بالمفتاح العام :
- PKCS #1 - تشفير RSA
- اتفاقية ديفي-هيلمان الرئيسية رقم 3 (PKCS #3)
- PKCS #5 - التشفير القائم على كلمة المرور
- PKCS #7 - صيغة الرسائل المشفرة (CMS)
- PKCS #8 - صيغة معلومات المفتاح الخاص
- PKCS #9 - أنواع السمات المحددة
- PKCS #10 - طلب توقيع الشهادة (CSR)
- PKCS #11 - واجهة الرمز المميز المشفر
- PKCS #12 - معيار بناء جملة تبادل الشهادات/المعلومات الشخصية
- دعم QUIC
- OCSP، تدبيس OCSP، CRL
- HPKE (التشفير الهجين بالمفتاح العام)
- ECH (رسالة عميل التشفير)
- شهادات x.509v3
- المصادقة المتبادلة
ملاحظات البروتوكول:
الخوارزميات
يستخدم wolfSSL مكتبات التشفير التالية:
wolfCrypt
يستخدم wolfSSL بشكل افتراضي خدمات التشفير التي يوفرها wolfCrypt. [ 13 ] يوفر برنامج wolfCrypt خوارزميات التشفير التالية: RSA ، DSA ، ECC ، DSS ، Diffie-Hellman ، EDH ، ECDH-ECDSA، ECDHE-ECDSA، ECDH-RSA، ECDHE-RSA، NTRU (مهملة وتم إزالتها)، DES ، Triple DES ، AES (CBC، CTR، CCM، GCM، OFB، XTS، GMAC، CMAC)، Camellia ، IDEA ، ARC4 ، HC-128 ، ChaCha20 ، MD2 ، MD4 ، MD5 ، SHA-1 ، SHA-2 ، SHA-3 ، BLAKE2 ، RIPEMD-160 ، Poly1305 ، SM2، SM3 ، SM4 ، توليد الأرقام العشوائية، دعم الأعداد الصحيحة الكبيرة، التشفير/فك التشفير الأساسي 16/64، HMAC . PBKDF2 ، وخوارزميات التشفير ما بعد الكمومية: ML-KEM (معتمد بموجب FIPS 203) و ML-DSA (معتمد بموجب FIPS 204).
- أنواع منحنيات ECC: SECP، SECPR2، SECPR3، BRAINPOOL، KOBLITZ
- أطوال مفاتيح تصحيح الأخطاء (ECC): 112، 128، 160، 192، 224، 239، 256، 320، 384، 512، 521
يتضمن wolfCrypt أيضًا دعمًا لخوارزميات X25519 و Ed25519 ، بالإضافة إلى خوارزميات X448 و Ed448 .
يعمل wolfCrypt كتطبيق تشفير خلفي للعديد من حزم البرامج والمكتبات الشائعة، بما في ذلك MIT Kerberos [ 14 ] (حيث يمكن تمكينه باستخدام خيار البناء).
تم التحقق من صحة wolfCrypt وفقًا لمعيار FIPS ويحمل شهادتين FIPS 140-2 (#2425 [ 15 ] و#3389 [ 16 ] ) وشهادتين FIPS 140-3 (#4718 [ 17 ] و#5041 [ 18 ] ).
NTRU
يتضمن CyaSSL+ تشفير المفتاح العام NTRU [ 19 ] . وقد جاءت إضافة NTRU إلى CyaSSL+ نتيجةً للشراكة بين yaSSL وSecurity Innovation. [ 19 ] يعمل NTRU بكفاءة عالية في بيئات الأجهزة المحمولة والمدمجة نظرًا لصغر حجم البتات اللازمة لتوفير نفس مستوى الأمان الذي توفره أنظمة المفتاح العام الأخرى. إضافةً إلى ذلك، فهو غير معروف بتعرضه لهجمات الحوسبة الكمومية. تتوفر العديد من مجموعات التشفير التي تستخدم NTRU مع CyaSSL+، بما في ذلك AES-256 وRC4 وHC-128.
ما بعد الكم
توفر مكتبة wolfSSL دعمًا لمجموعة من خوارزميات التشفير ما بعد الكمومية، بما في ذلك آلية تغليف مفتاح Kyber (KEM)، المدمجة مع منحنيات ECC الموصى بها من قبل المعهد الوطني للمعايير والتكنولوجيا (NIST) للحفاظ على التوافق مع معيار FIPS. تشمل مستويات ML-KEM المدعومة المستوى 1 (ML-KEM-512)، والمستوى 3 (ML-KEM-768)، والمستوى 5 (ML-KEM-1024). بالنسبة للتوقيعات الرقمية، تُنفذ wolfSSL خوارزمية ML-DSA في المستويات 2 و3 و5؛ وخوارزمية FALCON في المستويين 1 و5؛ وخوارزميات SLH-DSA وLMS/HSS وXMSS/XMSS^MT. كما تدعم المكتبة أيضًا مخططات تبادل مفاتيح TLS الهجينة، التي تجمع بين ECDHE وML-KEM في مستويات الأمان المناسبة، بالإضافة إلى شهادات الخوارزمية المزدوجة ومصادقة TLS 1.3 ثنائية الخوارزمية.
تكامل الأجهزة
دعم العناصر الآمنة
يدعم wolfSSL العناصر الآمنة التالية :
- شركة STMicroelectronics STSAFE
- نظام التشفير والمصادقة ATECC508A من شركة Microchip
- مايكروشيب TA100
- عنصر الأمان NXP EdgeLock SE050
الدعم التقني
يدعم wolfSSL تقنيات الأجهزة التالية:
- Intel SGX ( امتدادات حماية البرامج ) [ 20 ] - يسمح Intel SGX بسطح هجوم أصغر وقد ثبت أنه يوفر مستوى أعلى من الأمان لتنفيذ التعليمات البرمجية دون تأثير كبير على الأداء.
- وحدة تسريع التشفير وضمان الجودة (CAAM) من NXP على معالجات i.MX6 (QNX) و i.MX8 (QNX/Linux) و RT1170 FreeRTOS
- ARM TrustZone CryptoCell 310
- مولد الأرقام العشوائية MAXQ1065/1080
- MAX32665 و MAX32666 وحدة حماية الثقة (TPU)
الترخيص
wolfSSL مرخص بترخيص مزدوج: بموجب كل من ترخيص GPL-3.0 أو أحدث وترخيص تجاري.
انظر أيضاً
مراجع
- ↑ "سجل تغييرات wolfSSL" . 10 أغسطس 2017.
- ↑ "الإصدار 5.9.2" . 25 يونيو 2026. تم الاطلاع عليه بتاريخ 26 يونيو 2026 .
- ↑ "الترخيص" . GitHub .
- 1 2 wolfSSL – منتجات الاتصالات المدمجة
- ↑ "ما تحتاج معرفته عن بروتوكول TLS 1.3 ومكتبات SSL/TLS الخاصة بـ wolfSSL" . www.allaboutcircuits.com . تاريخ الاطلاع: 28 ديسمبر 2018 .
- ↑ "مكتبة wolfSSL المدمجة لبروتوكول SSL/TLS | منتجات wolfSSL" . 4 أغسطس 2017. تم الاطلاع عليه بتاريخ 31 يناير 2019 .
- ↑ OpenSSL: المصدر، الترخيص
- ↑ wolfSSL – الترخيص
- ↑ "MySQL، بناء MySQL مع دعم الاتصالات الآمنة" . مؤرشف من الأصل بتاريخ 2017-07-06 . تم الاطلاع عليه بتاريخ 2016-06-12 .
- ↑ انضم دانيال ستينبرغ، مؤسس وكبير مهندسي cURL، إلى wolfSSL
- ↑ wolfSSL – الوثائق | دليل CyaSSL – الفصل 4 (الميزات)
- ↑ "wolfSSL 3.6.6 متوفر الآن" .
- ↑ wolfSSL – الوثائق | دليل wolfSSL – الفصل 10 (مرجع استخدام wolfCrypt)
- ↑ كيربيروس: بروتوكول مصادقة الشبكة
- ↑ {{[title=الشهادة رقم 2425|url= https://csrc.nist.gov/projects/cryptographic-module-validation-program/Certificate/2425 }}
- ↑ {{[title=الشهادة رقم 3389|url= https://csrc.nist.gov/Projects/cryptographic-module-validation-program/Certificate/3389 }}
- ↑ {{[title=الشهادة رقم 4718|url= https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4718 }}
- ↑ {{[title=الشهادة رقم 5041|url= https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5041 }}
- 1 2 NTRU CryptoLabs رابط قديم مؤرشف بتاريخ 2013-02-02 على archive.today
- ↑ wolfSSL – wolfSSL مع Intel® SGX
روابط خارجية
- مكتبات لغة البرمجة C
- برامج التشفير
- تطبيق أمان طبقة النقل
