Università degli Studi di Modena e Reggio Emilia Dipartimento di Ingegneria ”Enzo Ferrari” Corso di Laurea in Ingegneria Informatica Anonymization on Integrated Clinical Data (Tecniche di anonimizzazione su dati clinici integrati) Relatore: Candidato: Chiar.ma Prof.ssa Sonia Bergamaschi Gabriele Trombetta Anno Accademico: 2012/2013 Introduzione alla tesi E' stato analizzato un caso concreto E' stato studiato lo ”state of the art” sull'anonimizzazione E' stata prodotta una web application che, interrogando un database clinico integrato, produce risposte anonimizzate Per la stesura della tesi è stata scelta la lingua inglese Privacy La definizione del concetto di privacy e lo studio di metodologie per garantirla sono alcune delle problematiche più importanti dell'IT moderno La crescita esponenziale della produzione di transistors, la capacità di immagazzinamento di dati e la facilità di accesso alle nuove tecnologie hanno determinato l'aumento del volume di dati prodotti E' stato stimato che i dati generati giornalmente da utenti nel 2007 si aggirassero sugli 8-10 gygabyte di dati pubblici e 4 terabyte di dati privati [1] Perchè? Se la sanità degli Stati Uniti usasse i dati privati in modo creativo per migliorare l'efficienza e la qualità dei propri servizi, il settore potrebbe creare più di 300 miliardi di dollari ogni anno McKinsey Global Institute Report Il diritto alla privacy è sancito dalla Convenzione Europea ...e dalla Costituzione Italiana [3] [2] In materia di protezione dei dati personali è attualmente in vigore il decreto legislativo del 30 giugno 2003 [4] Casi tristemente famosi Un ulteriore motivo che ci spinge verso la ricerca di sistemi che garantiscano livelli adeguati di anonimizzazione per garantire il diritto alla privacy è sicuramente l'obbligo morale e professionale di non ripetere gli errori del passato. Nel 2002 il governo del Massachussetts Nel 2004 la Choicepoint Nel 2006 America OnLine "AOL"[5] Terminologia Identificatore: un identificatore univoco , ad esempio il SSN (social secury number, l'equivalente del nostro codice fiscale) Quasi-Identificatore (QI) : Un dato che può identificare parzialmente un individuo in un dataset ad esempio la data di nascita (DOB), il sesso, il codice postale o ZIP code Attributo Sensibile (SA) : l'associazione che vogliamo nascondere, ad esempio quella tra un individuo e la sua patologia. Non sempre è ben definibile! k-anonymity, l-diversity, t-closeness k-anonymity: la tabella T soddisfa la k-anonimicità riguardo i QI se e solo se ogni tupla nel multiset T[QI] compare almeno k volte [6] l-diversity: una tabella è l-diversa se ognuno dei suoi gruppi di quasi identificatori contiene almeno l valori ben rappresentati per i SA [7] t-closeness: una tabella soddisfa la t-closeness se in ognuno dei gruppi QI la distanza fra la distribuzione dei valori dei SA nei gruppi e nell'intera tabella non è più grande di un valore di soglia t Un approccio diverso: Differential Privacy Concetto emerso nella comunità scientifica nel 2006 [6] Brusco cambiamento, non si parla più di anonimizzazione ma di privacy differenziale Approccio Query-oriented piuttosto che Data-oriented Definizione: Siano D1,D2 due dataset vicini, sia A un algoritmo stocastico sul dataset e sia S un set arbitrario di possibili output di A. L'algoritmo A sarà ”ε -differentially private” se Pr[A(D1)∈ S] ≤ eεPr[A(D2)] ∈S] [8] Intuitivamente un algoritmo che restituisce una risposta la cui origine può essere ricondotta ad uno scenario con o senza la presenza, all'interno del dataset, di un individuo specifico Caso in esame Database clinico FIL. La Fondazione Italiana Linfomi ONLUS è un organo di coordinamento delle attività svolte in Italia nel campo dei linfomi da oltre 120 Centri distribuiti su tutto il territorio nazionale Integrato tramite l'utilizzo di MOMIS (Mediator envirOnment for Multiple Information Sources) è un framework per l'estrazione e l'integrazione di informazioni per sorgenti dati strutturate e semistrutturate MOMIS nel caso specifico produrrà una materializzazione di tale database integrato accessibile tramite un server MySQL Decision Making: ipotesi L'integrazione tramite MOMIS ci fornirà un database non sparse, cioè con un tasso non elevato di zeri Il tipo di dato che si considera, dato clinico, obbliga moralmente e professionalmente ad utilizzare la massima sicurezza Allo stesso modo è doveroso mantenere un elevato tasso di utilità in modo da aumentare l'efficienza del nostro software Serve un linguaggio che permetta la connessione con database di tipo MySQL e allo stesso tempo il supporto web Decision Making: scelte Un approccio Query oriented garantirà caratteristiche di dinamicità e modularità rendendo al contempo più leggera e meno onerosa l'elaborazione dei dati da anonimizzare L'unica tecnica teorica a dare un adeguato livello di sicurezza e al contempo un approccio Query oriented è la Differential Privacy La scelta della DP rende il software più efficiente e il processo di anonimizzazione facilmente aggiornabile Nel caso specifico si è agevolati dall'approccio web nell'analisi delle query, potendo andare ad agire direttamente su di esse ancor prima che queste interroghino il database La scelta del linguaggio ricade su Java, sia per la facilità di interconnessione con un database MySQL tramite JDBC sia per il supporto web Sviluppo del progetto Il software dovrà restituire dati anonimizzati ad un utente interrogando un database integrato Per l'utente sarà una blackbox che riceve query e restituisce dati anonimizzati Utilizzerà il JDBC per interrogare il database integrato tramite MOMIS Database DB2 Database DB1 Database DBn M O M I S Database Integrato J D B C Anon Alyzer Anon-Alyzer Il nome scelto rispecchia le caratteristiche principali: analisi e anonimizzazione di query Dinamico e progettato per la modularità Anonimizza correttamente diverse tipologie di query Mantiene un elevato grado di utilità Programmazione bottom-up e algoritmi stocastici Un esempio di query anonimizzata Consideriamo una query che dovrebbe restituire un singolo dato di tipo numerico. Anon-Alyzer analizzerà la query, ricavando una valore chiamato sensibilità globale, che utilizzerà per generare una distribuzione di probabilità Laplaciana, dalla quale campionare un valore ”rumoroso” Garantirà la privacy differenziale Assicurerà che il risultato sia privato … perchè indistinguibile da un risultato prodotto interrogando un database con o senza l'individuo Counting Query Si veda ora nello specifico come viene anonimizzato un dataset attraverso un meccanismo esponenziale che garantirà la privacy differenziale: SELECT COUNT(*) AS `Occorrenze`, Patologia FROM `filtest` GROUP BY Patologia ORDER BY `Occorrenze` DESC Occorrenze Patologia Occorrenze Patologia 1900 Traumatica 1899 Cardiovascolare 1883 Cardiovascolare 1885 Traumatica 1851 Osteoarticolare 1850 Osteoarticolare 1821 Infettiva 1821 Infettiva 1813 Neoplastica 1814 Neoplastica 1783 Respiratoria 1783 Respiratoria Conclusioni e futuro Anon-Alyzer mantiene un tasso elevato di utilità sui dati anonimizzati ...stimato fino al 97% Modulo applicabile a qualsiasi database Miglioramenti futuri: analisi semantica query Concetto chiave per il futuro: sintetizzazione database differentially private Grazie per l'attenzione References [1] [Ramakrishnan 2007] : Privacy in Data Publishing, CPS 116, Duke University. [2] Convenzione Europea per la salvaguardia dei diritti dell'uomo e delle libertà fondamentali,articolo 8, visionabile presso http://it.wikipedia.org/wiki/Convenzione_europea [3] Per quanto attiene alla legislazione italiana, i fondamenti costituzionali sono ravvisabili negli art. 14, 15 e 21 Cost., rispettivamente riguardanti il domicilio, la libertà e segretezza della corrispondenza, e la libertà di manifestazione del pensiero; ma si può fare anche riferimento all'art. 2 Cost., incorporando la riservatezza nei diritti inviolabili dell'uomo. [4] Decreto Legislativo 30 giugno 2003, n. 196 "Codice in materia di protezione dei dati personali" pubblicato nella Gazzetta Ufficiale n. 174 del 29 luglio 2003 - Supplemento Ordinario n. 123 References [5] Aol privacy breach: http://www.washingtonpost.com/wpdyn/content/article/2006/08/07/ar2006080700790.html [6] Pierangela Samarati, Latanya Sweeney. Generalizing data to provide anonymity when disclosing information. In ACM PODS 1998 [7] Ashwin Machanavajjhala, Johannes Gehrke, Daniel Kifer, Muthuramakrishnan Venkitasubramaniam. l-Diversity: privacy Beyond kanonymity. In ICDE 2006 [8] C. Dwork, F. Mcsherry, K. Nissim, and A. Smith. Calibrating Noise to Sensitivity in Private Data Analysis. In Theory of Cryptography Conference, 2006.