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

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

Rebeca Gonzalez

Instructor

Определение дифференциальной приватности

  • Синтия Дворк предложила математическое определение дифференциальной приватности.

Диаграмма, показывающая, что вывод механизма дифференциальной приватности практически одинаков независимо от того, присутствует ли человек в исходном наборе данных или нет

  • Эпсилон и точность — ключевые параметры.
Конфиденциальность данных и анонимизация в Python

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

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

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

Рисунок куратора данных слева

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

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

Рисунок куратора данных слева и стороннего лица. Стрелка указывает на куратора данных; над стрелкой указано значение эпсилон = 1, что обозначает запрос к базе данных

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

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

Рисунок куратора данных слева и стороннего лица. Ещё одна стрелка указывает на куратора данных; над ней значение эпсилон = 1, что обозначает повторный запрос к базе данных Два одинаковых приватных запроса с $\epsilon$ = 1 эквивалентны одному запросу с $\epsilon$ = 2

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

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

Рисунок стороннего лица, выполняющего вычисления на ранее запрошенных данных Третьи стороны могут усреднять ответы, тем самым отфильтровывая шум.

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

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

  • Ограничение на потерю приватности, допустимую для отдельного лица или группы
  • Отслеживание запросов к данным

Диаграмма команды, выполняющей извлечение данных из базы, которая добавляет шум перед отправкой ответов на запросы

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

Что считается достаточно приватным?

  • Качество зависит как от запроса, так и от данных
  • Возможный диапазон значений эпсилон очень широк
Конфиденциальность данных и анонимизация в Python

Что считается достаточно приватным?

Эпсилон $\epsilon$

  • Значения от 0 до 1 считаются очень хорошими
  • Значения выше 10 неприемлемы
  • Значения от 1 до 10 — «лучше, чем ничего»

Помните, что эпсилон — экспоненциальный параметр.

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

Что считается достаточно приватным?

Изображение столбчатой диаграммы использования эмодзи рядом с логотипом Apple

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

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

from diffprivlib import BudgetAccountant

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

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

# 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
Конфиденциальность данных и анонимизация в Python

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

# 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
Конфиденциальность данных и анонимизация в Python

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

# 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)
Конфиденциальность данных и анонимизация в Python

Давайте потренируемся!

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

Preparing Video For Download...