APP下载

一种基于差分隐私的可追踪深度学习分类器

2022-03-23刘嘉驹李春国

信息安全研究 2022年3期
关键词:差分分类器指纹

胡 韵 刘嘉驹 李春国

1(西藏民族大学信息工程学院 陕西咸阳 712082)2(东南大学信息科学与工程学院 南京 210096) (yun_hu@seu.edu.cn)

随着网络中数据量的激增、各类设备计算能力的增强以及为深度神经网络开发的新算法和架构的不断成熟和深化,深度学习已成为近年来发展最为迅速的机器学习研究领域之一[1],它使得数据挖掘[2]、自然语言处理[3]、个性化推荐[4]、智能检索[5]等领域均取得了突破性的进展.深度学习的基本思想是利用多层神经元结构从高维数据中提取出复杂的特征,并利用这些特征建立模型.通常,模型的性能与高维训练数据集密切相关.深度学习模型训练就是迭代地调整神经元的权重,以适应训练样本数据.然而,大部分深度学习应用的训练数据集中包含较多的敏感信息,如用户的个人薪资、信件、医疗记录,企业的营收等[6-7].

最理想的深度学习算法能够保护训练数据集中用户的隐私信息.在给定一组学习模型的情况下,深度学习算法根据给定的数据选择并输出最优模型,输出模型可用于处理未来的数据或解释数据的分布[8].但是,为更好地涵盖测试数据集,现有的深度学习算法对部分训练数据过度拟合,从而导致训练示例具备隐式记忆.而这种隐式记忆可用来攻击模型,从而使得训练数据集中的隐私信息从模型中被恢复.也就是说,当个人数据(如临床记录、用户习惯、照片等)被用来训练深度学习模型时,一些敏感的特征会被“记住”.深度学习算法通常使用正则化技术如l2正则化、dropout等来防止模型过度拟合,这有助于保护训练数据的隐私.然而,对于学习能力较强的深度模型来说,对隐私细节记忆的消除还是非常困难的.

通常,除了直接窃取训练数据集之外,攻击者会利用模型揭示敏感信息.在模型的预测阶段,攻击者可通过精心制作的抵抗样本或者询问机制直接推测出训练集的敏感信息或统计特征.此外,攻击者还可利用抵抗样本的输入-输出对推导出模型的参数信息,进而模拟目标模型,再通过攻击目标模型从而获得隐私信息.如Fredrikson等人[9]恢复出隐私的人脸图像;Phan等人[10]设计了一种对抗性设置,通过对模型的输入和输出的恶意推理揭露隐私信息;Abadi等人[11]假设攻击者可以访问训练的模型,对训练机制和模型参数有充分的了解;Shokri等人[12]利用成员推理攻击,通过访问目标模型可以判定某一条记录是否在训练集中.

针对上述攻击,学者们提出了很多深度学习隐私保护技术,在保证深度学习结果准确性的基础上实现对训练数据集中隐私信息的保护.目前,依据应用的隐私保护技术主要分为2类:基于同态加密的深度学习隐私保护技术和基于差分隐私的深度学习隐私保护技术[13].其中同态加密技术实现保护用户隐私的方式是在预测阶段直接对测试集加密后再进行预测,用户得到的也是加密后的预测结果[14].如Orlandi等人[15]将同态加密和多方安全计算结合为神经网络提供加密数据的能力;Dowlin等人[16]提出的CryptoNets神经网络更是可以直接用于密文实现预测功能;Hesamifard等人[17]、Xie等人[18]在CryptoNets的基础上从识别精度、计算开销等方面入手作了进一步的改进和提升.但是,因同态加密方案自身存在许多局限性,现有的利用同态加密技术解决深度学习中的隐私保护问题方案普遍存在解密识别精度待提升、计算资源和云端通信传输资源消耗大等问题.

差分隐私(Differential Privacy)自2006年由Dwork[19]提出后一直被认为是解决大数据隐私保护问题的强有力方法.该方法基于严格的数学定义,提供了在不同参数处理下的数据集具备的隐私保护强度的量化评估方法.一般来说,通过在计算结果中引入适量的噪声,可以在保证计算结果相对准确的基础上保护原始数据集中记录的隐私.基于差分隐私的深度学习隐私保护技术可以在训练阶段和预测阶段的训练数据集、训练参数、预测结果中引入定量的噪声保护隐私信息[11].保护训练数据集的隐私信息最直接的方法是直接向数据集中引入Laplace噪声,即差分隐私技术直接作用于输出而非内部训练过程.但是这种方式为了达到隐私保护效果会添加过多的噪声导致扭曲学习算法的效用[20].可通过在深度学习模型中部署差分隐私机制及提高安全性,但添加多少噪声需要仔细考虑,因为任何细微变化都将使网络分层技术下的预测变得非常不同.

