# Device fingerprint

La device fingerprint (letteralmente "impronta digitale del dispositivo") o machine fingerprint o browser fingerprint in informatica è l'informazione raccolta su di un dispositivo di elaborazione remoto a scopo di identificazione.
L'impronta digitale del dispositivo permette di identificare in tutto o in parte i singoli utenti o dispositivi anche quando i cookie sono disattivati.
Più in dettaglio, mediante il device fingerprint l’utente può essere monitorato attraverso la tracciatura e raccolta di dati tecnici e proprietà del suo dispositivo desktop o mobile connesso a Internet. Le informazioni ottenibili spaziano dalla dimensione dello schermo, alle versioni di software e plugin installati, alla lista dei caratteri installati. Oppure ancora è possibile ottenere indicazioni riguardo alle configurazioni TCP/IP, alle informazioni tratte dall’orologio del dispositivo, al sistema operativo utilizzato, alle impostazioni delle connessioni wireless, fino ad arrivare all’indirizzo IP originale dell’utente.
Se da una parte tecniche di fingerpritning possono rivelarsi utili nel rilevamento e nella prevenzione del furto d'identità online e delle frodi con carte di credito, dall'altra sono oggetto di critica da parte degli esperti di privacy, in quanto permettono di tracciare un utente anche quando quest'ultimo naviga in modalità anonima, rivelandosi più insidiose rispetto a metodi di tracciamento più consueti e regolamentati (come l'uso di cookie).

## Caratteristiche essenziali

La motivazione del concetto di device fingerprint deriva dal valore forense delle impronte digitali umane. Nel caso "ideale", tutte le macchine client Web avrebbero un diverso valore di impronta digitale (diversità) e tale valore non cambierebbe mai (stabilità). In base a questi presupposti, sarebbe dunque possibile distinguere in modo univoco tutte le macchine su una rete, senza il consenso esplicito degli utenti stessi.
Tuttavia, il problema consiste nel fatto che, né la diversità né la stabilità sono pienamente ottenibili, e il miglioramento di uno porta ad avere un impatto negativo sull'altro.
* La diversità richiede che non ci siano due macchine con la stessa impronta digitale. Tuttavia, è probabile che un numero elevato di macchine abbia esattamente gli stessi dati di configurazione e quindi la stessa impronta digitale. Questo è particolarmente vero nel caso di sistemi operativi installati in fabbrica. Un possibile rimedio, sarebbe quello di utilizzare un linguaggio di scripting al fine di raccogliere un gran numero di parametri dalla macchina client; tuttavia, è probabile che questo riduca la stabilità, poiché vi sono più parametri che possono cambiare nel tempo.
* La stabilità richiede che le impronte digitali rimangano le stesse nel tempo. Tuttavia, per definizione, le preferenze di configurazione del browser non sono a prova di manomissione, e possono essere facilmente modificate, un esempio può essere l’opzione che permette di controllare se un browser ha attivato o disattivato i cookie, in questo caso una semplice modifica di tale impostazione è sufficiente a modificare l'impronta digitale. Un rimedio, sarebbe quello di ridurre il numero dei parametri raccolti, solamente a quelli che sia raro che vengano modificati; tuttavia, è probabile che questo riduca la diversità, in quanto vengono misurati meno parametri.

## Modalità

Esistono due differenti modalità con cui tale tecnica può essere utilizzata:
* Impronta digitale passiva: viene effettuata un’analisi passiva del traffico di rete, al fine di identificare il sistema operativo di un computer o la configurazione TCP/IP del client. Il traffico di rete infatti, può fornire oltre ai dati effettivamente scambiati, una serie di informazioni e parametri del sistema dell’utente. Pertanto l’utilizzo dell'impronta digitale passiva può risultare utile anche per compiti di ricognizione attraverso l’utilizzo di tecniche quali lo sniffer. Gli scanner passivi generalmente risultano meno precisi rispetto a quelli attivi in quanto hanno meno controllo sui dati che stanno analizzando, tuttavia permettono di esaminare in modo del tutto anonimo tutte le varie informazioni.
* Impronta digitale attiva: si presuppone che il cliente tollererà un certo grado di interrogazione invasiva. Il metodo più attivo è l'installazione di codice eseguibile direttamente sul computer client. Tale codice può avere accesso ad attributi non tipicamente disponibili con altri mezzi, come l'indirizzo MAC, o altri numeri di serie univoci assegnati all'hardware della macchina. Questa tecnica risulta essere utile ed efficace, se implementata nell’utilizzo di tecniche quali il port scanning; tuttavia rispetto a quella passiva, presenta un alto rischio nell’essere scoperti.

## Rischi

La tecnica di device fingerprinting, è altamente rischiosa per la privacy degli utenti dei dispositivi tracciati per una serie di motivi:
* Il monitoraggio e la tracciatura del dispositivo avvengono senza consenso e senza che l’utente ne sia consapevole.
* Si tratta di una tecnica di tracciatura più insidiosa dei cookie poiché,a differenza di questi ultimi, è in grado di operare anche se i cookie sono totalmente disattivati.
* Un altro aspetto ancor più insidioso è dato dal fatto che può operare anche aggirando il Do Not Track HTTP, cioè lo strumento con cui gli utenti del web dichiarano esplicitamente di non voler essere monitorati attivando la relativa impostazione del browser.

### Critiche

I consumatori e i loro gruppi di difesa possono considerare il tracciamento nascosto degli utenti come violazione della privacy degli utenti. Gli esperti di sicurezza informatica potrebbero considerare la facilità dell'estrazione dei parametri di massa come un buco di sicurezza del browser.

## Altri utilizzi

Al giorno d’oggi è sempre più difficile per il marketing e gli inserzionisti riuscire a collegarsi personalmente con il loro target di pubblico.
I cookie, utilizzati in modo assiduo per la pubblicità mirata, faticano a soddisfare le esigenze di chi fa marketing, in quanto possono essere facilmente disattivati. Inoltre la diffusione degli Ad Blocker ha contribuito ulteriormente a limitare ogni possibilità da parte dell’inserzionista a trovare un potenziale nuovo cliente.
Ecco dunque che la tecnica del fingerprint può essere utilizzata anche per bypassare questo tipo di problemi, in quanto consente di raccogliere e analizzare i dati degli utenti che navigano su tutti i touchpoint del brand: siti, app, reti sociali e pubblicità online. Dall’analisi dei dati vengono creati segmenti di target specifici che si attivano nel momento dell’acquisto della pubblicità online sulle piattaforme di programmatic buying. Non solo: mentre si acquista pubblicità a target, la DMP raccoglie altre informazioni aggiuntive sugli utenti, aumentando giorno dopo giorno l’intelligence sui propri dati.