联邦学习系列(二)| 隐私保护

以下内容参考杨强教授的《联邦学习》一书,我不涉及研究具体隐私保护方法,本文仅作为抛砖引玉的内容,因此如有错误望指正批评,谢谢各位。

为了在机器学习中保护隐私和完整性,有必要理解可能的安全威胁模型。在机器学习任务中,参与方通常会扮演三种不同的角色:

输入方:数据的原始拥有者;
计算方:如模型建立者和推理服务提供者;
结果方:如模型查询者和用户。

对机器学习系统的攻击可能在数据发布、模型训练和模型推理阶段。

重构攻击:在模型的训练期间抽取训练数据,或抽取训练数据的特征向量。

在集中式学习中,来自不同数据方的数据被上传至计算方,这使得数据很容易受到敌手的攻击。大型企业可能会从用户中收集原始数据,然而收集到的数据可能会用于其他目的或者是未经用户知情同意便传达给第三方。

在联邦学习中,每一个参与方使用自己的本地数据来训练机器学习模型,只将模型的权重更新和梯度信息与其他参与方共享。

然而,如果数据结构是已知的,梯度信息可能也会被利用,从而泄露关于训练数据的额外信息。[1]

为了抵御重构攻击,应当避免使用存储显式特征值的机器学习模型,例如 支持向量机(SVM)k-近邻(kNN)模型。

模型训练过程中,安全多方计算 同态加密 可以被用来通过保护计算中间结果来抵御重构攻击。

在模型推断过程中,计算方只应当被授予对模型的黑盒访问权限。安全多方计算 同态加密 可以被用于在模型推断阶段保护用户请求数据的隐私。

模型反演攻击:从模型中抽取训练数据或训练数据的特征向量。

对于白盒访问,攻击方不需要存储特征向量便能获取模型的明文内容。对于黑盒访问,攻击方只能查询模型的数据和收集返回结果。

理论上,对于一个 N 维的线性模型,一个敌手可以通过 N+1 次查询来窃取整个模型的内容。该问题的形式化是从 (x,h_{\theta}(x)) 中求解 \theta ;攻击方能通过“查询-回应”过程对来模拟出一个与原始模型相似的模型。

为了抵御模型反演攻击,应当向敌手暴露尽可能少的关于模型的信息,对模型的访问应当被限制为黑盒访问,模型输出同样应当受限。

有几种策略可以降低模型反演攻击的成功率:

仅返回舍入后的预测值[2]
将预测的类别标签作为返回结果。并且返回聚合的多个测试样本的预测结果[3]
使用同态加密的贝叶斯神经网络,通过安全神经网络推断抵御此类攻击[4]

成员推理攻击:判断模型的训练集中是否包含特定的样本。

攻击者被假设为对模型拥有白盒访问权限或黑盒访问权限和一个样本,通过机器学习模型的输出试图推断此样本是否属于模型的训练集。攻击者的目标是获知给定样本是否在模型的训练集中。

特征推理攻击:攻击者出于恶意目的,将数据去匿名化或锁定记录的拥有者。

在数据被发布之前,通过删除用户的个人可识别信息(也称为敏感特征)来实现匿名化,是保护用户隐私的一种常用方法。

例如,世界最大的在线电影租售服务供应公司 Netflix 发布了一个包含来自50万个订阅用户的电影评级数据集。尽管使用了匿名化,但攻击者利用某些数据集和互联网电影数据库 IMDB 作为背景知识,重新识别出了该记录中的 Netflix 用户,并进一步推断出了用户的明显政治偏好[5]

联邦学习的隐私保护策略 | 安全多方计算

安全多方计算可抽象概括为数学模型,公式如下:

f(x_1,x_2 \cdots x_n)=(y_1,y_2\cdots y_n) \\

其中 x_1,x_2 \cdots x_n 是各参与方的输入, y_1,y_2\cdots y_n 是各参与方对应的输出,是各参与方约定的计算函数。每一参与方在这个那个安全多方计算的协议中只能看见自己的输入和输出,无法感知其他参与方的输入和输出。

通常情况下,安全多方计算能够通过三种不同的框架来实现:

不经意传输(Oblivious Transfer,OT);
秘密共享(Secret Sharing,SS);
阈值同态加密(Threshold Homomorphic Encryption,THE)。

不经意传输:在不经意传输中,发送方拥有一个“消息-索引”对 (M_1,1),\cdots(M_N,N) 。在每次传输时,接收方选择一个满足 1\leq i \leq N 的索引 i ,并接收 M_i 。接收方不能得知关于数据库的任何其他信息,发送方也不能了解关于接收方 i 选择的任何信息。

定义:取1的不经意传输:A 方有一个输入表 (x_1,\cdots x_n) 作为输入, B 方有 i \in 1,\cdots,n 作为输入。 n 取1的不经意传输是一种安全多方计算协议,其中 A 不能学习到关于 i 的信息, B 只能学习到 x_i .

