Che cos'è il fingerprinting del dispositivo?
Il fingerprinting del dispositivo è una tecnica che identifica un browser o un dispositivo combinando i suoi attributi osservabili — come il rendering canvas, i font installati, le proprietà dello schermo e gli indicatori hardware — in un identificatore distintivo che persiste senza cookie né login.
Poiché l'identificatore è calcolato dal dispositivo stesso anziché memorizzato su di esso, il fingerprinting riconosce un visitatore ricorrente anche in modalità incognito, dopo la cancellazione dei cookie o attraverso sessioni di navigazione separate. Questa persistenza lo rende fondamentale per la prevenzione delle frodi, il rilevamento dei bot e l'analitica anonima — ed è anche il motivo per cui attira l'attenzione sul piano della privacy. Questa guida spiega come funziona il fingerprinting, i segnali che utilizza, quanto è stabile e come viene applicato in modo responsabile.
Che cos'è il fingerprinting del dispositivo, precisamente?
Il fingerprinting del dispositivo è il processo di leggere un insieme di attributi che un dispositivo espone e sottoporli ad hashing per ottenere un identificatore che con ogni probabilità è univoco per quel dispositivo. È una forma di identificazione stateless: nulla viene scritto sul dispositivo, quindi non c'è nulla che l'utente possa cancellare.
Il termine copre sia il fingerprinting del browser — identificare una specifica istanza di browser su una specifica macchina — sia il più ampio fingerprinting del dispositivo, che abbraccia le app native e combina segnali di client e di rete. Nell'uso comune i due si sovrappongono ampiamente e l'idea di fondo è identica: ricavare l'identità da ciò che il dispositivo intrinsecamente è.
La forza dell'approccio deriva dall'entropia. Un singolo attributo — poniamo, la lingua del browser — è condiviso da milioni di persone. Ma la combinazione congiunta di due o tre dozzine di attributi restringe la popolazione a un unico dispositivo con alta probabilità, allo stesso modo in cui una manciata di fatti indipendenti su una persona può identificarla in modo univoco.
Come funziona il fingerprinting del dispositivo?
Il fingerprinting funziona raccogliendo gli attributi del dispositivo nel browser, trasmettendoli a un server e sottoponendo la combinazione ad hashing per ottenere un identificatore stabile da confrontare con i dispositivi già visti. La sottigliezza sta nel tollerare i cambiamenti senza perdere l'identità.
La raccolta avviene tramite le comuni API web. Uno script chiede al browser di eseguire il rendering di grafica, enumerare i font, riportare le dimensioni dello schermo e descrivere il proprio stack audio e hardware. Ogni risposta riflette la specifica combinazione di sistema operativo, build del browser, GPU, driver e configurazione su quella macchina, ed è ciò che rende distintivo il risultato congiunto.
Il matching è il punto in cui le implementazioni ingenue falliscono. Gli attributi di un dispositivo derivano nel tempo — un aggiornamento del browser cambia una stringa di versione, un nuovo monitor cambia la risoluzione. Un hashing esatto tratterebbe il dispositivo derivato come del tutto nuovo. Un fingerprinting robusto separa quindi i segnali in livelli di stabilità e usa la comparazione fuzzy, così che una piccola variazione in un segnale non rompa l'identità costruita sul resto.
Quali segnali compongono un fingerprint del dispositivo?
Un fingerprint del dispositivo è assemblato da segnali di rendering, segnali hardware e di display, segnali di configurazione e — sul server — segnali di rete. I più preziosi sono quelli ad alta entropia e alta stabilità.
I segnali di rendering sono i cavalli da lavoro. Quando un browser disegna testo o grafica 3D, minuscole differenze nella GPU, nel driver e nel rasterizzatore dei font producono un output di pixel specifico del dispositivo, invisibile all'utente ma leggibile via script. Questi segnali sono insieme altamente distintivi e notevolmente stabili tra le sessioni.
I segnali di configurazione e hardware completano il profilo, mentre i segnali di rete lato server — che il client non può travisare — lo ancorano contro lo spoofing.
- Fingerprinting canvas: output a livello di pixel del rendering di testo e forme su un canvas HTML5, plasmato da GPU e rasterizzazione dei font.
- Fingerprinting WebGL: stringhe di renderer e vendor della GPU, estensioni supportate e precisione degli shader.
- Fingerprinting audio: sottili differenze nel modo in cui lo stack audio del dispositivo elabora una forma d'onda generata.
- Font, risoluzione dello schermo, profondità di colore, fuso orario, lingua e concorrenza hardware.
- Fingerprint TLS/JA4 lato server e caratteristiche delle intestazioni HTTP che rivelano il vero client.
Quanto è stabile e univoco un fingerprint del dispositivo?
Un fingerprint ben costruito è abbastanza stabile da riconoscere lo stesso dispositivo per mesi e abbastanza univoco da distinguerlo da quasi ogni altro dispositivo in una popolazione — a patto che l'implementazione tolleri la deriva ordinaria che i browser introducono.
La stabilità è uno spettro tra i segnali. I segnali derivati dall'hardware, come il rendering della GPU, cambiano solo quando cambia la macchina fisica. I segnali software, come i font, cambiano occasionalmente. I segnali di sessione, come lo user agent, cambiano a ogni aggiornamento del browser. Trattare tutti i segnali come ugualmente permanenti è l'errore classico; ponderarli in base alla stabilità attesa è ciò che mantiene intatta l'identità attraverso un aggiornamento.
L'univocità nasce dalla combinazione dei segnali e degrada in modo graduale anziché catastrofico. Anche quando due dispositivi coincidono su diversi attributi, segnali aggiuntivi li separano. L'obiettivo ingegneristico è mantenere basso allo stesso tempo sia il tasso di falsi accoppiamenti (due dispositivi visti come uno) sia il tasso di falsi sdoppiamenti (un dispositivo visto come due) — una tensione intrinseca che il matching fuzzy è progettato per gestire.
A cosa serve il fingerprinting del dispositivo?
Il fingerprinting del dispositivo si usa ovunque conti un riconoscimento stateless e persistente: prevenzione di frodi e abusi, rilevamento dei bot e analitica e personalizzazione rispettose della privacy. Ogni applicazione si appoggia alla stessa proprietà di persistenza da un'angolazione diversa.
Nelle frodi e negli abusi, il fingerprinting smaschera i dispositivi condivisi dietro il multi-account, l'abuso di promozioni e le reti di frode sui pagamenti, e alimenta il rate limiting a livello di dispositivo a cui gli attacchi automatizzati ai login non possono sfuggire ruotando gli IP. Poiché l'identificatore persiste, un dispositivo non può spacciarsi per cento utenti nuovi.
Nell'analitica e nella personalizzazione, il fingerprinting riconosce i visitatori ricorrenti per l'attribuzione, il frequency capping e il recupero del carrello senza esigere un login — utile proprio nel panorama post-cookie in cui il tracciamento tradizionale sta scomparendo. In ogni caso il valore è lo stesso: una presa stabile su un dispositivo che il dispositivo non può facilmente gettare via.
Come si cerca di eludere il fingerprinting?
L'evasione ricade in due campi: randomizzare i segnali affinché il fingerprint cambi a ogni sessione e falsificare i segnali affinché un dispositivo ne impersoni molti. Entrambi lasciano tracce rilevabili, ed è per questo che i sistemi resilienti cercano l'incoerenza anziché fidarsi di un singolo segnale.
I browser anti-rilevamento e le estensioni per la privacy cercano di avvelenare i segnali ad alta entropia — aggiungendo rumore all'output canvas, falsificando le stringhe WebGL o ruotando gli user agent. La spia è l'incoerenza interna: un profilo falsificato di solito dichiara una combinazione di attributi che nessun dispositivo reale produce, e la discrepanza tra le dichiarazioni del client e la realtà osservata dal server lo tradisce.
L'altro approccio stratifica l'infrastruttura — proxy residenziali, macchine virtuali, framework di automazione — per far apparire indipendenti molte sessioni. Qui i segnali lato server fanno il lavoro che quelli lato client non possono, perché il percorso di rete e le caratteristiche TLS sono molto più difficili da camuffare in modo convincente di un attributo del browser. La difesa pratica contro entrambi è la correlazione tra molti segnali, così che sconfiggerne uno non sconfigga l'intero sistema.
Il fingerprinting del dispositivo è legale e conforme alla privacy?
Il fingerprinting del dispositivo è legale nella maggior parte delle giurisdizioni quando usato per finalità legittime come la prevenzione delle frodi, ma le normative sulla privacy come il GDPR lo trattano come trattamento di dati personali che richiede una base giuridica, trasparenza e adeguate salvaguardie. La conformità riguarda il modo in cui lo si adotta, non il fatto che la tecnica sia consentita.
I regolatori distinguono in genere il tracciamento intrusivo cross-site a fini pubblicitari, soggetto a rigorosi requisiti di consenso, dagli usi di sicurezza e prevenzione delle frodi, che possono spesso basarsi sul legittimo interesse. I fattori determinanti sono finalità, proporzionalità, trasparenza verso gli utenti e pratiche di minimizzazione dei dati come l'hashing dei segnali e la limitazione della conservazione.
In pratica, un'installazione conforme limita il fingerprinting alla finalità di sicurezza che serve, documenta quella finalità, evita di riutilizzare i dati per tracciamenti non correlati e onora gli obblighi di trasparenza della legge pertinente. La tecnica e la conformità non sono in conflitto; è l'uso incauto a creare il rischio.
Non conosce un termine in questa pagina? Ogni concetto qui sopra è definito nel nostro glossario dell'intelligence dei dispositivi.
Preferisce una definizione concisa? Consulti Browser Fingerprinting nel glossario.
Domande frequenti
Faccia il fingerprint dei dispositivi che sopravvivono alla cancellazione dei cookie
TRACIO costruisce un'identità di dispositivo stabile da oltre 130 segnali con un matching fuzzy che sopravvive agli aggiornamenti del browser e alla modalità incognito. Inizi gratis e lo provi sui suoi dispositivi.