Keaton Mowery e Hovav Shacham, ricercatori nell’università della California, hanno formulato per la prima volta nel 2012 l’idea del tracciamento via fingerprinting nel loro lavoro “Pixel Perfect: Fingerprinting Canvas in HTML5”. Nella pubblicazione sono esposte le loro considerazioni sul fatto che, con l’aiuto degli elementi canvas introdotti nell’HTML5, può essere generata senza problemi un’impronta digitale individuale sulla base della configurazione di sistema dell’utente web. Il programmatore russo Valentin Vasilyev, ispirato dal lavoro di entrambi i ricercatori, ha sviluppato e rilasciato un anno dopo il primo codice canvas fingerprinting sotto licenza open source su GitHub. Il suo codice è servito ad aziende, come AddThis e Ligatus, come base per realizzare il tracking.
Negli elementi canvas citati ci sono campi ben definibili (altezza e larghezza), che possono essere specificati con JavaScript, per creare ad esempio grafici, loghi e pulsanti, inclusivi di testo. Tuttavia, usando il canvas fingerprinting, la presentazione del testo avviene in maniera diversa a seconda:
- del sistema operativo
- del browser
- della scheda grafica
- dei driver della scheda grafica
- dei font del client installati.
Il gestore del sito web ha bisogno per questo scopo solo di un codice canvas fingerprinting specifico, che induce il browser nell’apertura della pagina a visualizzare in background un testo nascosto via JavaScript e, per mezzo di ciò, inoltrare le informazioni ottenute al server web. Grazie al grande numero di fattori presi in considerazione, l’impronta digitale creata in questo modo è unica in oltre l’80% dei casi, per cui può essere riconosciuta in qualunque momento, a patto che l’utente non apporti alcuna modifica a uno dei sistemi di configurazione sopra elencati.