面向数据发布的隐私保护技术研究综述

2020-12-09 09:27王明月李万杰张青云李晓会
小型微型计算机系统 2020年12期
关键词:直方图差分攻击者

王明月,张 兴,李万杰,张青云,李晓会

(辽宁工业大学 电子与信息工程学院,辽宁 锦州 121001)

1 引 言

信息技术快速的发展使人们进入了大数据时代[1],全球数据总量正速度增长,保护大量共享数据的隐私安全已成为当前学术研究的热点.维基百科认为,隐私[2]是个人、群体将关于自己的信息自我隔离的能力,从而有选择地表达自己,商品购买喜好、医疗记录情况、社交系统和生命周期过程都面临着隐私信息泄露威胁.

大数据的发布具有动态性且来源多、总量大,发布的数据信息可能会外泄,因此既要保证数据能高质量发布又要保护可能泄露隐私的数据.数据发布的隐私保护已经受到了广泛关注.关于隐私保护最早提出的法律规定文件表明隐私权并不禁止任何公开内容的发布,并且法律会提供援助[3];2007年美国国家安全局利用“棱镜”监控系统[4],在中心服务器进行数据挖掘并且获取利益信息,损害人们的隐私安全;2012年CSA成立大数据工作组来实现数据隐私安全的最大化;2017年12月,《信息安全技术个人信息安全规范》由全国信息安全标准化技术委员会制定并且正式发布,于2018年5月实施.

本文分析了现存的攻击模型,对数据发布隐私保护模型、方法进行分析和总结,分类阐述基于分组技术、加密技术和失真技术的最新研究成果,对比分析算法的优缺点,介绍数据发布在其他领域的应用,对研究中存在的问题进行展望.

2 数据发布隐私风险

研究者通过对发布的数据进行分析可以促进学术方面的发展,然而发布的数据中存在隐私,如果不利用任何隐私保护技术,隐私信息就可能会泄露.攻击者会利用一些攻击模型来获取敏感信息,攻击模型主要包括:1)链接攻击[5,6]指攻击者通过不当手段获取某个体与属性的关系,将其进行链接分析可能得到敏感信息,例如攻击者同时获取病人的部分患病信息和个人基本信息,可以通过已掌握的信息推断出隐私;2)同质性攻击[7]指一个等价类中的所有属性的取值都相等,如果攻击者已知某个体存在于这个等价类中,那么就会获取该个体的敏感信息,例如某患者存在的等价类中敏感属性值都是cancer,如果攻击者已知某患者在该等价类中,那么会造成该患者的敏感信息泄漏;3)背景知识攻击[7,8]指攻击者已知该模型的背景知识和某个体的部分信息,可能会推测出个体的敏感信息,例如攻击者知道患者存在于等价类中,会根据患者就医原因推测出患者所患疾病;4)相似性攻击[9]指等价类中敏感属性的程度相似但不相同,以至于攻击者不能推测出个体对应的敏感属性,但是可能获取个体的部分隐私信息;5)倾斜攻击[9]指等价类中的敏感属性分布相差较大,攻击者可能会推测出大部分个体的敏感信息,例如A、B两个属性分别在数据集中占90%、10%;6)概率攻击[10]指攻击者通过发布数据前后的差异获取敏感信息;7)重放攻击[11]指攻击者使用已经接收的数据欺骗系统,使其通过身份认证,例如用户在登录账号时攻击者获取到用户信息,通过重放进行登录.

3 数据发布隐私保护技术

目前,面向数据发布的隐私保护技术可以分为分组技术、加密技术和失真技术.

3.1 分组技术

分组技术[12]由Samarati首次提出,在数据发布阶段将原始数据中涉及个人敏感信息的标识符属性删除或修改,分组流程如图1所示.

图1 大数据分组流程Fig.1 Big data grouping process

3.1.1 实现方法

发布的数据中元组的属性可以分为:1)显式标识符(UID),识别个体身份;2)准标识符(QID),可能结合链接攻击或背景知识攻击识别个体身份;3)敏感属性(SA),不能公开的隐私信息;4)非敏感属性(NSA),可以公开.

分组技术即对泄露个体信息的显式标识符进行匿名操作.泛化[13-16]指将QID用抽象化的值或区间来代替,全局泛化和局部泛化分别指所有属性值自底向上同时逐层泛化为抽象域和抽象值.泛化不会造成数据出错,容易实现,但是没有准确标准,过度易造成信息缺损.抑制[13,14,17]指将QID从数据表中移除或用不确定值替换,使数据表中泛化的数据减少,进而减少泛化造成的信息缺损,仅适用于数据量少的情况.聚类[16,18]指将数据按照标准分为多个簇,簇内对象相似,簇间对象不同,再泛化数据.Aggarwal[19]首次提出将聚类方法在分组技术中使用,将每个簇的数据都执行分组操作,信息缺损减小.分解[20,21]指将QID和SA分解到不同的表中,根据公共属性进行有损连接,实现对关联性的弱化.交换[20,21]指交换原始数据中每个表内的部分数据,弱化QID和SA的关联性.扰乱[15]指对原始数据添加噪声等进行扰乱,实现速度很快,然而数据的精确度和安全性较低.

