Бюджети приватності

Конфіденційність даних і анонімізація в Python

Rebeca Gonzalez

Instructor

Визначення диференційної приватності

  • Синтія Дворк подає диференційну приватність у математичному визначенні.

Схема, що показує: вихід диференційно приватного механізму майже однаковий, чи є людина в наборі даних, чи ні

  • Найважливіші величини — epsilon і точність.
Конфіденційність даних і анонімізація в Python

$\epsilon$ — параметр приватності

  • Міра втрати приватності
  • Чим менше значення, тим кращий захист приватності
Конфіденційність даних і анонімізація в Python

Бюджет приватності

Малюнок куратора даних ліворуч

Конфіденційність даних і анонімізація в Python

Бюджет приватності

Малюнок куратора даних ліворуч і сторонньої особи. Стрілка вказує на куратора з epsilon = 1 над стрілкою, що означає запит до бази даних

Конфіденційність даних і анонімізація в Python

Бюджет приватності

Малюнок куратора даних ліворуч і сторонньої особи. Інша стрілка вказує на куратора з epsilon = 1 над стрілкою, що означає ще один запит до бази даних Якщо зробити той самий приватний запит з $\epsilon$ = 1 двічі, це як один запит із приватністю $\epsilon$ = 2

Конфіденційність даних і анонімізація в Python

Бюджет приватності

Малюнок: стороння особа обчислює на раніше отриманих даних Сторонні можуть усереднювати відповіді, відфільтровуючи шум.

Конфіденційність даних і анонімізація в Python

Бюджет приватності

  • Обмеження на втрату приватності, яку може накопичити будь-яка особа чи група
  • Ведіть облік запитів до даних

Схема: команда витягує дані з бази, яка додає шум перед відповідями

Конфіденційність даних і анонімізація в Python

Що достатньо приватно?

  • Якість залежить і від запиту, і від даних
  • Для epsilon можливий широкий діапазон значень
Конфіденційність даних і анонімізація в Python

Що достатньо приватно?

Epsilon $\epsilon$

  • Значення між 0 і 1 — дуже добрі
  • Значення понад 10 — погані
  • Між 1 і 10 — «краще, ніж нічого»

Пам'ятайте, epsilon працює експоненційно.

  • Система з $\epsilon$ = 1 більш ніж у 8 000 разів приватніша за $\epsilon$ = 10.
Конфіденційність даних і анонімізація в Python

Що достатньо приватно?

Зображення стовпчикової діаграми використання емодзі поруч із логотипом Apple

1 Знімок екрана з топовими емодзі для англомовних у США за даними, зібраними Apple.
Конфіденційність даних і анонімізація в Python

Бюджет приватності: як його відстежувати

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Конфіденційність даних і анонімізація в Python

Бюджет приватності: як його відстежувати

# Обчисліть приватне середнє зарплат з epsilon 0.5
# Використайте Budget Accountant acc і встановіть межі від 0 до 230000
dp_mean = tools.mean(salaries, epsilon=0.5, accountant=acc, bounds=(0, 230000))

# Виведіть отримане приватне середнє print("Private mean: ", dp_mean)
Private mean: 82524.72611901595
Конфіденційність даних і анонімізація в Python

Бюджет приватності: як його відстежувати

# Загальна витрачена приватність 
print("Total spent: ", acc.total())

# Залишок бюджету приватності print("Remaining budget: ", acc.remaining())
# Загальна кількість зроблених запитів 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
Конфіденційність даних і анонімізація в Python

Бюджет приватності: як його відстежувати

# Залишок бюджету приватності для 2 запитів
print("Remaining budget for 2 queries: ", acc.remaining(2))
Remaining budget for 2 queries: (epsilon=2.25, delta=1.0)
Конфіденційність даних і анонімізація в Python

Давайте потренуємось!

Конфіденційність даних і анонімізація в Python

Preparing Video For Download...