Analisi del rischio di reidentificazione

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 informazioni sensibili su persone rivelate. 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 anomalie.

L'anonimizzazione è il processo di rimozione delle informazioni identificative dai dati. Sensitive Data Protection può rilevare e anonimizzare i dati sensibili in base a come li hai configurati in modo da essere conformi ai 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 trattata 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 Misurare la reidentificazione e il rischio di divulgazione.

Termini e tecniche di analisi del rischio

Se non anonimizzi in modo corretto o adeguato i dati sensibili, rischi che un malintenzionato riconosca i dati o analizzi le informazioni sensibili degli individui, il che può avere gravi implicazioni per la privacy. Sensitive Data Protection può aiutare a calcolare questo rischio, secondo diverse metriche.

Prima di addentrarci nelle metriche, definiremo alcuni termini comuni:

  • Identificatori: gli identificatori possono essere utilizzati per identificare in modo univoco una persona. Ad esempio, il nome completo o il numero del documento di identità di una persona vengono considerati identificatori.
  • Quasi-identificatori: i quasi-identificatori non identificano in modo univoco un individuo, ma, se combinati e sottoposti a riferimenti incrociati con i record individuali, possono aumentare notevolmente la probabilità che un utente malintenzionato sia in grado di reidentificare un individuo. Ad esempio, codici postali e età sono considerati quasi-identificatori.
  • Dati sensibili: i dati sensibili sono dati protetti da esposizione non autorizzata. Attributi come condizioni di salute, stipendio, reati e posizione geografica sono generalmente considerati dati sensibili. Tieni presente che gli identificatori e i dati sensibili possono sovrapporsi.
  • 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 è k-anonymity se i quasi-identificatori per ogni persona nel set di dati sono identici ad almeno k - 1 altre persone anche 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 anonimizzato di soggetti con un set di dati di reidentificazione più ampio (o "attacco"). Sensitive Data Protection non conosce il set di dati sugli attacchi, ma lo modella in modo statico 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-identificatore.
  • Presenza delta (Δ-presenza): stima la probabilità che un determinato utente in una popolazione più ampia sia presente nel set di dati. Si tratta di informazioni sensibili quando l'appartenenza al set di dati è di per sé un'informazione sensibile. Analogamente a k-map, la protezione dei dati sensibili non conosce il set di dati sugli attacchi, ma lo modella statisticamente utilizzando dati disponibili pubblicamente, distribuzioni specificate dall'utente o estrapolazioni dal set di dati di input.

Informazioni su k-anonymity

Quando si raccolgono dati per scopi di ricerca, l'anonimizzazione può essere essenziale per mantenere la privacy dei partecipanti. Allo stesso tempo, l'anonimizzazione può comportare la perdita di utilità pratica di un set di dati. Il k-anonymity è stato creato dalla necessità sia di quantificare la reidentificabilità di un set di dati sia di bilanciare l'utilità dei dati anonimizzati sulle persone e la privacy delle persone di cui vengono utilizzati i dati. È una proprietà di un set di dati che può essere usata per valutare la reidentificabilità dei record all'interno del set di dati.

Prendiamo come esempio un insieme di dati di pazienti:

ID paziente Nome e cognome Codice postale Età Condizione ...
746572 Mario B. Jacobsen 98122 29 Cardiopatia
652978 Debora D. Dreb 98115 29 Diabete, Tipo II
075321 Andrea F. Abernathy 98122 54 Cancro, fegato
339012 Claudio F. Cracovia 98115 88 Cardiopatia
995212 Guglielmo F. Wertheimer 98115 54 Asma
...

Questo set di dati contiene i tre tipi di dati descritti in precedenza: identificatori, quasi-identificatori e dati sensibili.

Se i dati sensibili, come le condizioni di salute, non sono mascherati o oscurati, un utente malintenzionato potrebbe potenzialmente utilizzare i quasi-identificatori a cui ciascuno è associato, potenzialmente eseguire controlli incrociati con 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 definito k - anonimo se ogni combinazione di valori per le colonne demografiche nel set di dati compare per almeno k record diversi. Ricorda che un gruppo di righe con quasi-identificatori identici è chiamato "classe di equivalente". Ad esempio, se hai anonimizzato i quasi-identificatori abbastanza da avere un minimo di quattro righe i cui valori di quasi-identificatori sono identici, il valore k-anonymity del set di dati è 4.