3.1.2 隐私保护模型

为了抵御已知的攻击模型,研究者提出分组保护模型,k-匿名是分组保护模型的基本方法.

定义1.k-匿名[22].设RT(A1,A2,…,An)为数据表,QIRT为数据表的准标识符,当RT[QIRT]至少出现k次,且每个值都满足k-匿名时,称RT满足k-匿名.

当敏感属性取值单一或利用背景知识攻击时k-anonymity不适用,因此提出l-多样性方法.

定义2.l-多样性[7].准标识符属性为q,设q*-block为q的取值t*(匿名表)中的元组集合.若q*-block的敏感属性S至少包含L个取值,称q*-block满足l-多样性.

等价类上的敏感属性值具有显著差别时可能发生隐私威胁,t-闭合可以解决这一问题.

定义3.t-闭合[9].设个体S敏感属性值的分布为P,该数据集敏感属性总体分布为Q,t参数能够在效用和隐私之间进行权衡.P和Q的距离不超过t且值为:

(1)

称分布P和Q满足t-闭合.t-closeness不能有效保护身份信息.表1对3种常见分组模型进行比较.

表1 常用分组模型比较Table 1 Comparison of common grouping models

3.1.3 静态数据发布

数据最基本的存在形式是静态形式,相关研究也相对成熟.Sweeney[23]提出的Datafly算法是经典的与k-anonymity相关的算法,将每个属性数据进行k-anonymity分组,但是对于满足k-anonymity约束的元组需要再一次进行k-anonymity,导致信息严重缺损.当约束复杂时Datafly算法仅仅做了少量修改,因此依然存在信息缺损.基于多约束的Datafly算法,岳思等人[24]提出支持多维属性泛化的k-anonymity,迭代泛化值个数最高的准标识符属性,使数据精度有所增加,但依然没有缓解信息缺损.针对这一问题,林国滨等人[25]提出基于KD树的数据发布隐私保护算法,利用KD树将敏感属性进行泛化,使用l-diversity实现泛化过程的隐私保护,减少信息损失,解决k-anonymity存在的问题,但是应用于动态数据发布会造成数据损失.武思慧[26]提出基于聚类的改进t-closeness,利用基于粗糙集的k-近邻算法对数据进行度量确定质心以对其聚类,减少泛化方法造成的信息损失,使字符型数据具有较好的聚类效果.然而计算复杂度较高,会造成较大的时间代价.

以上分组方法不能完全保护隐私,因此需要更有针对性的保护不同敏感属性的隐私.具体方法如下:1)泛化与限制原始数据;2)聚类匿名技术;3)交换与拆分发布数据,之后再将数据连接.Campan等人[27]提出生成约束p-sensitivek-anonymity微聚类的算法,对数据的失真程度提出要求,以保持其可用性.指定准标识符的泛化约束,更加符合用户的约束要求,并最小化泛化所造成的信息损失.曹敏姿等人[28]提出(α,l)-diversityk-anonymity,首先根据敏感属性的不同敏感度分成多个簇,在一个簇中数据满足k,l约束且敏感度等级相同的敏感值出现有限次数,再构建敏感属性的泛化树,使个体可以给自己设定隐私保护级别,最后根据个体不同的约束条件提供个性化服务,防止攻击者实现对敏感度的推测,该算法不能平衡数据安全性和可用性,存在信息缺损.孙进考[29]提出基于敏感度分级的(k,li,ci)-匿名算法,考虑了属性的敏感度和频率阈值c,将敏感属性数据构成满足l-diversity的簇,迭代执行直到簇内数据满足k-anonymity约束,具有较高的聚类效率,减少信息缺失,但是k,l,c不是最优即没有均衡数据的可用性和安全性.李博宇[30]提出局部分解泛化算法,泛化方法分别为多维划分技术和NCP引导的启发式,使数据表满足k-anonymity约束,实现个性化保护.缓解过度泛化所造成的信息损失.

