Pular para o conteúdo
Traduzido automaticamente do inglês. Ver original
Glossário · Fingerprinting

Canvas fingerprinting

Identificando um dispositivo a partir de pequenas diferenças na forma como ele renderiza um desenho em um canvas HTML.

Definição

O canvas fingerprinting é uma técnica onde uma página desenha texto ou formas com o HTML Canvas API e lê de volta os pixels resultantes. Como a renderização depende da GPU, driver de vídeo, fontes e anti-aliasing, o resultado pode diferir ligeiramente entre dispositivos, e um hash dele torna-se um sinal de impressão digital.

Diagrama: o script desenha no canvas, o dispositivo o renderiza, os pixels são transformados em hash
Diagrama editorial (ilustração simplificada, não uma captura de tela do produto).

Como funciona

  • Um script cria um elemento canvas (frequentemente invisível) e desenha texto, emoji, gradientes ou formas com o contexto 2D.
  • Ele lê o resultado com métodos como toDataURL(), que retorna a imagem como uma data URL, ou getImageData().
  • Os dados dos pixels são transformados em hash. Configurações idênticas tendem a produzir hashes idênticos; hardwares ou pilhas de fontes diferentes geralmente não.

Por que isso importa

  • Não requer prompt de permissão e funciona sem cookies, por isso é amplamente utilizado por scripts de rastreamento e antifraude.
  • É um dos sinais que navegadores antidetect e navegadores focados em privacidade tentam controlar, seja tornando a saída consistente ou adicionando ruído.

Limites e equívocos comuns

  • "O Canvas sozinho me identifica." É apenas um sinal; geralmente é combinado com outros, como WebGL, fontes e dados de tela.
  • "Adicionar ruído aleatório é invisível." O ruído que muda a cada leitura pode ser detectado ao desenhar a mesma imagem duas vezes e compará-las.
Exemplo: Desenhar a mesma frase na mesma fonte em um laptop com gráficos integrados e em um desktop com uma GPU dedicada pode produzir diferenças de pixels invisíveis ao olho, mas diferentes quando transformadas em hash.

Nenhum navegador ou proxy pode garantir que as contas não serão restritas. Siga as regras de cada plataforma.

Termos relacionados

  • Impressão digital do navegador — Uma combinação de características do navegador e do dispositivo que pode identificar um navegador sem cookies.
  • Fingerprinting de WebGL — Usando informações gráficas de WebGL e saída de renderização para identificar um dispositivo.