n=2 时,我们得到了具有以下性质的2取1的不经意传输,2取1的不经意传输对两方安全计算是普适的。换言之,给定一个2取1的不经意传输,我们可以执行任何的安全两方计算操作。

  • Bellare-Micali 构造:接收方向发送方发送两个公钥。接收方只拥有与两个公钥之一对应的一个私钥,并且发送方不知道接收方有哪一个公钥的密钥。之后,发送方用收到的两个公钥分别对它们对应的两个消息加密,并将密文发送给接收方。最后,接收方使用私有密钥解密目标密文。
  • 姚氏混淆电路:将计算电路分解为产生阶段和求值阶段。每一方都负责一个阶段,而在每一阶段中电路都被加密处理,所以任何一方都不能从其他方获取信息,但他们仍然可以根据电路获取结果。混淆电路由一个不经意传输协议和一个分组密码组成。电路的复杂度至少是随着输入内容的增大而线性增长的。
  • 不经意传输扩展。

秘密共享:通过将秘密值分割为随机多份,并将这些份分发给不同方来隐藏秘密值的一种概念。因此,每一方只能拥有一个通过共享得到的值,即秘密值的一小部分。根据具体的使用场合,需要所有或一定数量的共享数值来重新构造原始的秘密值。

联邦学习的隐私保护策略 | 同态加密

同态加密方法 \mathcal{H} 是一种通过相关密文进行有效操作(不需获知解密密钥),从而允许在加密内容上进行特定代数运算的加密方法。

同态加密的实现原理是什么?在实际中有何应用?www.zhihu.com图标

\mathcal{H}=\{KeyGen,Enc,Dec,Eval \}  \\

KeyGen 表示密钥生成函数,对于非对称同态加密。

密钥对 \{pk,sk \}=KeyGen(g)pk 表示用于明文加密的公钥(public key), sk 表示用于解密的密钥(secret key),对于对称同态加密,只生成一个密钥 \{sk \}=KeyGen(g)

Enc 表示加密函数,对于非对称同态加密,以公钥pk和明文m作为输入,并产生一个密文 c=Enc_{pk}(m) 作为输出。对于对称同态加密,加密过程会使用公共密钥 sk 和明文 m 作为输入,并生成密文 c=Enc_{sk}(m)

Dec 表示解密函数。对于非对称同态加密和对称同态加密,隐私密钥 sk 和密文 c 被用来作为生成相关明文 m=Dec_{sk}(c) 的输入。

Eval表示评估函数,将密文 c 和公共密钥 pk(对于非对称同态加密)作为输入,并输出与明文对应的密文。

联邦学习的隐私保护策略 | 差分隐私

差分提供了一种信息理论安全性保障,即函数的输出结果对数据集中的任何特定记录都不敏感。因此,差分隐私能被用于抵抗成员推理攻击。

(\epsilon,\delta) -差分隐私:对于只有一个记录不同的两个数据集 DD' ,一个随机化机制 M 可保护 (\epsilon,\delta) -差分隐私,并且对于所有的 S \subset Range(M) 有:

Pr[\mathcal{M}(D)\in S] \leq Pr[\mathcal{M}(D')\in S]\times e^\epsilon+\delta \\

\epsilon 表示隐私预算; \delta 表示失败概率。 ln \frac{Pr[\mathcal{M}(D)\in S]}{Pr[\mathcal{M}(D')\in S} 被称为隐私损失(Privacy loss).

差分隐私算法可根据噪声扰动使用的方式和位置来进行分类:

输入扰动:噪声被加入训练数据。
目标扰动:噪声被加入学习算法的目标函数。
算法扰动:噪声被加入中间值,例如迭代算法中的梯度。
输出扰动:噪声被加入训练后的输出参数。

差分隐私仍会暴露一方的统计数据,这些数据在某些情况下是敏感的,例如商业数据、医疗数据,以及其他商业和健康应用数据。(推荐大家读这个系列的差分隐私介绍)

卡兵:差分隐私(一) Differential Privacy 简介zhuanlan.zhihu.com图标

已将整理的文章放在Github中供大家索引参考。

lokinko/Federated-Learninggithub.com图标

参考

  1. ^Privacy-Preserving Deep Learning via Additively Homomorphic Encryption https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8241854
  2. ^Modelinversion attacks that exploit confidence information and basiccountermeasure https://www.onacademic.com/detail/journal_1000039632556210_ded6.html
  3. ^Reconstruction attacks against mobile-basedcontinuous authentication systems in the cloud https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7523420
  4. ^combiningbayesian deep learning and homomorphic encryption for secure DNNinference https://arxiv.org/pdf/1906.00639.pdf
  5. ^Robust De-anonymization of Large Sparse Datasets https://www.cs.utexas.edu/~shmat/shmat_oak08netflix.pdf
编辑于 10-30

文章被以下专栏收录