隐私预算

Python 中的数据隐私与匿名化

Rebeca Gonzalez

Instructor

差分隐私的定义

  • Cynthia Dwork 以数学定义介绍差分隐私。

差分隐私机制的输出在有人或无人参与原始数据集时基本相同的示意图

  • 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 的系统比 $\epsilon$ = 10 私密性高 8,000 多倍。
Python 中的数据隐私与匿名化

多大才算"足够私密"?

显示表情使用柱状图及苹果标志的图像

1 苹果根据收集的数据统计的美式英语用户最常用表情符号的截图。
Python 中的数据隐私与匿名化

隐私预算:如何追踪

from diffprivlib import BudgetAccountant

acc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
Python 中的数据隐私与匿名化

隐私预算:如何追踪

# 使用 epsilon=0.5 计算薪资的私有均值
# 使用预算记账器 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...