Learn

284 artículosCategoría: Todo
Red

Qué es TLS

En la comunicación HTTPS, los datos HTTP no se envían tal cual. Se protegen mediante un mecanismo llamado TLS.

La diferencia entre HTTP y HTTPS a veces se explica como "si está cifrado". Sin embargo, TLS hace más que cifrar. También cumple roles importantes al hacer que el contenido de la comunicación sea más difícil de leer para terceros, facilitar la detección de alteraciones durante el tránsito y verificar el servidor al que te conectas.

Este artículo ordena qué protege TLS y qué no protege.

Qué es TLS

TLS significa Transport Layer Security. Es un protocolo para proteger comunicación en redes.

En la web, se usa para proteger la comunicación entre un navegador y un servidor web. Cuando abres un sitio HTTPS en un navegador, el contenido de la comunicación HTTP se envía y recibe en un estado protegido por TLS.

TLS proporciona principalmente los siguientes tres tipos de protección.

RolSignificadoExplicación
ConfidencialidadHace que el contenido de la comunicación sea más difícil de leerDificulta que terceros en tránsito entiendan el contenido de los datos
IntegridadHace más fácil detectar alteraciones del contenido de la comunicaciónPermite detectar si los datos se reescriben en tránsito
AutenticaciónVerifica el destino de conexiónUsa un certificado de servidor para comprobar si el destino tiene un certificado válido para ese dominio

En otras palabras, TLS se entiende con más precisión no solo como "un mecanismo para cifrar comunicación", sino como un mecanismo que combina protección del contenido de la comunicación con verificación del destino de conexión.

HTTPS es HTTP protegido por TLS

HTTPS es comunicación en la que HTTP está protegido por TLS.

HTTP es el mecanismo que navegadores y servidores web usan para intercambiar contenido de páginas, datos de formularios e información similar. Sin embargo, HTTP por sí solo no cifra el contenido de la comunicación. Por eso existe el riesgo de que terceros en la ruta de comunicación lean el contenido o lo alteren en tránsito.

Con HTTPS, los intercambios HTTP ocurren dentro de TLS. Esto hace que el contenido de solicitudes y respuestas enviadas y recibidas por HTTP sea más difícil de leer mientras está en tránsito.

ElementoHTTPHTTPS
Contenido de la comunicaciónEnviado en texto claroProtegido por TLS
Resistencia a escuchasBajaAlta
Detección de alteraciónDébilMás fácil de detectar mediante TLS
Verificación de destinoBásicamente débilVerificado con un certificado de servidor
Estructura principalHTTPHTTP sobre TLS

HTTPS no es un mecanismo que maneje contenido distinto de HTTP. Es un método para enviar comunicación HTTP protegida por TLS.

Qué protege TLS

El centro de lo que TLS protege es el contenido de comunicación que fluye entre el navegador y el servidor.

En la ruta de comunicación puede haber routers Wi-Fi, proveedores, equipos de red de organizaciones, infraestructura de retransmisión en internet y sistemas similares. Si no se usa TLS, existe el riesgo de que el contenido sea leído o alterado en esa ruta de comunicación.

Cuando TLS está habilitado, el contenido de comunicación se cifra. Por eso, aunque un tercero en tránsito obtenga los datos, se vuelve difícil leer el contenido HTTP tal cual.

InformaciónProtección por TLSExplicación
Cuerpo de la páginaProtegidoEl HTML y el contenido devuelto por el servidor son más difíciles de leer en tránsito
Contenido introducido en formulariosProtegidoInformación de inicio de sesión, consultas y datos similares se cifran
Encabezados HTTPProtegidosEncabezados HTTP como y User-Agent se envían dentro de TLS
Valores de CookieProtegidosEl contenido de las cookies es más difícil de leer en tránsito
Ruta y consulta de URLProtegidasLa parte correspondiente a /search?q=... en example.com/search?q=... se protege como solicitud HTTP

Sin embargo, la protección descrita aquí es protección frente a terceros en tránsito. El servidor de destino debe procesar la solicitud, así que descifra y lee el contenido de la comunicación.

Los certificados de servidor verifican el destino

TLS no solo cifra el contenido de la comunicación, también verifica el servidor al que te conectas.

Cuando accedes a un sitio HTTPS, el servidor presenta un certificado de servidor. El navegador comprueba si ese certificado fue emitido por una autoridad certificadora de confianza, si ha caducado, si coincide con el nombre de dominio al que se accede y puntos similares.

Esto permite que el navegador compruebe si la contraparte de comunicación tiene un certificado válido para el dominio previsto.

Sin embargo, la existencia de un certificado de servidor no garantiza que quien opera el sitio sea seguro ni que la información del sitio sea correcta. Lo que el certificado verifica principalmente es si el sitio tiene un certificado válido para ese dominio.

En otras palabras, el icono de candado de HTTPS indica que "la ruta de comunicación está protegida por TLS", pero no garantiza que "el sitio proporcione contenido confiable".

Alcance cifrado por TLS

Lo que TLS cifra es principalmente el contenido de HTTP.

Por ejemplo, el cuerpo de una página web, el contenido enviado en formularios, los valores de Cookie, encabezados HTTP, rutas de URL y cadenas de consulta se envían dentro de TLS.

En cambio, incluso cuando se usa TLS, permanecen cierta información necesaria para la comunicación e información externa a la propia comunicación.