目前在深度学习模型中实现差分隐私保护的研究主要分为2类:一是在现有的优化算法的执行过程中添加噪声;二是扰动给定优化问题的目标函数.Abadi等人[11]提出的随机梯度下降(SGD)隐私优化算法就是第1类方法的代表,该方法利用差分隐私高斯噪声对梯度增加扰动实现保护训练数据集的目的;Phan等人[10]设计的基于Laplace的深度隐私自编码器算法是第2类方法的代表,它主要是对传统深度自编码器的目标函数进行扰动.

值得注意的是,无论什么方法,噪声的引入必然会降低模型的精度,并且随着访问次数的叠加噪声也会随之增加.所以目前平衡基于差分隐私的深度学习算法中的隐私和精度是研究的重点方向.Xie等人[21]将差分隐私引入生成对抗网络中,相较于隐私SGD算法噪声量减少;毛典辉等人[22]在文献[21]的基础上提出了基于深度卷积生成对抗网络(DCGAN)反馈的深度差分隐私保护方法;Phan等人[10]利用差分隐私噪声在数据重建过程中添加噪声扰动自动编码器中的目标函数;Papernot等人[23]利用半监督知识迁移方法实现深度学习中训练数据集的隐私问题,通过教师-学生模型实现对教师全体数据的隐私聚合,在利用教师模型生成基于GAN的学生模型,最终预测结果由学生模型生成.因为教师模型不对外公布,故训练数据集具备强健的隐私保护功能.

以上述方法为基础,本文从另一个角度考虑对深度学习模型的保护,即保证对隐私数据的可追踪性.可追踪性是指当捕获到被泄露给第三方的数据后,通过分析非法数据的相关特性,追查到源头和相关责任人.一旦在网络中捕获非法传播的训练数据集中的内容,可定位到相关深度学习模型的计算节点,继而可对节点相关用户排查,找到叛徒或者恶意用户并加强或调整该节点的隐私保护强度.通过对现有相关研究的分析对比,有3种主流技术能够从不同的角度较好地解决数据的可追踪性问题,分别为数据溯源[24]、数字指纹[25]和叛徒追踪[26]技术.结合对深度学习模型的隐私保护功能同步实现的需求,合理地采用差分隐私和数字指纹结合的技术能够同时实现对深度学习模型的隐私保护和追踪,可称之为安全可追踪性.

本文尝试提出了一种基于差分隐私的可追踪深度学习分类器.通过在深度学习训练阶段对训练数据集嵌入满足隐私保护和精确度需求的定量差分隐私高斯噪声实现对训练数据集的隐私保护.同时,对网络中训练节点的标识信息进行编码和转换,使其对应噪声嵌入的位置和不同位置嵌入的噪声量.基于安全可追踪的要求,本文设计的分类器方案能够同时实现对训练数据集的隐私保护需求和对训练节点的标识定位功能.

本文主要的贡献如下:

1) 提出了一种对深度学习模型实现隐私保护的解决方向,同时对训练数据集实现了隐私保护和对计算节点的标记定位功能;

2) 将差分隐私和数字指纹技术相结合,设计了一种基于差分隐私的可追踪深度学习分类器;

3) 在真实的数据上对分类器进行评估,验证了方案的可行性和有效性;

4) 利用公式推导和仿真攻击等方式分析了方案的安全性和鲁棒性.

本文将重点探讨深度学习、差分隐私和数字指纹技术之间的相互协同,以实现数据隐私保护和追踪的目的,关注将差分隐私和数字指纹一步化应用于深度学习中,实现具备追踪功能的差分隐私深度学习相关算法.

1 背景知识

1.1 深度学习

随着人工神经网络、云计算和大数据技术的快速发展,深度学习已成为机器学习最成功的方法之一.机器学习是人工智能最重要的内容,而神经网络是机器学习实现的一种方式,本文在设计机器学习系统时,特别希望能够建立类似于人脑的一种交互方式.深度学习能够同时学习特征和分类器,极大地提高了高结构化、大规模数据库的分类精度.深度学习采用多层非线性变换进行表示学习,具有强大的数据抽象能力.深度学习与传统机器学习的主要区别在于,深度学习涉及到学习特征表示,而机器学习总是利用人工设计的特征.

1.1.1 基本概念和结构

