Encriptación TLS protocolo de cifrado y autenticación que protege las comunicaciones por Internet. El handshake TLS es un proceso que asegura una conexión con un servidor utilizando criptografía asimétrica. Los sitios web que utilizan un certificado TLS pueden aprovechar el protocolo HTTPS para conectarse de forma segura al servidor. En este blog se explica el protocolo TLS en detalle, incluyendo los pasos del protocolo TLS, la metodología de trabajo y mucho más.
¿Qué es un apretón de manos TLS?
Al igual que el apretón de manos que hacemos en la vida real, el apretón de manos TLS es una introducción. Indica una comunicación segura entre dos servidores en la que se intercambian mensajes para acusarse recibo mutuamente, verificarse, establecer códigos criptográficos y acordar claves de sesión.
El proceso de negociación TLS comienza con el "Hola" inicial y continúa hasta la fase en la que un cliente y un servidor pueden hablar a través de una conexión segura.
¿Cómo funciona el apretón de manos TLS?
Ahora que ya sabe qué es un apretón de manos TLS, veamos cómo funciona.
Así, el proceso de handshake TLS sólo funciona cuando se configura un certificado TLS en el servidor para un sitio web o una aplicación. Este certificado incluye detalles importantes sobre el propietario del dominio y la clave pública del servidor para confirmar la identidad del servidor. Este proceso secuencial establece una conexión TLS. Así, cada vez que un usuario solicita acceder a un sitio web habilitado para TLS, comienza el handshake TLS entre su dispositivo y el navegador web e intercambia el siguiente conjunto de detalles:
- Versión TLS utilizada (TLS 1.0, 1.2, 1.3, etc.).
- Evaluar las suites de cifrado a utilizar.
- Verificación de la identidad del servidor mediante el certificado TLS.
- Una vez finalizado el proceso inicial de intercambio, se genera una clave de sesión para cifrar los mensajes entre el cliente y el servidor.
El protocolo TLS establece un conjunto de cifrado para todas las comunicaciones. El conjunto de cifrado se describe como un conjunto de algoritmos utilizados para establecer una conexión de comunicación segura. Una función importante del handshake TLS es determinar qué conjunto de cifrado se utilizará. TLS establece claves de sesión coincidentes a través de un canal no cifrado utilizando criptografía de clave pública.
El Handshake también verifica la autenticidad del remitente comprobando el servidor mediante claves públicas. Las claves públicas son claves de cifrado unidireccionales, lo que significa que nadie, excepto el remitente original, puede descifrar los datos cifrados. El remitente original utiliza su clave privada para descifrar los datos.
TLS handshake failed significa que la conexión se termina, y el cliente ve un mensaje de error '503 Service Unavailable'.
Apretones de manos TLS vs SSL
SSL son las siglas de Secure Sockets Layer, el protocolo de seguridad original creado para HTTP. SSL fue sustituido por TLS y los handshakes SSL se denominan ahora handshakes TSL.
¿Cuándo se produce un apretón de manos TLS?
El navegador consulta al servidor de origen del sitio web cada vez que un usuario solicita navegar por un sitio web a través de una conexión segura. También se produce cuando cualquier otro canal de comunicación utiliza HTTPS. Esto incluye llamadas a API y DNS a través de una red segura.
Pasos de un apretón de manos TLS
Los pasos del protocolo TLS consisten en una serie de datagramas, o mensajes, transferidos entre el cliente y el servidor. Los pasos exactos variarán en función del tipo de algoritmo de intercambio de claves utilizado y de los conjuntos de cifrado soportados por ambas partes. Esto es lo que puedes esperar.
Paso 1: Mensaje "Client Hello
El servidor del cliente inicia el proceso de negociación TLS enviando un mensaje "hola" al servidor principal del sitio web. El mensaje contiene datos importantes, como la versión TLS y los conjuntos de cifrado admitidos, además de unos bytes aleatorios denominados "cliente aleatorio".
Paso 2: Mensaje "Server Hello
El servidor responde al mensaje "hola" del cliente enviando una respuesta con un certificado SSL, el conjunto de cifrado elegido por el servidor y la cadena "server random" generada por el servidor.
Paso 3: Autenticación
En este paso del protocolo TLS, el cliente confirma el certificado SSL del servidor con la autoridad emisora. Esto se hace para verificar que el servidor es genuino y que el cliente se está comunicando con el propietario del dominio.
Paso 4: El secreto de Premaster
El secreto premaster, que es otra cadena aleatoria de bytes, lo envía el cliente. Se cifra con una clave pública y el servidor puede descifrarlo con una clave privada.
Paso 5: Clave privada utilizada
El secreto premaster es descifrado por el servidor.
Paso 6: Creación de claves de sesión
El cliente y el servidor crean claves de sesión a partir del cliente aleatorio, el servidor aleatorio y el secreto premaster. El resultado de las tres debe ser el mismo.
Paso 7: El cliente está listo
El cliente envía un mensaje de "finalizado" cifrado con clave de sesión.
Paso 8: El servidor está listo
El servidor envía un mensaje de "finalizado" cifrado con clave de sesión.
Paso 9: Cifrado simétrico seguro conseguido
Este es el último paso del apretón de manos TLS. Una vez completado, la comunicación continúa utilizando las claves de sesión.
Handshake TLS 1.3 - ¿Cuál es la diferencia?
TLS 1.3 no admite RSA, por lo que los pasos son ligeramente diferentes.
Cliente Hola
El cliente envía el mensaje "Client Hello'' que incluye la versión del protocolo, el cliente aleatorio y una lista de suites de cifrado. El número de suites de cifrado disminuye, ya que no hay soporte para suites de cifrado en la versión TLS 1.3.
Este mensaje también contiene parámetros utilizados para evaluar el secreto premaster. Esto reduce la longitud del handshake, que es la principal diferencia entre los handshakes TLS 1.3 y los handshakes TLS 1.0, 1.1 y 1.2.
El servidor crea el secreto maestro
En este paso, el servidor recibe el aleatorio del cliente y los parámetros y suites de cifrado del cliente. Como produce su propio servidor aleatorio, genera el secreto maestro.
Servidor Hola y Terminado
El saludo del servidor contiene el certificado del servidor, la firma criptográfica, el servidor aleatorio y el conjunto de cifrado elegido. También envía un mensaje de "finalizado", ya que tiene el secreto maestro.
Pasos finales y cliente finalizado
El cliente verifica la firma y el certificado, genera el secreto maestro y envía el mensaje "Finalizado".
Cifrado simétrico seguro conseguido
Una vez finalizado el apretón de manos TLS, la comunicación continúa utilizando las claves de sesión.
¿Cómo leer los informes TLS?
Los informes TLS pueden proporcionar información valiosa sobre apretones de manos TLS desalineados durante la autenticación MTA-STS, junto con problemas de entregabilidad. La función TLS-RPT de PowerDMARC ofrece informes en un formato legible por humanos que se analiza a partir de archivos JSON originales.
Para leer los informes TLS a partir de hoy, ¡comience su prueba gratuita con nosotros!
¿Por qué las aplicaciones empresariales y web deben utilizar TLS Handshake?
El protocolo TLS protege las aplicaciones web de infracciones y otros ciberataques, ya que HTTPS es la versión segura de la extensión HTTP. Los sitios web que disponen de un certificado TLS pueden aprovechar el protocolo HTTPS para conectarse de forma segura a los usuarios. Su objetivo es proteger detalles sensibles como datos personales, financieros, credenciales de inicio de sesión, etc.
- PowerDMARC nombrado líder G2 en software DMARC por cuarta vez en 2024 - 6 de diciembre de 2024
- Falsificación de datos y suplantación de identidad por correo electrónico en la enseñanza superior - 29 de noviembre de 2024
- Qué es el reenvío de DNS y sus 5 principales ventajas - 24 de noviembre de 2024