ID entità e calcolo di k-anonymity

Un'opzione importante che Sensitive Data Protection include nel calcolo di k-anonymity è l'identificatore entità (ID) facoltativo. Un ID entità consente di determinare con maggiore precisione il valore k-anonymity nello scenario comune in cui più righe del tuo 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 k-anonymity del set di dati viene reso artificialmente elevato. Di conseguenza, i valori k-anonymity calcolati sono imprecisi.

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 un ID entità per rilevare quando righe diverse appartengono allo stesso utente, il conteggio totale degli utenti utilizzato per il calcolo di k-anonymity è 8, anche se il numero effettivo di utenti è 4. In questo set di dati, utilizzando i metodi tradizionali di calcolo k-anonymity (senza un ID entità), tre persone hanno un valore k-anonymity pari a 3 e cinque persone hanno un valore k-anonymity pari a 5, anche se nel database ci sono solo quattro persone effettive.

L'utilizzo di un ID entità fa sì che Sensitive Data Protection consideri il multiset di codici postali a cui un utente è associato come un quasi-identificatore quando calcola k-anonymity. Nel nostro esempio, ci sono in realtà tre valori di quasi-identificatore "compositi" perché ci sono tre combinazioni distinte di quasi-identificatori assegnati agli utenti: 42.000, il multiinsieme di 17.000 e 42.000 e il multiset di 17.000, 42.000 e 42.000. e corrispondono agli utenti nel seguente modo:

  • [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 potrebbero comparire più volte nel nostro database di codici postali e li tratta di conseguenza per calcolare l'anonimizzazione di k.

Risorse k-anonymity

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 il valore 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 correlato a k-anonymity ed è stato creato per aiutare a risolvere 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 k sfruttando l'omogeneità dei valori all'interno di un insieme di k record.
  • Attacchi di conoscenze in background, in cui gli utenti malintenzionati sfruttano le associazioni tra valori di quasi-identificatori che hanno un certo 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, tutti hanno lo stesso attributo sensibile, se l-diversity = 2, ognuno ha uno dei due attributi sensibili e così via.

Risorse l-diversity

Per ulteriori informazioni su l-diversity, consulta l-Diversity: Privacy Beyond k-Anonymity di Ashwin Machanavajjhala, Johannes Gerke e Daniel Kifer della Cornell University Department of Computer Science.

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, ma presuppone che l'utente malintenzionato molto probabilmente non sappia chi è presente nel set di dati. Utilizza k-map se il tuo set di dati è relativamente piccolo o se il livello di impegno richiesto per la generalizzazione degli attributi è troppo elevato.

Come nel caso di k-anonymity, k-map richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, definisci quali dati più probabilmente sarà utilizzato da un utente malintenzionato per identificare nuovamente i soggetti. Inoltre, il calcolo di un valore k richiede un set di dati di reidentificazione, ovvero una tabella più ampia con la quale confrontare le righe nel set di dati originale.

Considera il piccolo set di dati di esempio riportato di seguito. Questi dati di esempio fanno parte di un database ipotetico più ampio, raccolto da un sondaggio le cui risposte includevano informazioni sensibili.

Codice postale età
85535 79
60629 42

Considerata da sola, questa sembra essere la stessa quantità di informazioni per entrambi gli individui. Infatti, prendendo in considerazione il k-anonymity per il set di dati più ampio potrebbe portare all'affermazione che il soggetto corrispondente alla seconda riga sia altamente identificabile. Tuttavia, se effettui il backup e consideri i dati, ti renderai conto che non è così. In particolare, prendiamo in considerazione il codice postale statunitense 85535, in cui vivono attualmente circa 20 persone. Probabilmente c'è solo una persona di esattamente 79 anni che vive nel CAP 85535. Confrontate questo codice con il codice postale 60629, che fa parte dell'area metropolitana di Chicago e ospita oltre 100.000 persone. Ci sono circa 1.000 persone di esattamente 42 anni di età in quel codice postale.

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

k-map, ad esempio 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 utente malintenzionato potrebbe seguire per confrontare il set di dati originale al fine di reidentificare i dati. Per l'esempio precedente, poiché riguarda località degli Stati Uniti (codici postali) e dati personali (età) e dato che supponiamo che l'utente malintenzionato non sappia chi ha partecipato al sondaggio, il set di dati di reidentificazione potrebbe riguardare tutti coloro che vivono negli Stati Uniti.

Ora che hai quasi-identificatori e un set di dati di reidentificazione, puoi calcolare il valore della mappa k. I tuoi dati soddisfano la mappa k con il valore k se ogni combinazione di valori per i quasi-identificatori compare almeno k volte nel set di dati di reidentificazione.

Data questa definizione e che la prima riga del nostro database probabilmente corrisponde solo a una persona negli Stati Uniti, il set di dati di esempio non soddisfa un requisito relativo ai valori di k-map pari a 2 o più. Per ottenere un valore k-map maggiore, 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 60629 ne ha più di 100.000. Pertanto, possiamo stimare che questo nuovo set di dati generalizzato ha un valore k-map pari a circa 20.

Risorse k-map

Per ulteriori informazioni su k-map e sulla sua relazione con k-anonymity, consulta il documento 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 stime di k-map con Sensitive Data Protection, consulta Calcolo di k-map per un set di dati.

Informazioni sulla presenza di Δ

La presenza delta () stima il rischio associato a un utente malintenzionato che voglia scoprire se il suo target si trova nel set di dati. Questo è leggermente diverso dal rischio di reidentificazione in quanto l'obiettivo non è trovare a quale record esatto corrisponde un determinato individuo, ma soltanto 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 per le altre metriche di rischio, la presenza di Δ richiede di determinare quali colonne del database sono quasi-identificatori. In questo modo, indichi quali dati verranno utilizzati con maggiore probabilità da un utente malintenzionato per scoprire quali persone si trovano nel set di dati. Come per k-map, il calcolo della presenza di src richiede un set di dati di attacco, ovvero una tabella più grande con la quale confrontare le righe nel set di dati originale.

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

Codice postale età
85942 72
85942 72
62083 53

Nel codice postale degli Stati Uniti 85942 ci sono circa 2 persone di 72 anni e nel codice postale 62083 ci sono circa 5 persone di età compresa tra 53 anni. I primi due record non sono esattamente riidentificabili perché entrambi hanno gli stessi quasi-identificatori. Ma poiché solo due individui condividono questi quasi-identificatori nella popolazione più ampia, un utente malintenzionato può dedurre che entrambi soffrano della malattia genetica. La presenza di persone quantifica questo particolare rischio calcolando il rapporto di persone con determinati quasi-identificatori presenti nel set di dati.

La presenza di Δ, 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 di 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à degli Stati Uniti (codici postali) e dati personali (età) e dal presupposto che l'utente malintenzionato non sappia chi è affetto dalla malattia genetica, il set di dati di questa popolazione potrebbe riguardare chiunque vive negli Stati Uniti.

Ora che disponi di quasi-identificatori e di un set di dati di reidentificazione, puoi calcolare il valore della presenza di saranno: i tuoi dati soddisfano la presenza di 5 con il valore 5 se ogni combinazione di valori per i quasi-identificatori appare al massimo 5 * k volte nel tuo set di dati, dove k è il numero totale di persone con questi valori di quasi-identificatori nel set di dati. A differenza di k in k-anonymity o k-map, la presenza di Δ in efficace è un numero reale compreso tra 0 e 1.

Data questa definizione, e che entrambe le persone di età pari a 72 anni nel codice postale 85942 nella popolazione generale sono presenti nel nostro database, questo set di dati non soddisfa la presenza di Δ per qualsiasi verso rigorosamente inferiore a 1. Per ottenere un valore più basso della presenza di Δ, 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 è pari a circa 2 / 80 = 2,5%, mentre il valore Λ per il terzo record è pari a circa 1 / 5 = 20%. Possiamo quindi stimare che questo nuovo set di dati generalizzato abbia un valore di presenza di <5 circa del 20%.

Risorse relative a presenza di testo

Per ulteriori informazioni sulla stima della presenza di persone con <6 in base a dati statistici, vedi <-Presenza senza la conoscenza completa del mondo, di Mehmet Ercan Nergiz e Chris Clifton del Dipartimento dei rapporti tecnici delle scienze informatiche della Purdue University.

Per scoprire come calcolare le stime della presenza di Δ con Sensitive Data Protection, consulta Calcolo della presenza di Δ per un set di dati.