在实际应用中,单敏感属性不能充分解决问题,发布的数据大部分都具有多敏感属性.胡杰[31]提出(p,l)-匿名算法,基于多敏感属性相关性对其进行划分,实现敏感属性的降维,其可以缓解信息缺损,安全性更高,但该算法没有准确的标准来设置敏感属性值的敏感度,不能满足个体个性化服务需求,完全保护隐私.晏燕[32]提出基于模糊语义的静态数据发布算法,利用集对分析理论和语义泛化树思想分别实现数值型和分类型原始数据的转换,通过模糊语义区分度和泛化信息保留度可以得出数据转换前后的关系,该算法缓解k-anonymity存在的问题,增强隐私保护强度,但是该算法依赖原始泛化层次和关系,导致数据可用性相对较低.陈晓宇[33]提出模糊t-closeness,聚类过程中使用数据对类中心隶属度的平均值作为簇中心的模糊替代值,进而形成满足t-closeness的模糊等价类以减少一定的信息损失,但没有合理的模糊标准.张梅舒等人[34]提出MSB方法,将准标识符属性值相近的数据划分为一个子集,减小泛化程度,提高数据可用性;对于不同敏感度的敏感属性,通过构建多维桶并计算桶的加权选择度来形成加权多维桶,加权选择度通过桶容量和敏感属性的权重计算得到;数据分组并泛化,减少信息缺失和时间代价.

3.1.4 动态数据发布

静态数据的研究往往不能满足实际的需求,因此对动态数据的研究逐渐增多.在动态数据重发布领域,BYUN等人[35]提出匿名重发布方法,支持原始数据的不断增加.如果新增的数据和之前的等价类有交集或不满足l-diversity约束,则要等待.针对这一问题,Xiao等人[36]提出m-invariance方法,可以删除两次发布具有相同敏感属性值的历史数据集之间的推理通道,需要加入虚假信息来满足删除条件,且统一管理虚假信息来确保数据的可用性.张攀[37]提出(M,CUS)-Distinct模型,利用微聚类对原始数据集分组,解决一致性攻击、背景知识攻击和概率攻击,随着敏感属性的更新,降低链接攻击和概率攻击的风险,减少计算复杂度,但该算法仅适用于单敏感属性且为非数值型数据.贾俊杰等人[38]提出(p,k)-anonymity,利用加密技术对更新的数据实时保护,(p,k)-anonymity增量更新算法实现数据实时更新,减少数据损失,然而对于不满足条件的数据做删除处理,降低了数据可用性.邵双[39]提出m-constance匿名,可以发布包括数据插入、删除和属性值更新的完全动态数据集,隐私保护强度随着敏感度的更新进行相应改变,不适用于集值型数据和数据流发布.欧家祥等人[40]提出基于m-invariance算法的动态数据发布机制,如果新增数据满足m-invariance,将新增数据放到被删除数据的位置;否则把新增记录放到一个新等价类中.解决了m-invariance对新增数据隐私保护强度不够和较大通信开销的问题.

数据分组方法常存在信息损失问题,并且只是对已知攻击模型进行应对,当大量数据进行发布时计算代价过高,不能实现实时查询.同时满足多敏感属性安全、可用性、较低时间代价和信息损失的数据发布是当前面临的重要挑战,并应着重对动态数据发布的个性化隐私保护匿名算法进行研究.

3.2 加密技术

数据发布的加密保护技术[41]利用加密原始数据来实现敏感数据的保护.

3.2.1 隐私保护模型

1)安全多方计算:1982年,Yao[42]提出安全多方计算(SMC),指在分布式环境下,多个数据参与方互不信任,在不暴露自己隐私信息的同时共同完成某项工作.原理图如图2所示,SMC框架可以引入到分布式关联规则、传统数据挖掘和聚类等方面.当同时处理多个数据源时,直接用于大数据处理会占大量内存,需要构造占内存小的SMC.

图2 安全多方计算原理Fig.2 Principle of secure multiparty computation

2)同态加密:1978年Rivest等人[43]提出同态加密(HE),用户对密文进行计算得出的加密结果和用对应明文进行同样计算并对结果加密相同.包含满足乘法、加法的单同态加密或同时满足乘法和加法的全同态加密.加法同态和乘法同态加解密构造方案如图3所示,图中mi为初始明文,ci为加密后得到的密文.可以解决云服务的安全问题,运算复杂度较高会造成较长的时间代价,并且存在过大的噪声,因此未来应该提高方案的运行效率和实用价值.

图3 加法同态和乘法同态加解密构造方案Fig.3 Construction scheme of additive homomorphism and multiplicative homomorphism addition and decryption

3)数字信封:数字信封[44](DE)即发送方通过接收方的公钥加密对称密钥的结果,来分发对称密钥,要求接收方用自身的私钥来打开数字信封获取该对称密钥.原理图如图4所示,可以使对称密钥安全的在网络中传输,并验证信息是否无损,具有对称加密和非对称加密的优点且双层加密,是公钥加密的重要应用.