多层神经网络是深度学习最常见的形式架构.图1示出一个典型的具有3个隐藏层的神经网络:最底层为输入层,其主要用于接收训练样本;中间3层为隐藏层,主要用于从输入样本中提取越来越抽象的特征;最上层为输出层,输出包含处理样本的最终结果,如分类标签.其中,每一层的圆圈代表神经元.每个神经元接收来自前一层神经元的有限数量的输出及其相关的权重.神经元的输出是通过对所有输入值应用非线性激活函数计算的.

神经元是神经网络的基础,大量形式相同的神经元连接在一起组成神经网络,虽然每个神经元的结构和功能不复杂,但是神经网络的动态行为十分复杂.

假设有训练样本集D={(x1,y1),(x2,y2),…,(xn,yn)},其中,yi∈{0,1}为每个样本xi的对应标签值.输入与输出的关系可以用函数f()表示,称为神经元激活函数或者转移函数.该模型的输入输出数学表达式可以表示为

(1)

oj(t)表示时刻t神经元j的信息输出,wi表示神经元各个输入的权重值,τi表示输入输出间的突触时间延迟,θj表示神经元j的阈值大小,f()为神经元的激活函数.

图2示出神经元的输入和输出结构,神经元的输入为x=(x1,x2,x3,x4),权值为w=(w1,w2,w3,w4),则神经元的输出为a(∑wixi),其中a()为激活函数.

图2 神经元输入输出示意图

由以上可知,输入与输出的关系可以用函数f()来表示,称为神经元激活函数或者转移函数.神经元的各种不同数学模型的主要区别在于采用了不同的激活函数,从而使神经元具有不同的信息处理特性.神经元的激活函数反映了神经元输出与其激活状态之间的关系.常用的转移函数有单位阶跃函数、线性函数、S型函数等,其中S型函数如式(2)所示:

(2)

神经网络是一个大规模、自组织和自适应的非线性动力系统,是由神经元广泛相互连接构成的.不同的连接方式构成不同的网络模型.常见的网络模型有单层网络、前向网络、有反馈的网络和互联网络等.

1) 单层网络.只有输入层和输出层,输入层的每个处理单元均与输出层互联,层内各神经元无连接,网络无反馈.

2) 前向网络.神经元分层排列,各层之间的神经元全互联,各层内的神经元无连接.每一层只接受来自前一层的输入.

3) 有反馈网络.将输出再接入到输入层的神经网络系统.

4) 互联网络.网络各层之间的神经元可以相互连接,互联网络一直处于动态变化之中,最后到达某种稳定状态,也可能进入周期振荡.

1.1.2 分类器

分类能力是人类智力的一个方面,人脑通过对不同物种特征的识别、鉴定、描述,最终确定其归属.在人工智能领域分类问题也是研究领域的热门问题.

分类和回归问题是典型的机器学习问题.回归问题中,我们试图在连续输出中预测结果,这意味着试图将输入变量映射到某个连续函数.在分类问题中,我们试图预测离散输出的结果,即试图将输入变量映射到离散的类别中.例如,人的身高变化过程是一个连续过程,这是一个典型的回归问题.大自然的生物被划分为不同的种类,是离散的,这就是分类问题.

在人工智能领域,为了实现智能分类功能通常利用设计及训练的分类器来实现.分类器的作用是利用给定的类别和已知的训练数据来学习分类规则和分类器,然后对未知数据进行分类(或预测)[27].最基础的分类问题是二分类问题,通常可用逻辑回归(logistics)、SVM[28]等来解决.对于多分类问题需要多个二分类组成集成分类,可以采用逻辑回归、SVM或softmax[29]等解决.

依据解决分类问题的方法将分类算法分为2类[30]:

1) 基于概率密度的分类算法.该类算法借助贝叶斯理论体系,并利用潜在的分类条件概率密度函数的知识进行分类.常见的有贝叶斯估计法、最大似然估计等.

2) 基于判别函数的分类算法.这类算法通常是假设分类规则是由某种形式的判别函数表示,而训练样本可用来表示计算该函数中的参数,并利用该判别函数直接对测试数据进行分类.此分类器中,有著名的感知器方法、最小平方误差法、SVM法、神经网络方法等.

对不同分类算法的评估主要依靠各类指标评估其好坏.在评估中可依据实际情况选择使用[31].这里需要特别说明的是,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类.常用的评价指标如下所示:

1) 正确率.被划分对的样本数占总样本数的比例,通常正确率越高分类器越好.

2) 错误率.被分类器错分的样本比例,错误率与正确率是互斥的.

