¿Qué es TLS (Transport Layer Security)?

TLS es un protocolo de seguridad que ofrece privacidad e integridad de datos para las comunicaciones en Internet. La implementación de TLS es una práctica estándar en el diseño de aplicaciones web seguras.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir Transport Layer Security (TLS)
  • Explicar cómo funciona TLS
  • Diferenciar entre TLS y SSL
  • Comprender cómo TLS afecta al rendimiento
  • Resumir cómo se implementa TLS

Contenido relacionado


¿Quieres saber más?

Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar enlace del artículo

¿Qué es Transport Layer Security (TLS)?

Transport Layer Security, o TLS, es un protocolo de seguridad ampliamente adoptado, diseñado para facilitar la privacidad y la seguridad de los datos en las comunicaciones por Internet. Un caso de uso primario de TLS es la encriptación de las comunicaciones entre aplicaciones web y servidores, como los navegadores que cargan un sitio web. TLS también puede usarse para encriptar otras comunicaciones como el correo electrónico, los mensajes y la voz sobre IP (VoIP). En este artículo nos centraremos en el papel de TLS en la seguridad de las aplicaciones web.

TLS fue propuesto por el Grupo de trabajo de ingeniería de Internet (IETF, por sus siglas en inglés), una organización de estandarización internacional. La primera versión del protocolo se publicó en 1999. La versión más reciente es TLS 1.3, que se publicó en 2018.

Documento técnico
Optimiza la eficiencia de los certificados TLS

¿Cuál es la diferencia entre TLS y SSL?

TLS evolucionó a partir de un protocolo de encriptación anterior llamado Secure Sockets Layer (SSL), que fue desarrollado por Netscape. La versión 1.0 de TLS comenzó en realidad a desarrollarse como la versión 3.1 de SSL, pero el nombre del protocolo se cambió antes de su publicación para indicar que ya no estaba asociado con Netscape. Debido a su historia, a veces los términos TLS y SSL se usan indistintamente.

SSL seguro
Se incluye un SSL gratis en todos los planes de Cloudflare

¿En qué se diferencian TLS y HTTPS?

HTTPS es una implementación de la encriptación TLS en el protocolo HTTP, usado por todos los sitios web así como otros servicios web. Todos los sitios web que usan HTTPS emplean por tanto la encriptación TLS.

¿Por qué las empresas y las aplicaciones web usan el protocolo TLS?

La encriptación TLS puede ayudar a proteger las aplicaciones web de las fugas de datos y otros ataques. En la actualidad, el HTTPS protegido por TLS es una práctica estándar de los sitios web. El navegador Google Chrome tomó medidas gradualmente contra los sitios sin HTTPS, y otros navegadores han seguido su ejemplo. Los usuarios habituales de Internet desconfían cada vez más de los sitios web que no cuentan con el icono del candado HTTPS.

Navegación segura con Certificado SSL

¿Qué hace el protocolo TLS?

Hay tres componentes principales en las funciones del protocolo TLS: encriptación, autenticación e integridad.

  • Encriptación: oculta los datos que se transfieren a terceras partes.
  • Autenticación: garantiza que las partes que intercambian información sean quienes afirman ser.
  • Integridad: verifica que los datos no han sido falsificados o alterados.

¿Qué es un certificado de TLS?

Para que un sitio web o aplicación use TLS, debe tener un certificado TLS instalado en su servidor de origen (el certificado también se conoce como "certificado SSL" debido a la confusión en los nombres mencionada anteriormente). Los certificados TLS son emitidos por una autoridad de certificación para la persona o empresa propietaria de un dominio. El certificado contiene información importante acerca de la propiedad del dominio, así como la clave pública del servidor. Ambas son necesarias para validar la identidad del servidor.

¿Cómo funciona el protocolo TLS?

La conexión TLS se inicia usando una secuencia conocida como protocolo de enlace TLS. Cuando un usuario navega a un sitio web que usa TLS, se inicia el protocolo de enlace TLS entre el dispositivo del usuario (también conocido como dispositivo cliente) y el servidor web.

Durante el protocolo de enlace TLS, el dispositivo del usuario y el servidor web:

  • Especifica qué versión de TLS (TLS 1.0, 1.2, 1.3, etc.) van a utilizar
  • Decidir qué suites de cifrado (ver más abajo) van a utilizar
  • Autentican la identidad del servidor utilizando el certificado TLS de este
  • Generan claves de sesión para encriptar los mensajes entre ellos después de completar el protocolo de enlace

El protocolo de enlace TLS establece un conjunto de cifrado para cada sesión de comunicación. El conjunto de cifrado es una serie de algoritmos que especifica detalles tales como qué claves de encriptación o claves de sesión se usarán para una sesión en concreto. TLS puede asignar las claves de sesión a través de un canal no encriptado gracias a la tecnología conocida como criptografía de clave pública.

El protocolo de enlace también se encarga de la autenticación, que normalmente consiste en que el servidor demuestre su identidad al cliente. Se lleva a cabo usando claves públicas. Estas son claves de encriptación unidireccionales, con las cuales cualquiera puede descodificar los datos previamente encriptados con la clave privada del servidor para comprobar su autenticidad. Sin embargo, solo el remitente original puede encriptar los datos con la clave privada. La clave pública del servidor es parte de su certificado TLS.

Una vez que los datos se han encriptado y autenticado, se firman con un código de autenticación de mensajes (MAC). El destinatario pueden entonces verificar el MAC para asegurarse de la integridad de los datos. Puede compararse con el cierre de garantía de un jarabe; el consumidor sabe que nadie ha abierto la medicina porque el cierre está intacto cuando lo compra.

Protocolo de enlace TCP

¿Cómo afecta el protocolo TLS al rendimiento de las aplicaciones web?

La última versión de TLS apenas impacta el rendimiento de las aplicaciones web.

Dada la complejidad del proceso para establecer una conexión TLS, esta emplea tiempo de carga y potencia computacional. El cliente y el servidor deben comunicarse varias veces antes de transmitir datos, lo cual consume preciosos milisegundos de tiempo de carga de las aplicaciones web, así como algo de memoria del cliente y el servidor.

Sin embargo, hay tecnologías que ayudan a mitigar la posible latencia creada por un protocolo de enlace TLS. Una es TLS False Start, que permite que el servidor y el cliente empiecen a transmitir datos antes de que se complete el protocolo de enlace TLS. Otra tecnología para acelerar TLS es TLS Session Resumption, que permite que los clientes y los servidores que se han comunicado previamente utilicen un protocolo de enlace abreviado.

Estas mejoras han contribuido a que el protocolo TLS sea muy rápido y no afecte a los tiempos de carga de manera perceptible. En cuanto a los costes computacionales asociados al protocolo TLS, son casi insignificantes con respecto a los estándares actuales.

TLS 1.3, lanzado en 2018, es aún más rápido. Los protocolos de enlace en TLS 1.3 solo requieren un recorrido de ida y vuelta (o comunicación bidireccional) en lugar de dos, acortando el proceso unos milisegundos. Cuando el usuario se ha conectado a un sitio web con anterioridad, el protocolo de enlace TLS no hace ningún recorrido de ida y vuelta, agilizándose aún más.

Cómo comenzar a implementar TLS en un sitio web

Cloudflare ofrece certificados TLS/SSL gratuitos a todos los usuarios. Quien no use Cloudflare tendrá que adquirir un certificado SSL de una autoridad de certificación, habitualmente previo pago, e instalarlo en sus servidores de origen.

Para más información acerca del funcionamiento de los certificados TLS/SSL, consulta ¿Qué es un certificado SSL?