图4 数字信封原理Fig.4 Principle of digital envelope

4)秘密共享:1979年Shamir[45]和Blakley[46]提出秘密共享,将需要共享的秘密分为多个子秘密,每个份额分别由一个参与者管理,多个参与者共同作用可以恢复秘密信息.秘密共享可以使秘密分散,防止攻击者获取过多的秘密而恢复信息.应用于密钥协商、多方安全计算、数字签名、电子商务与导弹控制等领域.原理图如图5所示.

图5 秘密共享技术原理Fig.5 Principles of secret sharing technology

3.2.2 数据发布

传统加密方法RSA[47]满足乘法同态性,安全性体现在从大数n=pq中分解出p和q是一个数学难题,但是其安全方面也存在两个缺陷,即对相同明文加密结果也是相同的,攻击者使用数字攻击对p,q因式分解,利用蛮力攻击测试全部密钥的可能性.Wang等人[48]提出同态解密验证方法,用户可以进行撤销以对用户身份信息提供保护,云端承担用户撤销形成的开销.Pailler[49]提出Paillier算法,满足加法同态性,对相同明文加密结果是不同的,解决了RSA的安全缺陷.DHAKAR等人[50]提出MREA算法,基于分解问题和决策合成残差假设,不能识别用户身份信息,解决了蛮力攻击和数字攻击.段淑敏等人[51]提出基于Paillier和RSA的代理重加密技术,为公开加密数据的计算提供隐私保护,运行效率可以通过减小密钥大小来实现.Zhang等人[52]使用概率编码方案和一个允许同态位异或计算的密码系统来构造安全协议,使聚合器在不知道用户数据的情况下能够高效计算所有用户数据的最小值或第k个最小值,支持时间序列数据,不需要假设聚合器可信.刘艳等人[53]提出基于ECC和乘法同态加密的加密算法,利用不同私钥对明文加密,形成的公钥用于椭圆曲线中点集的加密,解决了RSA具有较低计算效率、安全性和较高计算复杂度的缺陷.Vu等人[54]提出安全多方和协议,保证输出结果正确性且不需要任何安全认证.窦家维等人[55]提出一种编码方法,将数据编码成0,1数组,解决了绝对值两方安全计算问题;根据Paillier同态加密提出在参与方是否属于全集的情况下曼哈顿距离的两方保密计算协议,计算复杂度较低.杨颜璟等人[56]提出基于Paillier的编码方法,可以一次性计算出隐私数据的最小值和最大值,解决了多次处理相同数据造成的隐私泄露问题,并通过ECC的同态性使各种安全多方计算问题得到有效解决,防止合谋攻击.王杰勋等人[57]提出用于身份认证的数权保护技术,对经过认证的用户给予数字证书,通过数字签名机制验证用户身份是否有效,利用数字信封技术传输用户的密文.杨晓云等人[58]提出混沌序列的数字信封技术,以混沌信号序列为对称密钥,使系统不易破解,将公钥和序列密码技术相结合,提高加解密速度和实时性.莫进侠[59]提出主动多秘密共享方案,参与者能够验证其他影子秘密是否正确,防止欺骗现象发生,实现多个参与者长时间的多个秘密共享.刘建等人[60]提出属性基密文访问控制优化方法,使用属性基加密运算分割技术、双重加密机制和多秘密共享,让代理进行运算操作,使数据在上传时的运算量减少,优化云环境下数据发布和权限管理.柴绍杰等人[61]通过数字信封技术,与RSA算法相结合,提出AES的改进算法,实现密钥的单独加密,具有RSA隐私安全性较高和AES数据处理快速的双重优点.白建峰等人[62]提出理想型(t,k,n)紧耦合的秘密共享,根据有限域多项式环的中国剩余定理,该算法的信息率达到1,解决了现有紧耦合秘密共享方法的信息率均小于1的问题,提高了共享数据的安全性.

数据加密技术不能保证3方平台是可信的,需要构造同时满足用户隐私、数据隐私和交互隐私安全的方法;数据的加密操作易增大计算开销,缩小数据共享范围,使数据产生过多浪费,需要构造可以快速加解密的技术.

3.3 失真技术

分组技术是被动攻击,需要基于特定的背景知识,一旦攻击者掌握了背景知识,分组技术就失效.因此,需要一种与是否掌握背景知识无关的隐私保护技术.失真技术[63]修改原始数据使真实数据得到隐藏,隐私获得保护,攻击者面对发布的失真数据不能对原始数据进行重构.过分失真会导致缺损,因此要适当失真.

3.3.1 隐私保护模型

