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ção | Interpretação útil |
|---|---|
| Mesmo hash após recarregar a página | O resultado medido se repetiu nesse teste |
| Novo hash após uma atualização do navegador | O caminho de renderização ou o comportamento do teste pode ter mudado |
| Hashes diferentes em dois sites | As amostras ou os cálculos podem diferir |
| Hashes iguais em dois perfis | Verifique 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