¿Qué es Transport Layer Security (TLS)?

Autores

Alexandra Jonker

Staff Editor

IBM Think

Tom Krantz

Staff Writer

IBM Think

¿Qué es Transport Layer Security (TLS)?

Transport Layer Security (TLS) es un protocolo criptográfico que ayuda a proteger las comunicaciones a través de redes informáticas no protegidas, como Internet.

Mediante diversas técnicas de criptografía asimétrica y simétrica, TLS ofrece autenticación de extremo a extremo, confidencialidad e integridad de los datos. Estas protecciones se aplican a una amplia variedad de comunicaciones de red, como el correo electrónico, la mensajería, la voz sobre IP (VoIP) y las redes privadas virtuales (VPN).

TLS es muy conocido por crear conexiones seguras para navegar por Internet. Es la base del Hypertext Transfer Protocol Secure (HTTPS), un protocolo de capa de aplicación que permite el intercambio de datos cifrados entre aplicaciones web y la mayoría de los principales navegadores web.

El protocolo de cifrado TLS tiene dos capas: el protocolo de protocolo de enlace TLS y el protocolo de registro TLS. El protocolo de protocolo de enlace autentica el servidor web y el cliente (el dispositivo que se conecta al servidor). El protocolo de registro verifica y protege los datos para el transporte.

Estas capas se encuentran por encima de un protocolo de transporte, como el del modelo de Protocolo de Control de Transmisión/Internet Protocol (TCP/IP), un conjunto de protocolos que especifican estándares de comunicación entre ordenadores y se consideran "el pegamento que mantiene unida a Internet"1.

Las últimas novedades sobre tecnología, respaldadas por conocimientos de expertos

Manténgase al día sobre las tendencias más importantes e intrigantes del sector en materia de IA, automatización, datos y mucho más con el boletín Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

SSL frente a TLS

El protocolo TLS es el sucesor del estándar de protocolo Secure Sockets Layer (SSL) desarrollado por Netscape Communications Corporation. En 1996, el Internet Engineering Task Force (IETF) estandarizó formalmente el protocolo SSL.

En enero de 1999, el IETF introdujo mejoras y abordó las vulnerabilidades de la última versión de SSL (SSL 3.0), cambiando el nombre a Transport Layer Security. Se definió formalmente en la solicitud de comentarios (RFC) 2246. Hoy en día, los términos "TLS" y "SSL" se utilizan a menudo indistintamente o se estilizan como TLS/SSL.

AI Academy

Cómo prepararse para la IA con la nube híbrida

El plan de estudios, dirigido por los principales líderes de pensamiento de IBM, está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

¿Por qué usar TLS?

Denominado "el protocolo de seguridad más importante de Internet" por el IETF, TLS es crítico para proteger la comunicación en línea del acceso no autorizado. Su última versión, TLS 1.3, ofrece una seguridad más sólida y rápida, y sirve como columna vertebral del mundo digital seguro de hoy.

Casi el 68 % de la población mundial está en línea2, con miles de millones que dependen de Internet a diario para todo, desde compras y operaciones bancarias hasta atención médica y comunicaciones personales. En todos estos casos de uso, la protección de los datos confidenciales es esencial. Eso significa protegerlo de hackers, manipulaciones, escuchas ilegales y otras amenazas de ciberseguridad, como vulneraciones de datos, malware o ataques de intermediario.

TLS respalda específicamente HTTPS, el protocolo de seguridad estándar para sitios web. El icono del candado HTTPS, ahora una característica familiar en los navegadores web, indica a los usuarios que un sitio web es fiable y seguro.

El icono también indica que un sitio web tiene un certificado TLS válido (también conocido como certificado SSL). Esta credencial digital, emitida por una autoridad certificadora (CA), verifica la identidad de un sitio web y permite una conexión cifrada. Para ilustrar la magnitud del uso de TLS y HTTPS: uno de los principales proveedores de certificados TLS emite más de 340 000 certificados por hora

TLS garantiza una comunicación segura en Internet al aplicar tres propiedades básicas de un canal seguro:

Autenticación