3) 误报率.将正类预测为负类的比例.

4) 漏报率.将负类预测为正类的比例.

1.2 差分隐私

为了抵抗背景知识攻击,Dwork[19]在2006年提出了针对数据库隐私泄露问题的差分隐私定义.该定义下,数据集的计算处理结果对于具体某个记录的变化是不敏感的,某单个记录在数据集中或者不在数据集中,对计算结果的影响微乎其微.所以,1个记录因其加入到数据集中所产生的隐私泄露风险被控制在极小的、可接受的范围内,攻击者无法通过观察计算结果而获取准确的某一个体的信息.

1.2.1 基本概念

差分隐私是针对统计数据提出的一种隐私定义,它正迅速成为数据安全领域的关键技术.由于其统计结果对具体的个人记录不敏感,它是已知抵抗背景知识攻击的最有效的技术.添加到数据集中的噪声应该足够大,以保护个人的隐私,也应该足够小,以便给分析师的统计结果仍然足够准确.

更重要的是,差分隐私通过严格的定义量化统计结果的隐私保护程度.使不同参数处理的统计结果的隐私保护水平具有可比性.

定义1.(ε,δ)-差分隐私.若有随机算法M,其中PM为M的所有可能输出的集合.对任意1对兄弟数据集D和D′以及PM的任意子集SM,若算法M满足:

Pr[M(D)∈SM]≤eε·Pr[M(D′)∈SM]+δ,

(3)

则称算法M满足(ε,δ)-差分隐私.若δ=0,则称算法M满足ε-差分隐私,也可称为纯差分隐私.

由上述定义可知,差分隐私是建立在严格的数学基础之上的,实现了对隐私保护的严格定义并提供可量化的评估方法[20].通过参数ε保证了无论单条数据记录r是否在数据表中,输出结果的概率不发生显著变化,其比值以eε为界限.

参数ε用于衡量隐私保护的强度,常被称为隐私预算.ε越小意味着隐私保护算法M能提供越强的隐私保护.参数δ意味着允许以δ的概率违反ε-差分隐私.

1.2.2 机制和组合定理

定义1中的随机算法M被称为机制.不同的机制通常用来解决不同的实际问题.其中,拉普拉斯机制和高斯机制对数值型结果具有保护作用.拉普拉斯机制是用拉普拉斯分布中的噪声来扰动每个坐标,它满足ε-差分隐私,高斯机制[32]是从高斯分布中提取噪声来满足(ε,δ)-差分隐私.

定义2.高斯机制.在数据集D上给定函数f:D→R.对于c2=2ln(1.25/δ),若有σ=cΔ2f/ε,且N(0,σ2)是独立的同分布高斯随机变量,则式(4)中的机制M满足(ε,δ)-差分隐私:

M(D)=f(D)+N(0,σ2).

(4)

定理1.当ε∈(0,1)且ε是任意值.对于c2>2ln(1.25/δ),若高斯机制的参数满足σ≥cΔ2f/ε,则它是满足(ε,δ)-差分隐私的.

为了解决现实中复杂的隐私保护问题,采用了多重差分隐私保护机制.序列[33]和并行[34]组合定理是已知的最有效的方法,可确保隐私保护水平控制在给定的隐私预算阈值内.

定理3.并行组合定理.假设有隐私机制集M={M1,M2,…,Mn},其参数分别为(ε1,δ1),(ε2,δ2),…,(εn,δn),若机制Mi分别作用于不相交的数据集D={D1,D2,…,Dn}中的Di上,则由这些算法构成的组合算法M(M1(D1),M2(D2),…,Mn(Dn))提供(maxεi,maxδi)-差分隐私保护.

1.2.3 深度学习隐私计算

差分隐私深度学习算法的关键在于保护训练数据集的隐私,需要控制和衡量隐私训练过程中对训练数据集的影响.下面采用Privacy loss和Moments accountant来分析和追踪训练过程中隐私预算[11].

Privacy loss是一个依赖于算法中加入的随机噪声的随机变量.一个机制M提供(ε,δ)-差分隐私保护实质上相当M的Privacy loss随机变量的一个尾界.通过计算Privacy loss随机变量的对数矩结合马尔可夫不等式可得到尾界,即为差分隐私的Privacy loss.

定义3.Privacy loss.对于相邻数据库d,d′∈Dn,随机机制M:D→R,辅助输入aux和输出o∈R在o处的Privacy loss可定义为

(5)

