Navegador y rastreo

Huella digital Canvas

Se lee en aproximadamente 3 minutos

Qué es la huella digital Canvas

La huella digital Canvas es un tipo de tecnología de huella digital del navegador que utiliza la API Canvas de HTML5 para hacer que el navegador dibuje figuras y texto específicos, e identifica usuarios a partir de las diferencias microscópicas en los resultados.

Incluso ejecutando los mismos comandos de dibujo, las diferencias en el tipo de GPU, la versión del driver gráfico, el motor de renderizado de fuentes del SO y la implementación del antialiasing generan resultados diferentes a nivel de píxel. Al convertir estas diferencias en valores hash, se utilizan como "huellas digitales" para identificar dispositivos.

Mecanismo técnico

La generación de la huella digital Canvas se realiza en los siguientes pasos.

  1. Crear un elemento Canvas oculto con JavaScript
  2. Dibujar texto específico (usando múltiples fuentes, tamaños y colores), figuras (gradientes, curvas, sombras, etc.) y procesamiento de imagen (modos de mezcla)
  3. Obtener los datos de píxeles con canvas.toDataURL()
  4. Calcular el valor hash de los datos obtenidos como huella digital

Este procesamiento se completa en unos pocos milisegundos sin que el usuario lo note. A diferencia de las cookies, no almacena datos en el navegador, lo que dificulta que el usuario lo elimine o bloquee.

Según investigaciones, la unicidad de la huella digital Canvas por sí sola es de aproximadamente el 50%, pero combinada con información WebGL, huella digital AudioContext, lista de fuentes, etc., alcanza una precisión de identificación superior al 90%.

Casos de uso reales

  • Rastreo publicitario: Combinado con píxeles de rastreo y cookies, se usa para re-identificar usuarios que han eliminado las cookies.
  • Detección de fraude: Bancos y servicios en línea lo utilizan para determinar si el dispositivo de inicio de sesión es diferente al habitual. Uno de los usos legítimos.
  • Detección de bots: Las herramientas de automatización y los navegadores headless producen resultados de renderizado Canvas diferentes a los navegadores reales, por lo que se aprovecha para identificar bots.

Desde la perspectiva de la privacidad hay problemas, pero el uso para detección de fraude y seguridad también tiene el aspecto de proteger a los usuarios.

Métodos de contramedida

  • Tor Browser: Solicita confirmación al usuario cuando se llama a la API Canvas, y devuelve datos en blanco a menos que se permita. Diseñado para que todos los usuarios tengan la misma huella digital.
  • resistFingerprinting de Firefox: Habilitar privacy.resistFingerprinting en about:config añade ruido a los resultados de renderizado Canvas, reduciendo la unicidad.
  • Extensión Canvas Blocker: Bloquea las llamadas a la API Canvas o inyecta ruido aleatorio para que la huella digital cambie cada vez.
  • Aislamiento del navegador: En un entorno de aislamiento remoto del navegador, el renderizado Canvas se realiza en el navegador virtual en la nube, por lo que la información real del terminal del usuario no se filtra.

Sin embargo, existe el problema paradójico de que bloquear Canvas en sí se convierte en un elemento de la huella digital (los usuarios que bloquean son minoría y destacan). El enfoque de Tor Browser donde "todos son iguales" es el más efectivo.

Práctica de contramedidas y configuración por navegador

Las contramedidas contra la huella digital Canvas difieren significativamente en método de configuración y efectividad según el navegador utilizado. Conozcamos los pasos concretos de configuración por navegador.

Firefox: Abre about:config y establece privacy.resistFingerprinting en true. Al habilitar esta configuración, se estandarizan los resultados de renderizado Canvas, se unifica el reporte de zona horaria a UTC, y se activan simultáneamente múltiples protecciones que reducen la unicidad de la huella digital. Sin embargo, hay efectos secundarios de visualización incorrecta en algunos sitios web, por lo que se necesitan excepciones individuales para los sitios afectados.

Brave: La contramedida contra huella digital Canvas está habilitada por defecto. Brave adopta un método que inyecta ruido aleatorio en cada llamada a la API Canvas, generando una huella digital diferente en cada acceso al mismo sitio. La intensidad se puede ajustar en brave://settings/shields bajo "Bloqueo de huellas digitales".

Tor Browser: Proporciona la contramedida más potente. Adopta un método de "renderizado uniforme" que hace que los resultados de renderizado Canvas sean completamente idénticos para todos los usuarios. Muestra un diálogo de confirmación al llamar a la API Canvas y devuelve datos en blanco a menos que el usuario lo permita explícitamente. Como todos los usuarios tienen la misma huella digital, la identificación individual se vuelve imposible.

Extensión CanvasBlocker: Un complemento para Firefox que permite controlar finamente el comportamiento de la API Canvas. Se pueden seleccionar múltiples modos como "devolver valores falsos", "bloquear la API" o "solicitar permiso". Como permite configurar listas blancas por sitio, es posible una operación flexible donde se permite en sitios que usan Canvas legítimamente (servicios de mapas, juegos en línea, etc.) y se bloquea en los demás.

Conceptos erróneos comunes

Solo con la huella digital Canvas se puede identificar completamente a una persona
La unicidad de la huella digital Canvas por sí sola es de aproximadamente el 50%. Los dispositivos con la misma GPU y driver devuelven el mismo resultado. La precisión de identificación aumenta al combinarse con otras técnicas de huella digital.
La huella digital Canvas se puede prevenir eliminando las cookies
La huella digital Canvas no almacena nada en el navegador. Se genera a partir de las características del hardware y software del dispositivo, por lo que no se puede prevenir eliminando cookies ni usando modo incógnito.

Términos relacionados

Artículos relacionados