Verifica las identidades del remitente y del receptor, y el origen y el destino de los datos.

Confidencialidad

Garantiza que solo el destinatario previsto pueda acceder a los datos.

Integridad

Garantiza que los datos no se puedan modificar durante el almacenamiento o la transmisión sin que se detecten los cambios.

¿Cómo funciona TLS?

La seguridad de la capa de transporte es eficaz porque se basa en procesos criptográficos para proteger la información transmitida.

La criptografía proviene de la palabra griega “kryptos”, que significa “oculto”. El objetivo principal de la criptografía es proteger y ocultar las comunicaciones mediante el cifrado, un proceso en el que algoritmos complejos convierten mensajes legibles (texto simple) en mensajes codificados (texto cifrado). El texto cifrado sólo puede ser descifrado en un formato legible por un destinatario autorizado utilizando una clave específica.

En el contexto de la criptografía, como el cifrado TLS, una clave es una cadena aleatoria de números o letras. Cuando se utiliza con un algoritmo criptográfico, cifra (bloquea) o descifra (desbloquea) la información. Los algoritmos utilizados para cifrar y descifrar los datos transferidos a través de una red suelen pertenecer a dos categorías: criptografía de clave secreta y criptografía de clave pública.

Criptografía de clave secreta

También conocido como cifrado simétrico o criptografía de clave simétrica, este sistema crea una única clave compartida para cifrar y descifrar datos confidenciales. El cifrado simétrico es simple y eficiente pero se basa en el intercambio seguro de claves y en una gestión de claves meticulosa.

La mayoría de los datos confidenciales enviados en una sesión TLS se envían mediante criptografía de clave secreta. TLS utiliza funciones hash criptográficas para ayudar a garantizar la privacidad y la integridad de los datos. Las funciones hash generan un valor hash de tamaño fijo a partir de los datos de entrada. Este valor actúa como una huella digital que se puede comparar antes y después de la transmisión. Si el hash ha cambiado, eso significa que alguien ha manipulado los datos.

Un código de autenticación de mensajes (MAC) es como un hash criptográfico, excepto que también autentica al remitente. Aplica una clave secreta a los mensajes hash, y el hash resultante se conoce como código de autenticación de mensajes hash (HMAC).

Criptografía de clave pública

También conocido como criptografía asimétrica o cifrado de clave pública, este sistema utiliza un par de claves vinculadas matemáticamente (una pública y otra privada) para cifrar y descifrar datos. Permite a las personas y los sistemas intercambiar información confidencial sin necesidad de compartir una clave secreta de antemano. Es comparable a un buzón: cualquiera puede insertar una carta, pero solo el propietario puede desbloquearla y recuperar su contenido.

Estas capacidades ayudan a establecer la confianza cuando se integran con la infraestructura de clave pública (PKI). Por ejemplo, los certificados de clave pública (también conocidos como certificados digitales o certificados SSL/TLS) vinculan las claves públicas a las identidades verificadas a través de una autoridad de certificación.

También proporcionan la base para las firmas digitales, un componente de los certificados digitales utilizados en TLS para autenticar un cliente o un servidor web. Una vez que se crea un hash criptográfico para un mensaje, el hash se cifra con la clave privada del remitente.

Este hash cifrado es la firma digital. La firma puede ser verificada por cualquier persona que utilice la clave pública, lo que proporciona validación de la identidad del remitente y la integridad de los datos.

¿Cuáles son las dos capas de TLS?

El protocolo TLS tiene dos subprotocolos: el protocolo de protocolo de enlace TLS y el protocolo de registro TLS. Los pasos exactos pueden variar en función de la versión de TLS.

El protocolo de enlace TLS

El protocolo de enlace TLS establece una conexión segura entre el cliente y el servidor web. Mediante la criptografía de clave pública, el servidor se autentica (y a veces el cliente) mediante un certificado digital. A continuación, el cliente y el servidor acuerdan una suite (un conjunto de algoritmos de cifrado) y realizan un intercambio de claves para establecer de forma segura claves de sesión compartidas (claves secretas para cifrado y hash).

Una vez establecidas las claves de sesión, se considera que la sesión segura está configurada. A partir de este momento, el cifrado de clave pública ya no se utiliza y todos los datos transmitidos posteriormente se cifran y autentican mediante criptografía de clave secreta.

(Para obtener más detalles, consulte: "What are the steps of a TLS handshake?")

El protocolo de grabación TLS

El protocolo de registro es responsable de proteger los datos transmitidos durante la conexión TLS. Para ello, utiliza el conjunto de cifrado y las claves negociadas durante el protocolo de enlace como una especie de receta sobre cómo proteger los datos.

El conjunto de cifrado define qué algoritmos deben usarse para el intercambio de claves, el cifrado y la autenticación de mensajes. Las claves simétricas (secretas) se utilizan para cifrar los datos salientes y descifrar los datos entrantes. Las claves también se utilizan para crear códigos de autenticación de mensajes, que verifican la integridad de los datos.

Mediante estos mecanismos, el protocolo de grabación garantiza la autenticación, la integridad y la confidencialidad de la conexión.

¿Cuáles son los pasos de un protocolo de enlace TLS?

Los pasos exactos de un protocolo de enlace TLS varían en función de la versión de TLS. Puede tardar entre 200 y 300 milisegundos, o tan solo 100 milisegundos, en completarse (por supuesto, la duración exacta depende de la latencia, el tiempo de ida y vuelta (RTT), el rendimiento del servidor y otras consideraciones de red).

Esta ilustración utiliza TLS 1.3, que es la versión de TLS más rápida, reciente y segura.

1. Saludo al cliente

El cliente envía un mensaje ClientHello con la versión TLS compatible (TLS 1.3), conjuntos de cifrado, una cadena de bytes aleatorios (client_random) y una clave compartida efímera, utilizando el método de intercambio de claves Elliptic Curve Diffie-Hellman Ephemeral (ECDHE).

2. Saludo al servidor e intercambio de claves

El servidor responde con un mensaje ServerHello que contiene el conjunto de cifrado seleccionado, otra cadena de bytes aleatoria (server_random) y su propia clave efímera compartida. Este paso establece los parámetros clave de intercambio.

Ahora, ambas partes pueden calcular un secreto compartido utilizando ECDHE. Este secreto compartido se utiliza para derivar las claves de protocolo de enlace.

A continuación, el servidor envía su certificado digital, un mensaje CertificateVerify (firmado con su clave privada) y un mensaje Finished (cifrado con la clave de handshake).

(Opcional: si el servidor requiere autenticación de cliente, envía un CertificateRequest. Después el cliente responde con su certificado y un mensaje CertificateVerify).

3. Autenticación y finalizado

El cliente verifica que el certificado del servidor sea emitido por una autoridad de certificación fiable, sea válido y no esté revocado y que el dominio coincida. También verifica el mensaje CertificateVerify del servidor utilizando la clave pública del servidor del certificado y el mensaje Finished utilizando la clave de handshake.

El cliente envía su propio mensaje Finished utilizando una clave de protocolo de enlace y se confirma que el protocolo de enlace se ha completado.

En este punto, ambas partes se han autenticado y establecido una clave secreta compartida. Ahora pueden intercambiar mensajes mediante cifrado simétrico.

¿Qué métodos de intercambio de claves utiliza TLS?

Los métodos de intercambio de claves ayudan a los usuarios a intercambiar claves criptográficas de forma segura. Existen varios métodos de intercambio de claves que se utilizan para implementar TLS, entre ellos:

Diffie-Hellman (DH)

Diffie-Hellman es uno de los métodos de intercambio de claves más comunes. Es un protocolo de intercambio de claves asimétrico que permite a dos partes, sin conocimiento previo, generar una clave secreta compartida para proteger las comunicaciones a través de un canal inseguro. Su seguridad se basa en la dificultad de resolver el problema de los logaritmos discretos, un problema matemático complejo que hace que sea inviable desde el punto de vista computacional descifrar el secreto compartido.

