Budget di privacy

Riservatezza dei dati e anonimizzazione in Python

Rebeca Gonzalez

Instructor

Definizione di privacy differenziale

  • Cynthia Dwork presenta la privacy differenziale con una definizione matematica.

Diagramma che mostra come l’output di un meccanismo differenzialmente privato sia sostanzialmente uguale sia che qualcuno sia nel dataset originale sia che non lo sia

  • Epsilon e accuratezza sono le quantità più importanti.
Riservatezza dei dati e anonimizzazione in Python

$\epsilon$, il parametro di privacy

  • Una metrica della perdita di privacy
  • Più è piccolo il valore, migliore è la protezione
Riservatezza dei dati e anonimizzazione in Python

Budget di privacy

Disegno di un data curator a sinistra

Riservatezza dei dati e anonimizzazione in Python

Budget di privacy

Disegno di un data curator a sinistra e una terza parte. Una freccia punta al data curator con un valore di epsilon pari a 1 sopra la freccia, a rappresentare una query al database

Riservatezza dei dati e anonimizzazione in Python

Budget di privacy

Disegno di un data curator a sinistra e una terza parte. Un’altra freccia punta al data curator con un valore di epsilon pari a 1 sopra la freccia, a rappresentare un’altra query al database Fare due volte la stessa query privata con $\epsilon$ = 1 equivale a una query con privacy $\epsilon$ = 2

Riservatezza dei dati e anonimizzazione in Python

Budget di privacy

Disegno della terza parte che esegue calcoli sui dati richiesti in precedenza Le terze parti possono fare la media delle risposte, eliminando il rumore.

Riservatezza dei dati e anonimizzazione in Python

Budget di privacy

  • Limite alla perdita di privacy consentita a ogni individuo o gruppo
  • Tracciare le query sui dati

Diagramma di un team che estrae dati da un database che aggiunge rumore prima di rispondere alle query

Riservatezza dei dati e anonimizzazione in Python

Quanto è abbastanza privato?

  • L’efficacia dipende dalla query e dai dati
  • Ampio intervallo di possibili valori per epsilon
Riservatezza dei dati e anonimizzazione in Python

Quanto è abbastanza privato?

Epsilon $\epsilon$

  • Valori tra 0 e 1 sono ottimi
  • Valori sopra 10 non vanno bene
  • Tra 1 e 10 è "meglio di niente"

Ricorda: epsilon è esponenziale.

  • Un sistema con $\epsilon$ = 1 è oltre 8.000 volte più privato di $\epsilon$ = 10.
Riservatezza dei dati e anonimizzazione in Python

Quanto è abbastanza privato?

Immagine con un grafico a barre degli usi delle emoji accanto al logo Apple

1 Screenshot delle emoji più usate dagli anglofoni USA secondo i dati raccolti da Apple.
Riservatezza dei dati e anonimizzazione in Python

Budget di privacy: come tracciarlo

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Riservatezza dei dati e anonimizzazione in Python

Budget di privacy: come tracciarlo

# Compute a private mean of the salaries using epsilon of 0.5
# Use the Budget Accountant acc and set bounds to be from 0 to 230000
dp_mean = tools.mean(salaries, epsilon=0.5, accountant=acc, bounds=(0, 230000))

# Print the resulting private mean print("Private mean: ", dp_mean)
Private mean: 82524.72611901595
Riservatezza dei dati e anonimizzazione in Python

Budget di privacy: come tracciarlo

# Total privacy spent 
print("Total spent: ", acc.total())

# Privacy budget remaining print("Remaining budget: ", acc.remaining())
# Total number of queries done so far print("Number of queries recorded: ", len(acc))
Total spent: (epsilon=0.5, delta=0.0)

Remaining budget: (epsilon=4.5, delta=1.0)
Number of queries recorded: 1
Riservatezza dei dati e anonimizzazione in Python

Budget di privacy: come tracciarlo

# Privacy budget remaining for 2 queries
print("Remaining budget for 2 queries: ", acc.remaining(2))
Remaining budget for 2 queries: (epsilon=2.25, delta=1.0)
Riservatezza dei dati e anonimizzazione in Python

Ayo berlatih!

Riservatezza dei dati e anonimizzazione in Python

Preparing Video For Download...