
En primer lugar, lamento mi mal inglés. Todavía lo estoy aprendiendo. Aquí va:
Cuando alojo un único sitio web por dirección IP, puedo usar SSL "puro" (sin SNI), y el intercambio de claves se produce incluso antes de que el usuario me diga el nombre de host y la ruta que desea recuperar. Después del intercambio de claves, todos los datos se pueden intercambiar de forma segura. Dicho esto, si alguien husmea la red, no se filtra ninguna información confidencial* (ver nota al pie).
Por otro lado, si alojo varios sitios web por dirección IP, probablemente usaré SNI y, por lo tanto, el visitante de mi sitio web debe indicarme el nombre del host de destino antes de que pueda proporcionarle el certificado correcto. En este caso, alguien que husmee su red puede rastrear todos los dominios del sitio web al que accede.
¿Hay algún error en mis suposiciones? Si no es así, ¿no representa esto un problema de privacidad, suponiendo que el usuario también esté utilizando DNS cifrado?
Nota al pie: También me doy cuenta de que un rastreador podría hacer una búsqueda inversa de la dirección IP y descubrir qué sitios web fueron visitados, pero el nombre de host que viaja en texto sin formato a través de los cables de red parece facilitar el bloqueo de dominios basado en palabras clave para las autoridades de censura.
Respuesta1
Tu análisis es incorrecto. Estás más seguro con SNI que sin él.
Sin SNI, la dirección IP identifica de forma única al host. Por lo tanto, cualquiera que pueda determinar la dirección IP puede determinar el host.
Con SNI, la dirección IP no identifica de forma única al host. Alguien tendría que interceptar y ver parte del tráfico para determinar el host exacto. Esto es más difícil que simplemente obtener la dirección IP.
Entonces estás (ligeramente) más seguro con SNI que sin él.
Cualquiera que vaya a bloquear basándose en un análisis intrusivo de paquetes de datos también bloqueará basándose en la dirección IP. Bloquearán a los "malos" según la dirección IP con o sin SNI.
Sin embargo, la respuesta a tu pregunta es "sí". SNI representa una preocupación de privacidad. Con SNI, alguien que pueda interceptar el tráfico obtiene el nombre del host además de la dirección IP.
Respuesta2
Tienes razón. SNI es una importante preocupación de privacidad para sus visitantes: expone los sitios web exactos con los que se conectan sus visitantes a su ISP y otras partes que escuchan pasivamente. Pero también lo hace el DNS... bueno... solía: Google está arreglando esto:-
https://thehackernews.com/2017/10/android-dns-over-tls.html
Conocer una dirección IP NO le dice al ISP qué sitio web se encuentra en esa dirección IP, a menos que salgan activamente y busquen ellos mismos, lo cual es algo muy diferente a olfatear pasivamente los paquetes de los clientes.
Respuesta3
Tienes razón en que esto representa un posible problema de privacidad: al utilizar SNI, el nombre de dominio se envía sin cifrar.
Es por esoESNI(SNI cifrado) fue propuesto desde entonces por Cloudflare, quien ya lo implementó en su CDN. En el momento de escribir este artículo, la compatibilidad con el navegador es casi nula, ¡pero esto parece ser el futuro!