Introduzione alla privacy differenziale

Riservatezza dei dati e anonimizzazione in Python

Rebeca Gonzalez

Instructor

Cos’è la privacy differenziale (DP)?

Ti tingi i capelli?

$$ $$ Immagine di una mano che preme uno dei due pulsanti, selezionando quello con la spunta

Disegno di una donna bionda

Riservatezza dei dati e anonimizzazione in Python

Cos’è la privacy differenziale (DP)?

Immagine di una moneta

Riservatezza dei dati e anonimizzazione in Python

Cos’è la privacy differenziale (DP)?

Diagramma di una moneta che indica la parola testa su un ramo a sinistra

Riservatezza dei dati e anonimizzazione in Python

Cos’è la privacy differenziale (DP)?

Diagramma di una moneta che indica testa su un ramo a sinistra. Poi segue la frase "risposta reale"

Riservatezza dei dati e anonimizzazione in Python

Cos’è la privacy differenziale (DP)?

Diagramma di una moneta che indica croce sul ramo destro.

Riservatezza dei dati e anonimizzazione in Python

Cos’è la privacy differenziale (DP)?

Diagramma di una moneta che indica croce sul ramo destro. Seguono le opzioni testa e croce

Riservatezza dei dati e anonimizzazione in Python

Cos’è la privacy differenziale (DP)?

Diagramma di una moneta che indica croce sul ramo destro. Seguono le opzioni testa e croce. Testa termina con "no" e croce con "sì"

Riservatezza dei dati e anonimizzazione in Python

Cos’è la privacy differenziale (DP)?

La privacy differenziale è una definizione matematica di privacy.

Disegno di un volto diviso a metà. A destra c’è un punto interrogativo

Riservatezza dei dati e anonimizzazione in Python

Chi usa la privacy differenziale (DP)?

Logo di Apple

Riservatezza dei dati e anonimizzazione in Python

Chi usa la privacy differenziale (DP)?

Parola chiave per emoji di Apple

Logo di Apple

Riservatezza dei dati e anonimizzazione in Python

Privacy differenziale globale

  • Un curatore fidato protegge i dati
  • Rumore aggiunto all’output

Diagramma della privacy differenziale globale

Riservatezza dei dati e anonimizzazione in Python

Privacy differenziale locale

  • Nessuna parte fidata
  • Aggiunta di rumore prima della condivisione

Diagramma della privacy differenziale locale

Riservatezza dei dati e anonimizzazione in Python

Privacy differenziale con epsilon

Lettera greca epsilon $\epsilon$: misura quanta privacy e quanto rumore ha una release.

  • Valori alti di $\epsilon$ danno dati più accurati e meno privati
  • Sistemi a $\epsilon$ basso danno dati molto casuali
Riservatezza dei dati e anonimizzazione in Python

Epsilon è esponenziale

Per esempio $\epsilon$ = 1.

$\epsilon^1=2.72$

  • È quasi tre volte più privata di $\epsilon$ = 2.
    • $\epsilon^2=7.39$
  • E oltre 8.000 volte più privata di $\epsilon$ = 10.
    • $\epsilon^10=22000$
Riservatezza dei dati e anonimizzazione in Python

K-anonymity e privacy differenziale

k-anonymity offre garanzie “sintattiche”

  • Ancora molto usata
  • Spesso non basta

La privacy differenziale è il modello di fatto

  • Preferita da Apple, Uber, Google
  • Il degrado di privacy delle release è quantificabile esattamente
Riservatezza dei dati e anonimizzazione in Python

Introduzione a diffprivlib

diffprivlib v0.3 di IBM

Logo IBM

Riservatezza dei dati e anonimizzazione in Python

Istogrammi

# Get counts and bars for non-private histogram of salaries
counts, bins = np.histogram(salaries)


# Normalize counts to get proportions of the height proportions = counts / counts.sum()
# Draw the histogram of proportions plt.bar(bins[:-1], height=proportions, width=(bins[1] - bins[0])) plt.show()
Riservatezza dei dati e anonimizzazione in Python

Istogrammi

Istogramma non privato risultante

Riservatezza dei dati e anonimizzazione in Python

Istogramma privato

import diffprivlib.tools

# Get counts and bars for private histogram of salaries with epsilon of 0.1 dp_counts, dp_bins = tools.histogram(salaries, epsilon=0.1)
# Normalize counts to get proportions dp_proportions = dp_counts / dp_counts.sum()
# Draw the histogram of proportions and see differences plt.bar(dp_bins[:-1], dp_proportions, width=(dp_bins[1] - dp_bins[0])) plt.show()
Riservatezza dei dati e anonimizzazione in Python

Istogramma privato

Istogramma non privato Istogramma non privato risultante

Istogramma privato risultante Istogramma privato risultante

Riservatezza dei dati e anonimizzazione in Python

Ayo berlatih!

Riservatezza dei dati e anonimizzazione in Python

Preparing Video For Download...