Existen varias variaciones del intercambio de claves Diffie-Hellman, que incluyen:

  • Diffie-Hellman Ephemeral (DHE): en DHE, "ephemeral" ("efímero") significa que se genera una clave temporal o de un solo uso para cada sesión. Esto proporciona confidencialidad directa, lo que garantiza que el compromiso de las claves a largo plazo no comprometa las sesiones anteriores. DHE se usa comúnmente en TLS 1.2, aunque TLS 1.2 admite tanto DH como DHE.

  • Elliptic Curve Diffie-Hellman (ECDH): la ECDH es similar a la DH pero utiliza criptografía de curva elíptica, que proporciona mayor seguridad con tamaños de clave más pequeños. Por lo tanto, los cálculos ECDH son más rápidos y consumen menos recursos. Sin embargo, el IETF no recomienda los conjuntos de cifrado debido a su falta de confidencialidad directa.

  • Elliptic Curve Diffie-Hellman Ephemeral (ECDHE): esta es la versión efímera de ECDH, donde se generan claves temporales para cada sesión, proporcionando confidencialidad directa. Es el método de intercambio de claves obligatorio para TLS 1.3.

Rivest-Shamir-Adleman (RSA)

RSA es un algoritmo de cifrado asimétrico que se basa en la complejidad matemática de factorizar grandes números primos para generar pares de claves. Utiliza un par de claves públicas y privadas para el cifrado y descifrado, lo que lo hace adecuado para la transmisión segura de datos y firmas digitales. RSA no es compatible con TLS 1.3 para el intercambio de claves debido a problemas de seguridad (es decir, no proporciona confidencialidad directa). Sin embargo, se puede utilizar para la autenticación.

Pre-shared key (PSK)

Una PSK es una clave secreta compartida que se compartió previamente entre las dos partes utilizando un canal seguro antes de la sesión TLS. Los usuarios pueden establecer un PSK durante un protocolo de enlace TLS y luego utilizarlo para establecer una nueva conexión en otro protocolo de enlace; esto se denomina reanudación de la sesión con un PSK. Se recomienda utilizar PSK con DHE o ECDHE para proporcionar confidencialidad directa.

¿Cuál es la última versión del protocolo TLS?

Desde el lanzamiento inicial de TLS 1.0 en 1999 (que fue una actualización a la versión 3.0 de SSL), el IETF ha lanzado tres versiones posteriores de TLS:

  • TLS 1.1, especificada en la RFC 4346 de abril de 2006: esta versión contenía pequeñas mejoras editoriales y de seguridad, así como aclaraciones.

  • TLS 1.2, especificada en RFC 5246, agosto de 2008: esta versión fue una actualización de TLS 1.1 y mejoró notablemente la flexibilidad para la negociación de algoritmos criptográficos.

  • TLS 1.3, especificada en RFC 8446, agosto de 2018: esta última actualización mejora la seguridad, el rendimiento y la privacidad al reducir la latencia con un tiempo de ida y vuelta cero (0-RTT) y simplificar la negociación, entre otros cambios.

Es importante tener en cuenta que, aunque TLS 1.3 se puede implementar con un modo de compatibilidad con versiones anteriores, no es directamente compatible con versiones anteriores de TLS. 

Soluciones relacionadas
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center es una plataforma de software compatible con OpenStack para gestionar la infraestructura de las nubes privadas en IBM zSystems e IBM LinuxONE.

Explorar Cloud Infrastructure Center
Soluciones de infraestructura de TI

Descubra servidores, almacenamiento y software diseñados para su estrategia empresarial de nube híbrida e IA.

Explore las soluciones de infraestructura de TI
Soluciones de infraestructura en la nube

Encuentre la solución de infraestructura en la nube adecuada para las necesidades de su empresa y escale los recursos según la demanda.

Soluciones en la nube
Dé el siguiente paso

Transforme la infraestructura de su empresa con las soluciones de nube híbrida y preparadas para la IA de IBM. Descubra servidores, almacenamiento y software diseñados para asegurar, escalar y modernizar su empresa o acceda a conocimientos de expertos para mejorar su estrategia de IA generativa.

Explore las soluciones de infraestructura de TI Descargue el libro