wolfSSL

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
WolfSSL
software
Tip Securitate IT
Dezvoltator Todd Ouska
Data primei versiuni 19 februarie 2006
Ultima versiune 4.7.0 (15 februarie 2021)
Sistem de operare Multiplatform
Limba C.
Licență GNU General Public License și licența de proprietate
( licență gratuită )
Site-ul web www.wolfssl.com/wolfSSL/Home.html și www.wolfssl.com/products/wolfssl/

wolfSSL (cunoscut anterior ca CyaSSL sau un alt SSL) este o bibliotecă slabă, transportabil integrat în sistemul SSL / TLS vizează în principal utilizatorilor , cum ar fi dezvoltatorii de sisteme integrate.

Este o sursă deschisă de implementare a sistemului criptografic TLS (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3, 1.0 și 1.2 DTLS) scrise în limbajul C . Acesta include biblioteci client , cum ar fi SSL / TLS și servere cu implementare SSL / TLS precum și suport pentru mai multe interfețe de programare a aplicațiilor ( API - uri ) , inclusiv cele definite prin SSL și TLS. wolfSSL include , de asemenea , o OpenSSL interfață de compatibilitate cu funcțiile cele mai frecvent utilizate. [1] [2]

yaSSL, predecesorul lui wolfSSL, este o C ++ bibliotecă limbaj pentru sisteme integrate de operare în timp real cu resurse limitate.

Platforme

wolfSSL este disponibil pentru Win32 / 64, Linux , MacOS , Oracle Solaris , ThreadX, VxWorks, FreeBSD , NetBSD , OpenBSD , embedded Linux , WinCE, Haiku, OpenWRT , iPhone , Android , Nintendo Wii și GameCube prin DevKitPro, QNX, MontaVista suport Tron , NonStop, OpenCL , MICRIUM lui MicroC / OS-II, FreeRTOS , SafeRTOS, Freescale MQX, Nucleus, TinyOS, TI-RTOS, HP-UX, uTasker și embOS variante. [3]

Istorie

Originea yaSSL sau încă un alt date SSL înapoi la 2004. OpenSSL a fost deja disponibile la momentul respectiv sub licența dublă OpenSSL și SSLeay. [4] yaSSL a fost , de asemenea , dezvoltat sub licență dublă, atât sub licență comercială și sub GNU General Public License. [5] yaSSL a propus o interfață de programare a aplicațiilor mai moderne ( API ), cu un dezvoltator stil comercial și complet cu o interfață de compatibilitate OpenSSL. [1] Prima aplicație majoră pentru utilizarea wolfSSL / CyaSSL / yaSSL a fost MySQL : [6] , datorită includerii în MySql, yaSSL atins un volum extrem de mare de distribuție și de vânzări atingând cifre în milioane.

Protocoale

wolfSSL, implementează biblioteca ultraușoare următoarele protocoale: [7]

  • SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3
  • DTLS 1.0, 1.2 DTLS

Note privind protocolul

  • SSL 2.0 - SSL 2.0 a fost descurajată și interzisă în 2011 de către RFC 6176. wolfSSL nu acceptă
  • SSL 3.0 - SSL 3.0 a fost descurajată și interzisă în 2016 de către RFC 7568. Ca răspuns la Pudel (padding Oracle declasate Legacy criptare) atacuri, SSL 3.0 a fost dezactivată în mod implicit , deoarece wolfSSL 3.6.6 poate fi activat cu o opțiune de compilare-timp. [8]

Algoritmi

wolfSSL utilizează următoarele biblioteci criptografice:

wolfCrypt

În mod implicit, wolfSSL utilizează serviciile criptografice furnizate de wolfCrypt. [9] wolfCrypt produce RSA, ECC, DSS, Diffie - Hellman, EDH, NTRU, DES, Triple DES, AES (CBC, CTR, CCM, GCM), Camellia, IDEA, ARC4, HC-128, ChaCha20, MD2, MD4 , MD5, SHA-1, SHA-2, SHA-3, BLAKE2, RIPEMD-160, Poly1305, random Number Generation, Large Integer Large Support Integer și 16/64 Codare / Decodare Base. De asemenea, este inclusă un algoritm de criptare experimental numit iepure și software domeniu public dezvoltat de proiectul european eSTREAM. Rabbit este potențial util pentru acele medii criptate cu performanțe ridicate și medii de cerere mare.

wolfCrypt include, de asemenea, suport pentru cele mai noi algoritmi Curve25519 și Ed25519.

wolfCrypt , de asemenea , acționează ca un „back-end“ cerere criptografice pentru mai multe pachete software și biblioteci populare, inclusiv MIT Kerberos ( în cazul în care acesta poate fi activat folosind opțiunea „construi“). [10]

NTRU

CyaSSL + include cheia de criptare publică NTRU. [11] Adăugarea NTRU în CyaSSL + a fost rezultatul parteneriatului dintre yaSSL și securitate Innovation. [11] NTRU funcționează bine în sistemele mobile și încorporate din cauza dimensiunii reduse de biți necesar pentru a furniza aceeași securitate ca și alte sisteme de chei publice. În plus, nu este cunoscut a fi vulnerabile la atacuri de tip Quantum. Există numeroase suite de cifrare (set de algoritmi de criptare) care utilizarea NTRU și sunt disponibile cu CyaSSL +, inclusiv AES-256, RC4 și HC-128.

SGX

wolfSSL sprijină utilizarea Intel SGX ( Software Guard Extensions ). [12] Intel SGX permite doar o suprafață de atac mică și a fost demonstrat de a oferi un nivel mai ridicat de securitate executarea de cod fără un impact semnificativ de performanță.

