¿Cómo funciona TLS sobre TCP?

TLS (Seguridad de la capa de transporte) funciona sobre TCP (Protocolo de control de transmisión) estableciendo un canal de comunicación seguro entre un cliente y un servidor. Cuando TLS se utiliza sobre TCP, se integra con la comunicación confiable y orientada a la conexión de TCP para garantizar la integridad de los datos, la secuenciación y la entrega confiable. El proceso de protocolo de enlace TLS inicia la conexión segura, donde el cliente y el servidor negocian algoritmos criptográficos, intercambian claves y se autentican mutuamente mediante certificados digitales. Una vez que se completa el protocolo de enlace TLS, los datos transmitidos a través de la conexión TCP se cifran y descifran utilizando claves de sesión derivadas de los secretos intercambiados, lo que garantiza la confidencialidad y la protección contra escuchas o alteraciones.

TLS funciona paso a paso para asegurar la comunicación entre un cliente y un servidor a través de una red. El proceso comienza cuando el cliente envía un mensaje «ClientHello» al servidor, especificando las versiones de TLS admitidas, los algoritmos criptográficos y los parámetros de sesión. El servidor responde con un mensaje «ServerHello», seleccionando un conjunto de cifrado mutuamente compatible y generando una clave de sesión. El servidor también envía su certificado digital al cliente para su autenticación. El cliente verifica el certificado del servidor y genera un secreto previo al maestro, lo cifra con la clave pública del servidor y lo envía al servidor. Ambas partes obtienen claves de sesión del secreto premaster y las utilizan para cifrar transmisiones de datos posteriores, garantizando la confidencialidad, integridad y autenticidad de la comunicación.

TLS opera principalmente sobre TCP debido a la confiabilidad, secuenciación y naturaleza orientada a la conexión de TCP, que son esenciales para una comunicación segura que requiere entrega y orden de datos garantizados. TLS aprovecha las capacidades de TCP para establecer y administrar conexiones seguras, cifrando cargas de datos para protegerlas contra la interceptación y manipulación, al tiempo que garantiza una transmisión confiable entre clientes y servidores a través de redes IP.

Técnicamente, TLS puede funcionar sobre UDP (Protocolo de datagramas de usuario), pero en la práctica se usa con menos frecuencia. UDP no tiene conexión y no garantiza una entrega o secuenciación confiable de datos, lo que plantea desafíos para la implementación de TLS. Sin embargo, en ciertos escenarios donde se prioriza la comunicación liviana en tiempo real sobre la confiabilidad (como VoIP o juegos en línea), se puede usar Datagram Transport Layer Security (DTLS), una variante de TLS diseñada para UDP. DTLS incorpora mecanismos para abordar las características de UDP, como retransmisiones de protocolo de enlace y verificación de número de secuencia, para proporcionar comunicación segura a través de redes UDP no confiables.

TLS funciona con HTTP (Protocolo de transferencia de hipertexto) para proporcionar una comunicación segura entre clientes (como navegadores web) y servidores (como sitios web). Cuando se utiliza TLS con HTTP, comúnmente se lo denomina HTTPS (HTTP seguro). HTTPS cifra las solicitudes y respuestas HTTP mediante TLS, protegiendo datos confidenciales como credenciales de inicio de sesión, transacciones financieras e información personal contra la interceptación por parte de actores maliciosos. TLS protege las comunicaciones HTTP estableciendo una sesión TLS segura mediante un proceso de protocolo de enlace, verificando la identidad del servidor con certificados digitales y cifrando los datos transmitidos a través de la conexión HTTP para garantizar la confidencialidad, integridad y autenticidad de las interacciones web.