stringtranslate.com

Mbed-TLS

Mbed TLS (anteriormente PolarSSL ) es una implementación de los protocolos TLS y SSL y de los respectivos algoritmos criptográficos y códigos de soporte necesarios. Se distribuye bajo la licencia Apache versión 2.0. En el sitio web se afirma que Mbed TLS tiene como objetivo ser "fácil de entender, usar, integrar y expandir".

Historia

La biblioteca SSL PolarSSL es la continuación oficial de la biblioteca SSL XySSL . XySSL fue creada por el " hacker de sombrero blanco " francés Christophe Devine y se lanzó por primera vez el 1 de noviembre de 2006, bajo las licencias GNU GPL v2 y BSD . En 2008, Christophe Devine ya no pudo dar soporte a XySSL y permitió que Paul Bakker creara la bifurcación oficial, llamada PolarSSL. [2] En noviembre de 2014, PolarSSL fue adquirida por ARM Holdings . [3]

En 2011, el gobierno holandés aprobó una integración entre OpenVPN y PolarSSL, denominada OpenVPN-NL. Esta versión de OpenVPN ha sido aprobada para su uso en la protección de las comunicaciones gubernamentales hasta el nivel Restringido. [4]

A partir del lanzamiento de la versión 1.3.10, PolarSSL ha cambiado su nombre a Mbed TLS para mostrar mejor su adaptación dentro del ecosistema Mbed . [5] A partir de la versión 2.1.0, la biblioteca se puso a disposición bajo la licencia GPL v2 y Apache v2.0. [6]

En 2020, Mbed TLS se unió al proyecto TrustedFirmware. [7]

Biblioteca

La biblioteca SSL principal está escrita en el lenguaje de programación C e implementa el módulo SSL, las funciones criptográficas básicas y proporciona varias funciones de utilidad. A diferencia de OpenSSL y otras implementaciones de TLS, Mbed TLS es como wolfSSL en el sentido de que está diseñado para adaptarse a pequeños dispositivos integrados, con la pila TLS completa mínima que requiere menos de 60 KB de espacio de programa y menos de 64 KB de RAM. También es altamente modular: cada componente, como una función criptográfica, se puede utilizar independientemente del resto del marco. También hay versiones disponibles para Microsoft Windows y Linux . Debido a que Mbed TLS está escrito en el lenguaje de programación C , sin dependencias externas, funciona en la mayoría de los sistemas operativos y arquitecturas.

Desde la versión 1.3.0, cuenta con capas de abstracción para la asignación de memoria y subprocesamiento al núcleo "para soportar una mejor integración con los sistemas operativos integrados existentes". [8]

Prioridades de diseño

La biblioteca Mbed TLS expresa un enfoque en la legibilidad del código, la documentación, las pruebas de regresión automatizadas, un diseño acoplado de forma flexible y un código portable. [9]

Documentación de desarrollo

La siguiente documentación está disponible para los desarrolladores:

Pruebas automatizadas

Las pruebas automatizadas de Mbed TLS incluyen:

Usar

Mbed TLS se utiliza como componente SSL en grandes proyectos de código abierto:

Plataformas

Actualmente, Mbed TLS está disponible para la mayoría de los sistemas operativos, incluidos Linux , Microsoft Windows , OS X , OpenWrt , Android , iOS , RISC OS [15] y FreeRTOS . Los chipsets compatibles incluyen al menos ARM, x86, PowerPC y MIPS.

Algoritmos

Mbed TLS admite varios algoritmos criptográficos diferentes:

Funciones hash criptográficas
MD2 , MD4 , MD5 , RIPEMD160 , SHA-1 , SHA-2 , SHA-3
Modos MAC
CMA , HMAC
Cifras
AES , ARIA , Blowfish , Camellia , ChaCha , DES , RC4 , Triple DES , XTEA
Modos de cifrado
BCE , CBC , CFB , CTR , OFB , XTS
Modos de cifrado autenticados
CCM , GCM , envoltura de claves NIST ,
ChaCha20-Poli1305
Derivación de claves
Fuerza Aérea de Hong Kong
Estiramiento de claves
Derivación de claves PBKDF2 , PKCS #5 PBE2, PKCS #12
Criptografía de clave pública
RSA , intercambio de claves Diffie-Hellman ,
Criptografía de curva elíptica (ECC) , criptografía de curva elíptica Diffie–Hellman (ECDH) , criptografía de curva elíptica DSA (ECDSA) , criptografía de curva elíptica J-PAKE

Véase también

Referencias

  1. ^ "Versión 3.6.1". 30 de agosto de 2024. Consultado el 22 de septiembre de 2024 .
  2. ^ "Acerca de nosotros". PolarSSL . Consultado el 8 de mayo de 2014 .
  3. ^ "PolarSSL ahora es parte de ARM". 24 de noviembre de 2014.
  4. ^ [1] Archivado el 29 de enero de 2013 en Wayback Machine .
  5. ^ "Se lanzó mbed TLS 1.3.10". 2015-02-08 . Consultado el 2015-02-09 .
  6. ^ "Descargar". Mbed TLS . Arm. Archivado desde el original el 2019-03-24 . Consultado el 2021-04-05 .
  7. ^ "Hafnium, MbedTLS y PSA Crypto se unen al proyecto Trusted Firmware". TrustedFirmware . Archivado desde el original el 2020-08-12 . Consultado el 2021-04-05 .
  8. ^ "Nuevas funciones en PolarSSL 1.3.0 – Actualizaciones técnicas". Polarssl.org . Consultado el 8 de mayo de 2014 .
  9. ^ "Características de PolarSSL: biblioteca SSL fácil de usar y bien documentada". Polarssl.org . Consultado el 8 de mayo de 2014 .
  10. ^ "Diseño de alto nivel de PolarSSL". Polarssl.org . Consultado el 8 de mayo de 2014 .
  11. ^ "Documentación del código fuente de la versión 1.3.6: documentación de la API". PolarSSL . Consultado el 8 de mayo de 2014 .
  12. ^ "polarssl/polarssl — GitHub". Github.com . Consultado el 8 de mayo de 2014 .
  13. ^ Archivo ejecutable (26 de abril de 2020). "mbedtls/compat.sh en desarrollo · ARMmbed/mbedtls · GitHub". Github.com . Consultado el 5 de abril de 2021 .
  14. ^ "Integración continua de Mbed TLS". Firmware confiable . Firmware confiable . Consultado el 5 de abril de 2021 .
  15. ^ "Conectarse con el siglo XXI". RISC OS Open . Steve Revill . Consultado el 19 de abril de 2022 .

Enlaces externos