Blog.

Differential Privacy by Shuffling in Italiano


Autore
Andrea Provino
Data
Tempo di lettura
4 minuti
Categoria
machine-learning

differential-privacy-by-shuffling-data-science-machine-learning-privacy-preserving-ai

Il Differential Privacy by Shuffling è un approccio di differential privacy che si pone l’obiettivo di risolvere il compromesso tra privacy e utilità (i.e. Accuratezza).

Vediamo di cosa si tratta più nel dettaglio.

Rammentando il nostro articolo introduttivo, sappiamo che la Differential Privacy può essere intesa come il sistema standard attraverso cui misurare la privacy garantita da una query su un database.

Devi sapere una cosa.

Uno degli aspetti più impegnativi nell’applicazione di questo sistema è il compromesso tra privacy e utilità, compromesso che abbiamo avuto modo di approfondire in quest’altro articolo.

L’amplificazione della privacy attraverso il rimescolamento dei dati è una idea relativamente nuova per aumentare l’accuratezza e preservare al contempo la privacy delle istanze.

Questa tecnica avrebbe dunque il potenziale di consentire più ricche e affidabili analisi dati, garantendo la tutela della privacy.

C’è ancora una cosa poco chiara: perché è davvero utile questo metodo?

Vele ammainate. Possiamo procedere capitano!

Perché Differential Privacy by Shuffling

Prima di comprendere in che modo questa tecnica venga eseguita, facciamo un passo indietro e chiariamone le origini.

In genere, 2 sono i sistemi di applicazione della differential privacy:

  • Local Differential Privacy, misure di tutela della privacy (e.g. Perturbazione delle istanze con aggiunta di rumore) sono applicate prima dell’invio dei dati al server per le analisi.
  • Global Differential Privacy, misure di tutela della privacy applicate sulla query usata per l’estrazione dell’informazione dal database.

La prima soluzione garantisce la privacy senza il bisogno di una parte fidata esterna, sebbene l’introduzione dell’errore richieda molti più dati affinché le analisi possano essere attendibili e valide.

Non finisce qui.

Inoltre, le analisi che è possibile compiere su dati così drogati sono piuttosto limitate, poiché le singole osservazioni sono inaffidabili per principio.

Allora considera questa osservazione.

In effetti, non è un caso che tra le prime aziende ad applicare la local differential privacy ci siano Google e Apple, due colossi con a disposizione Big Data a sufficienza da attenuare gli inconvenienti di questo approccio.

La seconda soluzione prevede che i dati grezzi siano inviati a un server fidato che impegna tecniche di tutela della privacy durante il processo di analisi.

Con minori dati richiesti a parità di affidabilità nel risultato, questo sistema sembrerebbe migliore benché sia comunque soggetto a rilevanti problematiche.

Quella più degna di nota è la problematicità intrinseca dell’avere tutti i dati, in chiaro, in un unico punto, situazione definita tecnicamente come single point of failure.

In caso di attacco al database tutte le informazioni sarebbero facilmente compromesse.

A tal proposito, qui trovi una meravigliosa rappresentazione grafica online della moltitudine di attacchi sferrati alle principali aziende e governi mondiali.

Abbiamo un’annosa questione tra le mani!

Problemi a babordo e a tribordo: scegliendo tra le due opzioni disponibili incappiamo insomma in un compromesso tra privacy e accuratezza, e in alcune situazioni nessuna di queste offre un accettabile valore di entrambi.

Ecco la soluzione: cambiare approccio.

Come Differential Privacy by Shuffling

Il ragionamento di fondo semplice.

Individuare una soluzione che offra vantaggi paragonabili a una eventuale opzione terza, intermedia tra il local differential privacy e il global differential privacy.

Grazie all’ausilio di funzioni matematiche particolarmente avanzate possiamo garantire alti livelli di privacy e al contempo salvaguardare la privacy delle osservazioni coinvolte.

Nell’articolo accademico datato 2017 di Andrea Bittau et al. viene presentata un’architettura composta da tre fasi: Encode, Shuffle Analyze (ESA).

Nella fase di encoding, l’utente codifica i propri dati con un doppio livello di crittografia, eventualmente implementando tecniche di tutela della privacy.

Seconda fase. Shuffle!

Un servizio denonimato shuffler riceve, raggruppa e rimescola i dati.

È qui che vengono rimossi le eventuali Personally Identifiable Information presenti. Questa fase è altresì responsabile di raggruppare i dati in un insieme sufficientemente grande da garantire che le informazioni individuare si “confondano nella folla” per così dire.

Infine, il servizio shuffler cancella il primo livello di criptazione per accedere e analizzare i dati.

La novità è l’aggiunta di uno step intermedio di rimescolamento tra utente e server centralizzato.

Dunque, il rimescolamento non costituisce un modello di privacy vero e proprio quanto piuttosto un livello compatibile con strategie di tutela della privacy già esistenti.

Altri ricerche suggeriscono che sia possibile usare questo concetto con differenti algoritmi e una struttura di base simile.

Conclusione

Giusto due paroline prima di salutarci.

La Differential Privacy by Shuffling è dunque un efficace metodo per consentire l’applicazione della privacy differenziale a casi generici e variegati.

Una valida soluzione per il futuro!

Per aspera, ad astra.

Un caldo abbraccio, Andrea.

Taggeddifferential privacyprivacy preserving machine learning


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum