Learn

284 artículosCategoría: Todo
Red

Diferencia entre HTTP y HTTPS

Cuando abres un sitio web, el navegador y el servidor intercambian datos.

El mecanismo básico usado para este intercambio web es HTTP. Y el mecanismo para realizar comunicación HTTP de forma segura es HTTPS.

HTTPS no es simplemente "un mecanismo para cifrar el contenido de la comunicación". Lo importante es que facilita prevenir escuchas, alteraciones y suplantación por terceros a lo largo de la ruta de comunicación.

Por eso, los siguientes tres puntos son especialmente importantes en HTTPS.

  • Hacer que el contenido de la comunicación sea más difícil de leer en tránsito
  • Hacer que el contenido de la comunicación sea más difícil de alterar en tránsito
  • Facilitar la confirmación de que la parte con la que te comunicas es la parte prevista

En otras palabras, HTTPS es un mecanismo muy importante como medida contra ataques de intermediario.

Sin embargo, HTTPS no es tecnología de anonimización. Aunque se use HTTPS, el acceso sigue llegando al sitio web de destino. Además, la dirección IP de origen, cookies, estado de inicio de sesión, logs de acceso e información similar siguen siendo problemas separados.

Este artículo ordena la diferencia entre HTTP y HTTPS, qué protege HTTPS y qué puede seguir siendo visible incluso con HTTPS.

Qué es HTTP

HTTP es un protocolo de comunicación para intercambiar datos en la web.

Cuando abres un sitio web en un navegador, el navegador envía una solicitud al servidor. Por ejemplo, solicita cosas como "envía el HTML de esta página" o "quiero recuperar esta imagen".

El servidor devuelve datos como HTML, imágenes, CSS y JavaScript en respuesta a esa solicitud.

HTTP es el mecanismo usado para este tipo de intercambio de solicitud y respuesta entre navegador y servidor.

HTTP en sí es fundamental para la comunicación web. Sin embargo, HTTP por sí solo no tiene un mecanismo para proteger el contenido de la comunicación.

Con HTTP, el contenido de la comunicación no está cifrado. Por eso, una tercera parte en la ruta de comunicación puede llegar a leer el contenido, reescribirlo o actuar como contraparte falsa.

Debilidad de HTTPDescripción
Débil frente a escuchasComo el contenido de la comunicación no está cifrado, existe el riesgo de que pueda leerse en tránsito
Débil frente a alteraciónEl contenido de la página o el contenido enviado puede reescribirse durante la comunicación
Débil frente a suplantaciónEs difícil confirmar que la contraparte de comunicación sea realmente el servidor previsto

Por ejemplo, si envías una contraseña mediante un formulario de inicio de sesión HTTP, esa contraseña puede verse durante la comunicación. También existe el riesgo de que el contenido de una página cargada por HTTP se reescriba en tránsito y se inserte un formulario falso o un script malicioso.

HTTP es la base de la comunicación web, pero tal como está tiene problemas de seguridad importantes.

Qué es HTTPS

HTTPS es un mecanismo para transportar comunicación HTTP dentro de un canal de comunicación seguro.

Con más precisión, HTTPS usa HTTP sobre una capa de comunicación segura llamada TLS. Este artículo no cubre el mecanismo detallado de TLS, pero para entender HTTPS lo más fácil es pensarlo como "proteger el contenido de la comunicación HTTP con TLS".

Los siguientes tres puntos son importantes en HTTPS.

ElementoRolDescripción
CifradoHacer que el contenido de la comunicación sea más difícil de leerEvita que un tercero en tránsito lea contraseñas o contenido de formularios tal cual
Detección de alteraciónHacer posible notar reescrituras del contenido de comunicaciónSi los datos cambian en tránsito, dificulta aceptarlos como comunicación válida
Verificación de la contraparte de comunicaciónConfirmar si te comunicas con la parte previstaUsa certificados y mecanismos similares para confirmar que el servidor de destino es legítimo

La fortaleza de HTTPS es que combina estos tres elementos.

El cifrado por sí solo no basta. Por ejemplo, aunque el contenido de la comunicación esté cifrado, si una persona atacante puede actuar como servidor falso y hacer que la persona usuaria se conecte a ese servidor falso, no puede llamarse seguro.

