天天看点

《联邦学习》——个人笔记(二)

第二章 隐私、安全及机器学习

2.1面向隐私保护的机器学习

Privacy-Preserving Machine Learning ,PPML

包括以下几种方法:

  • 安全多方计算(Secure Multi-party Computation, MPC)
  • 供隐私保护模型训练和预测使用的同态加密方法(Homomorphic Encryption, HE)
  • 用于防止数据泄露的差分隐私方法(Differential Privacy,DP)

2.2面向隐私保护的机器学习与安全机器学习

二者区别主要在于他们被设计用来应对不同的安全威胁:

(1)在安全机器学习中,敌手被假设违反了机器学习的完整性和可用性

(2)在PPML中,敌手被假设违反了机器学习系统的隐私性和机密性

  • 完整性:对完整性的攻击可能导致机器学习系统出现检测错误,例如将入侵点检测为正常
  • 可用性;可能导致系统出现分类错误,系统会变得不可用
  • 机密性:机器学习系统中的敏感信息(如训练数据或训练模型)出现泄漏

2.3威胁与安全模型

  • 2.3.1隐私威胁模型

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

    在模型训练阶段发生的攻击叫做重构攻击。计算方的目的是重构数据提供者的原始数据,或者学习关于数据的更多信息。而不是最终模型所提供的信息,这也是联邦学习的主要隐私关注点。

    在模型推理阶段,一个敌对的结果方可能会使用反向工程技术来获取模型的额外信息,以此实施模型反演攻击或成员推理攻击。

    数据发布阶段一般发生特征推理攻击。

    (1)重构攻击:

    敌手的目标是在模型的训练期间抽取训练数据或训练数据的特征向量。在集中式学习中,大量的数据被上传至计算方,这就导致数据很容易受到敌手的攻击。

    (2)模型反演攻击

    敌手被假设对模型拥有白盒访问权限或黑盒访问权限。对于黑盒访问,敌手只需要存储特征向量便能获得模型的明文内容。对于白盒访问,敌手只能查询模型的数据和收集返回结果。拥有黑盒权限的敌手也可能会通过实施方程求解攻击,从回应中重构模型的明文内容,理论上,对于一个N维的线性模型,一个敌手可以通过N+1次查询来窃取整个模型的内容(类似解方程组)。

    (3)成员推理攻击 敌手对模型至少有黑盒访问权限,同时拥有一个特定的样本作为其先验知识。敌手的目标是判断模型的训练集中是否包含特定的样本。

    (4)特征推理攻击

    敌手出于恶意目的,将数据去匿名化或锁定记录的拥有者。在数据被发布之前通过删除用户的个人可识别信息(也称为敏感特征)来实现匿名化,是保护用户隐私的一种常用方法。但此方法已被证实并不十分有效。

  • 2.3.2攻击者和安全模型

    两种类型的敌手:

    半诚实的敌手(Semi-honest):敌手遵守协议,但也会试图接收到信息中学习更多除输出以外的信息。

    恶意的敌手(Malicious):敌手不遵守协议,可以执行任意的攻击行为。

    大多是的PPML研究中都考虑了半诚实的敌手模型,原因是在联邦学习中,遵守协议对双方都是有利的。

