La diffusione dei dati personali e l’utilizzo per analisi statistiche basate sulle informazioni di una popolazione richiede un livello di anonimizzazione che rimanga tale anche dopo aggregazioni di dati con sistemi esperti; si utilizzano diversi metodi di anonimizzazione, non tutti ugualmente efficaci e non tutti garantiscono l’integrità del dato. Lo scenario è molto complesso e non è certo destinato a semplificarsi. La digitalizzazione globale, la diffusione di dispositivi sempre e ovunque connessi, l’uso dei social, la crescente disponibilità di servizi in cloud fa sì che la quantità di dati disponibili online continui ad aumentare.
La Pubblica Amministrazione e le aziende aumentano la quantità di dati nei loro database, ogni utente genera dati nell’uso di servizi condivisi tramite internet e tutto questo aumenta la quantità di informazione disponibile che permette di identificare un utente, le sue abitudini e le sue attività. Non è più vero, e forse non lo è mai stato, che basta eliminare nome e cognome da un record o offuscare il viso delle persone in una ripresa video per rendere anonime le informazioni su un individuo. Il problema sorge per esempio quando si pubblicano dati a scopi statistici o generalmente si rendono disponibili basi di dati a terzi per elaborazioni, aggregazioni, analisi di tendenza. Come esempio si riporta questo documento del 2006 in cui uno dei risultati è che in USA il 63% della popolazione è identificabile in un dataset con le sole informazioni di genere, zip code (equivalente al nostro codice di avviamento postale) e data di nascita completa; l’eliminazione del giorno di nascita e del mese riducono progressivamente la percentuale allo 0,2%. Si trovano in rete altri documenti simili sullo stesso argomento e con risultati concordi. Siamo nel 2020, la capacità computazione di aggregazione e di analisi dei dati è enormemente aumentata e con algoritmi ormai collaudati non è difficile risalire all’identificazione di una persona; è evidente la necessità di studiare a fondo i sistemi di anonimizzazione dati per la protezione della privacy.
I termini di riservatezza o divulgazione delle informazioni
Si parla di rivelazione o divulgazione di informazioni sensibili di una persona o di una organizzazione quando a fronte di rilascio di dati:
- viene identificata una persona fisica o giuridica: è il caso in cui una terza parte riesce a identificare la persona.
- vengono divulgati dati sensibili: in genere le informazioni riservate possono essere esatte o stimate con buona approssimazione mediante algoritmi.
- è possibile per inferenza ricavare alcuni dettagli di una persona senza avere accesso diretto ai suoi dati, per esempio stimare un reddito in base alle spese effettuate, stimare la probabilità della presenza di una patologia in base alle abitudini alimentari. In genere questo caso non rappresenta sempre un rischio perché i dati statistici vengono forniti per fare previsioni su dati aggregati e non sono buoni indicatori a livello del singolo individuo.
Gli attributi in un record (o tupla) di dati possono essere classificati così:
- identificatori se sono attributi che identificano in modo univoco una persona, come il codice fiscale, nome e cognome o altri dati proprietari.
- quasi identificatori se insieme ad altri attributi e informazioni esterne permettono di risalire all’identificazione della persona, per esempio data di nascita, CAP, sesso.
- riservati se si riferiscono a informazioni sensibili come malattie, orientamento sessuale.
- non riservati se sono attributi che non vengono considerati sensibili e la cui diffusione non contribuisce alla possibile violazione.
Nel contesto attuale in cui molti dataset sono pubblici e vengono periodicamente rilasciati aggiornamenti a fini statistici, è necessario garantire la protezione del dato e la privacy sul dato.
Tecniche di anonimizzazione
Sicuramente un primo passo necessario è la rimozione degli identificatori ovvero la soppressione di alcuni attributi; poi si passa all’analisi dei quasi identificatori. Ci sono diverse tecniche per fare in modo che la re-identificazione o de-anonimizzazione sia ostacolata fino quasi al renderla impossibile. Di seguito sono descritte alcune di quelle usate e sempre oggetto di ricerca per essere migliorate.
Introduzione di rumore statistico: consiste nell’introdurre una perturbazione in alcuni tipi di attributi il cui valore diventa meno accurato pur mantenendo la distribuzione generale. La tecnica è efficace ma rimane il fatto che alcuni valori sono stati approssimati. Un esempio può essere l’altezza di una persona che invece di essere precisa è approssimata ai 5 cm. Più individui si troveranno ad avere la stessa altezza come se fossero raggruppati per classi ad intervalli di 5 cm.
k-anonymization: ogni rilascio di dati deve essere tale per cui qualsiasi combinazione di quasi identificatori corrisponda ad almeno k identità; si ottiene generalizzando i valori dei quasi identificatori, per esempio invece di fornire un’età precisa si raggruppano le persone per fasce di età e in ogni fascia sono contenuti almeno k individui. La tecnica si può applicare agli attributi numerici ma anche ad altri riducendo il livello di dettaglio come ad esempio la sostituzione della provincia al posto del paese. Una tecnica simile è la generalizzazione che si ottiene per esempio modificando il valore di un CAP: eliminando l’ultima cifra si raggruppano le persone non più per paese ma per aree di 10 CAP diversi. La k-anonymity richiede che in una tabella ogni quasi identificatore sia presente almeno k volte. Il problema è computazionalmente difficile da risolvere, il tempo di calcolo cresce esponenzialmente col numero di attributi. Sono stati proposti sia diversi algoritmi esatti che producono tabelle k-anonime sfruttando la generalizzazione di attributi e la soppressione (eliminazione od oscuramento) di alcuni record, sia algoritmi euristici basati su metodi di ricerca che però non garantiscono il risultato ottimale. In questi algoritmi non si tiene conto del cosiddetto “external knowledge”, ovvero il livello di conoscenza delle terze parti che non è noto; l’anonimato non è protetto perché se una terza persona conosce l’appartenenza di un individuo a una classe di k elementi, può risalire ad altre informazioni.
l-diversity: in ogni classe di equivalenza di una tabella (insieme di tuple con uno stesso valore per un quasi attributo) un attributo sensibile deve avere almeno “l” valori diversi. Può essere usata per estendere la k-anonymity. Perché sia efficace la distribuzione in un insieme di record deve essere il più possibile vicina a quella della popolazione originale; per esempio se in una popolazione di pazienti il 30% ha una patologia, allora nell’insieme di record che soddisfa la l-diversity la percentuale di pazienti con la stessa patologia deve essere molto vicina al 30%, in caso contrario si possono verificare casi di asimmetria e similarità fra tuple tramite cui è possibile ridurre le classi di appartenenza e dedurre informazioni più dettagliate sui singoli pazienti ovvero stimare con una maggiore probabilità le informazioni riservate su un individuo.
t-closeness (t-vicinanza): realizza un affinamento della l-diversity, ovvero tende a realizzarne la condizione migliore in cui la distribuzione iniziale degli attributi nella tabella viene rispettata anche nelle singole classi di appartenenza. Una classe di equivalenza rispetta la t-closeness se la distanza tra la distribuzione dei valori dei quasi identificatori nella classe e nell’intera popolazione è inferiore a “t”; in altre parole l’intero insieme di record e una sua parte hanno una distribuzione delle informazioni molto simile per cui non è possibile dedurre dettagli maggiori da quelli già noti.
differential privacy: lo scopo dell’algoritmo è fare in modo che la distribuzione di probabilità dei dati pubblicati sia la stessa indipendentemente dalla presenza nel dataset delle informazioni di un individuo oppure no. Lo scopo è evitare che si possa rilevare la presenza o l’assenza delle informazioni di un individuo in un dataset. Si realizza introducendo del rumore statistico casuale sul dataset ma a posteriori di una interrogazione (query), quindi senza modificare i dati originali. Maggiore è il rumore introdotto e maggiore è il livello di privacy ma minore è l’accuratezza. Come algoritmo fornisce una protezione migliore rispetto alla k-anonymization, tuttavia non garantisce una protezione completa.
Esiste un elemento importante che permette di attaccare i diversi algoritmi descritti. In ogni caso di pubblicazione dati è necessario considerare il cosiddetto “external knowledge” rappresentato dalla conoscenza di alcuni dettagli sugli individui di una popolazione che una terza parte possiede. Queste informazioni oltre che essere note a priori per i più disparati motivi, quali amicizia, popolarità, possono anche essere ricavate lavorando su diversi dataset rilasciati da diverse organizzazioni, da rilasci periodici dello stesso dataset con aggiornamenti e il livello di conoscenza che producono non è noto a priori.
Gli algoritmi descritti possono essere applicati anche a scenari molto attuali come i dati sui social network e i dati di geolocalizzazione. Nel caso della geolocalizzazione per esempio, applicare l’algoritmo di k-anonymity significa estendere l’area di localizzazione fino ad includere k individui; l’introduzione di rumore può essere realizzata con l’offuscamento dell’area e l’accorpamento dei percorsi per renderli indistinguibili.
Alcuni casi di ricerche attuali sulla anonimizzazione
Le tecniche di anonimizzazione e gli scenari di possibile applicazione sono oggetto di ricerca e sperimentazione. Di seguito sono riportati alcuni esempi tratti da pubblicazioni recenti di ricerche in diverse situazioni di connettività e vita social.
Nell’articolo “profile matching across online social networks” è descritto uno studio in cui viene effettuato il riconoscimento di profili dello stesso individuo su social networks differenti. Non sono stati usati gli identificatori forti come il nome, ma solo gli identificatori deboli quali interessi o differenze di opinione (“sentiment”) in diversi post. Alcuni social network sono caratterizzati da una sottostante struttura a grafo che rappresenta le connessioni tra gli utenti; è naturale supporre che tale struttura sia abbastanza comune anche ad altri social networks. Questa similarità insieme ad altre informazioni può essere utilizzata per collegare gli account degli utenti con un’alta probabilità di successo; d’altra parte l’assenza di informazioni aggiuntive o la mancanza di una struttura a grafo rende molto più difficile il riconoscimento dei profili. In questa pubblicazione si quantifica il rischio di identificazione degli utenti ipotizzando una similarità nella struttura a grafo sottostante dei social network e la presenza di informazioni addizionali; l’accuratezza ottenuta supera il 70% a secondo dei quasi identificatori utilizzati. Viene citato uno scenario di riconoscimento dei profili solo usando informazioni ricavate dal profilo utente quali numero di amici, foto del profilo, residenza. Il metodo utilizzato è costruire un training set e un test set da profili noti sapendo che sono corrispondenti o differenti, calcolare per ogni tipo di attributo un valore di similarità (come distanza tra gli attributi), costruire un modello con algoritmi di Machine Learning quali regressione logistica e Support Vector Machine, applicare il modello a profili ignoti. Tra gli scopi di questo studio si ipotizza lo sviluppo di una parte applicativa che in tempo reale riesca ad avvisare un utente della sua “riconoscibilità” in rete in base alle informazioni condivise sul proprio profilo social.
Nell’articolo “asymptotic privacy loss due to time series matching of dependent users” viene studiata la protezione della privacy in scenari dove gli individui utilizzano dispositivi IoT. Le connessioni fra i diversi utenti sono rappresentate con un grafo e si suppone che l’avversario che vuole scoprire le associazioni sia a conoscenza della struttura del grafo e del fatto che sono state usate tecniche di anonimizzazione. Sebbene sembrino assunzioni forti non sono molto distanti dalla realtà e modellano in parte ”l’external knowledge”. I risultati ottenuti sono che a fronte di una indubbia utilità dei dispositivi IoT, questi permettono a un hacker di ottenere facilmente informazioni sensibili. Anche supponendo che un ipotetico hacker abbia una quantità limitata di informazioni iniziali si dimostra che in determinate condizioni (una serie sufficientemente lunga di osservazioni) la privacy degli individui diminuisce drasticamente.
In questo lavoro “social distancing 2.0 with privacy preserving” viene proposta una nuova versione di contact tracing con rispetto della privacy. Anche in questo caso siamo in presenza di un miglioramento progressivo di tecniche volte a migliorare la qualità della vita preservando la privacy individuale e la protezione generale dei dati.
Conclusioni
Abbiamo visto che le tecniche di anonimizzazione sono varie, complesse e con diversi costi computazionali. Alcune permettono la pubblicazione di dati esatti, altre di dati contenenti rumore statistico; al momento sembra che non ci sia la soluzione ottimale sicura che riesca a bloccare la de-anonimizzazione. Le attività di ricerca per il miglioramento degli algoritmi continuano e sono affiancate da attività di ricerca su metodi che rendano consapevole un utente del suo livello di anonimità in determinati contesti. Non mancano proposte di sistemi di protezione della privacy abbinati a tecnologie innovative per la salvaguardia della sicurezza e della salute individuale. Lo scenario è complesso e forse molto più che in altri casi richiede che il rilascio di dati pubblici e la messa in esercizio di applicazioni siano gestiti con l’aiuto di persone esperte e molto competenti nella materia.