WolfSSL

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. február 23-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

wolfSSL
Típusú Könyvtár
Fejlesztő Todd Ouska
Beírva C nyelv
Operációs rendszer többplatformos szoftver
Első kiadás 2006. február 19. [1] ( 2006-02-19 )
legújabb verzió
Engedély GNU általános nyilvános licenc vagy kereskedelmi terjesztési licenc
Weboldal wolfssl.com

A wolfSSL (korábbi nevén CyaSSL, vagy egy másik SSL) egy kicsi, hordozható, beépített SSL / TLS könyvtár, amely a beágyazott rendszerek fejlesztőit célozza meg . Ez a TLS (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3 és DTLS 1.0 és 1.2) nyílt forráskódú megvalósítása C nyelven . Tartalmazza az SSL/TLS klienskönyvtárakat és az SSL/TLS szerver megvalósítását, valamint számos API támogatását , beleértve bizonyos SSL-t és TLS-t. A wolfSSL egy OpenSSL - kompatibilitási felületet is tartalmaz a leggyakrabban használt OpenSSL-szolgáltatásokkal. [12] [13]

A wolfSSL elődje, a yaSSL egy C++ alapú SSL-könyvtár erőforrás-korlátozott beágyazott környezetekhez és valós idejű operációs rendszerekhez .

Platformok

A wolfSSL jelenleg elérhető Win32/64 , Linux , macOS , Solaris , Threadx , VxWorks , FreeBSD , NetBSD , OpenBSD , Embedded Linux , Yocto Project , OpenEmbedded , WinCE , Haiku , OpenWrt , iPhone , Wii Android és DevKPro támogatással, Ncuitbe rendszerekkel , QNX , MontaVista Linux , Tron rendszerváltozatok , NonStop, OpenCL , Micrium's MicroC/OS-II , 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 és Apache Mynewt.

Létrehozási előzmények

A yaSSL vagy egy másik SSL létrehozása 2004-re nyúlik vissza. Ekkor már létezett az OpenSSL , amelyet az OpenSSL License és az SSLeay licenc kettős licence alatt terjesztettek . [14] Alternatív megoldásként a yaSSL kettős kereskedelmi és GPL licenccel rendelkezik . [15] A yaSSL egy modernebb API-t kínált, támogatja a kereskedelmi szoftvereket, és kibővült egy OpenSSL kompatibilitási réteggel. [12] A MySQL lett a wolfSSL/CyaSSL/yaSSL első nagy kliense. [16] A MySQL támogatásának köszönhetően a yaSSL rendkívül nagy, több millió példányra kiterjedő terjesztési mennyiséget ért el.

Protokollok

A wolfSSL könnyű SSL könyvtár a következő protokollokat valósítja meg:

További megjegyzések a protokollokhoz:

Algoritmusok

A wolfSSL a következő kriptográfiai könyvtárakat használja:

wolfCrypt

Alapértelmezés szerint a wolfSSL a wolfCrypt könyvtár kriptográfiai szolgáltatásait használja. [19] A wolfCrypt biztosít RSA , ECC , DSS , Diffie-Hellman , EDH , NTRU, DES , Triple DES , AES (CBC, CTR, CCM, GCM), Camellia , IDEA , ARC4 , HC- 128 , ChaCha20 , MD4MD2 , MD5 , SHA-1 , SHA-2 , SHA-3 , BLAKE2 , RIPEMD-160 , Poly1305, véletlenszám generálás, nagy egész számok támogatása és Base16/64 kódolás/dekódolás. Tartalmaz továbbá egy kísérleti Rabbit titkosítást és egy adatfolyam titkosítót a köztulajdonban lévő szoftverekhez az eSTREAM projektből . A Rabbit potenciálisan hasznos lehet azok számára, akik titkosítják a streaming médiát csúcskategóriás, nagy igényű környezetekben.

A wolfCrypt támogatja a legújabb Curve25519 és Ed25519 algoritmusokat is .

A wolfCrypt háttérkriptográfiai megvalósításként működik számos népszerű szoftvercsomaghoz és könyvtárhoz, köztük az MIT Kerberoshoz [20] (ahol ez egy build opción keresztül engedélyezhető).

NTRU

