¿La URL puede ser leída por terceros al navegar a través de HTTPS?

32

Todos sabemos que HTTPS cifra la conexión entre la computadora y el servidor para que no pueda ser vista por un tercero. Sin embargo, ¿puede el ISP o un tercero ver el enlace exacto de la página a la que accedió el usuario?

Por ejemplo, yo visito

https://www.website.com/data/abc.html

¿Sabrá el ISP que accedí a * / data / abc.html o simplemente sabré que visité la IP de www.website.com?

Si lo saben, ¿por qué Wikipedia y Google tienen HTTPS cuando alguien puede leer los registros de Internet y averiguar el contenido exacto que vio el usuario?

Anonymous
fuente
7
Consejo: si no registra su cuenta, visite este sitio desde varias direcciones IP y no guarde su cookie, la participación en el Superusuario será un poco ... fragmentada, lo que significa que ni siquiera puede aceptar respuestas en sus propias publicaciones. , o añadir comentarios. Le sugiero que registre una cuenta aquí.
slhck

Respuestas:

48

De izquierda a derecha:

los esquema https: Es, obviamente, interpretado por el navegador.

los nombre de dominio www.website.com Se resuelve a una dirección IP usando DNS. Su ISP veremos la solicitud de DNS para este dominio, y la respuesta.

los camino /data/abc.html Se envía en la solicitud HTTP. Si utiliza HTTPS, será encriptado junto con el resto de la solicitud y respuesta HTTP.

los cadena de consulta ?this=that, si está presente en la URL, se envía en la solicitud HTTP, junto con la ruta. Así que también está encriptado.

los fragmento #there, si está presente, no se envía a ninguna parte, se interpreta por el navegador (a veces por JavaScript en la página devuelta).

grawity
fuente
3
Olvidó que los navegadores modernos que admiten SNI anuncian el nombre de host en texto sin formato incluso para solicitudes HTTPS.
Monstieur
9
@Kurian: Lo que importa poco, ya que el nombre de host ya está "anunciado" por DNS.
grawity
2
@Kurian: la dirección IP podría Ser adquirido por otros medios, pero en la práctica rara vez lo es. Y mirando un solo protocolo de forma aislada sin tener en cuenta cómo es actualmente Usado es propenso a perder las partes importantes.
Joachim Sauer
No sé si Tor usa el mismo nodo de salida para resolver nombres y establecer la conexión HTTPS real, o diferentes. Si usa nodos separados, entonces sigue siendo el único lugar donde SNI importaría.
grawity
13

El ISP solo sabrá que visitó la dirección IP asociada con www.website.com (y tal vez la URL si está usando su DNS y ellos están buscando específicamente el tráfico, si la consulta de DNS no pasa, no lo verán).

(Ten un poco de paciencia, llego a la respuesta).

La forma en que funciona el protocolo HTTP es mediante la conexión a un puerto (generalmente el puerto 80) y luego el navegador web comunica qué página desea al servidor: una simple solicitud para buscar http://www.sitename.com/url/of/site.html Tendría las siguientes líneas:

GET /url/of/site.html HTTP/1.1
host: www.sitename.com

HTTPS hace exactamente lo mismo, excepto en el puerto 443: y envuelve la sesión TCP completa (es decir, todo lo que se ve en el bit indicado más la respuesta) en una sesión cifrada con SSL, por lo que el ISP no ve nada del tráfico (pero es posible que puedan inferir algo según el tamaño del sitio, y la búsqueda de DNS para resolver www.sitename.com a una dirección IP en la primera instancia).

Por supuesto, si hay "errores web" incrustados en la página, esto puede dar a los "socios" de los distribuidores de información sugerencias sobre lo que está viendo y quién es usted. De la misma manera, si se rompe su cadena de confianza, un ISP puede actuar. Un ataque de hombre en el medio. La razón por la que puede tener un cifrado privado de extremo a extremo, en teoría, se debe a los certificados de CA distribuidos con su navegador. Si un ISP o gobierno puede agregar un certificado de CA o comprometer a una CA, y ambos han sucedido en el pasado, usted pierde su seguridad. Creo que el Gran Cortafuegos de China efectúa ataques de Man-In-The-Middle para leer datos HTTPS, pero ha pasado un tiempo desde que estuve allí.

Puede probarlo fácilmente con una sola pieza de software que detectará el tráfico que ingresa y sale de su computadora. Creo que un software gratuito llamado Wireshark lo hará por usted.

davidgo
fuente
0

No estoy seguro de si esto es un comentario o una respuesta que valga la pena, pero me gustaría compartir un apéndice.

Las respuestas aquí muestran qué debería ocurrir. La pregunta es puede la url se lea. La respuesta es sí, aunque es relativamente poco probable.

Un atacante (tercero) puede interceptar absolutamente su tráfico https y leer todas sus solicitudes en casos específicos. Para saber más, te invité a leer. MITM tanto como SSLStrip . Puedo entrar en esto más si es necesario para la comprensión.

No debe esperar que su ISP haga esto tanto porque es una pérdida de su ancho de banda, sino también porque tienen más que perder si tuviera que averiguarlo y demandar. Sin embargo, la respuesta más precisa a su pregunta ¿Se puede hacer esto? es sí, aunque es poco probable que a alguien le importe lo suficiente como para ver lo que está buscando en Google o en wiki.

tophersmith116
fuente