在差分隐私深度学习中,一般第k个机制Mk的辅助输入是前面所有机制的输出.为了更好地跟踪隐私成本,使用Moments accountant来实现,用它追踪Privacy loss随机变量的边界.

定义4.Moments accountant.有相邻数据库d,d′∈Dn,随机机制M:D→R,辅助输入aux.Moments accountant可定义为

(6)

αM(λ;aux,d,d′)lgE[e(λc(o;M,aux,d,d′))]是Privacy loss随机变量的距生成函数.

1.3 数字指纹

数字指纹作为信息隐藏的一个重要分支,是一种数字产品版权保护技术.它将不同用户相关识别信息嵌入到媒体内容中,然后将这些嵌入指纹的数字媒体分发给相关用户.因为嵌入同一数码产品的指纹对于不同的用户来说是不同的,只要从非法传播的数字媒体上提取指纹就可识别出非法来源.

数字指纹技术研究的是如何将信息嵌入到数字媒体中,并对其进行完整的检测.一个完整的数字指纹算法应该由2部分组成:一是在数字产品副本中生成和嵌入指纹,并分发指纹副本;另一部分是实现对非法传播者的跟踪和检测.

一般来说,数字指纹方案的关键因素是鲁棒性、指纹编码的抗合谋性和检测算法.编码算法将用户相关信息按照一定的编码规则进行编码,生成码字.检测算法是指利用一定的解码规则来确定非法传播者.

图3 云工作流系统模型示意图

根据检测时是否需要原有的覆盖工作,数字指纹可分为非盲、半盲和盲检测3种.非盲检测在提取指纹时要求原始内容不含指纹,具有较强的鲁棒性,但其应用受到存储成本和可信度的限制.相比之下,盲检测在检测时并不需要原始内容.大多数研究者认为理想的检测方案是盲检测,也有很多优秀的研究成果[35-38],但仍处于研究和争论阶段.作为一种折中方案,半盲检测比盲方案更容易实现,具有更强的鲁棒性和可信性.它在提取指纹时使用了与原始载体数据相关的附加信息,而不是直接使用没有指纹的原始内容.

2 算法思路

本节主要介绍本文方法的基本思路和具体细节.将详细说明方案执行的原理,包括:如何利用差分隐私技术在深度学习过程中保护训练数据集隐私信息;如何利用数字指纹技术在工作流环境中定位到问题节点;如何将差分隐私和数字指纹技术结合实现一步化的隐私保护和追踪功能.在此基础上,分别给出了向训练模型中添加噪声指纹的嵌入和检测算法.

2.1 系统模型

为保证训练数据集中隐私内容的安全性,本文介绍一种具备隐私保护和追踪能力的深度学习分类器.将差分隐私和数字指纹融入到深度学习模型训练过程中,尝试在训练集中保护隐私信息的同时,对出现问题的训练节点能依据非法散播的内容实现追踪和定位.

如今的深度学习工作环境下的云环境中,组织实现深度学习的智能计算节点必然不止一处.如何用最小的计算和时间代价在众多的智能学习机器中判定出哪一个是值得研究的问题.本文的方案假设在云工作流环境中,不同的智能计算节点通过训练不同数据集向不同的用户提供服务,如图3所示.

从图3可以看出,在工作流中,智能计算节点从数据源中获取训练数据并进行深度学习,用户依据自身需求与这些计算节点进行交互,智能计算节点给出反馈.在这些计算节点训练数据模型的过程中,向其中嵌入具备差分隐私特性的高斯噪声,这些噪声是满足数据可用性和隐私性需求的.同时这些噪声嵌入的位置也是由计算节点的标识信息编码而成.一旦在云中发现非法泄露的隐私信息或者模型,第三方仲裁可依据这些标识信息锁定问题计算节点.

图4示出具体的一个智能计算节点从数据收集到模型训练再到追踪定位的全流程.图4中下半部分描述的是深度学习计算节点内部的处理流程.训练数据集和由标识信息生成的噪声会一同被训练,最终生成加噪的计算模型.该模型提供(ε,δ)-差分隐私保护是通过在训练数据集中嵌入差分隐私高斯噪声实现的,提供追踪功能是通过将噪声嵌入到特定的位置实现的.当恶意攻击者通过该计算节点获取到泄露隐私信息的模型后,第三方仲裁机构依据泄露模型可锁定问题节点.

图4 系统模型图

2.2 方案概述

本文方案目的是设计一种能够同时实现差分隐私保护和追踪功能的深度学习分类器.通过在训练数据集的特定位置嵌入满足差分隐私保护的噪声集实现,而这些特定位置是依据计算节点的标识信息编码而成.所以这些噪声是具备指纹特性的,本文称之为噪声指纹.

