Introduktion till differentiell integritet

Dataintegritet och anonymisering i Python

Rebeca Gonzalez

Instructor

Vad är differentiell integritet (DP)?

Färgar du ditt hår?

$$ $$ Bild på en hand som pekar på en av två knappar och väljer den med en bockmarkering

Teckning av en blond kvinna

Dataintegritet och anonymisering i Python

Vad är differentiell integritet (DP)?

Bild på ett mynt

Dataintegritet och anonymisering i Python

Vad är differentiell integritet (DP)?

Diagram över ett mynt som pekar mot ordet krona i den vänstra grenen

Dataintegritet och anonymisering i Python

Vad är differentiell integritet (DP)?

Diagram över ett mynt som pekar mot krona i den vänstra grenen, följt av frasen "verkligt svar"

Dataintegritet och anonymisering i Python

Vad är differentiell integritet (DP)?

Diagram över ett mynt som pekar mot klave i den högra grenen.

Dataintegritet och anonymisering i Python

Vad är differentiell integritet (DP)?

Diagram över ett mynt som pekar mot klave i den högra grenen, följt av alternativen krona och klave

Dataintegritet och anonymisering i Python

Vad är differentiell integritet (DP)?

Diagram över ett mynt som pekar mot klave i den högra grenen, följt av alternativen krona och klave. Krona slutar med "nej" och klave med "ja"

Dataintegritet och anonymisering i Python

Vad är differentiell integritet (DP)?

Differentiell integritet är en matematisk definition av integritet.

Teckning av ett ansikte delat i hälften. Den högra halvan har ett frågetecken

Dataintegritet och anonymisering i Python

Vem använder differentiell integritet (DP)?

Apples logotyp

Dataintegritet och anonymisering i Python

Vem använder differentiell integritet (DP)?

Apples emojitangentbord

Apples logotyp

Dataintegritet och anonymisering i Python

Global differentiell integritet

  • En betrodd kurator skyddar data
  • Brus läggs till i utdata

Diagram över global differentiell integritet

Dataintegritet och anonymisering i Python

Lokal differentiell integritet

  • Ingen betrodd part.
  • Brus läggs till innan data delas.

Diagram över lokal differentiell integritet

Dataintegritet och anonymisering i Python

Epsilon-differentiell integritet

Den grekiska bokstaven epsilon $\epsilon$: anger hur privat och hur brusig en datapublicering är.

  • Högre värden på $\epsilon$ innebär mer exakta och mindre privata data
  • Lågt $\epsilon$ ger mycket slumpmässiga data
Dataintegritet och anonymisering i Python

Epsilon är exponentiellt

Till exempel $\epsilon$ = 1.

$\epsilon^1=2.72$

  • Det är nästan tre gånger mer privat än $\epsilon$ = 2.
    • $\epsilon^2=7.39$
  • Och över 8 000 gånger mer privat än $\epsilon$ = 10.
    • $\epsilon^10=22000$
Dataintegritet och anonymisering i Python

K-anonymitet och differentiell integritet

k-anonymitet ger "syntaktiska" garantier

  • Fortfarande vanligt förekommande
  • Inte tillräckligt i många fall

Differentiell integritet är den nuvarande de facto-integritetsmodellen

  • Används av företag som Apple, Uber och Google
  • Integritetsförsämringen vid publicering kan kvantifieras exakt
Dataintegritet och anonymisering i Python

Introduktion till diffprivlib

diffprivlib v0.3 från IBM

IBMs logotyp

Dataintegritet och anonymisering i Python

Histogram

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

Histogram

Resulterende icke-privat histogram

Dataintegritet och anonymisering i Python

Privat histogram

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

Privat histogram

Icke-privat histogram Resulterande icke-privat histogram

Resulterande privat histogram Resulterande privat histogram

Dataintegritet och anonymisering i Python

Nu kör vi en övning!

Dataintegritet och anonymisering i Python

Preparing Video For Download...