Soukromostní rozpočty

Ochrana soukromí a anonymizace dat v Pythonu

Rebeca Gonzalez

Instructor

Definice diferenciálního soukromí

  • Cynthia Dwork představuje diferenciální soukromí s matematickou definicí.

Diagram znázorňující, jak výstup mechanismu diferenciálního soukromí je v podstatě stejný bez ohledu na to, zda je osoba v původním datasetu

  • Epsilon a přesnost jsou nejdůležitější veličiny.
Ochrana soukromí a anonymizace dat v Pythonu

$\epsilon$ parametr soukromí

  • Metrika ztráty soukromí
  • Čím menší hodnota, tím lepší ochrana soukromí
Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet

Kresba správce dat vlevo

Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet

Kresba správce dat vlevo a osoby třetí strany. Šipka míří na správce dat s hodnotou epsilon 1 nad šipkou, znázorňující dotaz na databázi

Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet

Kresba správce dat vlevo a osoby třetí strany. Další šipka míří na správce dat s hodnotou epsilon 1 nad šipkou, znázorňující další dotaz na databázi Dvakrát provést stejný soukromý dotaz s $\epsilon$ = 1 je jako provést dotaz se soukromím $\epsilon$ = 2

Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet

Kresba třetí strany provádějící výpočty na dříve vyžádaných datech Třetí strany mohou průměrovat odpovědi a filtrovat šum.

Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet

  • Limit ztráty soukromí pro jednotlivce nebo skupinu
  • Sledování dotazů na data

Diagram týmu provádějícího extrakci dat z databáze, která před odpovědí přidává šum

Ochrana soukromí a anonymizace dat v Pythonu

Co je dostatečně soukromé?

  • Kvalita závisí na dotazu i na datech
  • Epsilon může nabývat širokého rozsahu hodnot
Ochrana soukromí a anonymizace dat v Pythonu

Co je dostatečně soukromé?

Epsilon $\epsilon$

  • Hodnoty mezi 0 a 1 jsou považovány za velmi dobré
  • Hodnoty nad 10 nejsou dobré
  • Hodnoty mezi 1 a 10 jsou „lepší než nic"

Pamatujte, že epsilon je exponenciální.

  • Systém s $\epsilon$ = 1 je více než 8 000krát soukromější než $\epsilon$ = 10.
Ochrana soukromí a anonymizace dat v Pythonu

Co je dostatečně soukromé?

Obrázek sloupcového grafu využití emoji vedle loga Apple

1 Snímek obrazovky nejoblíbenějších emoji u anglicky mluvících uživatelů v USA podle dat shromážděných společností Apple.
Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet: jak ho sledovat

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet: jak ho sledovat

# 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
Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet: jak ho sledovat

# 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
Ochrana soukromí a anonymizace dat v Pythonu

Soukromostní rozpočet: jak ho sledovat

# 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)
Ochrana soukromí a anonymizace dat v Pythonu

Pojďme si to procvičit!

Ochrana soukromí a anonymizace dat v Pythonu

Preparing Video For Download...