A CyaSSL+ lehetővé teszi az NTRU nyilvános kulcsú titkosítását [21] . Az NTRU hozzáadása a CyaSSL+-hoz a yaSSL és a Security Innovation közötti partnerség eredménye. [21] Az NTRU jól működik mobil és beágyazott rendszerekben, mivel kevesebb bitre van szükség ahhoz, hogy ugyanolyan biztonságot nyújtsanak, mint más nyilvános kulcsú rendszerek. Azt sem erősítették meg, hogy sebezhető lenne a kvantumtámadásokkal szemben. A CyaSSL+ csomagban számos NTRU rejtjelkészlet áll rendelkezésre, köztük az AES-256, RC4 és HC-128.

SGX

A wolfSSL támogatja az Intel SGX (Software Guard Extensions) [22] használatát . Az Intel SGX csökkenti a támadási felületet, és bebizonyosodott, hogy magasabb szintű biztonságot nyújt a kódvégrehajtáshoz anélkül, hogy jelentős negatív hatással lenne a teljesítményre.

Támogatott hardveres gyorsító platformok

Ellenőrzött elemek támogatása

Jelenleg a wolfSSL a következő ellenőrzött elemeket támogatja:

Hardveres titkosítás támogatása

Az alábbi táblázatok felsorolják a wolfSSL hardveres titkosítási képességeit különböző eszközökön, különböző algoritmusokkal.

AES titkosítási módok
Eszköz AES-GCM AES-CCM AES-CBC AES-ECB AES-CTR
Intel AES-NI

(Xeon és Core processzorok családjai)

Összes Összes Összes Összes Összes
Freescale

Cryptographic Accelerator and Assurance Module (CAAM)

Összes Összes Összes Összes
Freescale Coldfire SEC

(NXP MCF547X és MCF548X)

Összes
Freescale Kinetis MMCAU

K50, K60, K70 és K80 (ARM Cortex-M4 mag)

Összes Összes Összes Összes
STMicroelectronics STM32

F1, F2, F4, L1, W sorozat (ARM Cortex – M3/M4)

Összes Összes
Cavium NITROX

(III/V PX processzorok)

Összes
Mikrochip PIC32 MX/MZ

(beágyazott kapcsolat)

Összes Összes Összes
Texas Instruments TM4C1294

(ARM Cortex-M4F)

Összes Összes Összes Összes Összes
Északi NRF51

(Sorozatos SoC család, 32 bites ARM Cortex M0 processzormag)

128 bites
ARMv8 Összes Összes Összes
Intel QuickAssist technológia Összes Összes
Freescale NXP LTC Összes Összes Összes Összes Összes

Az "összes" azt jelenti, hogy a 128, 192 és 256 bites blokkméretek támogatottak.

DES/3DES titkosítási módok
eszköz DES-CBC DES-ECB 3DES-CBC
Freescale Coldfire SEC

(NXP MCF547X és MCF548X)

64 bites 192 bites
Freescale Kinetis MMCAU

K50, K60, K70 és K80 (ARM Cortex-M4 mag)

64 bites 192 bites
STMicroelectronics STM32

F1, F2, F4, L1, W sorozat (ARM Cortex – M3/M4)

64 bites 64 bites (kódolás) 192 bites
Cavium NITROX

(III/V PX processzorok)

192 bites
Mikrochip PIC32 MX/MZ

(beágyazott kapcsolat)

64 bites 192 bites
Texas Instruments TM4C1294

(ARM Cortex-M4F)

64 bites 192 bites
Rejtjelfolyam adatfolyam
Eszköz RC4 ChaCha20
AVX1/AVX2

(Intel és AMD x86)

Támogatott
Cavium NITROX

(III/V PX processzorok)

Maximum 2048 bit
Hashing támogatás
Eszköz MD5 SHA1 SHA2 SHA-256 SHA-384 SHA-512
AVX1/AVX2

(Intel és AMD x86)

Támogatott Támogatott Támogatott
Freescale Kinetis MMCAU

K50, K60, K70 és K80 (ARM Cortex-M4 mag)

Támogatott Támogatott Támogatott
STMicroelectronics STM32

F1, F2, F4, L1, W sorozat (ARM Cortex – M3/M4)

Támogatott Támogatott
Mikrochip PIC32 MX/MZ

(beágyazott kapcsolat)

Támogatott Támogatott Támogatott
ARMv8 Támogatott
Intel QuickAssist technológia Támogatott Támogatott Támogatott
Freescale NXP LTC Támogatott Támogatott
Kulcsműveletek: generálás és csere, elliptikus kriptográfia
Eszköz RSA ECC ECC-DHE Görbe 25519 Ed25519
Cavium NITROX

