Analisi del rischio di reidentificazione

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 divulgazione di informazioni sensibili sugli individui. Puoi utilizzare i metodi di analisi dei rischi prima dell'anonimizzazione per determinare una strategia di anonimizzazione efficace o dopo l'anonimizzazione per monitorare eventuali modifiche o outlier.

L'anonimizzazione è il processo di rimozione delle informazioni identificative dai dati. Sensitive Data Protection può rilevare e anonimizzare i dati sensibili in base alla configurazione che hai impostato 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 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, consulta Misurazione del rischio di reidentificazione e divulgazione.

Quando utilizzare l'analisi del rischio di reidentificazione

Ecco alcuni casi d'uso comuni:

  • Quantifica la vulnerabilità alla reidentificazione prima di condividere i dati: misura la k-anonimità e la l-diversità nelle colonne quasi identificative prima di rilasciare set di dati di ricerca, sanitari o demografici a partner esterni.
  • Valuta il rischio di divulgazione rispetto ai benchmark della popolazione: calcola le metriche k-map rispetto ai set di dati demografici pubblici (come i dati del censimento degli Stati Uniti) per valutare la probabilità che un individuo possa essere identificato.
  • Valuta la sensibilità della divulgazione dell'appartenenza con la delta-presence: stima il rischio che un malintenzionato possa determinare se un individuo specifico è incluso in una coorte o in un registro sensibile.
  • Ottimizza i parametri di anonimizzazione e mascheramento: esegui valutazioni del rischio iterative per perfezionare le trasformazioni di bucketing, spostamento delle date e tokenizzazione per ottenere l'equilibrio ideale tra privacy e utilità.

Termini e tecniche di analisi dei rischi

Se non anonimizzi correttamente o adeguatamente i dati sensibili, rischi che un malintenzionato li riidentifichi 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 un individuo. Ad esempio, il nome e cognome o il documento di identità ufficiale 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 sostanzialmente la probabilità che un attaccante 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 dall'esposizione non autorizzata. Attributi come condizioni cliniche, reddito, precedenti penali e posizione geografica sono generalmente 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 reidentificabilità confrontando un determinato set di dati anonimizzato 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 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 di una popolazione più ampia sia presente nel set di dati. Questo viene utilizzato quando l'appartenenza al set di dati è di per sé un'informazioni sensibili. Analogamente alla mappa k, 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, l'anonimizzazione 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. La k-anonymity è stata creata dalla necessità di quantificare la reidentificabilità di un set di dati e di bilanciare l'utilità dei dati delle persone anonimizzate 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, fegato
339012 Karen K. Cracovia 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 potenzialmente utilizzare i quasi-identificatori a cui è collegato ciascuno di essi, facendo un controllo incrociato con un altro set di dati che contiene quasi-identificatori simili e identificando nuovamente 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 sia un minimo di quattro righe i cui valori dei quasi-identificatori sono identici, il valore di k-anonymity del set di dati è 4.

ID entità e calcolo della k-anonymity

Un'opzione importante che Sensitive Data Protection include nel calcolo della k-anonimato è l'identificatore di entità (ID) facoltativo. Un ID entità ti consente di determinare con maggiore precisione la 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 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 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 la k-anonimato è 8, anche se il numero effettivo di utenti è 4. In questo set di dati, utilizzando i metodi di calcolo tradizionali della k-anonymity (senza un ID entità), tre persone hanno un valore di k-anonymity pari a 3 e cinque persone hanno un valore di k-anonymity pari a 5, anche se nel database sono presenti solo quattro persone reali.

L'utilizzo di un ID entità fa sì che Sensitive Data Protection consideri il multiset di codici postali a cui è associato un utente come un quasi-identificatore durante il calcolo della k-anonimato. Nel caso del nostro esempio, esistono effettivamente tre valori di quasi-identificatore "compositi" 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 un utente unico (03).

Come puoi vedere, questo metodo tiene conto del fatto che gli utenti possono comparire più di una volta nel nostro database di codici postali e li tratta di conseguenza quando calcola la k-anonimato.

Risorse sulla k-anonymity

Per ulteriori informazioni sulla k-anonimità, 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 la k-anonymity con Sensitive Data Protection, con o senza ID entità, consulta Calcolo della k-anonymity per un set di dati.

Informazioni sulla l-diversity

La ℓ-diversity è strettamente correlata alla k-anonymity ed è stata creata per contribuire ad affrontare la suscettibilità di un set di dati anonimizzato ad attacchi quali:

  • Attacchi di omogeneità, in cui gli utenti malintenzionati prevedono valori sensibili per un insieme di dati anonimizzati con k sfruttando l'omogeneità dei valori all'interno di un insieme di record k.
  • Attacchi basati sulla conoscenza di base, in cui gli utenti malintenzionati sfruttano le associazioni tra i valori dei 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ò 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 ciascun 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.

Risorse l-diversity

Per ulteriori informazioni sulla l-diversity, 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

