Articulo de referencia

loboSSL

{{cite web |title=wolfSSL ChangeLog |date=10 August 2017 |url=https://www.wolfssl.com/wolfSSL/Docs-wolfssl-changelog.html}} "},"latest release version":{"wt":"{{wikidata|propert...

wolfSSL es una pequeña biblioteca SSL/TLS portátil e integrada, diseñada para desarrolladores de sistemas embebidos. Es una implementación de código abierto de TLS (SSL 3.0, TLS 1.0, 1.1, 1.2, 1.3 y DTLS 1.0, 1.2 y 1.3) escrita en lenguaje de programación C. Incluye bibliotecas cliente SSL/TLS y una implementación de servidor SSL/TLS, así como soporte para múltiples API, incluidas las definidas por SSL y TLS . wolfSSL también incluye una interfaz de compatibilidad con OpenSSL y las funciones OpenSSL más utilizadas. [ 4 ] [ 5 ]

Plataformas

wolfSSL está disponible actualmente para Microsoft Windows , Linux , macOS , Solaris , ESP32 , ESP8266 , ThreadX , VxWorks , FreeBSD , NetBSD , OpenBSD , Linux embebido , Yocto Project , OpenEmbedded , WinCE , Haiku , OpenWrt , iPhone , Android , Wii y GameCube a través del soporte de DevKitPro, QNX , MontaVista , variantes de Tron , NonStop OS , OpenCL , MicroC/OS-II de 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 y PikeOS , [ 6 ] Deos, Azure Sphere OS, Zephyr, AIX y Cesium.

Historia

El origen de wolfSSL se remonta a 2004. OpenSSL estaba disponible en ese momento y tenía una doble licencia: la Licencia OpenSSL y la Licencia SSLeay . [ 7 ] Por otro lado, yaSSL se desarrolló y tenía una doble licencia: una licencia comercial y la GPL. [ 8 ] yaSSL ofrecía una API más moderna, soporte para desarrolladores de estilo comercial y una capa de compatibilidad con OpenSSL. [ 4 ] El primer usuario importante de wolfSSL/CyaSSL/yaSSL fue MySQL . [ 9 ] Gracias a su integración con MySQL, yaSSL ha alcanzado volúmenes de distribución extremadamente altos, de millones de descargas.

En febrero de 2019, Daniel Stenberg , el creador de cURL , fue contratado por el proyecto wolfSSL para trabajar en cURL. [ 10 ]

Protocolos

La biblioteca SSL ligera wolfSSL implementa los siguientes protocolos: [ 11 ]

Notas del protocolo:

  • SSL 2.0 – SSL 2.0 fue declarado obsoleto (prohibido) en 2011 por la RFC 6176. wolfSSL no lo admite.
  • SSL 3.0 – SSL 3.0 fue declarado obsoleto (prohibido) en 2015 por RFC 7568. En respuesta al ataque POODLE , SSL 3.0 ha sido deshabilitado por defecto desde wolfSSL 3.6.6, pero puede habilitarse con una opción de compilación. [ 12 ]

Algoritmos

wolfSSL utiliza las siguientes bibliotecas de criptografía:

wolfCrypt

Por defecto, wolfSSL utiliza los servicios criptográficos proporcionados por wolfCrypt. [ 13 ] wolfCrypt Proporciona RSA , DSA , ECC , DSS , Diffie-Hellman , EDH , ECDH-ECDSA, ECDHE-ECDSA, ECDH-RSA, ECDHE-RSA, NTRU (obsoleto y eliminado), 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 Generación de números aleatorios, soporte para enteros grandes, codificación/decodificación en base 16/64, HMAC , PBKDF2 y algoritmos criptográficos post-cuánticos: ML-KEM (certificado según FIPS 203) y ML-DSA (certificado según FIPS 204).

  • Tipos de curvas ECC: SECP, SECPR2, SECPR3, BRAINPOOL, KOBLITZ
  • Longitudes de clave ECC: 112, 128, 160, 192, 224, 239, 256, 320, 384, 512, 521

wolfCrypt también incluye soporte para los algoritmos X25519 y Ed25519 , así como para los algoritmos X448 y Ed448 .

wolfCrypt actúa como una implementación criptográfica de back-end para varios paquetes y bibliotecas de software populares, incluido MIT Kerberos [ 14 ] (donde se puede habilitar mediante una opción de compilación).

wolfCrypt está validado por FIPS y posee dos certificados FIPS 140-2 (#2425 [ 15 ] y #3389 [ 16 ] ) y dos certificados FIPS 140-3 (#4718 [ 17 ] y #5041 [ 18 ] ).

NTRU

CyaSSL+ incluye el cifrado de clave pública NTRU [ 19 ] . La incorporación de NTRU en CyaSSL+ fue resultado de la colaboración entre yaSSL y Security Innovation. [ 19 ] NTRU funciona bien en entornos móviles e integrados debido al tamaño de bits reducido necesario para proporcionar la misma seguridad que otros sistemas de clave pública. Además, no se conoce que sea vulnerable a ataques cuánticos. CyaSSL+ ofrece varios conjuntos de cifrado que utilizan NTRU, incluidos AES-256, RC4 y HC-128.

Post-cuántico

wolfSSL ofrece soporte para una variedad de algoritmos criptográficos post-cuánticos, incluido el Mecanismo de Encapsulación de Clave Kyber (KEM), hibridado con curvas ECC recomendadas por NIST para mantener el cumplimiento de FIPS. Los niveles ML-KEM compatibles incluyen el Nivel 1 (ML-KEM-512), el Nivel 3 (ML-KEM-768) y el Nivel 5 (ML-KEM-1024). Para firmas digitales, wolfSSL implementa ML-DSA en los Niveles 2, 3 y 5; FALCON en los Niveles 1 y 5; y SLH-DSA, LMS/HSS y XMSS/XMSS^MT. La biblioteca también admite esquemas híbridos de intercambio de claves TLS, combinando ECDHE con ML-KEM en los niveles de seguridad correspondientes, así como certificados de doble algoritmo y autenticación de doble algoritmo TLS 1.3.

Integración de hardware

Compatibilidad con elementos seguros

wolfSSL admite los siguientes elementos seguros :

Soporte técnico

wolfSSL es compatible con las siguientes tecnologías de hardware:

  • Intel SGX ( Software Guard Extensions ) [ 20 ] : Intel SGX permite una superficie de ataque más pequeña y se ha demostrado que proporciona un mayor nivel de seguridad para la ejecución de código sin un impacto significativo en el rendimiento.
  • NXP CAAM (Módulo de Aceleración y Garantía Criptográfica) en i.MX6 (QNX), i.MX8 (QNX/Linux), RT1170 FreeRTOS
  • ARM TrustZone CryptoCell 310
  • Generador de números aleatorios MAXQ1065/1080
  • Unidad de protección de confianza (TPU) MAX32665 y MAX32666

Licencias

wolfSSL tiene doble licencia: bajo la licencia GPL-3.0 o posterior y bajo una licencia comercial.

Véase también

Referencias

  1. "wolfSSL ChangeLog" . 10 de agosto de 2017.
  2. "Versión 5.9.2" . 25 de junio de 2026. Consultado el 26 de junio de 2026 .
  3. "LICENCIAS" . GitHub .
  4. 1 2 wolfSSL – Productos de comunicaciones integradas
  5. "Lo que necesitas saber sobre el protocolo TLS 1.3 y las bibliotecas SSL/TLS de wolfSSL" . www.allaboutcircuits.com . Consultado el 28 de diciembre de 2018 .
  6. "Biblioteca SSL/TLS integrada de wolfSSL | Productos wolfSSL" . 4 de agosto de 2017. Consultado el 31 de enero de 2019 .
  7. OpenSSL: Código fuente, Licencia
  8. wolfSSL – Licencia
  9. "MySQL, Construyendo MySQL con soporte para conexiones seguras" . Archivado del original el 6 de julio de 2017. Consultado el 12 de junio de 2016 .
  10. Daniel Stenberg, fundador y arquitecto jefe de cURL, se une a wolfSSL.
  11. wolfSSL – Documentación | Manual de CyaSSL – Capítulo 4 (Características)
  12. "wolfSSL 3.6.6 ya está disponible" .
  13. wolfSSL – Documentación | Manual de wolfSSL – Capítulo 10 (Referencia de uso de wolfCrypt)
  14. Kerberos: El protocolo de autenticación de red
  15. {{[title=Certificado n.º 2425|url= https://csrc.nist.gov/projects/cryptographic-module-validation-program/Certificate/2425 }}
  16. {{[title=Certificado n.º 3389|url= https://csrc.nist.gov/Projects/cryptographic-module-validation-program/Certificate/3389 }}
  17. {{[title=Certificado n.º 4718|url= https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4718 }}
  18. {{[title=Certificado n.º 5041|url= https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/5041 }}
  19. 1 2 NTRU CryptoLabs Enlace obsoleto archivado el 2 de febrero de 2013 en archive.today
  20. wolfSSL – wolfSSL con Intel® SGX
  • Página principal de wolfSSL/CyaSSL
  • wolfSSL ahora con ChaCha20 y Poly1305