L'analisi del rischio di reidentificazione (o semplicemente analisi del rischio) è il processo di analisi dei dati sensibili per individuare le proprietà che potrebbero aumentare il rischio di identificazione dei soggetti o di rivelazione di informazioni sensibili sulle persone. Puoi utilizzare i metodi di analisi del rischio prima dell'anonimizzazione per determinare una strategia di anonimizzazione efficace o dopo l'anonimizzazione per monitorare eventuali modifiche o valori anomali.
L'anonimizzazione è il processo di rimozione delle informazioni identificative dai dati. Sensitive Data Protection can rilevare e anonimizzare i dati sensibili in base alla configurazione per soddisfare i requisiti della tua organizzazione.
Al contrario, la reidentificazione è il processo di abbinamento dei dati anonimizzati con altri dati disponibili per determinare la persona a cui appartengono i dati. La reidentificazione viene spesso discussa nel contesto delle informazioni personali sensibili, come i dati medici o finanziari.
Per ulteriori informazioni sull'utilizzo di Sensitive Data Protection per misurare vari tipi di rischio, consulta Misurare il rischio di reidentificazione e divulgazione risk.
Termini e tecniche di analisi del rischio
Se non anonimizzi correttamente o adeguatamente i dati sensibili, rischi che un utente malintenzionato li reidentifichi o apprenda informazioni sensibili sulle persone, il che può avere gravi implicazioni per la privacy. Sensitive Data Protection può aiutarti a calcolare questo rischio in base a diverse metriche.
Prima di approfondire le metriche, definiamo alcuni termini comuni:
- Identificatori: gli identificatori possono essere utilizzati per identificare in modo univoco un individuo. Ad esempio, il nome e cognome o il numero di identificazione emesso dall'autorità governativa di una persona sono considerati identificatori.
- Quasi-identificatori: i quasi-identificatori non identificano in modo univoco un individuo, ma, se combinati e dotati di riferimenti incrociati con i record di un individuo, possono aumentare notevolmente la probabilità che un utente malintenzionato riesca a reidentificare un individuo. Ad esempio, i codici postali e le età sono considerati quasi-identificatori.
- Dati sensibili: i dati sensibili sono dati protetti contro l'esposizione non autorizzata. Gli attributi come le condizioni di salute, il reddito, i precedenti penali e la posizione geografica sono in genere considerati dati sensibili. Tieni presente che può esserci una sovrapposizione tra identificatori e dati sensibili.
- Classi di equivalenza: una classe di equivalenza è un gruppo di righe con quasi-identificatori identici.
Esistono quattro tecniche che Sensitive Data Protection può utilizzare per quantificare il livello di rischio associato a un set di dati:
- k-anonymity: Una proprietà di un set di dati che indica la reidentificabilità dei suoi record. Un set di dati è caratterizzato da k-anonymity se i quasi-identificatori per ogni persona in il set di dati sono identici ad almeno k – 1 altre persone in il set di dati.
- l-diversity: Un'estensione di k-anonymity che misura anche la diversità dei valori sensibili per ogni colonna in cui si presentano. Un set di dati ha l-diversity se, per ogni insieme di righe con quasi-identificatori identici, esistono almeno l valori distinti per ciascun attributo sensibile.
- k-map: calcola il rischio di reidentificabilità confrontando un determinato set di dati anonimizzati di soggetti con un set di dati di reidentificazione o "attacco" più grande. Sensitive Data Protection non conosce il set di dati di attacco, ma lo modella statisticamente utilizzando dati disponibili pubblicamente come il censimento statunitense, utilizzando un modello statistico personalizzato (indicato come una o più tabelle BigQuery) o estrapolando dalla distribuzione dei valori nel set di dati di input. Ogni set di dati, il set di dati di esempio e il set di dati di reidentificazione, condivide una o più colonne di quasi-identificatori.
- Delta-presence (δ-presence): stima la probabilità che un determinato utente in una popolazione più ampia sia presente nel set di dati. Questa tecnica viene utilizzata quando l'appartenenza al set di dati è di per sé informazioni sensibili. Analogamente a k-map, Sensitive Data Protection non conosce il set di dati di attacco, ma lo modella statisticamente utilizzando dati disponibili pubblicamente, distribuzioni specificate dall'utente o estrapolazione dal set di dati di input.
Informazioni su k-anonymity
Quando si raccolgono dati per scopi di ricerca, l'anonimizzazione può essere essenziale per contribuire a mantenere la privacy dei partecipanti. Allo stesso tempo, l'anonimizzazione può comportare la perdita dell'utilità pratica di un set di dati. k-anonymity è stata creata per quantificare la reidentificabilità di un set di dati e per bilanciare l'utilità dei dati anonimizzati delle persone e la privacy delle persone i cui dati vengono utilizzati. È una proprietà di un set di dati che può essere utilizzata per valutare la reidentificabilità dei record all'interno del set di dati.
Ad esempio, considera un insieme di dati dei pazienti:
| ID paziente | Nome e cognome | Codice postale | Età | Condizione | … |
|---|---|---|---|---|---|
| 746572 | John J. Jacobsen | 98122 | 29 | Cardiopatia | |
| 652978 | Debra D. Dreb | 98115 | 29 | Diabete di tipo II | |
| 075321 | Abraham A. Abernathy | 98122 | 54 | Cancro al fegato | |
| 339012 | Karen K. Krakow | 98115 | 88 | Cardiopatia | |
| 995212 | William W. Wertheimer | 98115 | 54 | Asma | |
| … |
Questo set di dati contiene tutti e tre i tipi di dati descritti in precedenza: identificatori, quasi-identificatori e dati sensibili.
Se i dati sensibili come le condizioni di salute non vengono mascherati o oscurati, un utente malintenzionato potrebbe utilizzare i quasi-identificatori a cui sono collegati, potenzialmente facendo riferimento incrociato a un altro set di dati contenente quasi-identificatori simili, e reidentificare le persone a cui si applicano i dati sensibili.
Un set di dati viene detto k-anonymous se ogni combinazione di valori delle colonne demografiche nel set di dati appare per almeno k record diversi. Ricorda che un gruppo di righe con quasi-identificatori identici è chiamato "classe di equivalenza". Ad esempio, se hai anonimizzato i quasi-identificatori in modo che ci siano almeno quattro righe i cui valori di quasi-identificatori sono identici, il valore di k-anonymity del set di dati è 4.
ID entità e calcolo di k-anonymity
Un'opzione importante inclusa in Sensitive Data Protection per il calcolo di k-anonymity è l'identificatore di entità (ID) facoltativo. Un ID entità ti consente di determinare con maggiore precisione k-anonymity nello scenario comune in cui più righe del set di dati corrispondono allo stesso utente. In caso contrario, se ogni riga, indipendentemente dall'utente, viene conteggiata separatamente, il numero totale di utenti utilizzato per calcolare il valore di k-anonymity del set di dati viene reso artificialmente elevato. In questo modo, i valori di k-anonymity calcolati non sono precisi.
Considera il seguente semplice insieme di dati:
| ID utente | Codice postale |
|---|---|
| 01 | 42000 |
| 02 | 17000 |
| 02 | 42000 |
| 03 | 17000 |
| 03 | 42000 |
| 03 | 42000 |
| 04 | 42000 |
| 04 | 17000 |
Senza utilizzare un ID entità per indicare quando righe diverse appartengono allo stesso utente, il numero totale di utenti utilizzato per calcolare k-anonymity è 8, anche se il numero effettivo di utenti è 4. In questo set di dati, utilizzando i metodi di calcolo tradizionali di k-anonymity (senza un ID entità), 3 persone hanno un valore di k-anonymity pari a 3 e 5 persone hanno un valore di k-anonymity pari a 5, anche se nel database ci sono solo 4 persone reali.
L'utilizzo di un ID entità fa sì che Sensitive Data Protection consideri il multiset di codici postali associati a un utente come un quasi-identificatore durante il calcolo di k-anonymity. Nel nostro esempio, esistono in realtà tre valori di quasi-identificatori "compositi" perché esistono tre combinazioni distinte di quasi-identificatori assegnati agli utenti: 42000, il multiset di 17000 e 42000 e il multiset di 17000, 42000 e 42000. Corrispondono agli utenti come segue:
- [42000] è associato a 1 utente univoco (01).
- [17000, 42000] è associato a 2 utenti univoci (02 e 04).
- [17000, 42000, 42000] è associato a 1 utente univoco (03).
Come puoi vedere, questo metodo tiene conto del fatto che gli utenti possono comparire più di una volta nel nostro database dei codici postali e li tratta di conseguenza durante il calcolo di k-anonymity.
k-anonymity resources
Per ulteriori informazioni su k-anonymity, consulta Protecting Privacy when Disclosing Information: k-Anonymity and Its Enforcement through Generalization and Suppression, di Pierangela Samarati e Latanya Sweeney del Data Privacy Lab dell'Università di Harvard.
Per scoprire come calcolare k-anonymity con Sensitive Data Protection, con o senza ID entità, consulta Calcolo di k-anonymity per un set di dati.
Informazioni su l-diversity
l-diversity è strettamente correlata a k-anonymity ed è stata creata per contribuire a risolvere la suscettibilità di un set di dati anonimizzati agli attacchi come:
- Attacchi di omogeneità, in cui gli utenti malintenzionati prevedono valori sensibili per un insieme di k-anonymous sfruttando l'omogeneità dei valori all'interno di un insieme di k record.
- Attacchi di conoscenza di base, in cui gli utenti malintenzionati sfruttano le associazioni tra i valori di quasi-identificatori che hanno un determinato attributo sensibile per restringere i possibili valori dell'attributo.
l-diversity tenta di misurare quanto un utente malintenzionato può apprendere sulle persone in termini di k-anonymity e classi di equivalenza (insiemi di righe con valori di quasi-identificatori identici). Un set di dati ha l-diversity se, per ogni classe di equivalenza, esistono almeno l valori univoci per ogni attributo sensibile. Per ogni classe di equivalenza, quanti attributi sensibili sono presenti nel set di dati? Ad esempio, se l-diversity = 1, significa che tutti hanno lo stesso attributo sensibile , se l-diversity = 2, significa che tutti hanno uno dei due attributi sensibili e così via.
l-diversity resources
Per ulteriori informazioni su l-diversity, consulta l-Diversity: Privacy Beyond k-Anonymity, di Ashwin Machanavajjhala, Johannes Gerke e Daniel Kifer del Dipartimento di Informatica dell'Università Cornell.
Per scoprire come calcolare l-diversity con Sensitive Data Protection, consulta Calcolo di l-diversity per un set di dati.
Informazioni su k-map
k-map è molto simile a k-anonymity, tranne per il fatto che presuppone che l'utente malintenzionato molto probabilmente non sappia chi è nel set di dati. Utilizza k-map se il tuo set di dati è relativamente piccolo o se il livello di impegno necessario per generalizzare gli attributi sarebbe troppo elevato.
Come k-anonymity, k-map richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, indichi quali dati un utente malintenzionato utilizzerà molto probabilmente per reidentificare i soggetti. Inoltre, per calcolare un valore di k-map è necessario un set di dati di reidentificazione: una tabella più grande con cui confrontare le righe del set di dati originale.
Considera il seguente piccolo set di dati di esempio. Questi dati di esempio fanno parte di un database ipotetico più grande, raccolto da un sondaggio le cui risposte includevano informazioni sensibili.
| Codice postale | età |
|---|---|
| 85535 | 79 |
| 60629 | 42 |
Presi singolarmente, questi dati sembrano fornire la stessa quantità di informazioni per entrambi gli individui. Infatti, considerando k-anonymity per il set di dati più grande, si potrebbe affermare che il soggetto corrispondente alla seconda riga è altamente identificabile. Tuttavia, se torni indietro e consideri i dati, ti renderai conto che non è così. In particolare, considera il codice postale 85535 degli Stati Uniti, in cui attualmente vivono circa 20 persone. Probabilmente nel codice postale 85535 vive solo una persona di esattamente 79 anni. Confronta questo dato con il codice postale 60629, che fa parte dell'area metropolitana di Chicago e ospita oltre 100.000 persone. In questo codice postale vivono circa 1000 persone di esattamente 42 anni.
La prima riga del nostro piccolo set di dati è stata facilmente reidentificata, ma non la seconda. Secondo k-anonymity, tuttavia, entrambe le righe potrebbero essere completamente univoche nel set di dati più grande.
k-map, come k-anonymity, richiede di determinare quali colonne del tuo database sono quasi-identificatori. Le API di analisi del rischio di Sensitive Data Protection simulano un set di dati di reidentificazione per approssimare i passaggi che un utente malintenzionato potrebbe eseguire per confrontare il set di dati originale al fine di reidentificare i dati. Per l'esempio precedente, poiché si tratta di località statunitensi (codici postali) e dati personali (età) e poiché presupponiamo che l'utente malintenzionato non sappia chi ha partecipato al sondaggio, il set di dati di reidentificazione potrebbe essere costituito da tutti i residenti negli Stati Uniti.
Ora che hai i quasi-identificatori e un set di dati di reidentificazione, puoi calcolare il valore di k-map: i tuoi dati soddisfano k-map con valore k se ogni combinazione di valori per i quasi-identificatori appare almeno k volte nel set di dati di reidentificazione.
Data questa definizione e dato che la prima riga del nostro database probabilmente solo corrisponde a una sola persona negli Stati Uniti, il set di dati di esempio non soddisfa un requisito di valore di k-map pari a 2 o superiore. Per ottenere un valore di k-map più grande, noi potremmo rimuovere i valori di età come abbiamo fatto qui:
| Codice postale | età |
|---|---|
| 85535 | ** |
| 60629 | ** |
Come accennato in precedenza, il codice postale 85535 ha circa 20 persone e il codice postale 60629 ne ha oltre 100.000. Pertanto, possiamo stimare che questo nuovo set di dati generalizzati abbia un valore di k-map pari a circa 20.
Risorse di k-map
Per ulteriori informazioni su k-map e sulla sua relazione con k-anonymity, consulta Protecting Privacy Using k-Anonymity, di Khaled El Emam e Fida Kamal Dankar, nel Journal of the American Medical Informatics Association.
Per scoprire come calcolare le stime di k-map con Sensitive Data Protection, consulta Calcolo di k-map per un set di dati.
Informazioni su δ-presence
Delta-presence (δ-presence) stima il rischio associato a un utente malintenzionato che vuole scoprire se il suo target è presente nel set di dati. Questo è leggermente diverso dal rischio di reidentificazione in quanto l'obiettivo non è trovare il record esatto corrispondente a un individuo, ma solo sapere se un individuo fa parte del set di dati. L'utilizzo di questa metrica è particolarmente appropriato se tutti gli individui nel set di dati condividono un attributo sensibile comune, ad esempio hanno tutti la stessa diagnosi medica.
Come le altre metriche di rischio, δ-presence richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, indichi quali dati un utente malintenzionato utilizzerà molto probabilmente per scoprire quali individui sono presenti nel set di dati. Come k-map, il calcolo di δ-presence richiede un set di dati di attacco: una tabella più grande con cui confrontare le righe del set di dati originale.
Considera il seguente piccolo set di dati di esempio. Questi dati di esempio fanno parte di un database ipotetico più grande di persone con una determinata malattia genetica.
| Codice postale | età |
|---|---|
| 85942 | 72 |
| 85942 | 72 |
| 62083 | 53 |
Nel codice postale 85942 degli Stati Uniti vivono circa 2 persone di 72 anni e nel codice postale 62083 vivono circa 5 persone di 53 anni. I primi due record non sono esattamente reidentificabili perché entrambi hanno gli stessi quasi-identificatori. Tuttavia, poiché solo due individui condividono questi quasi-identificatori nella popolazione più ampia, un attaccante può dedurre che entrambi soffrono di la patologia genetica. δ-presenza quantifica questo rischio specifico calcolando il rapporto tra le persone con determinati quasi-identificatori presenti nel set di dati.
δ-presence, come le altre metriche di rischio, richiede di determinare quali colonne del database sono quasi-identificatori. E come per la stima di k-map, le API di analisi del rischio di Sensitive Data Protection simulano un set di dati della popolazione per approssimare il set di dati che un utente malintenzionato potrebbe utilizzare per scoprire chi è presente nel set di dati. Per l'esempio precedente, poiché si tratta di località statunitensi (codici postali) e dati personali (età) e poiché presupponiamo che l'attaccante non sappia chi ha la malattia genetica, questo set di dati della popolazione potrebbe essere costituito da tutti i residenti negli Stati Uniti.
Ora che hai i quasi-identificatori e un set di dati di reidentificazione, puoi calcolare il valore di δ-presence: i tuoi dati soddisfano δ-presence con valore δ se ogni combinazione di valori per i quasi-identificatori appare al massimo δ * k volte nel set di dati, dove k è il numero totale di persone con questi valori di quasi-identificatori nel set di dati della popolazione. A differenza di k in k-anonymity o k-map, δ in δ-presence è un numero reale compreso tra 0 e 1.
Data questa definizione e dato che entrambe le persone di 72 anni nel codice postale 85942 nella popolazione generale sono presenti anche nel nostro database, questo set di dati non soddisfa δ-presence per nessun δ strettamente inferiore a 1. Per ottenere un valore di δ-presence inferiore, potremmo rimuovere il valore di età delle prime due righe:
| Codice postale | età |
|---|---|
| 85942 | ** |
| 85942 | ** |
| 62083 | 53 |
Ora, poiché nel codice postale 85942 vivono 80 persone, il valore di δ per i primi due record è approssimativamente 2 / 80 = 2,5% e il valore di δ per il terzo record è approssimativamente 1 / 5 = 20%. Pertanto, possiamo stimare che questo nuovo, set di dati generalizzati abbia un valore di δ-presence pari a circa il 20%.
Risorse di δ-presence
Per ulteriori informazioni sulla stima di δ-presence basata su dati statistici, consulta δ-Presence Without Complete World Knowledge, di Mehmet Ercan Nergiz e Chris Clifton del Department of Computer Science Technical Reports della Purdue University.
Per scoprire come calcolare le stime di δ-presence con Sensitive Data Protection, consulta Calcolo di δ-presence per un set di dati.