Platforme de accelerare Hardware

Intel AES-NI (Xeon si Core familia de procesoare)

AES -GCM 128, 192, 256 biți
AES -CCM 128, 192, 256 biți
AES - CBC 128, 192, 256 biți
AES - BCE 128, 192, 256 biți
AES- CTR 128, 192, 256 biți

AVX / AVX2 (Intel și AMD x86)

SHA-256
SHA-384
SHA-512

RDRAND (Intel 64, IA-32 arhitecturi)

SHA-256
SHA-512

RDSEED (Intel Broadwell, AMD Zen)

SHA-256
SHA-512

Freescale Coldfire SEC (NXP MCF547X și MCF548X)

DES - CBC 64 de biți
3DES- CBC 192 biți
AES- CBC 128, 192, 256 biți

Freescale Kinetis MMCAU K50, K60, K70 și K80 (ARM Cortex-M4 core)

MD5 128 biți Digest
SHA1 160 biți Digest
SHA256
DES-CBC 64 de biți
3DES-CBC 192 biți
AES- CBC 128, 192, 256 biți
AES-CCM 128, 192, 256 biți
AES-GCM 128, 192, 256 biți
AES-BCE 128, 192, 256 biți

STMicroelectronics STM32 F1, F2, F4, L1, seria W (ARM Cortex - M3 / M4)

RNG
DES - CBC 64 de biți
DES-BCE 64 biți Criptați
3DES -CBC 192 biți
MD5 128 biți
SHA1 160 biți
AES - CBC 128, 192, 256 biți
AES - CTR 128, 192, 256 biți

CubeMX și Std Per Lib

Cavium Nitrox (III / V procesoare PX)

RNG
AES - CBC 128, 192, 256 biți
3DES-CBC 192 biți
RC4 2048 biți maximă
HMAC MD5, SHA1, SHA256, SHA3
RSA 512 - 4096 biți
ETC NIST Prime 192, 224, 256, 384 și 521

Microchip PIC32 MX / MZ (integrat de conectivitate)

MD5 128 biți Digest
SHA1 160 biți Digest
SHA256
HMAC MD5, SHA1, SHA256
DES - CBC 64 de biți
3DES- CBC 192 biți
AES - CBC 128, 192, 256 biți
AES -CTR 128, 192, 256 biți
AES -GCM 128, 192, 256 biți

Texas Instruments TM4C1294 (ARM Cortex-M4F)

DES - CBC 64 de biți
3DES- CBC 192 biți
AES -CCM 128, 192, 256 biți
AES -GCM 128, 192, 256 biți
AES -ECB 128, 192, 256 biți
AES -CTR 128, 192, 256 biți
AES- CBC 128, 192, 256 biți

NRF51 Nordic (Seria de familie SoC, pe 32 de biți ARM Cortex M0 core)

AES-BCE 128 biți
RNG

Microchip / Atmel ATECC508A (compatibil cu MPU sau MCU)

ETC 256 bit (NIST-P256)

ARMv8

AES -CBC 128, 192, 256 biți
AES -CTR 128, 192, 256 biți
AES -GCM 128, 192, 256 biți
SHA256

Intel QuickAssist Tehnologie

RSA 512 - 4096 biți
SHA1 160 biți Digest
SHA-2 224, 256, 384 și 512 biți
AES -CBC 128, 192, 256 biți
AES -GCM 128, 192, 256 biți
ETC Orice curba sau bit de putere la nivel
HMAC SHA1, SHA-2
MD5

Freescale NXP LTC

Curbe 25519 256 biți
Ed25519 256 biți
AES -CCM 128, 192, 256 biți
AES -ECB 128, 192, 256 biți
AES -CBC 128, 192, 256 biți
AES -CTR 128, 192, 256 biți
AES -GCM 128, 192, 256 biți
SHA1 160 biți Digest
SHA256
ETC 128, 256 biți
ETC-DHE 128, 256 biți
RSA 512 - 4096 biți

Licențe

wolfSSL este distribuit sub o licență de OpenSource recunoscut de GNU General Public License sistem GPLv2 . [13]

Notă

  1. ^ A b (RO) Embedded comunicații de produse , pe wolfSSL.
  2. ^ (EN) Ce trebuie să știți despre protocolul TLS 1.3 și SSL wolfSSL lui / TLS Libraries pe www.allaboutcircuits.com. Adus la 28 decembrie 2018 .
  3. ^ (EN) wolfSSL Embedded SSL / TLS Library , pe wolfSSL produse. Adus la 31 ianuarie 2019 .
  4. ^ (EN) OpenSSL: Sursa de licență , pe openssl.org.
  5. ^ (EN) de licență , pe wolfSSL.
  6. ^ (EN) Clădire cu suport MySQL pentru conexiuni sigure , pe MySQL.com. Adus de 19 decembrie 2019 (arhivate original pe 06 iulie 2017).
  7. ^ (RO) Documente - CyaSSL Manual - Capitolul 4 (Caracteristici) , pe wolfSSL.
  8. ^ (EN) wolfSSL 3.6.6 este acum disponibil pe wolfSSL.
  9. ^ (RO) wolfSSL Manual - Capitolul 10 (wolfCrypt Utilizare referință) , pe wolfSSL - Documente.
  10. ^ (EN) Kerberos: Protocolul Rețeaua de autentificare pe MIT.edu.
  11. ^ A b (RO) NTRU CryptoLabs , pe securityinnovation.com (arhivate de original pe 02 februarie 2013).
  12. ^ (EN) wolfSSL cu Intel ® SGX , pe wolfSSL.
  13. ^ (EN) Licența GNU , pe gnu.org.

Elemente conexe

linkuri externe