L'analisi del rischio di reidentificazione (o semplicemente analisi del rischio) è il processo di analisi dei dati sensibili per trovare 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 può rilevare e de-identificare i dati sensibili per te 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 citata nel contesto di informazioni personali sensibili, come dati medici o finanziari.
Per saperne di più sull'utilizzo di Sensitive Data Protection per misurare vari tipi di rischio, vedi Misurare il rischio di reidentificazione e divulgazione.
Termini e tecniche di analisi del rischio
Se non de-identifichi correttamente o adeguatamente i dati sensibili, rischi che un malintenzionato identifichi nuovamente i dati 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 esaminare le metriche, definiamo alcuni termini comuni:
- Identificatori: gli identificatori possono essere utilizzati per identificare in modo univoco una persona. 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 individuali, 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 protetti contro l'esposizione non autorizzata. Attributi come condizioni cliniche, reddito, precedenti penali e località 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 nel set di dati sono identici ad almeno k – 1 altre persone nel 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 reidentificazione 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 degli Stati Uniti, 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, ovvero il set di dati campione 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. Viene utilizzato quando l'appartenenza al set di dati è di per sé un'informazioni sensibilie. Analogamente alla k-mappa, 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 a scopo di ricerca, la deidentificazione può essere essenziale per contribuire a mantenere la privacy dei partecipanti. Allo stesso tempo, l'anonimizzazione può comportare la perdita di utilità pratica di un set di dati. L'anonimizzazione k è 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.
Prendiamo come esempio un insieme di dati dei pazienti:
ID paziente | Nome e cognome | Codice postale | Età | Condizione | … |
---|---|---|---|---|---|
746572 | John J. Jacobsen | 98122 | 29 | Malattia cardiaca | |
652978 | Debra D. Dreb | 98115 | 29 | Diabete di tipo II | |
075321 | Abraham A. Abernathy | 98122 | 54 | Cancro, fegato | |
339012 | Karen K. Cracovia | 98115 | 88 | Malattia cardiaca | |
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 malintenzionato potrebbe utilizzare i quasi identificatori a cui sono allegati, facendo potenzialmente riferimenti incrociati con un altro set di dati che contiene quasi identificatori simili e identificare nuovamente le persone a cui si applicano questi dati sensibili.
Un set di dati viene detto k-anonymous se ogni combinazione di valori per le 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 reso anonimi i quasi-identificatori in modo che ci siano almeno quattro righe i cui valori di quasi-identificatori siano 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 durante il calcolo dell'k-anonimato è l'identificatore (ID) entità facoltativo. Un ID entità ti consente di determinare con maggiore precisione la k-anonymity nello scenario comune in cui diverse righe del set di dati corrispondono allo stesso utente. In caso contrario, se ogni riga, indipendentemente dall'utente, viene conteggiata separatamente, il conteggio totale degli utenti utilizzato per calcolare il valore di k-anonimato del set di dati viene reso artificialmente elevato. Ciò rende imprecisi i valori di k-anonymity calcolati.
Considera il seguente semplice set 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 conteggio totale degli utenti utilizzato per calcolare l'k-anonimato è 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 dei codici postali a cui è associato un utente come quasi-identificatore durante il calcolo dell'k-anonimato. Nel caso del nostro esempio, esistono in realtà tre valori di quasi-identificatore "composito" perché esistono tre combinazioni distinte di quasi-identificatore assegnate 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 unico (01).
- [17000, 42000] è associato a 2 utenti unici (02 e 04).
- [17000, 42000, 42000] è associato a 1 utente unico (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 quando calcola l'k-anonimato.
Risorse per la k-anonymity
Per saperne di più sull'anonimato k, consulta Protecting Privacy when Disclosing Information: k-Anonymity and Its Enforcement through Generalization and Suppression, di Pierangela Samarati e Latanya Sweeney del Harvard University Data Privacy Lab.
Per scoprire come calcolare la k-anonimità con Sensitive Data Protection, con o senza ID entità, consulta Calcolo di k-anonimità per un set di dati.
Informazioni su l-diversity
La l-diversity è strettamente correlata alla k-anonymity ed è stata creata per contribuire a risolvere la suscettibilità di un set di dati de-identificato ad attacchi quali:
- Attacchi di omogeneità, in cui gli autori malintenzionati prevedono valori sensibili per un insieme di dati k-anonimizzati sfruttando l'omogeneità dei valori all'interno di un insieme di k record.
- Attacchi di conoscenza di base, in cui gli autori degli attacchi sfruttano le associazioni tra valori di quasi-identificatori che hanno un determinato attributo sensibile per restringere i possibili valori dell'attributo.
La l-diversity tenta di misurare quanto un malintenzionato può scoprire sulle persone in termini di k-anonimato 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 ciascun attributo sensibile. Per ogni classe di equivalenza, quanti attributi sensibili sono presenti nel set di dati? l
Risorse per l'l-diversity
Per ulteriori informazioni sulla l-diversità, consulta l-Diversity: Privacy Beyond k-Anonymity, di Ashwin Machanavajjhala, Johannes Gerke e Daniel Kifer del Dipartimento di informatica della Cornell University.
Per scoprire come calcolare la l-diversity con Sensitive Data Protection, consulta Calcolo della l-diversity per un set di dati.
Informazioni sulla k-map k
k-map è molto simile a k-anonymity, tranne per il fatto che presuppone che l'aggressore molto probabilmente non sappia chi si trova nel set di dati. Utilizza la mappa k se il tuo set di dati è relativamente piccolo o se il livello di impegno richiesto per generalizzare gli attributi sarebbe troppo elevato.
Proprio come la k-anonymity, la k-map richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, indichi quali dati un malintenzionato utilizzerà più probabilmente per reidentificare i soggetti. Inoltre, il calcolo di un valore di k-map richiede 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, raccolti da un sondaggio le cui risposte includevano informazioni sensibili.
Codice postale | età |
---|---|
85535 | 79 |
60629 | 42 |
Presi singolarmente, questi dati sembrano essere la stessa quantità di informazioni per entrambi gli individui. Infatti, se si considera la k-anonimity per il set di dati più grande, si potrebbe affermare che il soggetto corrispondente alla seconda riga è altamente identificabile. Tuttavia, se esegui il backup e analizzi 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 c'è solo una persona di esattamente 79 anni che vive nel codice postale 85535. Confronta questo dato con il codice postale 60629, che fa parte dell'area metropolitana di Chicago e ospita oltre 100.000 persone. In quel codice postale ci sono circa 1000 persone di esattamente 42 anni.
La prima riga del nostro piccolo set di dati è stata facilmente reidentificata, ma non la seconda. Secondo la k-anonymity, tuttavia, entrambe le righe potrebbero essere completamente uniche nel set di dati più grande.
La k-mappa, come la k-anonymity, richiede di determinare quali colonne del 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 malintenzionato potrebbe seguire per confrontare il set di dati originale al fine di reidentificare i dati. Per il nostro esempio precedente, poiché riguarda località statunitensi (codici postali) e dati personali (età) e poiché supponiamo che l'autore dell'attacco non sappia chi ha partecipato al sondaggio, il set di dati di reidentificazione potrebbe includere 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 viene visualizzata almeno k volte nel set di dati di reidentificazione.
In base a questa definizione e al fatto che la prima riga del nostro database corrisponde probabilmente a una sola persona negli Stati Uniti, il set di dati di esempio non soddisfa un requisito di valore k-map di 2 o più. Per ottenere un valore k-map più grande, 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 60629 ne ha oltre 100.000. Pertanto, possiamo stimare che questo nuovo set di dati generalizzato abbia un valore di k-map di circa 20.
Risorse k-map
k.
Per scoprire come calcolare le stime k-map con Sensitive Data Protection, consulta Calcolo di k-map per un set di dati.
Informazioni su δ-presence
La presenza differenziale (δ-presenza) stima il rischio associato a un malintenzionato che vuole scoprire se il suo obiettivo è presente nel set di dati. Questo è leggermente diverso dal rischio di reidentificazione in quanto l'obiettivo non è trovare quale record esatto corrisponde a quale 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, la δ-presenza richiede di determinare quali colonne del database sono quasi identificatori. In questo modo, indichi quali dati un malintenzionato utilizzerà più probabilmente per scoprire quali individui sono presenti nel set di dati. Come per la 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 campione fanno parte di un database ipotetico più ampio di persone con una determinata malattia genetica.
Codice postale | età |
---|---|
85942 | 72 |
85942 | 72 |
62083 | 53 |
Nel codice postale 85942 degli Stati Uniti ci sono circa 2 persone di 72 anni e nel codice postale 62083 ci sono 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 persone condividono questi quasi identificatori nella popolazione più ampia, un malintenzionato può dedurre che entrambe soffrono della malattia genetica. δ-presence quantifica questo particolare rischio calcolando il rapporto tra le persone con determinati quasi identificatori presenti nel set di dati.
δ-presenza, come le altre metriche di rischio, richiede di determinare quali colonne del database sono quasi identificatori. Come per la stima della mappa k, 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 malintenzionato potrebbe utilizzare per scoprire chi è presente nel set di dati. Per l'esempio precedente, poiché riguarda località statunitensi (codici postali) e dati personali (età) e poiché presumiamo che l'aggressore non sappia chi ha la malattia genetica, questo set di dati sulla popolazione potrebbe includere tutti i residenti negli Stati Uniti.
Ora che hai i quasi-identificatori e un set di dati di reidentificazione, puoi calcolare il valore di δ-presenza: i tuoi dati soddisfano la δ-presenza con valore δ se ogni combinazione di valori per i quasi-identificatori appare al massimo δ * k volte nel tuo 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, il δ in δ-presence è un numero reale compreso tra 0 e 1.
Data questa definizione e il fatto 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 la δ-presenza per qualsiasi δ strettamente inferiore a 1. Per ottenere un valore di δ-presenza inferiore, potremmo rimuovere il valore dell'età delle prime due righe:
Codice postale | età |
---|---|
85942 | ** |
85942 | ** |
62083 | 53 |
Ora, poiché 80 persone vivono nel codice postale 85942, il valore δ per i primi due record è circa 2 / 80 = 2,5% e il valore δ per il terzo record è circa 1 / 5 = 20%. Pertanto, possiamo stimare che questo nuovo set di dati generalizzato abbia un valore di δ-presenza di circa il 20%.
Risorse per la δ-presenza
Per ulteriori informazioni sulla stima della δ-presenza basata su dati statistici, vedi δ-Presence Without Complete World Knowledge, di Mehmet Ercan Nergiz e Chris Clifton della Purdue University Department of Computer Science Technical Reports.
Per scoprire come calcolare le stime di δ-presence con Sensitive Data Protection, consulta Calcolo di δ-presence per un set di dati.