Por eso, HTTPS usa mecanismos no solo para proteger el contenido de la comunicación, sino también para confirmar que la parte con la que se comunica es el sitio web previsto.

Diferencia entre HTTP y HTTPS

La diferencia entre HTTP y HTTPS no es solo la diferencia visible de si la URL es http[:]// o https[:]//.

Con HTTP, la comunicación entre navegador y servidor no está protegida. Con HTTPS, se crea un canal de comunicación seguro entre navegador y servidor, y los intercambios HTTP ocurren dentro de él.

ElementoHTTPHTTPS
Inicio de URLhttp[:]//https[:]//
Cifrado del contenido de comunicaciónNo cifradoCifrado
Protección contra escuchas del contenido de comunicaciónDébilFuerte
Protección contra alteración del contenido de comunicaciónDébilAlteración más fácil de detectar
Verificación de la contraparte de comunicaciónBásicamente débilUsa certificados y mecanismos similares para verificar
Resistencia a ataques de intermediarioBajaAlta
AnonimizaciónNo proporcionadaNo proporcionada

Entender HTTPS como "HTTP con cifrado añadido" es un poco insuficiente. Con más precisión, es un mecanismo que envuelve la comunicación HTTP en un canal de comunicación seguro y dificulta escuchas, alteraciones y suplantación.

Qué es un ataque de intermediario

Un ataque de intermediario es un ataque en el que una tercera parte se inserta entre el navegador y el servidor, y luego escucha la comunicación, la reescribe o actúa como contraparte falsa.

Aunque la persona usuaria crea que accede al sitio web real, una persona atacante en medio de la comunicación puede estar viendo el contenido. También puede reescribir el contenido de la comunicación e insertar un formulario falso de inicio de sesión o código malicioso.

HTTP es débil frente a este tipo de ataque.

Con HTTPS, el contenido de la comunicación está cifrado, la alteración se detecta y la contraparte de comunicación se verifica. Esto dificulta que un ataque de intermediario tenga éxito.

Qué quiere hacer la persona atacanteCon HTTPCon HTTPS
Leer el contenido de comunicaciónExiste el riesgo de que pueda leerseEs difícil leerlo como texto claro
Robar una contraseña mediante escuchaRiesgo altoMás difícil de escuchar durante la comunicación
Reescribir contenido de páginaExiste el riesgo de que pueda reescribirseLa alteración es más fácil de detectar
Hacer que la persona usuaria se conecte a un servidor falsoDifícil de notar para la persona usuariaMás fácil de prevenir mediante verificación de certificado
Suplantar la contraparte de comunicaciónRelativamente fácilDifícil sin un certificado legítimo

Esta es la esencia de HTTPS.

No solo importa que "el contenido de la comunicación esté cifrado", sino también que pueda confirmar "si el contenido fue reescrito en tránsito" y "si la parte con la que se comunica es la parte prevista".

Qué protege HTTPS

Lo principal que HTTPS protege es el contenido de comunicación HTTP que fluye entre navegador y servidor.

Por ejemplo, HTTPS hace que los siguientes tipos de información sean más difíciles de leer durante la comunicación.

Elemento protegidoDescripción
ContraseñaUna contraseña introducida en un formulario de inicio de sesión se vuelve más difícil de leer en tránsito
Contenido introducido en formulariosNombres, direcciones de correo, contenido de consultas y similares se vuelven más difíciles de leer en tránsito
Contenido de páginaEl contenido mostrado de la página se vuelve más difícil de leer o alterar en tránsito
Contenido de solicitudEl contenido enviado desde el navegador al servidor es más fácil de proteger
Contenido de respuestaEl contenido devuelto del servidor al navegador es más fácil de proteger
Las cookies enviadas y recibidas durante la comunicación se vuelven más difíciles de escuchar en tránsito

Las contraseñas y cookies son especialmente importantes.

Las cookies pueden usarse para mantener estado de inicio de sesión o identificar personas usuarias. Si una cookie se roba durante la comunicación, en algunos casos existe el riesgo de que alguien pueda acceder al sitio suplantando a la persona usuaria.