基于分组技术的数据发布方法存在安全风险和较低可靠性,差分隐私能够解决这个问题.2006年,Dwork提出差分隐私模型,不依赖攻击者的背景知识,删除每一条记录都不会改变输出结果,并且具有严谨的数学推导.中心化差分隐私定义如下:

定义4.差分隐私[64].假设D和D′为相邻数据集,Sm为在随机函数M所有可能的输出,Pr为隐私泄露的概率,若M满足:

Pr[M(D)∈Sm]≤eεPr[M(D′)∈Sm]

(2)

则称M满足ε-差分隐私.ε为隐私预算参数,与隐私保护效果成反比.差分隐私常用的噪音机制包括拉普拉斯机制和指数机制.拉普拉斯机制适用数值型数据.指数机制适用非数值型数据.

中心化差分隐私假设第3方可信(TTP),在实际应用中第3方可信可能不成立,因此提出本地化差分隐私,可以抵御不可信第3方的攻击,将隐私交给个人管理和保护,使隐私保护更加透彻.本地化差分隐私定义如下:

定义5.本地化差分隐私[65,66].假设k个用户分别对应一条记录,存在隐私算法M、M的定义域D(M)和值域R(M),如果M满足在任意两条记录d和d′(d,d′∈D(M))上具有同样的输出结果d*(d*∈R(M)),并且:

Pr[M(t)=d*]≤eε×Pr[M(d′)=d*]

(3)

则称M满足ε-本地化差分隐私.由此可以得出,本地化差分隐私中隐私算法M的任意两条记录输出结果相似,攻击者很难推测出某条记录是否为用户真实信息.

3.3.2 静态数据发布

差分隐私是数据发布领域的研究热点,目前大多数差分隐私数据发布的研究都是关于静态数据的发布.

直方图和划分是常用的静态数据发布技术.直方图利用分箱技术将数据集分成多个不相交的桶,并由数字表示其特征.文献[68]最早提出基于直方图发布的差分隐私保护算法LP,将数据利用属性进行分割,形成多个不相交的区间,为每个等宽区间加入噪声再发布.但是存在长区间查询和加入噪声过大造成的较大误差问题,解决方法为聚类分组和层次树划分等.

基于聚类分组的差分隐私保护:Xu等人[69,70]提出NoiseFirst,使用聚类将相近的等宽度区间进行动态合并,并对其加入噪声,解决长区间查询的误差问题,然而动态合并会造成重构误差,对每个区间加入的噪声不确定,等宽区间会影响聚类性能.李杨等人[71]提出IDPK-means方法,对k个区间分别加入噪声,将形成的中心作为聚类初始的中心点,提高聚类准确性,但是噪声和隐私保护级别问题没有得到解决.Zhang等人[72]提出AHP算法,实现全局聚类操作,但是没有考虑直方图数据的先后顺序,造成发布数据具有较低的可用性.针对这一问题,张啸剑等人[73]提出DiffHR直方图发布,通过蒙特卡洛(MCMC)和指数机制构建的排序方法将直方图的顺序逐渐调整正确,利用懒散分组的聚类方法对排序后的数据分组再对其发布.颜飞等人[74]提出基于Spark框架的静态数据直方图发布算法SPDP-GS,将k-means聚类改进对直方图进行最优划分,最后对每个分组的平均数加入噪声.该算法解决了因离群点造成的隐私泄露和误差较大的问题,提高隐私保护级别和数据计算效率.杨旭东等人[75]提出面向直方图发布的均衡差分隐私保护方法,利用作用域的马尔科夫模型构建直方图,抵御了根据直方图关联性推测出敏感信息而造成的隐私泄露;根据关联隐私泄露量化方法,对直方图发布的数据评估隐私缺失量;根据关联隐私泄露量化结果、Nash和Stackberg博弈建立全面均衡的差分隐私保护方法,具有较好的鲁棒性.

基于层次树划分的差分隐私保护:Xiao等人[76]提出Privelet小波树的差分隐私直方图发布,可以对长区间进行计数查询,且具有较高的精度,然而因加入了傅里叶变换方法而造成较高的时间代价.Xiao等人[77]提出DPCube,对原始数据划分来支持多维直方图数据的发布,然而对多维数据的查询具有较大的误差,导致精度也不高.MDPAV[78]将数据转换成k叉平均树,并给每个节点加噪,支持多维数据的查询与发布,误差小于Privelet.仓基云[79]提出优化HOLG-DP算法,对同一层的层次树建立哈夫曼树,缩短分布面积大的层次树的加权路径长度,使查询时间有所减少,该算法具有较低的相对误差以提高查询结果的精确度,仅针对二维静态数据.张可铧等人[80]提出DPQTk-means算法,通过自适应直方图存储桶,动态的将数据分割成大小不同的子空间,使每个子空间能充分表示数据,即加入更少的噪声,聚类结果更加优化,该算法只适用于二维数据.由此可以看出,直方图发布方法可以利用聚类分组将一维直方图扩展到多维,未来应该提高查询精度,减小误差.