接下来对各个阶段分别说明:

1) 数据分块和子分类器.训练数据集用D=(X,Y)表示,其中X表示输入集,Y表示标签集.首先将待训练的数据集划分成k×k块不相交的子数据集,每个子数据集单独训练模型,最终得到k×k子分类器fi,j(),i和j分别对应子数据集的横纵坐标点.对测试数据的输入X,通过查询每个子分类器的预测结果,最终聚合形成一个总的预测结果.

2) 聚合.对于训练数据集的隐私保护主要在聚合阶段实现.首先对计算节点的标识信息s编码,将其转换成k进制的编码(S)n,这样标识信息可以对应划分后的子数据集的坐标点.对于测试输入x,每个子分类器fi,j()都会依据训练模型产生一个预测结果,记为ci,j(x).选择在标识信息对应的坐标点的预测结果上引入差分隐私高斯噪声N,且不同子集引入的噪声量是不同的,具体如式(7)所示,m和n表示所有待嵌入噪声数据集的横纵坐标.而加噪和未加噪数据的聚合是满足数据请求者对可用性需求的.最终预测结果如式(8)所示.

(7)

(8)

当云中出现非法传播的训练模型D*时,第三方仲裁机构可利用其和未加噪的标准训练模型检测出问题计算节点的标识信息.

4) 计算坐标指纹矩阵.对比R和S,得到值不同的坐标点,并将坐标点按列存放在矩阵S*中.计算R和S对应坐标点的差值,并依次放入矩阵σ中,将S*和σ按行组合成新矩阵U,并按照σ的值大小重排U,新U的前2行即为所求的正确顺序的坐标矩阵S*.

5) 计算标识信息.将S*转换成二进制,再进一步转换成十进制,即可得到对应的标识信息s.

2.3 噪声指纹生成和嵌入

噪声指纹生成和嵌入流程如图5和算法1所示.

图5 噪声指纹生成和嵌入示意图

接下来,详细说明指纹坐标矩阵生成、噪声生成、数据分块和聚合判定结果产生阶段的执行过程.

算法1.噪声指纹生成和嵌入算法.

输入:训练样本集D={(x1,y1),(x2,y2),…,(xn,yn)}、测试样本X、隐私参数ε及δ、标识信息s、分块基数k;

① 初始化矩阵S[ ],S*[ ]、高斯参数σ[ ]、噪声矩阵P[ ]、子分类器判定结果矩阵C[ ];

② 转换标识信息为二进制形式:s→(S)10→(S)2;

③ 转换至k进制2行的矩阵形式:(S)2→(S)k,矩阵转换:(S)k=(sk)1t→(sk)2v=S,v=t/2;

⑤ 计算可接受的方差范围,依据公式σ≥

⑥ 对测试数据集D重排成k×k块子训练集,D→{D}k×k;

⑦ 将方差分成k部分,按值依次放入矩阵σ1×k中;

⑧ 根据高斯机制N(0,σ2)和σ1×k生成噪声集P1×k;

⑨ fori≤kdo

图6 噪声指纹检测示意图

1) 指纹坐标矩阵生成.如图5所示,标识信息需要先被编码成坐标.首先将信息转换成二进制形式.因为训练数据集的分块数是k×k,标记不同数据块的坐标位置就应该为k进制的数.将二进制转换成2行形式的k进制矩阵S*就可以表达成具体的坐标点,每列表示一个具体的坐标点,第1行为横坐标,第2行为纵坐标.具体可参见算法1中步骤②③.

2) 噪声计算及生成.依据查询用户期望的准确性和安全性给定隐私参数ε和δ,然后计算出可接受的方差值范围.然后根据其值的范围将方差分成k个相等的部分.然后将方差用矩阵σ来表示.最后,将σ中的每个标量插入到N(0,σ2)中,生成噪声块集合P.噪声计算及生成见算法1中步骤④~⑧的描述.

3) 子分块的判定结果生成和噪声嵌入.将训练数据集分成k×k块,针对测试数据,每块均给出分类的判定结果,记为ci,j(x),其中i和j分别表示横纵坐标.在S*中添加P中的噪声,如式(7)所示.具体可参见算法1中步骤⑨~.

2.4 噪声指纹检测

噪声指纹的检测流程如图6和算法2所示.

算法2.噪声指纹检测算法.

输出:标识信息s.

② 针对测试数据T用标准不加噪的训练样本集得到的模型进行训练,每个子数据集的训练结果存入S=C中;