2.4隐私保护技术

  • 2.4.1安全多方计算

    1.安全多方计算的定义

    安全多方计算允许我们计算私有输入值的函数,从而使每一方只能得到其相应的函数输入值,而不能得到其他方的输入值和输出值。例如,假设一个私有的数值x被分给n位共享方,则每一方Pi只能获知xi的内容,所有方能够协同计算: y1,…,yn = f(x1,…,xn)

    所以,Pi只能根据自己的输入xi来获知输出值yi,而不能得知任何额外的信息。

    通常情况下,安全多方计算能够通过三种不同的框架来实现:不经意传输、秘密传输和阈值同态加密。

    2.不经意传输

    是两方计算协议,发送方有一个“消息-索引”对(M1,1)…(Mn,N)。在每次传输时,接收方选择一个满足1<=i<=N的索引i,并接收Mi。接收方不能得知关于数据库的任何其他信息,发送方也不能了解关于接收方i选择的任何信息。(设A方有一个输入表(x1,xn)作为输入,B方有1<=i<=N作为输入。A不n能学习到关于i的信息,B只能学习到xi)。

    3.秘密共享

    将秘密值分割为随机多份,并将这些份分发给不同方来隐藏秘密值的一种概念。根据具体的使用场合,需要所有或一定数量的的共享数值来重新构造原始的秘密值。

    4.安全多方计算在PPML中的应用

    基于安全多方计算的PPML方法利用两阶段架构,包括离线阶段和在线阶段。大多数密码操作都是在离线阶段执行,在离线阶段生成乘法三元组。

  • 2 .4.2 同态加密

    1.同态加密的定义

    同态加密方法H是一种通过对相关密文进行有效操作(不需获知解密秘钥),从而允许在加密内容上进行特定代数运算的加密方法。 一个同态加密方法H由一个四元组组成:{KeyGen,Enc,Dec,Eval}

    KeyGen:表示密钥生成函数,一个密钥生成元g被输入KeyGen,并输出一个密钥对{pk,sk} = KeyGen(g),其中pk表示用于明文加密的公钥(public key),sk表示用于解密的密钥(secret key)。

    Enc:表示加密函数,一个加密函数以公钥pk和明文m作为输入,并产生一个密文c = Encpk(m)作为输出。

    Dec:表示解密函数,m= Decsk©

    Eval:表示评估函数,评估函数将密文c与公共密钥pk作为输入,并输出与明文对应的密文。

    2.同态加密的分类

    (1)部分同态加密(PHE) (2)些许同态加密(SHE) (3)全同态加密(FHE)

  • 2.4.3差分隐私

    1.差分隐私的定义

    (ϵ,δ)-差分隐私。对于只有一个记录不同的两个数据集D和D’,一个随机化机制M可保护(ϵ,δ)-差分隐私,并且对于所有的S∈Range(M)有:Pr[M(d)∈S]≤Pr[M(D’)∈S]×eϵ+δ; 式中,表示ϵ隐私预算,表示δ失败概率。

    差分隐私在向数据引入噪声的同时,权衡了实用性和隐私性。

    2.差分隐私在方法分类

    主要有两种方法通过给数据加上噪声实现差分隐私。一种是根据函数的敏感性增加噪声,一种是根据离散值的指数分布选择噪声。

    实值函数的敏感性可以表示为由于添加或删除单个样本,函数值可能发生变化的最大程度。

    指数机制:给出一个质量函数q,它对该函数对计算的输出结果进行打分,分数越高越好。对于给定的数据库和ϵ参数,质量函数在输出上导出一个概率分布,指数机制从这个概率分布中抽取结果样本。这种概率分布有利于高得分的输出结果,同时确保了ϵ-差分隐私。

    3.差分隐私在PPML中的应用

    在发布这个数据集的过程中,为了防止攻击者对这些敏感数据的准确获取而导致的隐私泄露问题,我们首先想到的是要给每一个数据点加噪音,使发布值在真实值的基础上产生随机扰动.

    很容易我们首先想到的是拉普拉斯机制,即在每个真实数据值后面加上一个服从拉普拉斯分布的随机噪音.又考虑到每一条记录都可以看作一个不相交的数据集,由差分隐私的并行组合性质可知,当每一条记录都符合ϵ-差分隐私时,整体数据集也就满足ϵ-差分隐私了.

    但是对于同一条记录,有身高和体重两个属性,由差分隐私的序列组合性质可知,我们需要把ε 隐私保护预算分为两个部分分别加到这两个属性上.

    这是传统的拉普拉斯机制.

继续阅读