Salta al contenuto
Tradotto automaticamente dall'inglese. Visualizza originale
Glossario · Fingerprinting

Browser fingerprint

Una combinazione di caratteristiche del browser e del dispositivo che può identificare un browser senza cookie.

Definizione

Un browser fingerprint è l'insieme di caratteristiche che un sito web può leggere da un browser e dal suo dispositivo — come la versione del browser, il fuso orario, la lingua, i font installati, i codec e la dimensione dello schermo — combinate in un identificatore. MDN descrive il fingerprinting come l'identificazione di un browser, e per estensione di un utente, raccogliendo e combinando queste caratteristiche distintive.

Diagramma: attributi del browser combinati in un identificatore di fingerprint
Diagramma editoriale (illustrazione semplificata, non uno screenshot del prodotto).

Come funziona

  • Alcuni valori arrivano passivamente con ogni richiesta, ad esempio gli header User-Agent e Accept-Language. Il W3C chiama questo fingerprinting passivo.
  • Altri vengono raccolti attivamente da JavaScript o CSS in esecuzione sulla pagina: risoluzione dello schermo, fuso orario, elenchi di font, output di rendering Canvas o WebGL e altro ancora.
  • Ogni singolo valore è comune; combinati, possono restringere l'identità di un browser a un piccolo gruppo o a un singolo dispositivo. Nessun singolo attributo deve essere unico.

Perché è importante

  • I fingerprint possono collegare le visite tra diversi siti senza cookie, e il W3C osserva che la cancellazione dei cookie o l'uso di una VPN non interrompe tale correlazione.
  • I siti utilizzano anche i fingerprint per il rilevamento di frodi e abusi, ad esempio per individuare molti account provenienti da un unico dispositivo.
  • Per il lavoro legittimo con account multipli (agenzie, QA, account clienti separati), comprendere i fingerprint spiega perché esistono profili browser separati.

Limiti e malintesi comuni

  • "La modalità incognito nasconde il mio fingerprint." Le finestre private cancellano i dati memorizzati, ma le caratteristiche del dispositivo che una pagina può leggere rimangono ampiamente le stesse.
  • "Un fingerprint casuale è il più sicuro." Valori incoerenti — ad esempio, un user agent mobile con uno schermo desktop — possono essere più distintivi di una configurazione comune e coerente.
  • "Il fingerprinting può essere eliminato." La guida del W3C afferma che eliminare completamente il fingerprinting da parte di un avversario determinato attraverso mezzi tecnici ampiamente diffusi è implausibile; le mitigazioni lo riducono.
Esempio: Due laptop con la stessa versione del browser possono comunque differire per fuso orario, font installati e GPU. Uno script che legge questi valori più un rendering Canvas può distinguerli anche dopo la cancellazione dei cookie.

Nessun browser o proxy può garantire che gli account non saranno limitati. Segui le regole di ogni piattaforma.

Termini correlati

  • Canvas fingerprinting — Identificare un dispositivo dalle piccole differenze nel modo in cui renderizza un disegno HTML canvas.
  • WebGL fingerprinting — Utilizzare le informazioni grafiche WebGL e l'output di rendering per identificare un dispositivo.
  • User agent (stringa User-Agent) — L'identificazione del browser e del sistema operativo che un browser invia nell'header User-Agent ed espone a JavaScript.
  • Profilo browser — Un set separato di dati del browser — cookie, cronologia, impostazioni, estensioni — tenuto separato dagli altri profili.