Fingerprinting de Canvas: como funciona e o que revela

O fingerprinting de Canvas mede como um navegador desenha uma imagem escolhida. Um script renderiza texto ou formas, lê o resultado e pode calcular um hash. Pequenas diferenças no processo de renderização podem se tornar sinais para comparar ambientes de navegador.

A pergunta útil é o que produziu esse resultado. Um motor de navegador, uma fonte, um componente do sistema operacional ou uma configuração de privacidade podem afetá-lo. Um hash de Canvas é o resultado de uma medição específica.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Acompanhar as etapas de desenho, leitura e cálculo do hash
  • Identificar fatores que podem alterar o resultado do Canvas
  • Comparar leituras de Canvas usando o mesmo teste

Como um fingerprint de Canvas é criado

O teste pede ao navegador que desenhe uma amostra fixa e lê os pixels resultantes.

Uma amostra pode combinar texto, formas, gradientes ou cores sobrepostas. A página pode ler a saída do Canvas por meio de APIs compatíveis e transformá-la em um hash curto. Comparar hashes é conveniente porque uma diferença no nível do pixel pode ser difícil de ver a olho nu.

O desenho pertence à página web. Essa medição não captura sua área de trabalho nem exige que a página veja outras janelas de aplicativos.

Por que o mesmo desenho pode produzir valores diferentes

A renderização depende do software e dos recursos usados para produzir a imagem.

  • Motor do navegador: a implementação de desenho e texto pode diferir entre navegadores e versões.
  • Fontes: as fontes disponíveis e as escolhas alternativas mudam as métricas do texto e os pixels.
  • Gráficos e sistema operacional: drivers e componentes de renderização podem afetar o resultado.
  • Configurações de privacidade: um navegador pode restringir a leitura, padronizar dados ou adicionar ruído.

O mesmo computador pode, portanto, produzir resultados diferentes em dois navegadores. Por outro lado, dois ambientes semelhantes podem produzir o mesmo resultado em um teste limitado.

Como comparar resultados de Canvas

Use a mesma página e a mesma amostra, e depois mude uma condição por vez.

ObservaçãoInterpretação útil
Mesmo hash após recarregar a páginaO resultado medido se repetiu nesse teste
Novo hash após uma atualização do navegadorO caminho de renderização ou o comportamento do teste pode ter mudado
Hashes diferentes em dois sitesAs amostras ou os cálculos podem diferir
Hashes iguais em dois perfisVerifique se ambos expõem o mesmo resultado real de renderização

Para verificar um perfil gerenciado, registre seu modo de Canvas atual, atualize o teste e depois pare e reabra o perfil. Se você mudar uma configuração, repita a mesma sequência. Nosso teste do Multilogin usou essa abordagem para distinguir uma mudança deliberada de Canvas da variação entre inicializações.

Por que o Canvas aparece junto com outros sinais

O Canvas mede a renderização real em vez de um rótulo de navegador declarado. Lê-lo junto com informações de versão, fontes e gráficos fornece contexto para um resultado que, de outra forma, seria apenas uma sequência opaca.

Interpretando o resultado

  • Um resultado igual descreve esta amostra; não comprova uma pessoa ou dispositivo único.
  • Sites diferentes podem calcular hashes de Canvas diferentes a partir do mesmo navegador.
  • Um resultado bloqueado ou modificado precisa ser interpretado à luz das proteções do navegador.

Perguntas frequentes

Um hash de Canvas é o número de série do meu hardware?

Não. É um resumo de um resultado medido. Software, fontes, configurações e a amostra do teste são todos importantes.

Limpar cookies muda o Canvas?

Limpar cookies normalmente não muda os componentes de renderização. Algumas proteções do navegador podem vincular a aleatorização ao ciclo de vida da sessão ou dos dados do site, portanto inspecione o comportamento real.

Bloquear o download de imagens impede o fingerprinting de Canvas?

O Canvas pode gerar desenhos localmente por meio de script. Bloquear apenas imagens baixadas não necessariamente interrompe esse processo.

Referências

Próximos passos

Mudanças de Canvas e reinicializações em nosso teste do Multilogin

Inspecione seu resultado atual de Canvas