Integritetsbudgetar

Dataintegritet och anonymisering i Python

Rebeca Gonzalez

Instructor

Definition av differentiell integritet

  • Cynthia Dwork presenterar differentiell integritet med en matematisk definition.

Diagram som visar att utdata från en differentiellt privat mekanism är i princip densamma oavsett om en person finns i det ursprungliga datasetet eller inte

  • Epsilon och noggrannhet är de viktigaste storheterna.
Dataintegritet och anonymisering i Python

$\epsilon$ – integritetsparametern

  • Ett mått på integritetsförlust
  • Ju lägre värde, desto bättre integritetsskydd
Dataintegritet och anonymisering i Python

Integritetsbudget

Teckning av en datakurator till vänster

Dataintegritet och anonymisering i Python

Integritetsbudget

Teckning av en datakurator till vänster och en tredjeperson. En pil pekar mot datakuratorn med ett epsilonvärde på 1 ovanför pilen, vilket representerar en förfrågan till databasen

Dataintegritet och anonymisering i Python

Integritetsbudget

Teckning av en datakurator till vänster och en tredjeperson. Ytterligare en pil pekar mot datakuratorn med ett epsilonvärde på 1 ovanför pilen, vilket representerar en ny förfrågan till databasen Att göra samma privata förfrågan med $\epsilon$ = 1 två gånger motsvarar en förfrågan med integritets-$\epsilon$ = 2

Dataintegritet och anonymisering i Python

Integritetsbudget

Teckning av tredjeparten som utför beräkningar på tidigare efterfrågad data Tredjeparter kan medelvärdesbilda svaren och på så sätt filtrera bort bruset.

Dataintegritet och anonymisering i Python

Integritetsbudget

  • Gräns för den integritetsförlust som en individ eller grupp får ackumulera
  • Spårar förfrågningarna till datan

Diagram över ett team som hämtar data från en databas som lägger till brus innan svaren returneras

Dataintegritet och anonymisering i Python

Vad är tillräckligt privat?

  • Lämpligheten beror på både förfrågan och datan
  • Epsilon kan ha ett brett spektrum av möjliga värden
Dataintegritet och anonymisering i Python

Vad är tillräckligt privat?

Epsilon $\epsilon$

  • Värden mellan 0 och 1 anses vara mycket bra
  • Värden över 10 är inte bra
  • Värden mellan 1 och 10 är "bättre än ingenting"

Kom ihåg att epsilon är exponentiellt.

  • Ett system med $\epsilon$ = 1 är över 8 000 gånger mer privat än $\epsilon$ = 10.
Dataintegritet och anonymisering i Python

Vad är tillräckligt privat?

Bild som visar ett stapeldiagram över emojianvändning bredvid Apples logotyp

1 Skärmbild av de vanligaste emojiana för engelsktalande i USA enligt data insamlad av Apple.
Dataintegritet och anonymisering i Python

Integritetsbudget: hur man spårar den

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Dataintegritet och anonymisering i Python

Integritetsbudget: hur man spårar den

# 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
Dataintegritet och anonymisering i Python

Integritetsbudget: hur man spårar den

# 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
Dataintegritet och anonymisering i Python

Integritetsbudget: hur man spårar den

# 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)
Dataintegritet och anonymisering i Python

Nu kör vi en övning!

Dataintegritet och anonymisering i Python

Preparing Video For Download...