
Firefox fue el primer navegador en implementar el
cifrado de indicación de nombre de servidor (SNI) TLS . El soporte de ESNI se
introdujo en la última versión de Firefox Nightly, en la que se incorporan todas las innovaciones antes de agregarlas a la rama principal.
La importancia de este estándar fue
discutida hace un mes por el proveedor de CloudFare CDN. En resumen, ESNI cifra la información sobre a qué dominio está enviando la solicitud. En HTTPS estándar, los encabezados con nombres de dominio no están encriptados y están disponibles para que los vea el proveedor u otra "persona en el medio". Ahora solo ve la dirección IP. Dado que cientos de dominios se pueden ubicar en la misma dirección IP en Internet moderno, ESNI oculta efectivamente la información sobre el dominio en el que el usuario inicia sesión.
Por lo tanto, el bloqueo por nombre deja de funcionar y la censura de Internet se vuelve muy complicada. Los censores tendrán que bloquear las direcciones IP, lo cual es una práctica dudosa. Tal bloqueo puede afectar a sitios no relacionados, y un servicio bloqueado puede cambiar fácilmente (automáticamente) a otra dirección IP.
¿Por qué brillan los nombres de host en un SNI TLS normal? El hecho es que antes de comenzar el cifrado, el servidor necesita saber a qué dominio está accediendo el cliente para poder presentar el certificado necesario. Por esta razón, el nombre de host se transmite en texto plano (debajo de la ilustración
del blog Cloudflare ).

En SNI cifrado (ESNI), este problema se resuelve de la siguiente manera: el cliente toma la clave pública del servidor del DNS y cifra todos los datos con ella hasta que se establece la sesión TLS.

La compatibilidad del navegador para Firefox Nightly significa que ESNI funcionará con todos los sitios / proveedores que lo admitan.
Los desarrolladores de Mozilla
explican que hay cuatro formas principales de filtrar su historial de navegación:
- Mensaje de certificado TLS
- Resolución de nombre DNS
- Dirección IP del servidor
- Indicación del nombre del servidor TLS.
Hasta la fecha, han realizado un buen progreso en el cierre de los dos primeros canales de fuga: el nuevo estándar TLS 1.3 encripta el certificado del servidor predeterminado (canal 1), y en los últimos meses, Mozilla ha estado
estudiando el uso de DNS sobre HTTPS para proteger el tráfico DNS (canal 2). Los resultados de la prueba no son malos, y en los próximos meses la función se implementará para todos los usuarios de Firefox. Una dirección IP sigue siendo un problema, pero en muchos casos varios sitios comparten la misma dirección IP, por lo que el canal de fuga principal es SNI.
En un momento, la tecnología de Indicación de Nombre de Servidor (SNI) comenzó a usarse precisamente porque varios hosts están ubicados en la misma dirección IP. En este caso, el campo SNI le dice al servidor a qué host está intentando conectarse, permitiéndole seleccionar el certificado correcto. En otras palabras, SNI ayuda a garantizar el funcionamiento del alojamiento TLS a gran escala. Es decir, esta función se introdujo en aras de la seguridad, y ahora tenemos que tratarla como un canal de fuga de datos.
El problema de SNI era conocido desde hace mucho tiempo, escriben los desarrolladores de Mozilla, y estaba claro que este campo necesitaba ser encriptado. Pero cada diseño que probaron incluía un compromiso en el rendimiento. Había otro inconveniente importante: el hecho de que un sitio en particular se cambiara a ESNI era una señal de que "tenía algo que ocultar", es decir, los censores tenían la oportunidad de filtrar trivialmente el tráfico por ESNI. Al final, se decidió lanzar el estándar TLS 1.3 sin ESNI.
Solo a principios de 2018, los desarrolladores se dieron cuenta de que había una opción bastante buena: las grandes redes de distribución de contenido (CDN) alojan muchos sitios en los mismos servidores físicos. Si aceptan transferir
todos los clientes a ESNI a la
vez , de repente ESNI deja de ser una señal útil para un atacante. Por lo tanto, se hizo posible implementar ESNI en TLS 1.3, personalizando en masa muchos sitios en un conjunto existente de servidores.
ESNI es una tecnología completamente nueva, y Firefox es el primer navegador en implementarlo. Para activarlo en Firefox Nightly, debe completar los siguientes pasos:
- Asegúrese de haber habilitado DNS sobre HTTPS (DoH):
about:config
- establezca
network.trr.mode
en 2

- configure
network.trr.uri
en el servidor DoH (por ejemplo, https://mozilla.cloudflare-dns.com/dns-query
).

about:config
- establecer
network.security.esni.enabled
en true

Esto debería habilitar automáticamente ESNI para cualquier sitio que lo admita. Por el momento, de los grandes servidores y CDN, esto es solo Cloudflare, pero los desarrolladores de Firefox esperan que otros proveedores se conecten pronto. Puede verificar el cifrado mediante
este enlace .

En los próximos meses, Mozilla probará cómo ESNI interactúa con diferentes tipos de firewall y otros dispositivos de red. Si activó el cifrado y algo se rompió,
informe a los desarrolladores a través del rastreador de errores.