划分发布方法通过索引结构实现对数据的划分,再发布数据.索引结构包括树结构和网格结构等,发布的数据应该平衡噪声和假设误差,然而树结构不能实现两个误差的平衡,需要网格划分来实现.Chen等人[81]提出Diffpart,自顶向下随机划分泛化分类树,利用自适应分配策略合理分配隐私预算ε,可以较好的发布集值型数据,但是泛化操作忽略了集值型数据项的语义关联,数据可用性降低.Peng等人[82]提出DP-tree方法,通过嵌入树对多维数据的索引查询范围计数,但是查询效率受树扇出的影响.Qardaji等人[83]提出UG方法,可以将二维空间数据分割为等宽单元格,并根据划分粒度给单元格加入Laplace噪声,但是忽略了数据分布稀疏性.因此提出AG方法,利用自适应划分方法实现单元的分割,防止单元过于密集或稀疏,能平衡噪声和假设误差,但是对于稀疏和稠密的边界没有启发式规则来定义,且只适合二维数据的发布问题.针对这个问题,卢清[84]提出DPMG算法,利用多层次网格以m1×m2×…×mn为粒度划分原始高维数据的n层空间,kd树启发式的重新调整划分结果,并通过kd树合并同一层分布相近的网格节点.傅继彬等人[85]提出MAXGDDP算法,利用最大值属性索引选择实现决策树同一层次数值属性与非数值属性的同时细化,减少噪声添加;利用类几何策略实现不同层次的隐私预算合理分配.吴英杰等人[86]提出Quad-heu算法,建立一个与原始二维数据对应的四分树,对每个节点加入适当Laplace噪声,并利用启发式策略合并相邻且相似的区域,查询一致性约束实现后置处理操作,该算法可以平衡噪声误差和均匀假设误差,查询精度和效率有所提高,但不适用于较高维数据发布的隐私保护问题.张啸剑等人[87]提出STAG方法,利用伯努利随机抽样技术抽取数据,将空间数据分成3层,采用指数机制和高通滤波技术去掉粒度小于阈值的网格,使用Up-Merge和Down-Split分别对大于和小于阈值的网格再处理,最后使用约束推理方法实现不同粒度的查询.提高了分割精度,优化了范围查询的效果.张啸剑等人[88]提出GT-R方法,利用UG通过网格结构将用户数据空间划分为大小相等的单元格,并使用四分树索引,以便用户编码自身数据再随机采样,用户通过本地优化随机应答对采样节点施加本地扰动,服务器使用所有用户的结果值重新构造四分树的索引结构来响应空间查询.划分方法的实际精度和处理一般与数据的维度有关,可能会造成较高的开销,较低的可用性,且上述方法不适用较高维度数据和动态数据的发布,未来的研究应该向支持动态、高维数据集的划分发布方向发展.

3.3.3 动态数据发布

实际应用中,数据通常以动态的形式存在,动态数据发布包含实时数据流发布和连续数据发布.如果将静态数据发布的隐私保护方法直接应用于动态环境会因为更新次数的增多导致加入的噪声逐渐增大,造成发布数据的可用性较低,并且隐私预算全部消耗意味着数据不再受到差分隐私的保护.因此,为了解决以上问题,对动态数据的隐私保护问题展开了研究.

数据流指根据事先规定的顺序仅读取一次的数据序列.在短时间内有大量数据输入,取值范围广泛,且持续到达.可以应用于汽车故障诊断、商品电子销售等领域,利用直方图和采样等方法能够实现数据流的发布.

直方图数据流发布:Dwork等人[89,90]提出一维数据流直方图发布方法,二进制取值为0或1时实现数据流统计信息的发布,会造成应用范围的限制性和数据缺失.文献[91]提出PTDSS-SW算法,通过滑动窗口模型支持二维数据流的连续统计发布,但是存在较大的相对误差波动范围.张啸剑等人[92]提出SHP算法,将滑动窗口连续分割,利用每个桶的计数建立分组,通过自适应抽样机制添加Laplace噪声,可以预测下一时刻的计数值,节约隐私预算分配.夏小玲等人[93]提出DDPA算法,在滑动窗口中,根据相邻时间戳数据分布是否相似,动态分配隐私预算,采取分组与合并方法得出最优直方图,再对划分结果合并和发布,可以实现一般性的数值型数据流发布的隐私保护,并且发布结果的可用性较高.Yan等人[94]提出DP-FC框架,利用分形聚类算法,数据分析模块可以对多属性的动态数据流进行分析.基于直方图的数据流发布算法分配隐私预算时具有较大的采样和噪声误差,未来应研究在安全和可用发布数据的基础上对隐私预算合理分配.