(III/V PX processzorok)

512-4096 bit NIST Prime

192, 224, 256, 384, 521

Mikrochip / Atmel

ATECC508A (kompatibilis bármely MPU-val vagy MCU-val, beleértve az Atmel SMART és AVR MCU-t)

256 bites

(NIST-P256)

Intel QuickAssist technológia 512-4096 bit 128, 256 bites
Freescale NXP LTC 512-4096 bit 128, 256 bites 128, 256 bites 256 bites 256 bites
MAC algoritmusok
Eszköz HMAC-MD5 HMAC-SHA1 HMAC-SHA2 HMAC-SHA256 SHA-3 Poly1305
AVX1/AVX2

(Intel és AMD x86)

Támogatott
Cavium NITROX

(III/V PX processzorok)

Támogatott Támogatott Támogatott Támogatott
Mikrochip PIC32 MX/MZ

(beágyazott kapcsolat)

Támogatott Támogatott Támogatott
Intel QuickAssist technológia Támogatott Támogatott
Véletlenszám generálás
Eszköz RNG
STMicroelectronics STM32

F1, F2, F4, L1, W sorozat (ARM Cortex – M3/M4)

Támogatott
Cavium NITROX

(III/V PX processzorok)

Támogatott
Északi NRF51

(Sorozatos SoC család, 32 bites ARM Cortex M0 processzormag)

Támogatott

Engedélyezés

A wolfSSL egy nyílt forráskódú szoftver , amely a GNU General Public License GPLv2 licenc alatt áll. [23]

Lásd még

Hivatkozások

  1. wolfSSLChangeLog . Letöltve: 2019. január 13. Az eredetiből archiválva : 2016. március 16.
  2. https://www.wolfssl.com/wolfssl-4-1-0-now-available/
  3. Kiadás 4.1.0 – 2019.
  4. wolfSSL 5.0.0 kiadás (2021. november 01.) – 2021.
  5. wolfSSL 5.1.0 kiadás (2021. december 27.) – 2021.
  6. wolfSSL 5.1.1-es kiadás (2022. január 3.) – 2022.
  7. https://github.com/wolfSSL/wolfssl/releases/tag/v5.2.0-stable – 2022.
  8. https://github.com/wolfSSL/wolfssl/releases/tag/v5.3.0-stable – 2022.
  9. https://github.com/wolfSSL/wolfssl/releases/tag/v5.4.0-stable – 2022.
  10. https://github.com/wolfSSL/wolfssl/releases/tag/v5.5.0-stable – 2022.
  11. https://github.com/wolfSSL/wolfssl/releases/tag/v5.5.1-stable
  12. 1 2 wolfSSL – Embedded Communications Products . Letöltve: 2019. január 13. Az eredetiből archiválva : 2017. szeptember 8..
  13. Amit a TLS 1.3 protokollról és a wolfSSL SSL/TLS  könyvtárairól tudni kell . www.allaboutcircuits.com . Letöltve: 2018. december 28. Az eredetiből archiválva : 2018. december 29.
  14. OpenSSL: Forrás, Licenc . Letöltve: 2019. január 13. Az eredetiből archiválva : 2019. január 18..
  15. wolfSSL-licenc . Letöltve: 2019. január 13. Az eredetiből archiválva : 2017. július 12.
  16. MySQL, MySQL felépítése biztonságos kapcsolatok támogatásával (lefelé irányuló kapcsolat) . Letöltve: 2019. január 13. Az eredetiből archiválva : 2017. július 6.. 
  17. "A wolfSSL 3.6.6 már elérhető" Archiválva : 2017. március 14. a Wayback Machine -nél .
  18. wolfSSL - Dokumentumok | wolfSSL kézikönyv – 10. fejezet (a wolfCrypt használati útmutatója) . Letöltve: 2019. január 13. Az eredetiből archiválva : 2017. július 3.
  19. Kerberos: A hálózati hitelesítési protokoll . Letöltve: 2019. január 13. Az eredetiből archiválva : 2019. augusztus 5..
  20. 1 2 NTRU CryptoLabs archiválva : 2013. február 2.
  21. wolfSSL - wolfSSL Intel® SGX-szel . Letöltve: 2019. január 13. Az eredetiből archiválva : 2019. január 13.
  22. GNU licenc . Hozzáférés dátuma: 2019. január 13. Az eredetiből archiválva : 2010. július 24.

külső linkek