InformaciónTLS la oculta?Explicación
Cuerpo de la páginaMayormente oculto en tránsitoProtegido por TLS como contenido de respuesta HTTP
Contenido introducido en formulariosMayormente oculto en tránsitoProtegido por TLS como cuerpo de una solicitud HTTP
Valores de CookieMayormente ocultos en tránsitoProtegidos por TLS como encabezados HTTP
Ruta y consulta de URLMayormente ocultas en tránsitoProtegidas por TLS como contenido de una solicitud HTTP
Dirección IP de destinoNo ocultaNecesaria para entregar paquetes al destino de comunicación
Dirección IP de origenNo ocultaVisible para servidores y destinos de retransmisión
Parte de la información durante la conexión TLS, como SNIPuede ser visible según el entornoEn entornos donde no se usan mecanismos como ECH, puede convertirse en una pista del nombre de dominio de destino
Consultas DNSPermanecen como un problema separadoCon DNS ordinario, los dominios consultados pueden ser visibles
Volumen de tráficoNo ocultoPuede observarse la cantidad de datos enviados y recibidos
Momento de comunicaciónNo ocultoPuede observarse cuándo ocurrió la comunicación

Esta diferencia es importante. TLS protege el contenido de HTTP, pero no borra la existencia de la comunicación, el volumen de tráfico, el momento ni las direcciones IP.

Cuidado con la terminación TLS

Con TLS, hay que ser consciente de qué parte de la comunicación está protegida desde dónde hasta dónde.

En explicaciones comunes, se dice que "la conexión entre el navegador y el servidor web está cifrada". Sin embargo, en servicios web reales, una CDN, un balanceador de carga, un proxy inverso o un sistema similar puede ser el punto de terminación TLS.

La terminación TLS es el punto donde la comunicación cifrada se descifra.

Por ejemplo, hay configuraciones donde la ruta desde el navegador hasta la CDN está protegida por TLS, y la CDN reenvía la solicitud al servidor de origen por una conexión separada. En este caso, desde la perspectiva del navegador, el destino de la conexión TLS está del lado de la CDN, y la protección más allá depende de la configuración del lado del servicio.

Esto no significa que TLS sea débil. TLS es un mecanismo para proteger comunicación entre extremos, y qué sistemas se convierten en extremos depende de la configuración del sistema.

TLS no es tecnología de anonimización

TLS no es tecnología de anonimización.

TLS es tecnología para proteger el contenido de la comunicación frente a terceros en tránsito. En cambio, el contenido de la comunicación llega al servidor de destino. Como el servidor debe procesar la solicitud, puede conocer datos enviados, cookies, información de inicio de sesión, hora de acceso, dirección IP de origen e información similar.

Cuando accedes a un sitio HTTPS, a terceros en la ruta de comunicación les cuesta más leer el contenido de la página. Sin embargo, el propio sitio web de destino puede procesar la página accedida, el contenido de formularios enviados, el estado de inicio de sesión, cookies e información similar.

ElementoTLS puede resolverlo?Razón
Escuchas en tránsitoMás fácil de resolverEl contenido de la comunicación está cifrado
Alteración en tránsitoMás fácil de resolverExiste un mecanismo para detectar alteración
Visualización por el servidor de destinoNo resueltoEl servidor debe procesar el contenido de la comunicación
Ocultar la dirección IP de origenNo resueltoEl lado del servidor puede ver la IP de origen
Identificación por cookiesNo resueltoLas cookies son usadas por el lado del servidor para identificar personas usuarias
Vinculación con la persona mediante inicio de sesiónNo resueltoLas acciones se vinculan con la cuenta

Cifrado y anonimización tienen propósitos distintos.

El cifrado es tecnología para hacer que el contenido de la comunicación sea más difícil de leer para terceros. La anonimización es una forma de pensar en hacer más difícil saber quién se comunica, a dónde se conecta y qué acciones pertenecen a la misma persona usuaria.

TLS es fuerte para lo primero, pero por sí solo no logra lo segundo.

Por qué importa entender TLS

Entender TLS ayuda a evaluar HTTPS con precisión sin sobreestimar su seguridad.

HTTPS es muy importante como medida contra escuchas y alteración en la ruta de comunicación. Para inicio de sesión, pagos, envío de información personal, acceso a pantallas de administración y situaciones similares, HTTPS es un requisito previo.

En cambio, incluso con HTTPS, la información llega al servidor de destino. Logs de servidor, direcciones IP de origen, cookies, información de cuenta, información del navegador y elementos similares permanecen como problemas separados de TLS.

Por eso, al entender TLS, hay que separar los siguientes puntos.

PerspectivaPropósito principalRelación con TLS
CifradoHace que el contenido de la comunicación sea más difícil de leer para tercerosRol central de TLS
IntegridadDetecta alteración durante la comunicaciónRol importante de TLS
Autenticación de destinoComprueba si el servidor tiene un certificado válidoRol importante de TLS
AnonimizaciónHace más difícil entender personas usuarias y relaciones de conexiónNo puede lograrse solo con TLS
Prevención de seguimientoReduce identificación por cookies y cuentasRequiere medidas separadas de TLS

TLS es una tecnología básica que sostiene la seguridad de la comunicación. Sin embargo, no resuelve todos los problemas de privacidad o anonimato.

Resumen

TLS es el mecanismo central de protección de comunicación usado por HTTPS.

TLS cifra el contenido de la comunicación entre navegador y servidor, haciendo más difícil que terceros en tránsito lean el contenido. También facilita detectar alteraciones durante el tránsito, y verifica el destino mediante certificados de servidor.

En cambio, TLS no es tecnología de anonimización. El contenido de la comunicación llega al servidor de destino, y problemas como direcciones IP de origen, logs de servidor, cookies e información de cuenta permanecen por separado.

Para entender TLS correctamente, hay que separar "el contenido de la comunicación está cifrado" de "quién accede a dónde queda oculto".

HTTPS es importante para hacer más segura la comunicación, pero no logra automáticamente anonimato ni prevención de seguimiento.

Artículos relacionados