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.
| Rol | Significado | Explicación |
|---|---|---|
| Confidencialidad | Hace que el contenido de la comunicación sea más difícil de leer | Dificulta que terceros en tránsito entiendan el contenido de los datos |
| Integridad | Hace más fácil detectar alteraciones del contenido de la comunicación | Permite detectar si los datos se reescriben en tránsito |
| Autenticación | Verifica el destino de conexión | Usa 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.
| Elemento | HTTP | HTTPS |
|---|---|---|
| Contenido de la comunicación | Enviado en texto claro | Protegido por TLS |
| Resistencia a escuchas | Baja | Alta |
| Detección de alteración | Débil | Más fácil de detectar mediante TLS |
| Verificación de destino | Básicamente débil | Verificado con un certificado de servidor |
| Estructura principal | HTTP | HTTP 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ón | Protección por TLS | Explicación |
|---|---|---|
| Cuerpo de la página | Protegido | El HTML y el contenido devuelto por el servidor son más difíciles de leer en tránsito |
| Contenido introducido en formularios | Protegido | Información de inicio de sesión, consultas y datos similares se cifran |
| Encabezados HTTP | Protegidos | Encabezados HTTP como y User-Agent se envían dentro de TLS |
| Valores de Cookie | Protegidos | El contenido de las cookies es más difícil de leer en tránsito |
| Ruta y consulta de URL | Protegidas | La 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ón | TLS la oculta? | Explicación |
|---|---|---|
| Cuerpo de la página | Mayormente oculto en tránsito | Protegido por TLS como contenido de respuesta HTTP |
| Contenido introducido en formularios | Mayormente oculto en tránsito | Protegido por TLS como cuerpo de una solicitud HTTP |
| Valores de Cookie | Mayormente ocultos en tránsito | Protegidos por TLS como encabezados HTTP |
| Ruta y consulta de URL | Mayormente ocultas en tránsito | Protegidas por TLS como contenido de una solicitud HTTP |
| Dirección IP de destino | No oculta | Necesaria para entregar paquetes al destino de comunicación |
| Dirección IP de origen | No oculta | Visible para servidores y destinos de retransmisión |
| Parte de la información durante la conexión TLS, como SNI | Puede ser visible según el entorno | En entornos donde no se usan mecanismos como ECH, puede convertirse en una pista del nombre de dominio de destino |
| Consultas DNS | Permanecen como un problema separado | Con DNS ordinario, los dominios consultados pueden ser visibles |
| Volumen de tráfico | No oculto | Puede observarse la cantidad de datos enviados y recibidos |
| Momento de comunicación | No oculto | Puede 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.
| Elemento | TLS puede resolverlo? | Razón |
|---|---|---|
| Escuchas en tránsito | Más fácil de resolver | El contenido de la comunicación está cifrado |
| Alteración en tránsito | Más fácil de resolver | Existe un mecanismo para detectar alteración |
| Visualización por el servidor de destino | No resuelto | El servidor debe procesar el contenido de la comunicación |
| Ocultar la dirección IP de origen | No resuelto | El lado del servidor puede ver la IP de origen |
| Identificación por cookies | No resuelto | Las cookies son usadas por el lado del servidor para identificar personas usuarias |
| Vinculación con la persona mediante inicio de sesión | No resuelto | Las 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.
| Perspectiva | Propósito principal | Relación con TLS |
|---|---|---|
| Cifrado | Hace que el contenido de la comunicación sea más difícil de leer para terceros | Rol central de TLS |
| Integridad | Detecta alteración durante la comunicación | Rol importante de TLS |
| Autenticación de destino | Comprueba si el servidor tiene un certificado válido | Rol importante de TLS |
| Anonimización | Hace más difícil entender personas usuarias y relaciones de conexión | No puede lograrse solo con TLS |
| Prevención de seguimiento | Reduce identificación por cookies y cuentas | Requiere 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.