Budgets de confidentialité

Confidentialité des données et anonymisation en Python

Rebeca Gonzalez

Instructor

Définition de la confidentialité différentielle

  • Cynthia Dwork présente la confidentialité différentielle avec une définition mathématique.

Schéma montrant que la sortie d'un mécanisme différentiellement privé reste pratiquement identique, qu'une personne soit dans le jeu de données d'origine ou non

  • Epsilon et la précision sont les quantités clés.
Confidentialité des données et anonymisation en Python

$\epsilon$ : le paramètre de confidentialité

  • Une mesure de la perte de confidentialité
  • Plus la valeur est petite, meilleure est la protection
Confidentialité des données et anonymisation en Python

Budget de confidentialité

Dessin d'un ou d'une responsable des données à gauche

Confidentialité des données et anonymisation en Python

Budget de confidentialité

Dessin d'un ou d'une responsable des données à gauche et d'une tierce personne. Une flèche pointe vers le ou la responsable avec une valeur d'epsilon de 1 au-dessus, représentant une requête à la base de données

Confidentialité des données et anonymisation en Python

Budget de confidentialité

Dessin d'un ou d'une responsable des données à gauche et d'une tierce personne. Une autre flèche pointe vers le ou la responsable avec une valeur d'epsilon de 1 au-dessus, représentant une autre requête Effectuer deux fois la même requête privée avec $\epsilon$ = 1 revient à une requête avec $\epsilon$ = 2

Confidentialité des données et anonymisation en Python

Budget de confidentialité

Dessin de la tierce personne effectuant des calculs sur les données déjà obtenues Les tiers peuvent moyenner les réponses et atténuer le bruit.

Confidentialité des données et anonymisation en Python

Budget de confidentialité

  • Limite de perte de confidentialité qu'un individu ou un groupe peut accumuler
  • Suivre les requêtes sur les données

Schéma d'une équipe effectuant des extractions vers une base qui ajoute du bruit avant de répondre

Confidentialité des données et anonymisation en Python

Quel niveau de confidentialité suffit ?

  • La qualité dépend de la requête et des données
  • Large éventail de valeurs possibles pour epsilon
Confidentialité des données et anonymisation en Python

Quel niveau de confidentialité suffit ?

Epsilon $\epsilon$

  • Des valeurs entre 0 et 1 sont jugées excellentes
  • Des valeurs au-dessus de 10 ne sont pas bonnes
  • Entre 1 et 10 : « mieux que rien »

Rappelez-vous : epsilon agit de façon exponentielle.

  • Un système avec $\epsilon$ = 1 est plus de 8 000 fois plus privé que $\epsilon$ = 10.
Confidentialité des données et anonymisation en Python

Quel niveau de confidentialité suffit ?

Image montrant un diagramme en barres d'utilisations d'émojis à côté du logo d'Apple

1 Capture d'écran des émojis les plus utilisés par les anglophones aux États‑Unis selon les données collectées par Apple.
Confidentialité des données et anonymisation en Python

Budget de confidentialité : comment le suivre

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Confidentialité des données et anonymisation en Python

Budget de confidentialité : comment le suivre

# Calculer une moyenne privée des salaires avec epsilon de 0.5
# Utiliser le Budget Accountant acc et fixer les bornes de 0 à 230000
dp_mean = tools.mean(salaries, epsilon=0.5, accountant=acc, bounds=(0, 230000))

# Afficher la moyenne privée obtenue print("Private mean: ", dp_mean)
Private mean: 82524.72611901595
Confidentialité des données et anonymisation en Python

Budget de confidentialité : comment le suivre

# Budget de confidentialité total dépensé 
print("Total spent: ", acc.total())

# Budget de confidentialité restant print("Remaining budget: ", acc.remaining())
# Nombre total de requêtes effectuées jusqu'ici 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
Confidentialité des données et anonymisation en Python

Budget de confidentialité : comment le suivre

# Budget de confidentialité restant pour 2 requêtes
print("Remaining budget for 2 queries: ", acc.remaining(2))
Remaining budget for 2 queries: (epsilon=2.25, delta=1.0)
Confidentialité des données et anonymisation en Python

Passons à la pratique !

Confidentialité des données et anonymisation en Python

Preparing Video For Download...