③ 对比R和S的结果,并提取结果不同的坐标点和R中具体的值;

④ 对比R和S的结果,将结果不同的坐标点按列放入矩阵S*中,第1行存放横坐标,第2行存放纵坐标;

⑤ 对比R和S的结果,将不同结果差值放入矩阵σ中;

⑥ 将2个矩阵S*和σ按行合并,得到U=[S*σ];

⑦ 将U按σ的值重新排列;

⑧ 获取U的前2行并设置S*=U1:2,1:end;

⑨ 重排矩阵S*=(sk)1t→(sk)2v=S*,v=t/2;

⑩ (S)k→(S)2;

得到标识信息s.

接下来,详细说明对比判定结果、高斯拟合、指纹矩阵计算和标识信息转换执行过程.

2) 高斯拟合和指纹矩阵计算.得到R和S中不同坐标点,将其放入矩阵S*中,第1行存放横坐标,第2行存放纵坐标.并分别提取这些坐标点的差,这些差即为高斯噪声.再通过对这些高斯噪声排序,就可得到正确顺序的坐标点排序,更新S*即为指纹矩阵.详细可参见算法2中步骤③~⑧.

3) 标识信息转换.将S*转换成1维二进制形式后在转换成十进制形式,即可得到标识信息s.详细可参见算法2中步骤⑨~.

3 算法分析和仿真验证

3.1 性能标准

本文提出的分类器有2个额外的功能:有效的隐私保护和跟踪功能.因此,从这2个方面对方案进行评估.在对方案进行安全分析时,还应同时考虑隐私保障和判定结果可用性.与此同时,注意到既能满足敏感数据的隐私保护要求,又能保证判定结果的准确性是2个相互冲突的目标,它们应该在得出的判定结果中实现最大程度的平衡.

1) 隐私保证.隐私是指可以识别特定的人(或组织)的敏感信息,但是这些信息个人(或组织)是不希望被暴露或公开的.理想的隐私解决方案期望正确的用户在正确的时间和地点访问和利用正确的数据和属性.它还可以为用户及其私人数据提供保护,防止各类攻击.

2) 判定结果的可用性.可用性是满足数据请求者期望的有效信息.在经历转换、匿名化之后,仍然可以从查询结果中尽可能多地分析和挖掘有效信息.理想的可用判定结果意味着无论是在交互设置还是非交互设置中查询的结果与真实的结果难以区分.

评价指纹跟踪功能可从以下方面入手:

3) 不可感知性.载体中的指纹不应被察觉.本文重点关注的是判定结果的不可感知性.即用户无法通过聚合或者子判定结果确定其中是否存在指纹信息.

4) 鲁棒性.鲁棒性是指确保指纹即使在一些修改或攻击后仍然保持完整,并且能够以一定的正确概率检测到.一个优秀的数字指纹方案应具有较强的鲁棒性.

5) 多样性.多样性衡量的是不同数字指纹的独立性.理想的指纹方案是为不同的操作对象提供独特的、不规则的数字指纹编码结果.

3.2 隐私性分析

添加到聚合判定结果的噪声由几个符合高斯分布N(0,σ2)的噪声集组成,这些噪声集具有不同的尺度参数σ.依据定理1,σ需要满足:

σ≥cΔ2f/ε, wherec2>2ln(1.25δ).

(9)

因ε∈(0,1),可以将式(9)改写为

(10)

σ>2Δ2f, whenδ=10-1.

(11)

图7 参数δ与σ之间的分布范围关系

通常参数ε和δ的值是由数据请求者的最大和最小隐私请求决定的.带参数σi的高斯机制分别满足(εi,δi)-差分隐私.每个ε和δ的值如式(12)和式(13)所示:

(12)

(13)

3.3 可追踪性分析

3.3.1 不可感知性

由于物体受感知环境、识别主体等多种因素的影响,很难判断其是否具有不可感知性.本文通过设置阈值来近似原始物体.而均方误差(mean squared error, MSE)是一种常用的感知距离度量函数,定义为

(14)

它给出了原客体co和指纹客体cw之间的距离.

本文方案可以将式(14)重写为

(15)

3.3.2 鲁棒性

共谋攻击是验证数字指纹鲁棒性最常见、最有效的攻击方式.它通过比较不同版本的数据识别可以用于查找隐藏在聚合数据中的指纹的差异.假设有NC个共谋用户,合谋的成功至少需要确定指纹的大小、划分为数据集的块的大小以及嵌入噪声的数据块的坐标.

