¿Qué es el protocolo ECH y cómo agrega más privacidad a tu navegación web?

ECH (Encrypted Client Hello) y cómo evita el bloqueo de webs

ECH (siglas de Encrypted Client Hello) es una extensión del protocolo TLS (Transport Layer Security), con el que funcionan las webs HTTPS y que viene a solucionar el grave problema de privacidad que supone, aunque no lo parezca, que el navegador indique dentro del campo SNI (Server Name Indication) en texto plano el nombre del dominio al que se quiere acceder, lo cual lo hace visible a la vista terceros que pudieran intervenir en la comunicación. Dicho problema es aprovechado por los sistemas de filtrado de contenidos, para así averiguar el dominio al que accedemos y aplicar bloqueos selectivos.

Con ECH, el mensaje ClientHello que incluye el SNI y otros parámetros para establecer la comunicación de un navegador con un servidor web, viaja cifrado, dejando fuera de juego a los filtros DPI (Deep Packet Inspection). Este tipo de equipos es utilizado por los proveedores de internet, para bloquear el acceso a webs ilegales, aunque no hay que olvidar que en numerosas ocasiones su funcionamiento interfiere también en el acceso a webs legítimas como pudieran ser:

  • Twitch.tv, bloqueado en España por el filtro de webs ilegales de las operadoras.
  • MásMóvil, que bloquea TinyURL como una nueva metedura de pata en la aplicación del filtro de webs antipirateria.
  • El filtro de webs ilegales de Orange, que la vuelve a liar bloqueando Twitch.
  • Telefónica y LaLiga, bloqueando AceStream, el popular reproductor totalmente legal y basado en VLC.
  • El sistema de filtrado de webs ilegales de Telefónica, que continúa bloqueando webs legítimas.

Para que ECH funcione, debe soportarlo tanto el navegador como el servidor. Aunque ECH sigue siendo un estándar en desarrollo, los principales navegadores ya lo soportan. Por ejemplo, Cloudflare lo ha activado en toda su red, por lo que de repente un gran número de webs ya pueden beneficiarse de las mejoras que aporta a la privacidad.

Pese a lo podamos saber sobre Google, lo cierto es que ha venido peleando desde hace muchos años para que las páginas que se indexan sean seguras. En primer lugar, fomentando la adopción del protocolo HTPPS, para después implantar el protocolo criptográfico TLS. Aunque este último tiene algún punto débil, razón por la que entra en escena el protocolo ECH.

Aunque la web actual ya está suficientemente cifrada, el protocolo TLS que se usa para bloquear ciertos contenidos, tenía un pequeño pero importante bug.

Desde ahora todo cambiará, gracias a la implantación de ECH, ya que esta cabecera entra dentro de los metadatos encriptados por defecto, y desde ahora no podrá ser leída por los ISP (Proveedores de Servicios de Internet) o terceros. Como hemos mencionado antes, Cloudflare ya lo ha activado en sus servidores a nivel general, Google ha hecho lo propio en Chrome y Mozilla con Firefox, siguiendo con los navegadores basados en el proyecto Chromium, por lo tanto vamos a ver cómo podemos activarlo.

¿Cómo activarlo?

Eso sí, debemos saber que para activarlo en Chrome, por ejemplo, deberemos usar las flags, un ajuste que nos permitirá activar funciones ocultas.

Los Flags en Chrome, es como se denomina a las funciones experimentales del navegador, y que podemos activar mediante un «menú secreto».

Debemos saber que estas funciones son experimentales porque todavía están siendo probadas y desarrolladas, pero están ahí, para que los usuarios que lo estimen oportuno, puedan probarlas.

No debemos temer, ya que el proceso es sencillo y lo vamos a resumir en los siguientes pasos:

  • Podemos comprobarlo accediendo a la URL chrome://settings/help y verificaremos los tres primeros números del código de versión que aparecen, que deberán ser los que corresponden a la versión 117 o posteriores, a las que debemos tener actualizado el navegador.
  • Una vez comprobado el requisito, accederemos a la URL chrome://flags. Dicho menú oculto, llamado Experiments, nos lista las características soportadas por el navegador, las cuales no vienen activas por defecto.
  • Introduciremos en el cuadro de búsqueda el texto «Encrypted ClientHello», para filtrar el apartado que nos interesa. Aunque también podemos acceder directamente a esta opción con la URL chrome://flags/#encrypted-client-hello.
  • Una vez hecho, seleccionamos en el selector de la derecha, donde pone Default y seleccionaremos Enabled.
Captura del proceso de activación del protocolo ECH.
Aplicando el paso tres de la lista anterior, aparecerá la opción en la que deberemos cambiar Default por Enabled, para que el protocolo ECH quede activado en nuestro navegador.

Una vez seguidos los pasos, deberemos relanzar Chrome, para que los cambios surtan efecto, como se puede comprobar en la siguiente imagen.

Otra captura del proceso de activación del protocolo ECH.
Relanzaremos el navegador para que se apliquen los cambios.

Ahora, ya tendremos activo ECH.

¿Cómo podemos comprobar que ECH funciona?

Existen varias páginas donde podemos comprobar si todo está en orden en nuestro navegador y efectivamente estamos haciendo uso de ECH. La más sencilla de utilizar es la de Cloudflare. Para ello, pulsaremos el botón Comprobar mi navegador para comprobar si pasa los tests de DNS seguro y Secure SNI. Si así es, ECH estará haciendo su trabajo correctamente.

Hay que aclarar que, al igual que en Chrome, ECH debemos activarlo en otros navegadores, pero en el navegador de Mozilla, Firefox, esta opción viene activada por defecto. Para comprobarlo, escribiremos en la barra de navegación about:config.

Nos aparecerá una advertencia para que seamos conscientes de los riesgos que podemos correr, como se puede comprobar en la siguiente captura.

Precaución al cambiar preferencias de configuración avanzada.

Una vez leído el mensaje y pulsado en Aceptar el riesgo y continuar, nos aparecerá el cuadro de búsqueda, donde escribiremos como se indicó anteriormente EncryptedClientHello. Dicha búsqueda, nos mostrará que dicho protocolo, ya está activado, como se aprecia en la siguiente captura.

Protocolo ECH activado.

En otros navegadores

Si hacemos la prueba en navegadores basados en Chromium, para lo cual no tenemos más que copiar la secuencia mostrada en el apartado tercero del listado anterior y pegarla en el cuadro de navegación del navegador correspondiente (cada navegador sustituirá el nombre de chrome por su propio nombre), podremos comprobar que por ejemplo Edge no ofrece información alguna al respecto y la que podemos encontrar es poco aclaratoria, teniendo que recurrir al paso explicado anteriormente con Cloudflare, mientras que Brave nos ofrece la opción descrita para Chrome, como podemos ver en la siguiente captura.

Activación del protocolo ECH en Brave.
Activación de ECH en el navegador Brave.

Una vez seleccionemos la opción Enabled como ya hicimos en Chrome, nos parecerá la opción de relanzar el navegador para que los cambios surtan efecto.

Con ECH, estaremos agregando una capa extra de privacidad a la información que intercambiamos en la red.


Descubre más desde STI 2020 ®

Suscríbete y recibe las últimas entradas en tu correo electrónico.