Con HTTPS, las cookies también se envían dentro del canal de comunicación cifrado, por lo que se vuelven más difíciles de escuchar durante la comunicación.

Sin embargo, usar HTTPS no resuelve todos los problemas relacionados con cookies. Cómo se almacenan las cookies, la configuración del lado del sitio, el entorno del navegador, la seguridad del dispositivo y cuestiones similares siguen siendo problemas separados.

Incluso con HTTPS, el contenido llega al servidor de destino

HTTPS protege el contenido frente a terceros en tránsito. No es un mecanismo para ocultar el contenido al sitio web de destino.

Por ejemplo, si introduces una contraseña en un formulario de inicio de sesión HTTPS, la contraseña se vuelve más difícil de leer en tránsito. Sin embargo, esa información llega al servidor del sitio web que realiza el proceso de inicio de sesión.

Esto es natural. Para que el servidor realice el procesamiento de inicio de sesión, debe recibir la información enviada.

El alcance protegido por HTTPS es principalmente la ruta de comunicación.

ObjetivoRol de HTTPSDescripción
Terceros en tránsitoDefensa fuerte contra ellosDificulta escuchas, alteraciones y suplantación
Servidor de destinoContraparte de comunicaciónEl contenido de la solicitud llega al servidor
Dirección IP de la persona usuariaNo se oculta directamenteHTTPS por sí solo no oculta la dirección IP de origen
Cuenta con sesión iniciadaNo se oculta directamenteLas acciones con sesión iniciada se conectan con la cuenta

En otras palabras, HTTPS es "un mecanismo para prevenir escuchas y alteraciones en medio". No es "un mecanismo para ocultar tu información al destino".

Qué puede seguir siendo visible incluso con HTTPS

Aunque se use HTTPS, no toda la información queda oculta.

El contenido de la comunicación está protegido. Sin embargo, la información sobre el origen del acceso, la información sobre el destino y la información recibida por el lado del sitio web son asuntos separados.

InformaciónParte que puede verlaDescripción
Dirección IP de origenServidor de destino y partes similaresEl lado del sitio web puede entender qué dirección IP accedió
Hora de accesoServidor de destino y partes similaresCuándo ocurrió el acceso puede registrarse como log
Contenido de la solicitudServidor de destinoIncluso con HTTPS, el contenido llega al servidor de destino
CookieSitio web de destinoPuede usarse para identificar a la misma persona usuaria o navegador
Estado de inicio de sesiónSitio web de destinoSi hay sesión iniciada, las acciones se conectan con la cuenta
Logs de accesoSitio web de destinoPuede registrarse qué páginas se vieron y qué operaciones se realizaron
Información del navegadorSitio web de destinoPuede enviarse información como User-Agent
Información sobre el destinoDepende del entorno de comunicaciónAunque el contenido esté cifrado, en algunos casos puede inferirse a qué sitio se conecta

El punto importante aquí es separar "contenido de la comunicación" del "hecho de la comunicación".

HTTPS protege el contenido de la comunicación. Sin embargo, no oculta automáticamente información como desde qué dirección IP llegó el acceso, cuándo ocurrió el acceso o qué cuenta tiene sesión iniciada.

Además, con HTTPS, la URL completa no siempre es plenamente visible para terceros. Las rutas de página, el contenido de formularios y datos similares están protegidos como contenido de comunicación. En cambio, la información relacionada con el nombre de dominio de destino puede ser visible según el entorno de comunicación.

Por esta razón, usar HTTPS no significa que desaparezcan los rastros de acceso ni la información identificativa.

HTTPS no es tecnología de anonimización

HTTPS no es tecnología de anonimización.

Los propósitos principales de HTTPS son los siguientes tres puntos.

  • Hacer que el contenido de la comunicación sea más difícil de leer en tránsito
  • Hacer que el contenido de la comunicación sea más difícil de alterar en tránsito
  • Facilitar la confirmación de que la contraparte de comunicación es la parte prevista

Esto es distinto de la anonimización.

Al pensar en anonimato, es necesario separar "si el contenido de la comunicación está protegido" de "si la persona que accedió queda oculta".

HTTPS se relaciona fuertemente con lo primero. Sin embargo, no resuelve directamente lo segundo.