一次成功合谋攻击的概率p可以表示为三者计算概率的乘积,即p=p1×p2×p3.可以预见这个数随着训练数据量的增大会变得很小.

3.3.3 多样性

下面采用巧合概率PC来度量多样性.PC与原始训练数据集中划分的块数k×k和坐标矩阵的列数k有关.巧合概率可以理解为从k×k个数据块中连续2次提取k个不同数据块的相同概率,如式(16)所示.这个数值会随着k的增大成级次方减小:

(16)

3.4 仿真验证

本文仿真实验使用了UCI机器学习存储库提供的一个真实样本.该数据集包括76个属性、926条来自美国的捐赠记录.在不失一般性的情况下,将样本记录扩展到110 400.假设所有数据都在1个表中,选择数值型属性“Age”作为噪声指纹插入检测的原始载体对象.

此外选取精确到秒的时间作为种子.因为相较于用户ID或MAC地址,时间更难控制,它是动态的.本文认为,如果时间可以被准确地嵌入和检测,那么其他静态信息就可以很容易实现.下面作一个简单的分类判断:依据年龄判断是否还在工作.依据训练样本数据集给出的“年龄-工作”数据对,利用模型判定测试样本某一“年龄”的人是否还在工作.尝试在训练样本时插入指纹信息,并在模型中提取出指纹信息.在实验中将训练数据集分为64个子数据块,坐标矩阵的列数为8,即k=8.

为了验证本文方案的添加噪声后的有效性,对比加噪分类判定结果和标准分类判定结果的差异,如图8所示.图中给出了整个训练数据集在不同年龄取值范围内的概率统计分布.本文的实验将数据值分成10等份,计算每个数据范围内的数据占总数据的百分比.其中曲线显示2类判定结果的累积概率比较.从图8可以看出,使用本文方案实现噪声添加前后的数据集之间的差异是很小的.

图8 2类判定结果累积概率对比

为了验证本文方案指纹的可用性,依据算法2提取噪声指纹并将其转换成标识信息,最终可验证本文方案能够准确识别出标识信息.此外,本文对方案的鲁棒性也进行了验证.非法传播数据的攻击者可能试图通过顺序或离散地删除部分数据来破坏其指纹.当攻击者删除连续的批数据时,本文方案足以确保当删除的数据量小于总数据量的1-1/ql时,能够识别出指纹信息.ql是噪声指纹插入的总数量.

本文关注攻击者以跳跃的方式随机删除数据.因此,本文用实验来验证删除数据量与指纹检测准确性之间的关系.图9显示了随机删除2n记录后指纹检测的二进制种子误差率.当删除的数据量超过26时,误差率迅速增加.而被删除的数据量大于29时误差率下降缓慢.

图9 删除数据后的误差率

4 总结与展望

本文提出了一种基于差分隐私的可追踪深度学习分类器方案,对于深度学习的隐私保护提供了一种新的研究方向.该方案是基于安全性与功能性融合的思想,将差分隐私与数字指纹技术相结合,实现了安全判定分析和对问题学习节点的跟踪功能.其中追踪功能通过将精心设计的高斯噪声嵌入到判定结果的指定位置,将定量随机噪声嵌入到训练数据集判定结果,实现了对用户及其敏感信息的隐私保护需求.其中随机噪声是高斯机制根据训练数据集的性质和数据请求者的隐私保护需求产生的,指定的位置由深度学习节点的标识信息的数字指纹确定.从仿真实验结果来看,未被修改的训练集每次可以在较短的时间内准确检测指纹.当修改数据量小于215时,指纹识别率高于50%.

从理论分析和实验结果表明,本文的分类器方案具有较高的可用性和隐私保护能力,并对共谋等基本指纹攻击具有免疫力.然而,本文的研究也有一些局限性.该方案适用于数值聚合数据,对于非数值数据目前还未深入研究.未来,还可以利用指数机制来进一步契合分类预测的功能.此外,该方案的鲁棒性还取决于最终的分块数,这阻碍了方案的实际应用,降低了安全性.

猜你喜欢

差分分类器指纹
一种基于局部平均有限差分的黑盒对抗攻击方法
一类分数阶q-差分方程正解的存在性与不存在性(英文)
学贯中西(6):阐述ML分类器的工作流程
像侦探一样提取指纹
基于朴素Bayes组合的简易集成分类器①
为什么每个人的指纹都不一样
一个求非线性差分方程所有多项式解的算法(英)
基于动态分类器集成系统的卷烟感官质量预测方法
一种自适应子融合集成多分类器方法
基于差分隐私的数据匿名化隐私保护方法