Articulo de referencia

Mbed TLS

Mbed TLS (anteriormente PolarSSL ) es una implementación de los protocolos TLS y SSL , junto con los algoritmos criptográficos y el código de soporte necesarios. Se distribuye b...

Mbed TLS (anteriormente PolarSSL ) es una implementación de los protocolos TLS y SSL , junto con los algoritmos criptográficos y el código de soporte necesarios. Se distribuye bajo la licencia Apache versión 2.0. En su sitio web se indica que Mbed TLS busca ser "fácil de entender, usar, integrar y ampliar".

Historia

La biblioteca SSL PolarSSL es la continuación oficial de la biblioteca SSL XySSL . XySSL fue creada por el hacker 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 dejó de dar soporte a XySSL y permitió que Paul Bakker creara la bifurcación oficial, denominada PolarSSL. [ 2 ] En noviembre de 2014, PolarSSL fue adquirida por ARM Holdings . [ 3 ]

En 2011, el gobierno neerlandé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 comunicaciones gubernamentales hasta el nivel Restringido. [ 4 ]

A partir del lanzamiento de la versión 1.3.10, PolarSSL pasó a llamarse Mbed TLS para reflejar mejor su integración en el ecosistema Mbed . [ 5 ] A partir de la versión 2.1.0, la biblioteca estuvo disponible bajo las licencias GPL v2 y Apache License v2.0. [ 6 ]

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

Biblioteca

La biblioteca principal de SSL está escrita en lenguaje de programación C e implementa el módulo SSL, las funciones criptográficas básicas y proporciona diversas funciones de utilidad. A diferencia de OpenSSL y otras implementaciones de TLS, Mbed TLS, al igual que wolfSSL , está diseñado para funcionar en dispositivos integrados pequeños, con una pila TLS completa mínima que requiere menos de 60 KB de espacio de programa y menos de 64  KB de RAM. Además, es altamente modular: cada componente, como una función criptográfica, puede utilizarse independientemente del resto del framework. También hay versiones disponibles para Microsoft Windows y Linux . Dado que Mbed TLS está escrito en 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 el encadenamiento de hilos en el núcleo "para brindar una mejor integración con los sistemas operativos embebidos existentes". [ 8 ]

Prioridades de diseño

La biblioteca Mbed TLS se centra en la legibilidad del código, la documentación, las pruebas de regresión automatizadas, un diseño débilmente acoplado y un código portable. [ 9 ]

Documentación de desarrollo

La siguiente documentación está disponible para desarrolladores:

  • Diseño de alto nivel: [ 10 ] una descripción de alto nivel de los diferentes módulos dentro de la biblioteca, con diagramas UML, casos de uso e interacciones en escenarios comunes.
  • Documentación de la API: [ 11 ] Documentación generada por Doxygen a partir de los archivos de cabecera de la biblioteca.
  • Documentación del código fuente: [ 12 ] El código fuente de la biblioteca está documentado para aclarar estructuras, decisiones y construcciones de código.

Pruebas automatizadas

Las pruebas automatizadas de Mbed TLS incluyen:

  • El código fuente incluye un marco de pruebas que contiene más de 5000 pruebas automatizadas (basado en el número de pruebas de la versión 1.3.2 de la biblioteca) para comprobar si hay regresiones y compatibilidad en diferentes plataformas.
  • Un script de compatibilidad (compat.sh [ 13 ] ) que prueba la compatibilidad de la comunicación SSL con OpenSSL y GnuTLS .
  • Un sistema de integración continua basado en Travis CI y Jenkins . [ 14 ]

Usar

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

Plataformas

Mbed TLS está disponible actualmente para la mayoría de los sistemas operativos, incluidos Linux , Microsoft Windows , OS X , OpenWrt , Android , iOS , RISC OS [ 15 ] y FreeRTOS . Los conjuntos de chips 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
CMAC , HMAC
Cifrados
AES , ARIA , Blowfish , Camellia , ChaCha , DES , RC4 , Triple DES , XTEA
Modos de cifrado
BCE , CBC , CFB , CTR , OFB , XTS
Modos de cifrado autenticado
CCM , GCM , NIST Key Wrap ,
ChaCha20-Poly1305
Derivación de claves
HKDF
Estiramientos clave
PBKDF2 , PKCS #5 PBE2, derivación de clave PKCS #12
Criptografía de clave pública
RSA , intercambio de claves Diffie-Hellman ,
Criptografía de curva elíptica (ECC) , Diffie-Hellman de curva elíptica (ECDH) , DSA de curva elíptica (ECDSA) , J-PAKE de curva elíptica

Véase también

Referencias

  1. "Versión 4.1.0" . 31 de marzo de 2026. Consultado el 7 de abril de 2026 .
  2. "Sobre nosotros" . PolarSSL. Archivado del original el 2 de julio de 2014. Consultado el 8 de mayo de 2014 .
  3. "PolarSSL ahora forma parte de ARM" . 24/11/2014. Archivado del original el 24/11/2014 . Consultado el 05/12/2014 .
  4. Archivado el 29 de enero de 2013 en Wayback Machine .
  5. "mbed TLS 1.3.10 lanzado" . 8 de febrero de 2015. Archivado del original el 9 de febrero de 2015. Consultado el 9 de febrero de 2015 .
  6. "Descargar" . Mbed TLS . Arm. Archivado del original el 24-03-2019 . Recuperado el 05-04-2021 .
  7. "Hafnium, MbedTLS y PSA Crypto se unen al Trusted Firmware Project" . TrustedFirmware . TrustedFirmware. Archivado del original el 12 de agosto de 2020. Consultado el 5 de abril de 2021 .
  8. "Nuevas características en PolarSSL 1.3.0 – Actualizaciones técnicas" . Polarssl.org. Archivado del original el 8 de mayo de 2014. Consultado el 8 de mayo de 2014 .
  9. "Características de PolarSSL: biblioteca SSL fácil de usar y bien documentada" . Polarssl.org. Archivado del original el 2 de julio de 2014. Consultado el 8 de mayo de 2014 .
  10. "Diseño de alto nivel de PolarSSL" . Polarssl.org. Archivado del original el 2 de julio de 2014. Consultado el 8 de mayo de 2014 .
  11. "Documentación del código fuente v1.3.6 – Documentación de la API" . PolarSSL. Archivado del original el 25/06/2014 . Consultado el 08/05/2014 .
  12. "polarssl/polarssl — GitHub" . Github.com . Consultado el 8 de mayo de 2014 .
  13. archivo ejecutable (26-04-2020). "mbedtls/compat.sh en development · ARMmbed/mbedtls · GitHub" . Github.com . Consultado el 05-04-2021 .
  14. "Integración continua Mbed TLS" . Firmware de confianza . Firmware de confianza . Consultado el 5 de abril de 2021 .
  15. "Conectando con el siglo XXI" . RISC OS Open . Steve Revill . Consultado el 19 de abril de 2022 .
  • Sitio web oficial
Obtenido de " https://en.wikipedia.org/w/index.php?title=Mbed_TLS&oldid=1351668315 "