¿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 desprotegidas, como Internet.

A través de diversas técnicas de criptografía asimétrica y simétrica, TLS proporciona autenticación de extremo a extremo, confidencialidad e integridad de los datos. Estas protecciones se aplican a una amplia gama de comunicaciones de red, incluyendo correo electrónico, mensajería, voz sobre IP (VoIP) y redes privadas virtuales (VPN).

TLS es ampliamente reconocido por establecer conexiones seguras para la navegación web. 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 noticias tecnológicas, respaldadas por los insights de expertos

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

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. 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.

Academia de IA

Cómo lograr la preparación para la IA con la nube híbrida

Dirigida por los principales líderes de opinión de IBM, el plan de estudios está diseñado para ayudar a los líderes empresariales a obtener los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

¿Por qué emplear TLS?

Llamado "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 seguridadmás estable 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ínea,2 con miles de millones que dependen diariamente de Internet para todo, desde compras y banca 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 filtraciones de datos, malware o ataques de intermediarios.

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 ícono 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 el destinatario, y el origen y 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 en el almacenamiento o la transmisión sin que se detecten cambios.

¿Cómo funciona TLS?

Transport Layer Security es eficaz porque se basa en procesos criptográficos para proteger la información transmitida.

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 sin cifrar) en mensajes codificados (texto cifrado). El texto cifrado solo puede ser descifrado en un formato legible por un destinatario autorizado que emplee 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 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 un intercambio seguro de claves y una administración meticulosa de claves.

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 cambió, eso significa que alguien manipuló 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 por adelantado. Es comparable a un buzón: cualquiera puede introducir una carta, pero solo el propietario puede desbloquear y recuperar su contenido.

Estas capacidades ayudan a establecer 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 claves públicas a identidades verificadas a través de una autoridad certificadora.

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 emplee 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 según la versión de TLS.

El protocolo de apretón de manos TLS

El protocolo de enlace TLS establece una conexión segura entre el cliente y el servidor web. Mediante criptografía de clave pública, el servidor se autentica (y, a veces, el cliente) mediante un certificado digital. Luego, el cliente y el servidor acuerdan una suite de cifrado (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, ya no se utiliza el cifrado de clave pública, y todos los datos transmitidos posteriormente se cifran y autentican mediante criptografía de clave secreta.

(Para obtener más detalles, consulte: "¿Cuáles son los pasos de un protocolo de enlace TLS?")

El protocolo de registro TLS

El protocolo de registro es responsable de proteger los datos transmitidos durante la conexión TLS. Para ello, emplea el suite y las claves negociadas durante el protocolo de enlace como una especie de receta para proteger los datos.

La suite de cifrado define qué algoritmos deben utilizarse 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.

A través de estos mecanismos, el protocolo de registro garantiza la autenticación, integridad y 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 según 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 la red).

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

1. Hola cliente

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

2. Hola al servidor e intercambio de claves

El servidor responde con un mensaje ServerHello que contiene la suite 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.

Luego, el servidor envía su certificado digital, un mensaje CertificateVerify (firmado con su clave privada) y un mensaje Finalizado (cifrado con la clave de protocolo de enlace).

(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 emplean 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 asimétrico de intercambio de claves que permite a dos partes, sin conocimiento previo entre sí, generar una clave secreta compartida para comunicaciones seguras a través de un canal inseguro. Su seguridad se basa en la dificultad de resolver el problema del logaritmo discreto, un problema matemático complejo que hace que sea computacionalmente inviable descifrar el secreto compartido.

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

  • Efímero Diffie-Hellman (DHE): En DHE, “efímero” significa que se genera una clave temporal o de un solo uso para cada sesión. Esto proporciona confidencialidad futura, 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 DH y DHE.

  • Curva elíptica Diffie-Hellman (ECDH): ECDH es similar a DH, pero emplea criptografía de curva elíptica, que proporciona mayor seguridad con claves de menor tamaño. Por lo tanto, los cálculos ECDH son más rápidos y requieren menos recursos. Sin embargo, los suites de cifrado no efímeros no son recomendados por el IETF debido a su falta de confidencialidad directa.

  • Curva elíptica Diffie-Hellman Ephemeral (ECDHE): Esta es la versión efímera de ECDH, donde se generan claves temporales para cada sesión, proporcionando secreto hacia adelante. Es el método de intercambio de claves obligado 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, especificado en RFC 4346, abril de 2006: Esta versión contenía mejoras menores de seguridad y editoriales, así como aclaraciones.

  • TLS 1.2, especificado 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, especificado 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 nubes privadas en IBM zSystems e IBM LinuxONE.

Explore Cloud Infrastructure Center
Soluciones de infraestructura de TI

Descubra los servidores, el almacenamiento y el software diseñados para la nube híbrida y su estrategia de IA.

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

Encuentre una solución de infraestructura en la nube que sea adecuada para las necesidades de su negocio y escale los recursos bajo demanda.

Soluciones en la nube
Dé el siguiente paso

Transforme la infraestructura de su empresa con las soluciones de IBM, tanto de nube híbrida como preparadas para la IA. Descubra los servidores, el almacenamiento y el software diseñados para proteger, escalar y modernizar su negocio o acceder a insights de expertos para mejorar su estrategia de IA generativa.

Explore las soluciones de infraestructura de TI Descargue el ebook