La mappa k è molto simile alla k-anonymity, con la differenza che presuppone che l'utente malintenzionato molto probabilmente non sappia chi è presente 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 è troppo elevato.

Come per la k-anonymity, la k-map richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, dichiari quali dati un utente malintenzionato utilizzerà molto probabilmente per identificare nuovamente i soggetti. Inoltre, il calcolo di un valore di k-mappa richiede un set di dati di reidentificazione: una tabella più grande con cui confrontare le righe nel set di dati originale.

Considera il seguente piccolo set di dati di esempio. Questi dati campionati 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

Se considerata singolarmente, questa sembra essere la stessa quantità di informazioni per entrambi gli individui. In effetti, l'applicazione della k-anonymity al set di dati più grande potrebbe portare all'affermazione che il soggetto corrispondente alla seconda riga è altamente identificabile. Tuttavia, se fai un passo 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 esiste una sola 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 che hanno esattamente 42 anni.

La prima riga del nostro piccolo set di dati è stata facilmente reidentificata, ma non la seconda. Tuttavia, in base alla k-anonymity, entrambe le righe potrebbero essere completamente univoche nel set di dati più grande.

k-map, come k-anonymity, richiede di determinare quali colonne del database sono quasi-identificatori. Le API di analisi dei rischi 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 il nostro esempio precedente, poiché si tratta di località degli Stati Uniti (codici postali) e di 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 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 k-map: i tuoi dati soddisfano k-map con il valore k se ogni combinazione di valori per i quasi-identificatori appare almeno k volte nel set di dati di reidentificazione.

In base a questa definizione e al fatto che la prima riga del nostro database probabilmente corrisponde a una sola persona negli Stati Uniti, il set di dati di esempio non soddisfa un requisito di valore k-map pari o superiore a 2. Per ottenere un valore di k-mappa più grande, potremmo rimuovere i valori relativi all'età come abbiamo fatto qui:

Codice postale età
85535 **
60629 **

Come accennato in precedenza, il codice postale 85535 ha circa 20 persone e 60629 ne ha oltre 100.000. Pertanto, possiamo stimare che questo nuovo set di dati generalizzato abbia un valore di mappa k di circa 20.

Risorse k-map

Per saperne di più sulla mappa k e sulla sua relazione con la k-anonimato, 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 della mappa k con Sensitive Data Protection, consulta Calcolo della mappa k per un set di dati.

Informazioni sulla presenza di δ

La presenza delta (presenza δ) stima il rischio associato a un malintenzionato che vuole scoprire se il suo target è presente nel set di dati. Questo rischio è leggermente diverso da quello di reidentificazione, in quanto l'obiettivo non è trovare il record esatto che corrisponde 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 se hanno tutti la stessa diagnosi medica.

Come le altre metriche di rischio, la δ-presence richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, dichiari quali dati un utente malintenzionato utilizzerà molto probabilmente per scoprire quali individui si trovano nel set di dati. Come la k-mappa, il calcolo della δ-presenza richiede un set di dati di attacco: una tabella più grande con cui confrontare le righe nel set di dati originale.

Considera il seguente piccolo set di dati di esempio. Questi dati campionati fanno parte di un database ipotetico più ampio di persone con una determinata malattia genetica.

Codice postale età
85942 72
85942 72
62083 53

Negli Stati Uniti, nel codice postale 85942 ci sono circa 2 persone di 72 anni, mentre 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 entrambi soffrono della malattia genetica. La presenza δ quantifica questo rischio particolare calcolando il rapporto tra le persone con determinati quasi-identificatori presenti nel set di dati.

La 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 dei rischi 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 il nostro esempio precedente, poiché si tratta di località degli Stati Uniti (codici postali) e dati personali (età) e poiché supponiamo che l'autore dell'attacco non sappia chi ha la malattia genetica, questo set di dati sulla popolazione potrebbe essere costituito da tutti gli abitanti degli 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 la δ-presence con il 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, δ in δ-presence è un numero reale compreso tra 0 e 1.

In base a questa definizione e al fatto che entrambe le persone di 72 anni nel codice postale 85942 della popolazione generale sono presenti anche nel nostro database, questo set di dati non soddisfa la δ-presence per nessun δ strettamente inferiore a 1. Per ottenere un valore di presenza δ più basso, potremmo rimuovere il valore dell'età delle prime due righe:

Codice postale età
85942 **
85942 **
62083 53

Poiché 80 persone vivono nel codice postale 85942, il valore δ per i primi due record è di circa 2/80 = 2, 5% e il valore δ per il terzo record è di circa 1/5 = 20%. Pertanto, possiamo stimare che questo nuovo set di dati generalizzato abbia un valore di presenza δ di circa il 20%.

Risorse di presenza δ

Per ulteriori informazioni sulla stima della presenza δ 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 presenza δ con Sensitive Data Protection, consulta Calcolo della presenza δ per un set di dati.