采样数据流发布:Fan等人[95]提出FAST算法,通过自适应采样和过滤为整个时间序列提供隐私保护,该算法要求预先分配最长的发布时间且每个时间戳的隐私预算相等,因此不适用于无限的时间戳,可用性有待提高.Li等人[96]提出基于自适应距离的采样方法,解决了动态数据集实时发布的问题.利用DSAT方法采用反馈自适应控制机制对阈值进行动态调整以获取动态数据.Chen等人[97]提出隐私保护的流分析系统PRIVAPPROX,将采样和随机响应技术结合在一起,利用采样技术进行采样数据集子集的近似计算,随机响应技术对加入的差分隐私噪声进行隐私保护分析,实现更好的隐私保护,提高了性能以支持实时流分析.涂子璇等人[98]提出可穿戴设备差分隐私均值发布,因为可穿戴设备数值型流数据的均值发布波动较小,所以可以使用适当的全局敏感度,缓解了波动敏感造成的过度采样,利用卡尔曼滤波的自适应采样技术,通过对误差的修正使隐私预算得到合理的分配,该算法的误差低于FAST算法,然而对于隐私预算的分配使用的是均匀分配方法,后续应考虑动态分配.基于采样的数据流动态发布能够增大查询效率,使在单个时间戳中发布的数据更加准确,未来应该研究处理更多查询的效率问题.

连续数据发布即数据插入、删除和更新操作后动态发布更新的数据,不具有实时性特征,一般为集值型数据.Xiao等人[99]提出一种数据发布框架,对数据应用小波变换为距离计数查询提供了查询结果,具有较高的精度,每一次发布都会加入噪声,最终出现极大地噪声误差,使数据的可用性受到影响.针对这一问题,Chan等人[100]提出二叉树发布,根据对元组数据的分析建立完全二叉树,实现对数据进行连续的统计发布和合理的分配隐私预算,但是获取的结果是近似值,不能精确地概括数据.蔡剑平等人[101]提出基于矩阵机制的连续数据发布,利用FDA算法改善了矩阵机制的高复杂度,对发布连续数据的精确性有了显著提高,能够发布大量连续数据.张剑等人[102]提出基于Diffpart的集值型数据动态发布算法,为原始数据集构建分类树,将分类树的节点随机抽样,通过随机生成的移位数处理新增数据的抽样节点并添加噪声,使攻击者不能获取噪声对数据的影响,降低噪声量以提高数据可用性和发布效率.Zhu等人[103]提出显式识别连续发布数据集中耦合信息的隐私保护机制.之前差分隐私解决连续数据发布问题没有考虑耦合信息,耦合信息包含很多敏感信息,因此该机制考虑了耦合数据,通过CCR算法响应统计数据的计数查询,具有较强的保密性,性能高于传统机制.Khavkin等人[104]提出MiDiPSA算法,结合k-anonymity、(c,l)-diversity和差分隐私,分别将每次新增的数据进行聚类分组,通过非参数统计发现概念漂移,最后将分组结果发布,可以降低数据的缺失而增大泄露风险.连续数据发布的隐私保护算法大多没有考虑噪声和假设误差的平衡,可能会使发布数据具有较低的可用性,未来的研究应该以合理分配隐私预算为目的,实现误差的最优平衡.

由于隐私预算的分配问题,差分隐私很难达到误差之间的平衡,影响发布数据的可用性,现在的差分隐私大多以可用性为代价保护敏感数据,数据可用性与安全性达到一种均衡的保护是当前面临的挑战.虽然关于差分隐私已有很多研究成果,但是还局限于理论研究,还需要将差分隐私模型进行扩展使之较好的应用于实际.

4 数据发布隐私保护技术分析比较

面向数据发布的分组、加密和失真技术隐私保护技术各有特点,表2对3种技术进行比较.