PerspectivaHTTPS puede resolverlo?Descripción
Protección contra escuchas del contenido de comunicaciónFuerte en la ruta de comunicaciónHace que el contenido sea más difícil de leer en tránsito
Protección contra alteración del contenido de comunicaciónFuerte en la ruta de comunicaciónHace que el contenido sea más difícil de reescribir en tránsito
Verificación de contraparte de comunicaciónUsa certificados y mecanismos similares para verificar el destino
Ocultar la dirección IPNoHTTPS por sí solo no oculta la dirección IP de origen
Identificación mediante cookiesNoLa identificación del lado del sitio web sigue siendo un asunto separado
Ocultar estado de inicio de sesiónNoLas acciones con sesión iniciada se conectan con la cuenta
Eliminación de logs de accesoNoEl almacenamiento de logs del lado del sitio web es separado de HTTPS

La idea de que "HTTPS significa anonimato" es incorrecta.

HTTPS es una tecnología para hacer la comunicación más segura. No es una tecnología para crear anonimato.

Perspectivas para entender HTTPS correctamente

Para entender HTTPS correctamente, hay que separar a quién se protege, qué se protege y frente a quién.

El objetivo principal frente al que protege HTTPS son terceros en la ruta de comunicación.

Por ejemplo, facilita prevenir que una tercera parte en el mismo Wi-Fi, equipos en la ruta de comunicación o un intermediario malicioso escuche el contenido de la comunicación, lo altere o actúe como contraparte falsa.

En cambio, el sitio web de destino es la contraparte final de la comunicación. Por esa razón, el contenido que envías llega al lado del sitio web.

ParteQué facilita prevenir HTTPSQué no puede prevenir HTTPS
Tercero en tránsitoEscuchas, alteración, suplantaciónCompromiso del propio dispositivo
Sitio web de destinoFuga durante la comunicaciónRegistro de logs del lado del sitio e identificación de cuenta
Personas usuarias en el mismo Wi-FiEscucha del contenido de comunicaciónLa inferencia de destinos de acceso no necesariamente desaparece por completo
Servidor falsoMás fácil de detectar sin un certificado legítimoRiesgo si la persona usuaria ignora advertencias

HTTPS es un mecanismo muy potente, pero no es universal.

Por ejemplo, si el navegador muestra una advertencia de certificado y la persona usuaria la ignora y continúa, la seguridad proporcionada por HTTPS cae de forma significativa. Además, si el propio dispositivo está infectado con malware, el contenido introducido puede robarse del lado del dispositivo aunque se use HTTPS para la comunicación.

HTTPS proporciona una defensa fuerte frente a escuchas, alteración y suplantación en la red. Sin embargo, seguridad del dispositivo, gestión del lado del sitio web, manejo de cuentas, cookies, logs y cuestiones similares deben considerarse por separado.

Resumen

HTTP es el mecanismo básico para intercambiar datos en la web. Sin embargo, con HTTP solo, el contenido de la comunicación no está cifrado, y existe riesgo de escuchas o alteración durante la comunicación.

HTTPS es un mecanismo para realizar comunicación HTTP dentro de un canal de comunicación seguro.

Los roles importantes de HTTPS son los siguientes tres puntos.

  • Hacer que el contenido de la comunicación sea más difícil de leer en tránsito
  • Hacer que el contenido de la comunicación sea más difícil de alterar en tránsito
  • Facilitar la confirmación de que la parte con la que te comunicas es la parte prevista

Por eso, HTTPS es muy importante como medida contra ataques de intermediario.

Sin embargo, HTTPS no es tecnología de anonimización. Aunque se use HTTPS, las solicitudes llegan al sitio web de destino. Además, la dirección IP de origen, cookies, estado de inicio de sesión, logs de acceso e información similar siguen siendo problemas separados.

HTTPS es una tecnología para hacer la comunicación más segura. Es especialmente importante para prevenir escuchas, alteración y suplantación en la ruta de comunicación.

Sin embargo, no es una tecnología para ocultar quién accedió.

Al pensar en anonimato, hay que separar el alcance que HTTPS protege del alcance que HTTPS no protege. HTTPS es una premisa importante, pero HTTPS por sí solo no establece anonimato.

Artículos relacionados