¿Están cifrados los encabezados HTTPS?

Resuelto Dan Herbert asked hace 15 años • 9 respuestas

Cuando envío datos a través de HTTPS, sé que el contenido está cifrado, sin embargo, escucho respuestas mixtas sobre si los encabezados están cifrados o qué parte del encabezado está cifrado.

¿ Cuántos encabezados HTTPS están cifrados?

Incluyendo URL de solicitud GET/POST, cookies, etc.

Dan Herbert avatar Oct 09 '08 22:10 Dan Herbert
Aceptado

Todos los encabezados HTTP están cifrados . Es por eso que SSL en vhosts no funciona muy bien: necesita una dirección IP dedicada porque el encabezado del Host está cifrado.

El estándar de identificación de nombre de servidor (SNI) significa que es posible que el nombre de host no esté cifrado si utiliza TLS. Además, ya sea que esté utilizando SNI o no, los encabezados TCP e IP nunca están cifrados. (Si lo fueran, sus paquetes no serían enrutables).

Greg avatar Oct 09 '2008 15:10 Greg

Los encabezados están completamente cifrados. La única información que circula por la red "claramente" está relacionada con la configuración SSL y el intercambio de claves D/H. Este intercambio está cuidadosamente diseñado para no proporcionar ninguna información útil a los espías y, una vez que ha tenido lugar, todos los datos se cifran.

mdb avatar Oct 09 '2008 15:10 mdb

Nueva respuesta a una vieja pregunta, lo siento. Pensé en agregar mis $.02

El OP preguntó si los encabezados estaban cifrados.

Están: en tránsito.

NO lo son: cuando no están en tránsito.

Por lo tanto, la URL de su navegador (y el título, en algunos casos) puede mostrar la cadena de consulta (que generalmente contiene los detalles más confidenciales) y algunos detalles en el encabezado; el navegador conoce cierta información del encabezado (tipo de contenido, Unicode, etc.); y el historial del navegador, la administración de contraseñas, los favoritos/marcadores y las páginas almacenadas en caché contendrán la cadena de consulta. Los registros del servidor en el extremo remoto también pueden contener cadenas de consulta, así como algunos detalles de contenido.

Además, la URL no siempre es segura: el dominio, el protocolo y el puerto son visibles; de lo contrario, los enrutadores no saben dónde enviar sus solicitudes.

Además, si tiene un proxy HTTP, el servidor proxy conoce la dirección, normalmente no conoce la cadena de consulta completa.

Entonces, si los datos se mueven, generalmente están protegidos. Si no está en tránsito, no está cifrado.

No es por ser quisquilloso, pero los datos al final también se descifran y se pueden analizar, leer, guardar, reenviar o descartar a voluntad. Además, el malware en cualquier extremo puede tomar instantáneas de los datos que ingresan (o salen) del protocolo SSL, como por ejemplo Javascript (malo) dentro de una página dentro de HTTPS que puede realizar subrepticiamente llamadas http (o https) a sitios web de registro (ya que el acceso al disco duro local a menudo está restringido y no es útil).

Además, las cookies tampoco están cifradas bajo el protocolo HTTPS. Los desarrolladores que quieran almacenar datos confidenciales en cookies (o en cualquier otro lugar) deben utilizar su propio mecanismo de cifrado.

En cuanto al caché, la mayoría de los navegadores modernos no almacenan en caché las páginas HTTPS, pero ese hecho no está definido por el protocolo HTTPS; depende completamente del desarrollador de un navegador asegurarse de no almacenar en caché las páginas recibidas a través de HTTPS.

Entonces, si le preocupa el rastreo de paquetes, probablemente esté bien. Pero si le preocupa el malware o que alguien esté hurgando en su historial, marcadores, cookies o caché, todavía no está fuera del agua.

Andrew Jay avatar Jul 22 '2015 13:07 Andrew Jay

La versión 1.1 de HTTP agregó un método HTTP especial, CONNECT, destinado a crear el túnel SSL, incluido el protocolo de enlace y la configuración criptográfica necesarios.
A partir de entonces, todas las solicitudes regulares se envían envueltas en el túnel SSL, incluidos los encabezados y el cuerpo.

AviD avatar Oct 09 '2008 22:10 AviD

HTTPS (HTTP sobre SSL) envía todo el contenido HTTP a través de un túnel SSL, por lo que el contenido y los encabezados HTTP también están cifrados.

Christian C. Salvadó avatar Oct 09 '2008 15:10 Christian C. Salvadó