Rustls, una biblioteca TLS supera el rendimiento de OpenSSL

rustls-logo-web

Joseph Birr Pixton, desarrollador de la biblioteca TLS Rustls realizo una serie de pruebas sobre su desarrollo y notó que el rendimiento de este último superaba al de OpenSSL en varios niveles. Rustls es una biblioteca de código abierto, TLS, escrita en Rust y disponible bajo las licencias Apache 2.0, MIT e ISC, pero OpenSSL es una biblioteca bien conocida y el estándar de la industria en casi todas las categorías principales.

Según su documentación, Rustls es una moderna biblioteca TLS que tiene como objetivo proporcionar un buen nivel de seguridad criptográfica. No requiere ninguna configuración para lograr esta seguridad y no proporciona ninguna funcionalidad insegura o criptografía obsoleta.

Tiene muchas características, como la autenticación de cliente del servidor ECDSA o RSA y la autenticación de servidor del servidor ECDSA o RSA, al tiempo que admite la verificación del certificado del servidor.

Esto significa que no necesita proporcionar nada más que un conjunto de certificados root. La verificación del certificado no se puede desactivar en la API principal.

Por otro lado, OpenSSL es un kit de herramientas robusto, de calidad comercial y con todas las funciones para los protocolos de Seguridad de la capa de transporte (TLS) y de la Capa de sockets seguros (SSL). También es una biblioteca de criptografía versátil.

Sobre las pruebas de Rustls

En su serie de pruebas de rendimiento, Joseph Birr Pixton dice que ha considerado varios puntos para evaluar cómo el rendimiento puede variar entre las bibliotecas TLS, es decir, el rendimiento de intercambio y el rendimiento general.

El rendimiento de Handshake cubre la velocidad con la que se pueden configurar las nuevas sesiones TLS. En cuanto al rendimiento general, cubren la velocidad con la que los datos de la aplicación se pueden transferir a una sesión ya configurada.

Los resultados de las diversas pruebas mostraron que Rustls era un 10% más rápido al configurar y realizar una nueva conexión con el servidor y entre un 20 y un 40% más rápido al configurar una conexión de cliente.

Pero si las velocidades para las nuevas conexiones TLS son altas, la mayoría del tráfico TLS se basa en la reanudación de las conexiones ya establecidas.

Aquí también, Rustls superó a la biblioteca OpenSSL, tomando una conexión del lado del servidor entre un 10% y un 20%, y entre un 30% y un 70% más rápido para reanudar una conexión de cliente.

Además, Rustls se comportó mejor en términos de rendimiento general o velocidad de transferencia de datos a través de la conexión TLS.

Birr Pixton dijo que Rustls podría enviar datos un 15% más rápido que OpenSSL y recibir un 5% más rápido. Finalmente, dice, la biblioteca Rustls usó solo la mitad de la memoria requerida para ejecutar OpenSSL, lo cual es una gran ventaja. Recordó que en este lado, OpenSSL ha sido criticado muy a menudo por su gran huella de memoria y la gran cantidad de problemas de seguridad encontrados en su código.

Para resumir los resultados, podemos decir aproximadamente:

  • Rustls es un 15% más rápido para enviar datos
  • Rustls es 5% más rápido para recibir datos
  • Rustls es 20 a 40% más rápido para configurar una conexión de cliente
  • Rustls es un 10% más rápido para configurar una conexión de servidor
  • Rustls es 30 a 70% más rápido para reanudar una conexión de cliente
  • Rustls es de 10 a 20% más rápido para reanudar la conexión al servidor
  • Rustls utiliza menos de la mitad de la memoria OpenSSL

Birr Pixton explicó que debido a que Rustls está codificado en Rust, los problemas de fallas de seguridad se resuelven en gran medida con el diseño del lenguaje Rust. El lenguaje ha sido diseñado desde cero para evitar errores de seguridad relacionados con la memoria.

La forma en que los programas escritos con el lenguaje de programación Rust interactúan con la memoria es una de las interpretaciones lingüísticas más destacadas. Si las grandes empresas reconocen la utilidad del lenguaje creado por Mozilla Research, su crecimiento podría explotar en los próximos años.

También se cree que los navegadores como Firefox y Brave utilizan actualmente componentes de Rust, pero también grandes empresas como Cloudflare, Dropbox y Yelp también han adoptado para sistemas de producción.

Fuente: https://jbp.io


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

      Autopilot dijo

    Unos grandes números para Rustls. Me pregunto porqué no lo compararon con LibreSSL.
    Está por ver si el rendimiento de Rust es lo suficientemente superior para desbancar a C++, y más a C/Asm, hasta donde yo sé la complejidad de cambiar de lenguaje era superior al azúcar sintáctico que añade Rust.