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

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

Rebeca Gonzalez

Instructor

Що таке диференційна приватність (DP)?

Ви фарбуєте волосся?

$$ $$ Зображення руки, що натискає одну з двох кнопок, обираючи ту з позначкою галочки

Малюнок блондинки

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

Що таке диференційна приватність (DP)?

Зображення монети

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

Що таке диференційна приватність (DP)?

Схема з монетою, що вказує на слово heads на лівій гілці

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

Що таке диференційна приватність (DP)?

Схема з монетою, що вказує на heads на лівій гілці. Далі фраза "real answer"

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

Що таке диференційна приватність (DP)?

Схема з монетою, що вказує на tails на правій гілці

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

Що таке диференційна приватність (DP)?

Схема з монетою, що вказує на tails на правій гілці. Далі варіанти head і tails

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

Що таке диференційна приватність (DP)?

Схема з монетою, що вказує на tails на правій гілці. Далі варіанти head і tails. Для heads додано слово "no", для tails — "yes"

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

Що таке диференційна приватність (DP)?

Диференційна приватність — це математичне визначення приватності.

Малюнок обличчя, поділеного навпіл. Праворуч — знак питання

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

Хто використовує диференційну приватність (DP)?

Логотип Apple

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

Хто використовує диференційну приватність (DP)?

Клавіатура емодзі від Apple

Логотип Apple

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

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

  • Надійний куратор захищає дані
  • До результату додають шум

Схема глобальної диференційної приватності

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

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

  • Надійної сторони немає.
  • Шум додають до публікації.

Схема локальної диференційної приватності

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

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

Грецька літера епсілон $\epsilon$: визначає рівень приватності та кількість шуму під час публікації даних.

  • Вищі значення $\epsilon$ означають точніші й менш приватні дані
  • Системи з низьким $\epsilon$ дають сильно випадкові дані
Конфіденційність даних і анонімізація в Python

Епсілон — експоненційний

Наприклад, $\epsilon$ = 1.

$\epsilon^1=2.72$

  • Це майже утричі приватніше, ніж за $\epsilon$ = 2.
    • $\epsilon^2=7.39$
  • І більш ніж у 8 000 разів приватніше, ніж за $\epsilon$ = 10.
    • $\epsilon^10=22000$
Конфіденційність даних і анонімізація в Python

K-анонімність і диференційна приватність

k-анонімність надає «синтаксичні» гарантії

  • Досі широко використовується
  • Часто недостатня

Диференційна приватність — фактичний стандарт

  • Вибір компаній: Apple, Uber, Google
  • Погіршення приватності від публікацій можна точно виміряти
Конфіденційність даних і анонімізація в Python

Вступ до diffprivlib

diffprivlib v0.3 від IBM

Логотип IBM

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

Гістограми

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

Гістограми

Отримана неприватна гістограма

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

Приватна гістограма

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

Приватна гістограма

Неприватна гістограма Отримана неприватна гістограма

Отримана приватна гістограма Отримана приватна гістограма

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

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

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

Preparing Video For Download...