Orçamentos de privacidade

Privacidade de Dados e Anonimização em Python

Rebeca Gonzalez

Instructor

Definição de privacidade diferencial

  • Cynthia Dwork apresenta privacidade diferencial com uma definição matemática.

Diagrama mostrando que a saída de um mecanismo diferencialmente privado é praticamente a mesma com ou sem alguém no conjunto de dados

  • Epsilon e acurácia são as quantidades mais importantes.
Privacidade de Dados e Anonimização em Python

$\epsilon$ o parâmetro de privacidade

  • Uma métrica de perda de privacidade
  • Quanto menor o valor, melhor a proteção
Privacidade de Dados e Anonimização em Python

Orçamento de privacidade

Desenho de uma curadora de dados à esquerda

Privacidade de Dados e Anonimização em Python

Orçamento de privacidade

Desenho de uma curadora de dados à esquerda e uma pessoa terceira. Uma seta aponta para a curadora com epsilon 1 sobre a seta, representando uma consulta ao banco de dados

Privacidade de Dados e Anonimização em Python

Orçamento de privacidade

Desenho de uma curadora de dados à esquerda e uma pessoa terceira. Outra seta aponta para a curadora com epsilon 1 sobre a seta, representando outra consulta ao banco de dados Fazer a mesma consulta privada com $\epsilon$ = 1 duas vezes equivale a uma consulta com $\epsilon$ = 2

Privacidade de Dados e Anonimização em Python

Orçamento de privacidade

Desenho da terceira pessoa fazendo cálculos nos dados solicitados antes Terceiros podem fazer médias das respostas, filtrando o ruído.

Privacidade de Dados e Anonimização em Python

Orçamento de privacidade

  • Limite da perda de privacidade que qualquer indivíduo ou grupo pode acumular
  • Acompanhar as consultas aos dados

Diagrama de uma equipe extraindo dados de um banco que adiciona ruído antes de responder

Privacidade de Dados e Anonimização em Python

O que é privacidade suficiente?

  • Sua qualidade depende da consulta e dos dados
  • Grande faixa de valores possíveis para epsilon
Privacidade de Dados e Anonimização em Python

O que é privacidade suficiente?

Epsilon $\epsilon$

  • Valores entre 0 e 1 são muito bons
  • Valores acima de 10 não são bons
  • Valores entre 1 e 10 são "melhor do que nada"

Lembre que epsilon é exponencial.

  • Um sistema com $\epsilon$ = 1 é mais de 8.000 vezes mais privado que $\epsilon$ = 10.
Privacidade de Dados e Anonimização em Python

O que é privacidade suficiente?

Imagem com um gráfico de barras de uso de emoji ao lado do logo da Apple

1 Captura de tela dos emojis mais usados por falantes de inglês dos EUA, segundo dados coletados pela Apple.
Privacidade de Dados e Anonimização em Python

Orçamento de privacidade: como acompanhar

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Privacidade de Dados e Anonimização em Python

Orçamento de privacidade: como acompanhar

# 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
Privacidade de Dados e Anonimização em Python

Orçamento de privacidade: como acompanhar

# 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
Privacidade de Dados e Anonimização em Python

Orçamento de privacidade: como acompanhar

# 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)
Privacidade de Dados e Anonimização em Python

Vamos praticar!

Privacidade de Dados e Anonimização em Python

Preparing Video For Download...