Morfiade
Português
Experimentar

Impressão digital de canvas

O canvas fingerprinting é uma forma de identificar um computador por como ele desenha. Um site pede ao navegador para desenhar uma imagem invisível com texto e formas, pega o resultado e calcula a partir dele uma soma de verificação.

A imagem é a mesma, mas a soma difere entre máquinas: quem desenha é a placa de vídeo, e diferenças mínimas nela, no driver, no conjunto de fontes e no antialiasing produzem pixels diferentes na saída. Um humano não vê a diferença — um número vê.

O mesmo truque funciona com WebGL (gráficos 3D, mais o nome da placa de vídeo em texto puro) e com AudioContext (processamento de áudio em vez de uma imagem).

Por que é uma pista forte

Uma soma de canvas não fica guardada em nenhum arquivo — não pode ser apagada como um cookie. Ela é calculada de novo a cada visita e permanece igual até que você troque de computador, placa de vídeo ou driver.

Por isso duas contas abertas na mesma máquina parecem uma só pessoa pelo canvas, mesmo que tudo o mais seja diferente.

O que torna perigosa uma falsificação descuidada

A falsificação normalmente é feita com ruído: desvios quase imperceptíveis são adicionados ao resultado para que a soma mude. Aqui é fácil piorar as coisas, e há três formas de fazer isso:

A regra é a mesma de toda a impressão digital: consistência importa mais do que exclusividade. Uma impressão digital estável e comum é melhor do que uma irrepetível.

Como verificar

A verificação de impressão digital mostra a sua soma de canvas e faz duas leituras seguidas — para que dê para ver se o valor se mantém ou pula.