Fingerprinting Canvas e WebGL nel 2026
Lo stato del fingerprinting basato sulla GPU: che cosa è cambiato con il Privacy Sandbox di Chrome, come ci siamo adattati e perché i segnali hardware restano gli identificatori più stabili.
Il fingerprinting
Canvas
e
WebGL
è stato un caposaldo dell'identificazione dei dispositivi fin dai primi anni 2010. Ma il panorama è cambiato in modo significativo con le iniziative
Privacy Sandbox
di Chrome, l'Enhanced Tracking Protection di Firefox e l'Intelligent Tracking Prevention di Safari. Ecco lo stato del fingerprinting basato sulla GPU nel 2026: che cosa è cambiato, come ci siamo adattati e perché questi segnali restano indispensabili.
Che cosa è cambiato con il Privacy Sandbox di Chrome
Il Privacy Sandbox di Chrome, distribuito progressivamente a partire dal 2024, ha introdotto diverse modifiche che riguardano il fingerprinting. La più significativa è l'iniziativa del partitioned storage, che riduce l'efficacia del tracciamento basato sui cookie ma non incide direttamente sul fingerprinting Canvas o WebGL.
Tuttavia, Chrome ha iniziato a sperimentare l'iniezione di rumore nel canvas: l'aggiunta di piccole perturbazioni casuali ai dati dei pixel del canvas per impedire il fingerprinting esatto. Quando è attiva, le stesse istruzioni di disegno producono output di pixel leggermente diversi a ogni esecuzione. Questo manda in crisi il fingerprinting del canvas basato su hash ingenui, che presuppone una riproducibilità esatta.
Adattarsi al rumore del canvas
La nostra risposta all'iniezione di rumore nel canvas è stata passare dalla corrispondenza esatta alla corrispondenza basata sulla similarità per i segnali del canvas. Invece di calcolare un singolo hash dell'intero insieme di dati dei pixel del canvas, ora estraiamo più vettori di caratteristiche da regioni e operazioni di disegno diverse.
L'iniezione di rumore è di norma contenuta: pochi pixel modificati per frame. Estraendo le caratteristiche a una granularità più grossolana (dividendo il canvas in regioni e calcolando statistiche aggregate), possiamo identificare la firma hardware sottostante nonostante il rumore. Il nostro algoritmo di corrispondenza tra sessioni confronta questi vettori di caratteristiche usando la similarità del coseno, con una soglia calibrata per accettare le variazioni coerenti con l'hardware e rifiutare dispositivi diversi.
WebGL: ancora una miniera d'oro
Mentre il fingerprinting del canvas affronta nuove sfide, il fingerprinting WebGL rimane in gran parte inalterato dalle iniziative sulla privacy. L'API WebGL espone parametri hardware — dimensioni massime delle texture, formati di precisione degli shader, estensioni supportate — che sono intrinseci alla GPU e non possono essere facilmente perturbati senza compromettere le funzionalità di WebGL.
Chrome ha discusso di limitare l'accesso alle stringhe renderer e vendor di WebGL (sostituendo i nomi specifici delle GPU con etichette generiche come «GPU»), ma questa modifica non è stata distribuita su larga scala. Anche se lo fosse, le decine di altri parametri WebGL che interroghiamo fornirebbero comunque segnali di identificazione altamente distintivi.
La GPU come ancora hardware
Il motivo fondamentale per cui il fingerprinting basato sulla GPU rimane potente è che legge caratteristiche hardware fisicamente determinate dal chip della GPU, dal driver e dalla pipeline di rendering. Queste caratteristiche non sono scelte software modificabili con facilità: sono conseguenze del modo in cui il silicio è stato progettato e prodotto.
Un dispositivo con una NVIDIA RTX 4070 riporterà sempre dimensioni massime delle texture specifiche, una precisione degli shader specifica e un supporto delle estensioni specifico, perché quei valori sono determinati dall'architettura della GPU. L'unico modo per cambiare questi valori è usare una GPU diversa o un driver diverso, e i cambi di driver sono relativamente poco frequenti per la maggior parte degli utenti.
Rendering del canvas: oltre l'hashing dei pixel
Il fingerprinting moderno del canvas va oltre il semplice hashing dei pixel. Usiamo operazioni di disegno progettate specificamente per amplificare le differenze di rendering dipendenti dall'hardware. Il rendering del testo con font specifici mette alla prova il rasterizzatore dei font. Le curve di Bézier con punti di controllo particolari mettono alla prova la tassellazione delle curve della GPU. I gradienti con specifici color stop mettono alla prova la pipeline di fusione dei colori.
Scegliendo operazioni di disegno che massimizzano la varianza tra i modelli di GPU riducendo al minimo la varianza tra esecuzioni ripetute sulla stessa GPU, creiamo test del canvas che sono al tempo stesso più distintivi e più robusti del semplice approccio a testo e forme usato dalle prime librerie di fingerprinting.
Fingerprinting degli shader WebGL
Una tecnica più recente che impieghiamo è il fingerprinting degli shader WebGL. Compilando programmi shader specifici e interrogando le loro proprietà compilate (precisione, livello di ottimizzazione, numero di istruzioni), possiamo estrarre informazioni sul compilatore di shader della GPU: un'altra caratteristica dipendente dall'hardware che varia tra le famiglie di GPU.
Questa tecnica è particolarmente utile per distinguere dispositivi che hanno parametri WebGL di base simili. Due modelli di GPU diversi potrebbero supportare la stessa dimensione massima delle texture, ma i loro compilatori di shader produrranno output compilato diverso a partire dallo stesso codice sorgente dello shader.
Considerazioni sulla privacy
Il fingerprinting basato sulla GPU, come ogni forma di fingerprinting, deve essere usato in modo responsabile. Usiamo questi segnali per scopi legittimi — prevenzione delle frodi, rilevamento dei bot e sicurezza degli account — non per il tracciamento cross-site o la pubblicità. Il nostro deployment in cloud garantisce che i dati di fingerprint restino sull'infrastruttura dei nostri clienti, eliminando la condivisione con terze parti.
Il panorama della privacy continuerà a evolversi. I browser potrebbero introdurre protezioni aggiuntive che incidono sul fingerprinting della GPU. La nostra strategia è adattarci di continuo: trovare nuovi segnali dipendenti dall'hardware man mano che quelli vecchi vengono limitati, mantenendo l'accuratezza e la stabilità su cui i nostri clienti fanno affidamento.