由此可以得出,分组技术使用较低的开销就可以为发布的数据提供隐私保护,且易实现,但是容易造成数据损失,影响发布数据的可用性.虽然包含的3种分组模型k-anonymity、l-diversity和t-closeness可以抵御部分攻击模型,但是分组技术是针对单一数据集提出的被动式防止隐私泄露的方法,大数据的复杂性使传统隐私保护模型失效.适用于需要利用较低的开销得到较好隐私保护的情况.加密技术具有较高的隐私保护程度和数据效用,但是数据和平台的开销较大,使数据不能实现最大价值的共享.与分组技术相同,加密技术也只是被动式防止隐私泄露,根据大数据的复杂性变化需要提出适用性更广泛的加密方法.适用于需求隐私保护效果而不在意计算开销的情况.失真技术的典型方法是差分隐私,在当前数据发布隐私保护的研究中应用最为广泛,适用于处理复杂的大数据,增加或者删除某个数据对数据集没有明显的影响,因此可以用于攻击者已经掌握部分用户敏感信息的环境,但是差分隐私不能很好地控制隐私预算,保护效果会因为数据之间的关联而降低,因此亟需解决隐私预算的不合理分配问题,给数据集提供更优的隐私保护.表3对目前关于数据发布隐私保护的部分研究成果进行了分析.

表2 面向数据发布的隐私保护技术比较Table 2 Comparison of privacy protection technologies for data publication

表3 数据发布隐私保护算法比较Table 3 Comparison of data publishing privacy protection algorithms

5 其他应用

随着数据发布技术的逐步发展,用户对数据发布的隐私要求逐渐增加,数据发布应用到了不同的领域中.

5.1 社交网络

近几年社交网络迅速发展,有很多社交软件产生,例如微博、微信和Facebook等.社交网络是指一种以人与人之间关系为中心的关系网络[15,105],大量的关联数据会导致用户敏感信息的安全性受到威胁.现有隐私保护模型还不能很好的保护用户隐私信息,因此需要扩展现有隐私保护框架,保护社交网络中的关联数据.

5.2 LBS数据

LBS即位置服务,服务提供者可以得到用户具体位置,根据服务请求对用户服务[15,106].集中式架构指将具体位置泛化成匿名区域,分布式架构通过独立方式构造匿名区域,混合式即集中式架构和分布式架构的结合.现在很多网络都具有LBS,通过分析用户的位置信息提供推荐服务,导致用户位置隐私信息泄露,因此需要根据网络和LBS双重特性提供安全的位置服务.

5.3 推荐系统

推荐系统[107]是指根据用户的个人信息、兴趣、行为,利用统计分析和机器学习等技术为用户提供周边有效信息,用户的兴趣、行为中存在敏感信息,用户隐私信息可能被泄漏,因此在为用户提供准确推荐服务的同时,根据不同用户对隐私信息要求的差异提供个性化的隐私保护.现有推荐系统基于单一用户的数据集,限制训练数据集的规模,且增大本地开销,因此需要对多用户的推荐系统、跨域多用户的推荐系统展开研究.

6 结束语

本文从数据发布的隐私保护研究出发,介绍数据发布存在的隐私风险,详细总结分组、加密和失真3种数据发布隐私保护技术的基本思想和研究成果,对算法的优缺点进行比较,总结数据发布在社交网络、LBS和推荐系统的应用.现有数据发布隐私保护方法普遍存在挑战,需要进一步研究,因此对未来的研究方向进行展望.

1)在静态数据发布中的研究比较成熟,但是对于动态数据发布的隐私保护还存在问题,现有隐私保护模型大多存在数据损失、效率较低和误差较大等问题,因此如何均衡发布的动态数据的安全性和可用性是一个重要问题.在现有动态数据发布隐私保护方法的基础上可以引入权重的思想,分析整个元组使最大程度接近原始数据集,为每个更新的数据加入权重值,再按照所加的权重合理的分配隐私预算,实现安全与效用的均衡.

2)低维数据往往不能满足实际需求,越来越多的数据都以高维的形式存在,直接将传统隐私保护模型用来处理高维数据会导致信息过度损失,但是关于高维数据发布的隐私保护研究较少.常用的处理高维数据的方法是降维,使高维数据降低到合适的维度,再进行隐私发布处理.高维数据发布需要使发布的低维数据尽可能接近原始数据集,并且保证发布数据的安全性.可以统计分析原始数据集,得出属性字段的重要程度和关联度,保证属性字段值多样性来尽可能接近原始数据集,按照敏感度对属性字段加入噪声,使噪声分配合理.

3)目前大多隐私保护模型还处于理论研究阶段,需要进行扩展来应用于实际操作中,这是一个极大地挑战.

猜你喜欢
直方图差分攻击者
一类分数阶q-差分方程正解的存在性与不存在性(英文)
基于贝叶斯博弈的防御资源调配模型研究
ADC直方图分析在颈部淋巴结转移性鳞癌鉴别诊断中的价值
序列型分数阶差分方程解的存在唯一性
一个求非线性差分方程所有多项式解的算法(英)
用直方图控制画面影调
正面迎接批判
正面迎接批判
基于差分隐私的数据匿名化隐私保护方法
例析频率分布直方图