探索中国CIO人才现状 | 第四季调研报告
面向SaaS应用的数据组合隐私保护机制研究
2014-03-04  作者:e--works 

  1引言


  随着网络技术的发展和应用软件的成熟,软件即服务(Software-as-a-Service,SaaS)作为一种新型软件服务形式逐渐兴起.SaaS模式下,业务应用和数据库都部署在非完全可信的服务运营商的平台上,数据处理和存储在租户非完全可控的环境中进行,服务运营商可以通过直接查看数据库导致租户数据隐私泄露.SaaS数据隐私保护成为一个比较关注的问题,是SaaS模式面临的一个极大的挑战,影响着SaaS模式的进一步应用和推广.


  例如,采用SaaS模式的客户关系管理系统中,公司的客户信息保存在服务运营商端的数据库中.服务运营商不一定完全可信,有可能将公司的客户信息泄露给其它竞争公司或广告公司以获取暴利,这些泄露的信息包括客户年龄、性别、地址、邮政编码等.


  目前已有的方法主要是通过对数据值的保护实现隐私保护,包括数据值加密和数据值混淆等.数据值加密可有效防止数据隐私泄漏,但密文数据处理效率相对较低;数据值加密也可通过硬件实现,基于密码协同处理器的抗攻击特征,使用部署在非可信端的密码协同处理器作为可信处理器,在其内部实现对密文数据的加解密和处理;数据值混淆不同于传统加密,它保留了混淆数据的部分特征,可以在混淆数据上进行某些计算,但数据处理效率也有待提高.SaaS模式下,使用传统的数据加密和数据混淆保护方法使得数据处理效率相对较低;使用密码协同处理器等硬件设备,增加了SaaS系统设计的复杂度.


  文献[1]首次提出Database—as—a—Service,并使用额外的索引信息检索加密的数据,但是密文处理效率相对较低。极大阻碍了其在SaaS模式中的大规模应用.文献E23给出了面向数据库应用的隐私保护技术综述,主要介绍了数据挖掘和数据发布中的隐私保护技术,包括匿名、泛化、扰动等,确保在保护隐私的同时不影响数据应用.但是文献[2]提到的隐私保护技术主要针对分析型数据,不适于事务犁数据处理SaaS应用.文献E33从数据的机密性、数据的完整性、数据的完备性、查询隐私保护以及访问控制策略等方面给出了数据库服务(Database—as—a—Service)在安全与隐私保护方面的研究进展,其中数据机密性主要从数据加密和基于数据分布两个方面展开分析.但是SaaS模式下,使用加密方式和基于数据分布方式使得数据处理效率相对较低,违背了SaaS的初衷.


  针对加密隐私保护技术的不足,研究者提出通过保护数据间关系而不是数据值的方式防止隐私泄漏.文献[4]提出了盲目监视者机制,在同一个服务器中使用分块机制,将数据属性分在不同的数据分块中,通过隐藏数据之间的关系来实现隐私保护.文献[5];提出了一种基于有损分解的隐私保护方法,但其面向的是分析型数据处理.文献E63使用信息分解与合成保护数据隐私,将数据分解后形成的数据分块重新组合,进一步保护租户数据的隐私,其中各个数据分块之间的关联关系保存在客户端.但是,由于数据分块之间的关联关系保存在客户端,数据处理时服务器需要与客户端协作处理。通信开销相对较大,不适合SaaS模式.文献E73处理关系隐藏问题,通过独立伪装技术完全隐藏两个数据子集之间的关系,实现数据发布中的隐私保护,无法直接应用在事务型数据处理SaaS应用中.


  文献[8—9]有效结合了关联关系分离和数据机密两种保护方法,提出使用隐私约束的概念来实现信息分解,提出隐私约束的概念,用来描述需要经过加密保护的数据属性和同时出现同泄露隐私的数据属性组合,根据这些隐私约束,经过信息分解,得到满足要求的分块模式,其中各个数据分块之间的关联关系保存在客户端.但是文献[8—9]中隐私约束定义不全面,没有表示某些数据属性同时出现不泄露隐私的隐私约束.


  针对云隐私,文献[10-11]给出了一种基于客户端的隐私管理器,通过混淆实现数据的隐私保护,并支持混淆数据的同态处理,但数据混淆处理效率有待提高.文献[123提出了基于理想格的全同态加密技术,支持在密文数据上的同态处理,但效率较低.


  文献[13]提出了PrivacyasaService概念,基于密码协同处理器的抗攻击特征,使用部署在云中的密码协同处理器作为可信处理器,在密码协同处理器内部用来处理租户的敏感数据和受保护程序,防止租户敏感数据和受保护程序的泄露.但是,通过混淆或是全同态加密,在保护数据隐私的同时,降低了数据处理的效率,增大了数据处理的开销,违背了SaaS的初衷.文献[14]针对云计算环境下的隐私保护需求,提出数据隐私和操作隐私的概念,并提出了对应的解决方案.在云计算环境中,文献[14]假定应用是可信的,并针对数据隐私提出了隐私保护框架,通过对数据的混淆保护隐私,并基于令牌通过业务应用实现混淆数据的反混淆,实现数据隐私保护和实用性的有效结合.但文献[14]只是提出了一个框架,没有具体的解决方案.


  针对以上问题,为实现SaaS模式下数据处理效率和隐私保护的有效结合,需要研究明文状态下的数据隐私保护机制,通过保护数据间的关联关系而不是数据值从而防止隐私泄露.例如在采用SaaS模式的客户关系管理系统中通过隐藏客户的年龄、性别、地址、邮政编码等数据属性之间的关联关系,防止泄露客户的组合信息,实现对客户信息的隐私保护.本文将能够确定一个特定客户但客户不希望泄漏的组合信息定义为数据组合隐私,提出一种面向SaaS应用的数据组合隐私保护机制,将组合隐私属性切分到不同的数据分块中,混淆不同数据分块中数据切片间的关联关系,保护租户数据的组合隐私;针对数据分块中数据切片分布导致的隐私泄露问题,提出基于伪造数据的保护方法;同时,构建混淆数据的重构机制,实现SaaS数据隐私保护和实用性的有效结合.


  文献[15]为本文之前关于SaaS数据隐私保护的研究成果,使用信息分解,将数据分解到不同的数据分块中,隐藏数据之间的关系,从而保护SaaS数据隐私.文献[15]扩充了隐私约束的概念,重新定义了隐私约束的概念,加入了相容隐私约束,用来表示同时出现的不泄露隐私的数据组合,并以相容隐私约束为基础,基于贪婪算法实现快速信息分解,同时文献[15]提出基于元数据驱动的多租户数据共享存储模式,通过租户定制将数据分块之间的关联关系保存在服务运营商端,只有租户才能够重构数据.本文基于文献[15]的研究基础,提出了(k,α,β,γ)隐私保护机制,在使用分块保护SaaS数据隐私的同时,进一步规范化了数据分解过程,并针对数据对象物理存储中数据切片分布导致的隐私泄露问题,提出了均衡化的概念,使用插入伪造数据的方式防止隐私泄露.


  本文第2节给出面向SaaS应用的数据组合隐私保护模型;第3节给出基于分块的数据关系混淆方法;第4节针对数据分块中数据切片分布导致的隐私泄露问题,给出基于伪造数据的保护方法;第5节给出混淆数据的重构机制;第6节给出实验及结果;第7节给出相关工作;第8节进行总结.


  2SaaS数据组合隐私保护模型


  本节给出数据组合隐私保护的相关概念,提出面向SaaS应用的数据组合隐私保护模型.


  2.1数据组合隐私


  数据隐私保护的一种方法是隐藏数据值,主要包括数据加密和混淆处理,防止数据值的泄露;另一种方法是隐藏数据之间的关联关系,防止数据间关联关系的泄露,即防止某些数据组合带来的隐私泄露.首先,给出数据组合隐私相关的概念.


  定义1.数据组合隐私(DataCombinationPrivacy,DCP).数据组合隐私为个体不希望暴露的一系列数据属性的组合,其对应数据值可以确定特定个体.具体的,数据组合隐私为DCP{A1,A2...,Am),其中Ai(1≤i≤m)为构成数据组合隐私的数据属性.


  SaaS模式下,给定具体数据存储D,一个具体数据组合隐私DCP的泄露概率为Pdcp=P(DCP|D),该泄露概率为一个条件概率,其中,D为已知的SaaS数据物理存储,DCP为泄露的数据组合隐私.


  SaaS模式下,租户数据采用明文存储,按照图1中数据对象物理存储A所示,则Pdcp{Age,Sex,Zipcode}=1.


  针对数据组合隐私,规定数据组合隐私保护阈值Tthreshold(0≤Tthreshold≤1).对于任何一个数据组合隐私dcpi,若Pdcpi≤Tthreshold,即给定SaaS数据具体物理存储D,非完全可信的服务运营商发现任何一个具体数据组合隐私的概率均不大于给定的阈值时,则认为该SaaS数据具体物理存储D保护了租户的数据组合隐私.


  为描述租户的数据组合隐私保护需求,给出隐私约束的概念.


  定义2.隐私约束(PrivacyConstraint,PC).A为租户数据对象的属性集合,A={A1,A2,...,An}。隐私约束为PC{AS(AttributeSet),PP(PrivacyPolicy)),其中AS为隐私约束涉及的属性集合,为A的子集;PP为对应的隐私策略,包括NonCompatible和Compatible两种,其中NonCompatible表示AS中的属性若同时出现会导致数据组合隐私泄露,Compatible表示AS中的属性同时出现不会导致数据组合隐私泄漏.隐私约束中隐私策略必须选择一种.


  其中,不相容隐私约束(noncompatiblePrivacyConstraint)为ncPC{AS,Non-Compatible}、相容隐私约束(compatiblePrivacyConstraint)为cPC{AS,Compatible}.


  2.2基于数据分块的物理存储


  为实现其数据组合隐私保护,基于隐私约束,将SaaS数据属性切分到不同的数据分块中,利用可信第三方实现数据切片间关联关系的混淆.为此,首先给出基于数据分块的物理存储等概念,作为面向SaaS应用的数据隐私保护的基础.


  定义3.数据对象逻辑视图(DataObjectLogicalView,DOLV).SaaS模式下,租户数据对象逻辑视图为DOLV{A1,A2,...,An),其中Ai(1≤i≤n)为租户数据对象的数据属性.


  定义4.数据分块物理存储(DataChunkPhysicalStorage,DCPS).SaaS模式下,数据分块在服务运营商平台上数据库服务器中的实际物理存储为DCPS{DSID,A1,A2,...,Ax},其中,DSID为数据切片标记,用来标识该数据分块中的数据切片,Ai(1≤i≤z)为数据属性,该数据分块物理存储中对应的属性的集合为数据对象逻辑视图中属性集合的子集.


  基于数据分块物理存储的概念,给出数据对象物理存储的概念.

    对于租户的数据对象逻辑视图DOLV,对应的数据对象物理存储为DOPS,当DOPS中包含的数据分块物理存储DCPS的数目为k时,称该数据对象物理存储DOPS为数据对象逻辑视图的k分块化.此时,数据对象逻辑视图DOLV中的一条数据记录被切分为k个不同的数据切片,加上对应的数据切片标记DSID,分到k个对应的数据分块物理存储DCPS中.

    数据切片标记DSID在数据组合隐私保护机制中的作用十分重要,一方面,属于同一数据记录的不同数据切片的DSID不同,隐藏了数据切片之间的关联关系,保护了租户的数据组合隐私;另一方面,利用可信第三方,通过数据切片的DSID,进行数据记录的重构,即数据对象逻辑视图的重构,实现数据隐私保护与实用性的有效结合.

2.3均衡化

    针对某一具体的使用数据分块的数据对象物理存储,非完全可信的服务运营商可根据其数据切片的分布情况泄漏租户的数据组合隐私.

    (1)当数据分块物理存储中某个属性的取值个数较少时,如图1中数据对象物理存储B中,Disease属性对应的数据值相对较少,此时,个体疾病为Flu的概率为40%.
    (2)当数据分块物理存储中某个属性中某个取值所占的比例较大时,如图1中数据对象物理存储B中,Salary属性中某些数据值频繁出现,如2000,则个体工资为2000的概率为50%.
    (3)租户数据对象物理存储中数据属性之间存在完全函数依赖时,如针对完全函数依赖Salary→Rank,租户数据对象物理存储B中对应的两个数据分块物理存储{DSID,Age,Rank}和{DSID,Salary}只出现一个4000→8,泄露了对应数据分块之间的关联关系.

    因此,针对数据对象物理存储中数据切片分布导致的隐私泄漏问题,本文提出均衡化的概念,确保每个数据分块物理存储中各种数据切片出现的概率尽可能地平均,防止非完全可信的服务运营商以较大的概率发现数据组合隐私.

    定义6. 数据分块物理存储的α均衡化.数据分块满足α均衡化,满足以下条件:数据分块中至少包含α个不同的数据切片组合.

    定义7. 数据分块物理存储的β均衡化.数据分块满足β均衡化,满足以下条件:数据分块中每种数据切片组合出现的最大频率不超过β(0<β<1).

    通过β均衡化,对应数据分块物理存储组成的具体组合隐私泄露的概率Pdcp最多为β,即Pdcp≤β对于数据属性之间存在的完全函数依赖引起的隐私泄露问题,进一步提出y均衡化的概念.

    定义8. 对于完全函数依赖F的γ均衡化.对于完全函数依赖F:A—B,数据属性A和B存储在不同的数据分块物理存储DCPSA{DSID,AttributeSet}和DCPSB{DSID,AttributeSet}中,数据分块DCPS。除了包含数据属性B外,还包括其它数据属性.给定数据库实例,对于任何数据记录t,f.b=F(t.a),若t.a在数据分块物理存储DCPSA中出现,则在数据分块DCPSb中,对应有nb个数据切片选择,在这打。个不同的数据切片中,每种数据切片出现的最大频率不超过γ(0<γ<1).

    通过γ均衡化,针对完全函数依赖F,F中数据属性涉及的数据分块物理存储组成的具体组合隐私泄露的概率Pdcp最多为γ,即Pdcp≤γ.基于伪造数据可有效地实现均衡化,具体细节见第4节.为避免伪造数据对SaaS业务应用的影响,需要实现伪造数据的标识和识别,这是通过数据切片标识DSID实现的.

2.4数据对象逻辑视图重构

    对于租户数据的实用性,要求能够从数据对象物理存储经过某种映射得到数据对象逻辑视图,即SaaS数据的实用性要求能够实现数据间关联关系混淆的逆操作.首先,给出数据对象逻辑视图重构的概念.

    定义9.数据对象逻辑视图的重构(Data Object Logical View Reconstruction,DOLVR).给定数据对象物理存储DOPS,对于数据对象物理存储DOPS中的k个数据分块物理存储DCPS,能够从DCPS。(1≤i≤志)中选择合适的数据切片,得到对应的租户数据对象逻辑视图DOLV.

    值得注意的是,非完全可信的服务运营商无法快速、准确地完成数据对象逻辑视图的重构.在基于分块的数据对象物理存储中,非完全可信的服务运营商可以通过暴力攻击穷尽所有的可能,但是仍无法确定哪些数据分块组合是真实的,哪些数据分块组合是不存在的,从而有效防止了数据组合隐私泄露.

2.5数据组合隐私保护模型

    为方便讨论SaaS数据组合隐私保护,假定服务运营商无法窥探内存、SaaS应用是可信的.

    首先,给出数据对象物理存储的(k,α,β,γ)隐私保护定义.

    定义10. 数据对象物理存储的(k,α,β,γ)隐私保护.数据对象物理存储若满足以下要求则称其满足(k,α,β,γ)隐私保护:(1)数据对象逻辑视图DOLV经过k分块化后得到数据对象物理存储DOPS;(2)每个数据分块物理存储都满足口均衡化;(3)每个数据分块物理存储都满足口均衡化;(4)对于任何完全函数依赖F,数据对象物理存储DOPS均满足y均衡化.

    面向SaaS应用的数据组合隐私保护模型涉及租户、可信第三方和部署在非完全可信的服务运营商端的SaaS数据隐私保护模块.在租户应用过程中,SaaS数据隐私保护模块利用可信第三方提供的隐私保护支持功能实现服务运营商端的租户数据组合隐私的保护,这里认为该SaaS数据隐私保护模块是可信的.

    可信第三方实现认证管理、隐私保护策略管理等功能.其中,认证管理用来防止服务运营商冒充合法租户身份进行混淆数据的重构;隐私保护策略管理模块维护租户的隐私策略,包括数据切片标讽DSID的关联策略、伪造数据构建策略、伪造数据切片DSID的生成和识别策略等.

    SaaS数据隐私保护模块实现数据组合隐私保护定制、数据关系混淆、均衡化管理、混淆数据重构等功能.其中数据组合隐私保护定制支持租户按照需求定制隐私约束和数据组合隐私保护阈值等;数据关系混淆模块根据租户定制的隐私约束进行分块处理,并与可信第三方的隐私保护策略管理模块协作,根据数据切片标识DSID的关联策略为各个数据切片生成对应的DSID,实现数据切片之间的关联关系的隐藏,并将对应的数据切片保存到数据对象物理存储中;均衡化管理监视SaaS数据存储是否满足租户的均衡化需求,若不满足,则与可信第三方协作的隐私保护策略管理模块协作,根据伪造数据构建策略和伪造数据切片DSID的生成和识别策略,构建并插入一定世的伪造数据,非完全可信的服务运营商无法确认该类数据的来源,即无法确认插入的数据是真实的还是伪造的;混淆数据重构模块实现数据对象逻辑视图的重构,该模块需要与可信第三方的隐私保护策略模块协作,根据对应策略,去除伪造数据切片,并实现数据对象逻辑视图的重构.

 

 


    SaaS数据隐私保护模型的整个工作流程如下所示:首先,租户将一些关于隐私保护的策略信息发送给可信第三方,授权可信第三方进行一定的隐私保护支持操作;然后租户进行隐私保护定制,包括隐私约束定制、隐私保护阈值等,涉及到k,α,β,γ等参数;基于租户的隐私保护定制,利用可信第三方的隐私保护策略,SaaS数据隐私保护模块根据租户定制的隐私约束进行分块处理,得到满足租户隐私需求的k个数据分块,并根据租户定制的α,β,γ等参数进行各种均衡化处理,SaaS数据隐私保护模块基于租户数据的分布,与可信第三方协作,产生合适的伪造数据,实现数据对象物理存储的均衡化.SaaS数据隐私保护模块同时可利用可信第三方的隐私保护策略进行伪造数据的识别和混淆数据的莺构,从而实现SaaS数据组合隐私保护和实用性的有效结合.

3数据关系混淆

    为保护SaaS数据组合隐私,基于隐私约束实现分块处理,将泄漏租户隐私的组合隐私属性切分到不同的数据分块中,并通过SaaS数据隐私保护模块与可信第三方的协作。实现数据切片之间的混淆,防止数据组合隐私的泄漏.

3.1隐私约束检查

    SaaS应用支持租户个性化定制,由于租户水平的良莠不齐,定制的隐私约束可能存在着冗余及冲突,需要隐私保护定制模块进行必要的检查.隐私约束冗余,即针对相同类型的隐私约束PCi、PCj,对应的属性集合ASi、ASj为包含关系,则称这两个隐私约束PCi、PCj存在隐私约束冗余.为减少隐私约束冗余,对于不相容隐私约束,保留属性集合较小的不相容隐私约束;对于相容隐私约束,保留属性集合较大的相容隐私约束.

    隐私约束冲突。即不相容隐私约束ncPCi和相容隐私约束cPCj中。对应的属性集合ASt为ASj的子集,即租户定制的不能同时出现的属性集合出现在相容隐私约束中,则认为隐私约束ncPCi和cPCj产生冲突.为保护租户数据隐私,以不相容隐私约束为准,去除冲突的相容隐私约束.

3.2数据分块

    基于隐私约束,对数据对象逻辑视图进行分块处理,实现满足要求的数据对象物理存储.该算法的主要思想为:经过冗余和冲突检查,基于租户定制的隐私约束,进行分块处理.以相容隐私约束为基础,在不违背不相容隐私约束的前提下,不断加入新的数据属性,否则创建新的数据分块,直到所有的数据属性都分到合适的数据分块中,最终得到满足隐私约束的数据对象物理存储.基于隐私约束的数据分块算法如算法1所示.