书签 分享 收藏 举报 版权申诉 / 25

一种基于分块混淆的动态数据隐私保护系统及方法.pdf

  • 上传人:小**
  • 文档编号:6260906
  • 上传时间:2019-05-27
  • 格式:PDF
  • 页数:25
  • 大小:1.73MB
  • 摘要
    申请专利号:

    CN201510734401.4

    申请日:

    2015.11.02

    公开号:

    CN105303123A

    公开日:

    2016.02.03

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回IPC(主分类):G06F 21/62申请公布日:20160203|||实质审查的生效IPC(主分类):G06F 21/62申请日:20151102|||公开

    IPC分类号:

    G06F21/62(2013.01)I

    主分类号:

    G06F21/62

    申请人:

    山东大学; 山大地纬软件股份有限公司

    发明人:

    史玉良; 张宏磊; 周中民; 吕梁; 管永明; 张晖

    地址:

    250061山东省济南市历城区山大南路27号

    优先权:

    专利代理机构:

    济南圣达知识产权代理有限公司37221

    代理人:

    张勇

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种基于分块混淆的动态数据隐私保护系统及方法;通过可信第三方对新插入和修改的数据进行缓存并在满足条件时将数据进行分组和存储;通过保留关键分片来保证删除操作中被删数据和剩余数据的隐私安全;通过伪造数据回收机制实现存储资源消耗的降低和应用性能的优化。实验证明,提出的动态数据隐私保护机制具有较好的可行性和实用性。

    权利要求书

    1.一种基于分块混淆的动态数据隐私保护系统,其特征是,包括:
    应用层,负责管理供租户进行租赁和个性化定制的应用组件,接收租户提交的数据业务
    处理请求并将请求转交给隐私保护层进行处理;应用层能够部署多种不同的应用组件,每种
    应用组件又能够部署多个实例进行负载均衡;
    隐私保护层,是动态数据隐私保护框架的核心部分,负责接收和处理从应用层转交下来
    的数据业务处理请求,并将处理结果返回给应用层;数据业务处理请求包括数据插入请求、
    数据删除请求、数据查询请求或数据修改请求;
    存储层,负责对租户数据进行存储,是所有数据处理操作的最终执行者;存储层部署多
    个数据库实例,数据库实例选用相同或不同数据库进行部署;
    可信第三方,负责对租户个性化的隐私保护策略进行管理,还负责对最新插入或修改的
    数据进行管理,能对数据租户身份进行识别,阻止攻击者对隐私保护策略和临时数据的恶意
    访问和窃取。
    2.如权利要求1所述的一种基于分块混淆的动态数据隐私保护系统,其特征是,
    对于数据插入请求,将新插入数据进行包装后在可信第三方进行临时存储;
    对于数据删除请求,在存储层中将非关键分块和高权重分块中的对应分片进行删除;所
    述非关键模块是指不包含关键属性的分块;
    对于数据查询请求,由隐私保护层的重构模块将对原始数据的重构结果返回;
    对于数据修改请求,先将存储层中对应的原始数据删除,然后将修改后数据包装后在可
    信第三方进行临时存储。
    3.如权利要求1所述的一种基于分块混淆的动态数据隐私保护系统,其特征是,隐私保
    护层包括:更新处理模块、分块处理模块、均衡模块、重构模块和伪造数据回收模块;
    所述更新处理模块,负责接收应用层传递过来的业务操作请求,然后对操作请求类型进
    行分析,根据操作请求类型执行不同的操作过程并,操作完成后,将操作结果返回给应用层;
    所述操作请求类型包括:插入、删除、修改和查询;所述更新处理模块还接收重构模块的数
    据;更新处理模块将操作结果还存储到存储层;更新处理模块还将认证信息存储到认证模块;
    将临时数据存储到临时数据管理模块;
    所述分块处理模块,负责对临时数据管理模块产生的新分组进行垂直分块;当有新分组
    传递至分块处理模块时,向隐私策略管理模块发送请求获取对应的数据分块策略,根据分块
    策略对数据进行垂直分块,并将分块后的数据存储到存储层;
    所述均衡模块,从分块处理模块获取各分块的数据分布状态,产生满足α、β和γ均衡的
    伪造数据,对各分块进行α、β和γ均衡;数据分布状态是指所有的分片取值出现的频率;
    所述伪造数据回收模块,负责周期性地检查分组状态,根据各分组的有效数据占比,判
    断是否需要回收该分组的伪造数据;对需要回收伪造数据的分组,将分组中剩余的有效数据
    转移至临时数据管理模块进行缓存处理,然后将该分组在各分块中的数据全部删除;
    所述重构分块,根据租户提交业务操作中的查询、删除或修改条件,对分块前的原始隐
    私数据进行连接,并将原始数据对应的全局ID返回;重构模块从存储层中读取分块数据,然
    后对分块数据进行重构,将重构后的结果反馈给更新处理模块。
    4.如权利要求1所述的一种基于分块混淆的动态数据隐私保护系统,其特征是,
    所述可信第三方包括:隐私策略管理模块、认证模块和临时数据管理模块;
    所述认证模块,负责接收租户的身份认证信息,对租户身份进行识别,并根据识别结果
    阻止恶意攻击者访问对应的隐私保护策略以及临时数据,同时允许合法租户访问对应的隐私
    保护策略以及临时数据;
    所述隐私策略管理模块,负责对租户的个性化隐私保护策略进行存储和访问管理,根据
    租户ID传递对应租户的隐私保护策略至分块处理模块;
    所述临时数据管理模块,负责对租户新插入或新修改的数据进行临时存储,并根据分组
    条件对临时数据进行水平分组,产生新分组后,将分组数据传递至分块处理模块。
    5.一种基于分块混淆的动态数据隐私保护方法,其特征是,该方法通过可信第三方对新
    插入和修改的数据进行缓存,并在满足条件时将数据进行分组和存储;通过保留关键分片来
    保证删除操作中被删数据和剩余数据的隐私安全;通过伪造数据回收算法实现存储资源消耗
    的降低和应用性能的优化。
    6.如权利要求5所述的方法,其特征是,包括如下步骤:
    步骤(1):应用层的应用组件负责接收租户提交的业务操作,并将操作转交到隐私保护
    层的更新处理模块;
    步骤(2):更新处理模块对操作类型进行分析,若是插入操作,则继续执行步骤(3),
    否则,执行步骤(7);
    步骤(3):更新处理模块提交租户身份信息至可信第三方的认证模块进行身份识别,认
    证通过后允许租户访问临时数据管理模块;
    步骤(4):临时数据管理模块将新插入数据以明文形式进行缓存,并周期地检测缓存数
    据是否达到分组条件,若达到,则调用分组生成和分块算法产生新的分组,上传给分块处理
    模块;若未达到,则不做任何处理;
    步骤(5):若有新的分组上传至分块处理模块,则分块处理模块向可信第三方的隐私策
    略管理模块请求对应租户的分块策略,依据分块策略对分组数据进行垂直分块;
    步骤(6):均衡模块根据每个分块的数据分布产生伪造数据,使各分块的数据分布都满
    足α、β和γ均衡,然后将分块数据存入存储层;所述分块数据包括伪造数据和用户存入的隐
    私数据;
    步骤(7):重构模块通过隐私数据重构算法对隐私数据进行重构,判断是否是修改操作,
    若是,则对原始数据进行修改并组装成新数据,然后将原始数据删除,转步骤(3),否则转
    步骤(8);
    步骤(8):判断是否删除操作,若是,则执行数据删除算法将存储层非关键分块和高权
    重分块中对应的分片删除,删除成功后,通过伪造数据回收模块调用伪造数据回收算法检查
    是否有分组的伪造数据需要回收;否则,则判定为查询操作,执行步骤(9);
    步骤(9):根据重构模块计算的全局标识以及查询条件,筛选查询结果,并将结果返回
    给租户。
    7.如权利要求6所述的方法,其特征是,数据删除算法如下:
    输入:数据对象物理视图DOPV,临时更新表U,隐私分块策略PPS,删除条件RC
    步骤(1-1):从U中删除符合RC的数据;
    步骤(1-2):获取除关键分块和低权重分块的所有分块号,存入数组chunk;
    步骤(1-3):根据隐私数据重构算法获取DOPV中符合条件RC的原始数据的全局标识
    resultSet;
    步骤(1-4):foreachidinresultSetdo
    fori=0tochunk.length-1do
    计算id在chunk[i]中的DSID并删除其在chunk[i]中的对应的分片。
    8.如权利要求6所述的方法,其特征是,伪造数据回收算法为:
    当一个水平分组中的剩余数据所占比例小于设定的下限值Tremain时,将剩余数据插入临时
    更新表U中,并将该分组中的所有数据删除,对表U中数据进行分组后重新进行存储;算法
    过程描述如下:
    输入:分组信息表group_info,剩余数据占比阈值Tremain
    步骤(2-1):foreachgidingroup_infodo
    步骤(2-2):ifremain/tatal<Tremain
    步骤(2-3):调用隐私数据重构算法获取分组gid中剩余数据对应的全局ID的集合
    resultSet;
    步骤(2-4):foreachidinresultSet
    步骤(2-5):将id对应的原始数据插入U中;
    步骤(2-6):调用数据删除算法,将分组gid所有数据从存储层中删除。
    9.如权利要求6所述的方法,其特征是,分组生成和分块算法:
    输入:临时数据表U,最小组大小N,最小分块熵H1和最小条件熵H2
    输出:分组g
    步骤(3-1):创建空组g(g中元素为U中记录的唯一标识);
    步骤(3-2):对表U中关键属性的取值按其出现频率从小到大进行排序;
    步骤(3-3):whileg.length<Ndo
    按照步骤(3-2):中的排序结果,依次选取关键属性取值,并将包含此取值的数据
    ID加入g;
    步骤(3-4):从表U的剩余数据中依次选取数据t,若将其加入g后各对应各分块的熵值
    都不小于H1,则将t.ID加入g;
    步骤(3-5):调用分块策略对g中数据进行分块;
    步骤(3-6):根据H1和H2构造伪造数据对各分块进行均衡;
    步骤(3-7):将各分块数据存入存储层;
    步骤(3-8):returng。
    10.如权利要求6所述的方法,其特征是,隐私数据重构算法:
    输入:数据对象物理视图DOPV,隐私分块策略PPS,重构条件RC
    输出:原始数据全局ID集合resultSet
    步骤(4-1):根据PPS划分重构条件RC;
    步骤(4-2):fori=1tokdo
    步骤(4-3):查询分块Chunki上符合rci的DSID,将其对应的全局ID放入集合IDSeti
    步骤(4-4):将所有IDSet求交集,得到
    步骤(4-5):过滤resultSet中伪造数据对应的全局ID;
    步骤(4-6):将RC和resultSet存入cache;
    步骤(4-7):returnresultSet。

    说明书

    一种基于分块混淆的动态数据隐私保护系统及方法

    技术领域

    本发明涉及一种基于分块混淆的动态数据隐私保护系统及方法。

    背景技术

    随着云计算的迅速发展,具有多租户特点的SaaS应用以其低费用、规模效益的商业运营
    模式和单实例、按需定制的软件交付特点,被越来越多的企业和服务商所采用。

    在SaaS应用中,一方面,租户通过按需租赁和个性化定制,在满足自身业务需要的同时,
    节省了用于基础设施和后续升级、维护、管理等方面的高昂费用。另一方面,通过与SaaS服
    务商签订服务等级协议(servicelevelagreement,SLA),保证了应用的服务质量,维护了租
    户和服务商双方的利益。

    然而,随着SaaS应用的广泛推广和使用,租户隐私数据在云中的安全性也受到了越来越
    多的关注。在多租户应用中,为了满足租户对数据进行业务操作的需求,租户敏感数据通常
    需要以明文的形式在非完全可信的服务商处进行存储和处理,使租户的隐私数据脱离了租户
    的直接控制,可能被服务提供商恶意泄漏。例如,在利益的驱动下,服务商可以将租赁其应
    用的某公司的产品定价信息及其客户关系转卖给其竞争对手,导致该公司经济利益受损。

    针对SaaS应用面临的租户隐私泄露问题,[1ZhangKun,LiQingzhong,ShiYuliang.
    ResearchonDataCombinationPrivacyPreservationMechanismforSaaS[J].ChineseJournalof
    Computers,2010,33(11):2044-2054(inChinese)(张坤,李庆忠,史玉良.面向SaaS应用的数据
    组合隐私保护机制研究[J].计算机学报,2010,33(11):2044-2054)]中提出了一种基于分块混淆
    的数据组合隐私保护机制:首先根据租户定制的隐私约束将组合隐私属性切分到不同的分块
    中并混淆不同分片间的关联关系;然后针对分块中数据分布不均衡导致的隐私泄露问题,提
    出基于伪造数据的均衡化机制,通过添加伪造数据使各分块分布达到均衡;最后通过与可信
    第三方进行交互构建混淆数据的重构机制,保证租户隐私数据的可用性。

    工作[2ShiY,JiangZ,ZhangK.Policy-BasedCustomizedPrivacyPreservingMechanismfor
    SaaSApplications[C]//GridandPervasiveComputing.BerlinHeidelberg:Springer,2013:491-500,
    (SaaS应用程序的基于策略的个性化隐私保护机制)]和工作[3ShaoY,ShiY,LiH.ANovel
    CloudDataFragmentationCluster-basedPrivacyPreservingMechanism[J].InternationalJournalof
    Grid&DistributedComputing,2014,7(4):21-32,(一种新的基于聚类的云数据碎片隐私保护机
    制)]在此基础上又分别从不同方面进行了补充和优化。工作[2ShiY,JiangZ,ZhangK.
    Policy-BasedCustomizedPrivacyPreservingMechanismforSaaSApplications[C]//Gridand
    PervasiveComputing.BerlinHeidelberg:Springer,2013:491-500,(SaaS应用程序的基于策略的个
    性化隐私保护机制)]基于租户的个性化隐私保护和事务处理需求,提出了基于策略的个性化
    隐私保护机制。工作[3ShaoY,ShiY,LiH.ANovelCloudDataFragmentationCluster-based
    PrivacyPreservingMechanism[J].InternationalJournalofGrid&DistributedComputing,2014,
    7(4):21-32,(一种新的基于聚类的云数据碎片隐私保护机制)]通过键能算法对属性进行聚类,
    将关联程度较高的属性尽量分到同一分块中,通过减少分块间的连接次数对应用性能进行提
    高。

    然而在云计算环境下,随着多租户应用的持续运行,租户对数据的增加、删除、修改等
    业务操作将导致底层数据存储的持续变化,各分块的分布规律也将相应地发生变化,当数据
    分布不再均匀时,分片间的关联关系将以较大概率面临着被泄露的风险。另一方面,若攻击
    者可以获取局部时间内各分块的操作日志和数据快照,仍然可以通过对比分析推测出这部分
    数据中蕴含的隐私信息。这就要求所采取的隐私保护机制必须能适应这种变化,确保租户的
    隐私保护需求持续得到满足。

    针对隐私保护,数据加密和数据混淆是目前比较成熟的两种解决方案。但是加密后的数
    据往往丢失了可操作性,因此提高密文检索速度和处理效率是加密隐私保护的研究热点。文
    献[4Q.Liu,G.Wang,J.Wu.AnEfficientPrivacyPreservingKeywordSearchSchemeinCloud
    Computing[C]//inProceedingsofthe2009InternationalConferenceonComputationalScience
    andEngineering.Piscataway,NJ:IEEE,2009:715-720,(一种有效的隐私保护的云计算关键词检
    索模式)]分析了云计算的特征,提出一种在云中实现隐私保护的关键词检索模式,它支持服
    务提供商可以参与部分解密工作以减少客户端负担,同时在加密数据上实现关键词检索,以
    保护租户数据隐私和用户查询隐私。文献[5C.Gentry.Fullyhomomorphicencryptionusingideal
    lattices[C]//inProceedingsofthe41stannualACMsymposiumonTheoryofcomputing.Bethesda:
    ACM,2009:169-178,(基于理想格的充分同态加密技术)]利用“理想格(ideallattice)”的数学对象
    构造了隐私同态(privacyhomomorphism)算法,使人们可以充分地操作加密状态的数据。加密
    方法对数据处理性能有较大影响,研究者提出通过其他方式来防止泄露隐私。文献[6Raymond
    Chi-WingWong,LiJ,AdaWai-CheeFu,WangK.(α,k)-anonymity:Anenhancedk-anonymity
    modelforprivacy-preservingdatapublishing[C]//ProceedingsoftheACMSIGKDDInternational
    ConferenceonKnowledgeDiscoveryandDataMining.NewYork:ACM,2006:754-759,(一种改
    进的k-匿名化隐私保护数据发布模型)]提出了(α,k)-匿名原则,其在保证数据表满足k-匿名化
    原则的同时,要求每个等价类中任一敏感属性值相关的记录的百分比不高与α,从而避免攻
    击者利用一致性攻击和背景知识攻击来确认敏感数据与个人身份的联系。文献[7
    MachanavajjhalaA,KiferD,GehrkeJ,etal.l-diversity:Privacybeyondk-anonymity[J].ACM
    TransactionsonKnowledgeDiscoveryfromData(TKDD),2007,1(1)]提出l-diversity原则,要求
    每个等价类的敏感属性至少有l个不同的值,使得攻击者最多以1/l的概率确认某个体的敏感
    信息。文献[8CirianiV,DiVimercatiSDC,ForestiS,etal.Fragmentationandencryptionto
    enforceprivacyindatastorage[C]//ComputerSecurity–ESORICS2007.BerlinHeidelberg:
    Springer,2007:171-186,(基于信息分解和数据加密的数据存储隐私保护)]有效结合了信息分解
    和数据加密,提出使用隐私约束的概念来实现信息分解,提出隐私约束的概念,用来描述需
    要经过加密保护的数据属性和同时出现会泄露隐私的数据属性组合,根据这些隐私约束,经
    过信息分解,得到满足要求的分块模式,其中各个数据分块之间的关联关系保存在客户端。
    文献[9OuyangJia,YinJian,LiuShaopeng,etal.AnEffectiveDifferentialPrivacyTransaction
    DataPublicationStrategy[J].JournalofComputerResearchandDevelopment,2014,51(10):
    2195-2205(inChinese)(欧阳佳,印鉴,刘少鹏,等.一种有效的差分隐私事务数据发布策略[J].
    计算机研究与发展,2014,51(10):2195-2205)]针对事务数据库隐私保护发布的数据安全性与
    效用性不足,提出了一种有效的满足差分隐私约束事物数据发布策略TDPS,该策略基于项
    集I,构建事务数据库D的完整树Trie,然后基于压缩感知技术对完整树添加满足拆分隐私
    约束的噪音得到含噪Trie树,最后在从此树上进行频繁项集挖掘任务,很好地保护了数据隐
    私。但是,这些研究主要面向的是数据发布领域中的隐私保护问题,很少涉及对隐私数据的
    增删改操作。

    对于动态数据的隐私保护,目前已经有多钟不同的方法相继被提出,但是这些方法主要
    解决的也大都是面向数据发布和数据挖掘中的动态数据隐私保护,并不适合SaaS应用中的隐
    私保护。

    J.Byun等人最先在文献[10ByunJW,SohnY,BertinoE,etal.Secureanonymizationfor
    incrementaldatasets[C]//SecureDataManagement.BerlinHeidelberg:Springer,2006:48-63,(持
    续增长数据集的隐私保护)]中对持续增长数据集的隐私保护做了相应的研究,其思路是新的
    记录要插入必须满足两个限定条件:一是待插入记录数不能少于一定的数量,二是待插入的
    记录集要符合l-diversity技术的要求,如果有其一达不到要求就不能插入,该方法存在数据
    更新不及时且数据的更新只局限于插入这一种操作的问题。同样的,文献[11PeiJ,XuJ,Wang
    Z,etal.Maintainingk-anonymityagainstincrementalupdates[C]//ScientificandStatistical
    DatabaseManagement,2007.SSBDM'07.19thInternationalConferenceon.Piscataway,NJ:IEEE,
    2007:5-5]和文献[12ByunJW,LiT,BertinoE,etal.Privacy-preservingincrementaldata
    dissemination[J].JournalofComputerSecurity,2009,17(1):43-68,(针对插入操作的k-匿名化
    原则维护)]中提出的方法也只是针对插入操作对数据进行隐私保护,而在SaaS应用中租户
    需要经常对数据进行插入、删除和修改等操作,因此这些方法并不适应于SaaS应用。文献[13
    XiaoX,TaoY.M-invariance:towardsprivacypreservingre-publicationofdynamicdatasets[C]
    //Proceedingsofthe2007ACMSIGMODinternationalconferenceonManagementofdata.New
    York:ACM,2007:689-700,(M-invariance:针对动态数据集发布过程的隐私保护)]提出了
    m-invariance匿名机制,其核心思想是在数据集的任何一个快照中,一条指定的数据记录都只
    能被放置在具有固定的隐私属性集的分片中,该方法很好地解决了数据发布过程中的值相关
    攻击。文献[14HeY,BarmanS,NaughtonJF.Preventingequivalenceattacksinupdated,
    anonymizeddata[C]//DataEngineering(ICDE),2011IEEE27thInternationalConferenceon.
    Piscataway,NJ:IEEE,2011:529-540,(针对匿名数据发布中的等值攻击问题的保护)]针对数
    据发布中存在的值等价攻击问题,在文献[13XiaoX,TaoY.M-invariance:towardsprivacy
    preservingre-publicationofdynamicdatasets[C]//Proceedingsofthe2007ACMSIGMOD
    internationalconferenceonManagementofdata.NewYork:ACM,2007:689-700,(M-invariance:
    针对动态数据集发布过程的隐私保护)]的基础上利用“最小割”算法提出了一种基于图的匿名
    算法,该算法同时对值相关攻击和值等价攻击问题进行了保护。文献[15NergizAE,CliftonC,
    MalluhiQM.Updatingoutsourcedanatomizedprivatedatabases[C]//Proceedingsofthe16th
    InternationalConferenceonExtendingDatabaseTechnology.NewYork:ACM,2013:179-190,(动
    态变化的外包数据库的隐私保护)]针对动态变化的外包数据库的隐私保护问题,在数据分解
    的基础上提出将用户最近插入和修改的数据通过加密后存放到外包数据库中,将加密秘钥保
    存在客户端,在删除数据时只删除包含识别信息的部分数据,该方法要求客户端保存加密秘
    钥并且需要明确区分标识信息和敏感信息,并且在业务操作中需要频繁进行加密和解密操作。
    而在SaaS应用中,租户不需要存储任何信息或拥有任何计算能力,并且租户需要能够对隐私
    需求进行个性化定制,指定的隐私约束中往往无法明确区分识别信息和敏感信息,因此文献
    [15NergizAE,CliftonC,MalluhiQM.Updatingoutsourcedanatomizedprivatedatabases[C]
    //Proceedingsofthe16thInternationalConferenceonExtendingDatabaseTechnology.NewYork:
    ACM,2013:179-190,(动态变化的外包数据库的隐私保护)]中的隐私保护方法并不能完全适
    合SaaS应用的动态隐私保护。

    虽然上面提出的各种方法很好地应对了数据发布和数据挖掘中存在的各种动态隐私保护
    问题,但由于SaaS应用与数据发布具有完全不同的特点,使得上述方法都不能完全适应于
    SaaS应用。工作[1ZhangKun,LiQingzhong,ShiYuliang.ResearchonDataCombinationPrivacy
    PreservationMechanismforSaaS[J].ChineseJournalofComputers,2010,33(11):2044-2054(in
    Chinese)(张坤,李庆忠,史玉良.面向SaaS应用的数据组合隐私保护机制研究[J].计算机学
    报,2010,33(11):2044-2054)]针对SaaS应用,提出一种基于分块的隐私保护机制,根据租户
    提出的隐私约束将租户数据中的组合隐私分解到不同的数据分块中,并隐藏分片之间的关联
    关系,实现了明文状态下的SaaS数据隐私保护,通过插入伪造数据的方式,确保各分块中数
    据分布的持续均衡,防止服务运营商泄漏租户的数据组合隐私,但该文献并没有提及租户对
    数据进行插入、删除和修改时如何对隐私数据进行保护,存在泄漏数据块关联关系的危险。

    随着信息技术的高速发展,对数据的采集、存储和分析变得更加方便和快捷,技术手段
    也更加先进和完善。在现实生活中,由于企业管理和权限分配的不完善,云计算服务中经常
    会发生服务商或数据库管理员(本发明将恶意泄露租户隐私的相关人员统称为攻击者)通过
    各种技术手段恶意获取用户数据及其变更记录,并通过分析后泄露用户隐私的情况。虽然租
    户数据在存储到云端之前已经通过分块混淆隐藏了不同分片之间的关联关系,但攻击者仍然
    可以通过对数据变更后各分块的不均匀分布情况或者数据变更日志及相应的局部数据快照进
    行分析得到部分租户的隐私信息。下面将通过图1所示示例对工作[1ZhangKun,LiQingzhong,
    ShiYuliang.ResearchonDataCombinationPrivacyPreservationMechanismforSaaS[J].Chinese
    JournalofComputers,2010,33(11):2044-2054(inChinese)(张坤,李庆忠,史玉良.面向SaaS应
    用的数据组合隐私保护机制研究[J].计算机学报,2010,33(11):2044-2054)]所提隐私保护机制
    在租户进行业务操作时面临的隐私泄露威胁及其它不足分别进行分析。

    图1中Snapshot(T1)是进行业务操作前根据工作[1ZhangKun,LiQingzhong,ShiYuliang.
    ResearchonDataCombinationPrivacyPreservationMechanismforSaaS[J].ChineseJournalof
    Computers,2010,33(11):2044-2054(inChinese)(张坤,李庆忠,史玉良.面向SaaS应用的数据
    组合隐私保护机制研究[J].计算机学报,2010,33(11):2044-2054)]提出的方法对租户数据的逻
    辑视图进行分块后得到的数据对象物理存储模式,Snapshot(T2)是对Snapshot(T1)分别
    执行了一次插入、删除和修改后得到的数据对象物理存储模式。表1为通过某种工具或技术
    获取的这段时间内租户对数据库的业务操作日志。

    1)通过操作日志和数据快照泄露租户隐私

    当攻击者获取到数据变更日志(表1)以及变更前后的数据快照Snapshot(T1)和Snapshot
    (T2)后,通过日志可以发现三个分块同时插入和删除过分片,通过对比Snapshot(T1)和
    Snapshot(T2)可以推测出该过程删除了一条关于Bob的数据并且Bob患有疾病Measles,新
    增了一条Greg的数据且Greg患有疾病Flu。由于同时在Chunk2和Chunk3中分别修改了一
    个分片的取值,可以推断出43岁且原先邮编为62000的那位病人其患病信息已由Measles变
    更为Flu且其邮编也发生了变化。

    2)分块数据不均匀导致租户隐私泄露

    假设租户签订的SLA协议中规定攻击者最大只能以1/3的概率将不同分块中的分片数据
    进行关联,从Snapshot(T1)中疾病信息的分布可以看出,在对数据进行更新前,分块中关
    于疾病的取值信息共有Cancer、Measles和Flu三种,且每种取值出现的概率都不超过1/3,
    符合租户指定的隐私保护水平要求,即从其它分块中任取一个分片,将其准确关联到对应的
    疾病信息的最大正确率都不超过1/3。而更新后的数据分布Snapshot(T2)中,疾病取值只剩
    下了Cancer和Flu两种,且Flu出现的概率增长到了2/3,若此时攻击者猜测某位病人患有的
    疾病是Flu,则其正确率将上升到2/3,显然此时的数据分布已经破坏了租户提出的隐私保护
    要求。

    表1数据库业务操作日志


    3)由分块均衡引起的伪造数据激增问题

    图1中,业务操作完成后,Chunk3中分片只有两种取值:Cancer和Flu,且取值Flu所
    占比例为2/3。此时要使其符合租户指定的隐私保护水平要求1/3,则Chunk3中的分片数量
    至少需要达到12条,即至少需要向Chunk3中插入6条伪造数据进行均衡。此时伪造数据占
    总数据量的比值将达到1/2,在云计算环境中,随着用户数据量的急剧增加,较高的伪造数据
    占比不仅会浪费大量的存储空间,而且也会导致应用性能的急剧下降。另一方面,工作[1Zhang
    Kun,LiQingzhong,ShiYuliang.ResearchonDataCombinationPrivacyPreservationMechanism
    forSaaS[J].ChineseJournalofComputers,2010,33(11):2044-2054(inChinese)(张坤,李庆忠,
    史玉良.面向SaaS应用的数据组合隐私保护机制研究[J].计算机学报,2010,33(11):
    2044-2054)]提出的均衡策略是通过不断插入伪造分片实现的,随着应用的持续运行,系统中
    的伪造数据会一直增加,而在数据量较大时,再想通过删除伪造数据来实现数据均衡将需要
    付出巨大的计算代价。

    从上面的举例分析可以看到,如果直接将租户的业务操作作用于云端数据,不仅会直接
    泄露本次被操作的租户的隐私信息,还会导致表中其它隐私数据因为分块中数据分布的不均
    匀而引起泄露。此外不合理的均衡机制也会导致系统因较高的伪造数据占比而付出较大的存
    储消耗和性能代价。

    发明内容

    本发明的目的就是为了解决上述问题,提供一种基于分块混淆的动态数据隐私保护系统
    及方法,它将租户最新插入和修改的数据在可信第三方进行缓存,当具备分块条件时再将数
    据以分组为单位分块均衡后存入存储层;对于删除操作,保留关键分块和低权重分块中的数
    据不被删除,防止攻击者通过数据操作行为对租户隐私进行重构;使用伪造数据回收机制对
    存储层冗余的伪造数据进行回收,降低伪造数据占总数据量的比例,可对租户业务操作进行
    有效支持,保证数据动态变化过程中租户隐私信息的安全。

    为了实现上述目的,本发明采用如下技术方案:

    一种基于分块混淆的动态数据隐私保护系统,包括:

    应用层,负责管理供租户进行租赁和个性化定制的应用组件,接收租户提交的数据业务
    处理请求并将请求转交给隐私保护层进行处理;应用层能够部署多种不同的应用组件,每种
    应用组件又能够部署多个实例进行负载均衡;

    隐私保护层,是动态数据隐私保护框架的核心部分,负责接收和处理从应用层转交下来
    的数据业务处理请求,并将处理结果返回给应用层;数据业务处理请求包括数据插入请求、
    数据删除请求、数据查询请求或数据修改请求;

    存储层,负责对租户数据进行存储,是所有数据处理操作的最终执行者;存储层部署多
    个数据库实例,数据库实例选用相同或不同数据库进行部署;

    可信第三方,负责对租户个性化的隐私保护策略进行管理,还负责对最新插入或修改的
    数据进行管理,能对数据租户身份进行识别,阻止攻击者对隐私保护策略和临时数据的恶意
    访问和窃取。

    对于数据插入请求,将新插入数据进行包装后在可信第三方进行临时存储;

    对于数据删除请求,在存储层中将非关键分块和高权重分块中的对应分片进行删除;所
    述非关键模块是指不包含关键属性的分块;

    对于数据查询请求,由隐私保护层的重构模块将对原始数据的重构结果返回;

    对于数据修改请求,先将存储层中对应的原始数据删除,然后将修改后数据包装后在可
    信第三方进行临时存储。

    隐私保护层包括:更新处理模块、分块处理模块、均衡模块、重构模块和伪造数据回收
    模块;

    所述更新处理模块,负责接收应用层传递过来的业务操作请求,然后对操作请求类型进
    行分析,根据操作请求类型执行不同的操作过程并,操作完成后,将操作结果返回给应用层;
    所述操作请求类型包括:插入、删除、修改和查询;所述更新处理模块还接收重构模块的数
    据;更新处理模块将操作结果还存储到存储层;更新处理模块还将认证信息存储到认证模块;
    将临时数据存储到临时数据管理模块;

    所述分块处理模块,负责对临时数据管理模块产生的新分组进行垂直分块;当有新分组
    传递至分块处理模块时,向隐私策略管理模块发送请求获取对应的数据分块策略,根据分块
    策略对数据进行垂直分块,并将分块后的数据存储到存储层;

    所述均衡模块,从分块处理模块获取各分块的数据分布状态,产生满足α、β和γ均衡的
    伪造数据,对各分块进行α、β和γ均衡;数据分布状态是指所有的分片取值出现的频率;

    所述伪造数据回收模块,负责周期性地检查分组状态,根据各分组的有效数据占比,判
    断是否需要回收该分组的伪造数据;对需要回收伪造数据的分组,将分组中剩余的有效数据
    转移至临时数据管理模块进行缓存处理,然后将该分组在各分块中的数据全部删除;

    所述重构分块,根据租户提交业务操作中的查询、删除或修改条件,对分块前的原始隐
    私数据进行连接,并将原始数据对应的全局ID返回;重构模块从存储层中读取分块数据,然
    后对分块数据进行重构,将重构后的结果反馈给更新处理模块。

    所述可信第三方包括:隐私策略管理模块、认证模块和临时数据管理模块。

    所述认证模块,负责接收租户的身份认证信息,对租户身份进行识别,并根据识别结果
    阻止恶意攻击者访问对应的隐私保护策略以及临时数据,同时允许合法租户访问对应的隐私
    保护策略以及临时数据;

    所述隐私策略管理模块,负责对租户的个性化隐私保护策略进行存储和访问管理,根据
    租户ID传递对应租户的隐私保护策略至分块处理模块。

    所述临时数据管理模块,负责对租户新插入或新修改的数据进行临时存储,并根据分组
    条件对临时数据进行水平分组,产生新分组后,将分组数据传递至分块处理模块。所述分组
    条件包括分组的大小和分组中数据的分布情况;

    一种基于分块混淆的动态数据隐私保护方法,该方法通过可信第三方对新插入和修改的
    数据进行缓存,并在满足条件时将数据进行分组和存储;通过保留关键分片来保证删除操作
    中被删数据和剩余数据的隐私安全;通过伪造数据回收算法实现存储资源消耗的降低和应用
    性能的优化。

    一种基于分块混淆的动态数据隐私保护方法,包括如下步骤:

    步骤(1):应用层的应用组件负责接收租户提交的业务操作,并将操作转交到隐私保护
    层的更新处理模块;

    步骤(2):更新处理模块对操作类型进行分析,若是插入操作,则继续执行步骤(3),
    否则,执行步骤(7);

    步骤(3):更新处理模块提交租户身份信息至可信第三方的认证模块进行身份识别,认
    证通过后允许租户访问临时数据管理模块;

    步骤(4):临时数据管理模块将新插入数据以明文形式进行缓存,并周期地检测缓存数
    据是否达到分组条件,若达到,则调用分组生成和分块算法产生新的分组,上传给分块处理
    模块;若未达到,则不做任何处理;

    步骤(5):若有新的分组上传至分块处理模块,则分块处理模块向可信第三方的隐私策
    略管理模块请求对应租户的分块策略,依据分块策略对分组数据进行垂直分块;

    步骤(6):均衡模块根据每个分块的数据分布产生伪造数据,使各分块的数据分布都满
    足α、β和γ均衡,然后将分块数据存入存储层;所述分块数据包括伪造数据和用户存入的隐
    私数据;

    步骤(7):重构模块通过隐私数据重构算法对隐私数据进行重构,判断是否是修改操作,
    若是,则对原始数据进行修改并组装成新数据,然后将原始数据删除,转步骤(3),否则转
    步骤(8);

    步骤(8):判断是否删除操作,若是,则执行数据删除算法将存储层非关键分块和高权
    重分块中对应的分片删除,删除成功后,通过伪造数据回收模块调用伪造数据回收算法检查
    是否有分组的伪造数据需要回收;否则,则判定为查询操作,执行步骤(9);

    步骤(9):根据重构模块计算的全局标识以及查询条件,筛选查询结果,并将结果返回
    给租户。

    所述插入操作将新插入的数据添加全局ID和时间戳后插入临时更新表中临时存储,当临
    时更新表中数据量大于设定阈值时,调用分组生成和分块算法对临时更新表中的数据进行水
    平分组,并以水平分组为单位对数据进行分块和均衡,最后存储到存储层。

    在进行删除处理时,对于同一组不相容分块,保留被删除数据在关键分块和低权重中的
    分片。

    数据删除算法如下:

    输入:数据对象物理视图DOPV,临时更新表U,隐私分块策略PPS,删除条件RC

    步骤(1-1):从U中删除符合RC的数据;

    步骤(1-2):获取除关键分块和低权重分块的所有分块号,存入数组chunk;

    步骤(1-3):根据隐私数据重构算法获取DOPV中符合条件RC的原始数据的全局标识
    resultSet;

    步骤(1-4):foreachidinresultSetdo

    fori=0tochunk.length-1do

    计算id在chunk[i]中的DSID并删除其在chunk[i]中的对应的分片;

    伪造数据回收算法为:

    当一个水平分组中的剩余数据所占比例小于设定的下限值Tremain时,将剩余数据插入临时
    更新表U中,并将该分组中的所有数据删除,对表U中数据进行分组后重新进行存储。算法
    过程描述如下:

    输入:分组信息表group_info,剩余数据占比阈值Tremain

    步骤(2-1):foreachgidingroup_infodo

    步骤(2-2):ifremain/tatal<Tremain

    步骤(2-3):调用隐私数据重构算法获取分组gid中剩余数据对应的全局ID的集合
    resultSet;

    步骤(2-4):foreachidinresultSet

    步骤(2-5):将id对应的原始数据插入U中;

    步骤(2-6):调用数据删除算法,将分组gid所有数据从存储层中删除

    算法3.分组生成和分块算法

    输入:临时数据表U,最小组大小N,最小分块熵H1和最小条件熵H2

    输出:分组g

    步骤(3-1):创建空组g(g中元素为U中记录的唯一标识);

    步骤(3-2):对表U中关键属性的取值按其出现频率从小到大进行排序;

    步骤(3-3):whileg.length<Ndo

    按照步骤(3-2):中的排序结果,依次选取关键属性取值,并将包含此取值的数据
    ID加入g;

    步骤(3-4):从表U的剩余数据中依次选取数据t,若将其加入g后各对应各分块的熵值
    都不小于H1,则将t.ID加入g;

    步骤(3-5):调用分块策略对g中数据进行分块;

    步骤(3-6):根据H1和H2构造伪造数据对各分块进行均衡;

    步骤(3-7):将各分块数据存入存储层;

    步骤(3-8):returng;

    算法4.隐私数据重构算法

    输入:数据对象物理视图DOPV,隐私分块策略PPS,重构条件RC

    输出:原始数据全局ID集合resultSet

    步骤(4-1):根据PPS划分重构条件RC;

    步骤(4-2):fori=1tokdo

    步骤(4-3):查询分块Chunki上符合rci的DSID,将其对应的全局ID放入集合IDSeti

    步骤(4-4):将所有IDSet求交集,得到

    步骤(4-5):过滤resultSet中伪造数据对应的全局ID;

    步骤(4-6):将RC和resultSet存入cache;

    步骤(4-7):returnresultSet。

    本发明的有益效果:

    1本发明提出基于分块混淆的动态数据隐私保护机制,该机制以水平分组为单位对租户
    业务操作进行处理,通过可信第三方对新插入和修改的数据进行缓存并在满足条件时将数据
    进行分组并上传至存储层进行存储;通过保留关键分片来保证删除操作中被删数据和剩余数
    据的隐私安全;最后提出伪造数据回收机制,降低了存储资源的消耗并实现了应用性能的优
    化。论文最后进行了实验验证和性能评估,实验结果表明,该机制使租户隐私在业务处理过
    程中得到有效保护的同时,也具有良好的处理性能。

    2为了应对SaaS应用中因多租户对数据的业务操作而引起的隐私泄露和分块均衡问题,
    本发明提出先对数据进行水平分组,并以更细粒度的水平分组为单位对租户数据进行隐私保
    护,并引入分块信息熵对分块的均衡状态进行评估,通过保证各水平分组在租户业务操作中
    的安全性,实现对整体隐私数据的保护。通过在水平分组时对分组均衡状态的兼顾以及后续
    对分组合并和伪造数据的回收,降低伪造数据对应用性能的影响。

    附图说明

    图1为数据变更示意图;

    图2为本发明的系统结构示意图;

    图3为业务操作随数据量增加的变化示意图;

    图4为不同方法下业务操作开销示意图;

    图5为伪造数据占比随时间的变化示意图;

    图6为伪造数据占比随分组大小的变化示意图;

    图7为本发明的方法流程图。

    具体实施方式

    下面结合附图与实施例对本发明作进一步说明。

    1动态数据隐私保护框架

    针对租户业务操作过程所面对的隐私泄露问题及其它不足,本发明提出了基于分块混淆
    的动态数据隐私保护框架(图2)和动态数据隐私保护方法(图7)。该模型共包含应用层、
    隐私保护层、存储层和可信第三方四个部分。其中应用层负责管理租户租赁的应用并对租户
    的业务请求做出响应。隐私保护层负责对租户提交的业务请求进行处理并根据租户定制的隐
    私保护需求在处理过程中对租户隐私进行保护。存储层负责对分块处理后的租户数据进行存
    储。可信第三方负责管理租户最新更新的数据以及租户的隐私保护策略,并通过身份认证机
    制防止攻击者冒用身份对数据和隐私保护策略越权访问。

    图2所示的框架中,应用层接收到租户的业务请求后,通过步骤①将请求转发至更新处
    理模块进行处理;更新处理模块根据请求类型决定需要对存储层和可信第三方中分别进行哪
    些操作,并通过②分别发送对应的操作指令;临时数据管理模块负责对最近更新的数据进行
    分组,分组完成后将通知分块处理模块;分块处理模块通过③从可信第三方调用分块策略对
    临时数据分组进行分块处理,分块完成后通过④对分块进行均衡并将结果存入存储层⑤;伪
    造数据回收模块⑥通过对存储层中各分组数据剩余量进行监控,定时回收多余伪造数据。

    2动态数据隐私保护机制的实现

    前面举例分析了SaaS应用持续运行过程中因租户业务操作引起的隐私泄露和分块均衡
    问题,并针对这些问题提出了基于分块混淆的动态数据隐私保护框架。本节将在上一节的基
    础上,详细介绍该框架的相关概念及具体实现,并将通过具体的公式和定理证明通过该框架
    对数据进行业务操作时可有效防止租户隐私的泄露。下面首先给出几个相关定义:

    2.1相关定义

    定义1.水平分组G,一个水平分组表示为租户数据逻辑视图T的一个子集,租户数据逻
    辑视图T表示为且其中任意两个不同的水平分组Gi和Gj均不重叠,即
    Gi∩Gj=φ(1≤i<j≤m)。

    定义2.隐私分块策略PPS,根据租户提出的隐私约束将逻辑视图T的属性集
    Attrs={A1,A2,...,An}划分为几个不同子集,即Attrs=∪subAttrs(i)(i=1,2,...,k),其中k为分块数,使
    得每个子集均不违背隐私约束条件,且任意两个属性子集均不相互重叠,即有
    subAttrs(i)∩subAttrs(j)=φ(1≤i<j≤k)。

    定义3.分块信息熵H(X),给定一个数据分块X,分块中分片的取值域为{v1,v2,...,vn},对
    应的每个取值出现的概率为{p(v1),p(v2),...,p(vn)},则该分块的信息熵为:

    H ( X ) = - Σ j = 1 n p ( v j ) log b p ( v j ) , - - - ( 1 ) ]]>

    其中b表示为对数所使用的底,通常为2,对应熵的单位为bit。数据分块中的各分片取
    值越均匀则其信息熵越大,当各分片取值出现的概率均相等时,该分块的信息熵取得最大值,
    反之,当只有一种分片出现时其熵值最小为0。

    定义4.分片依赖p(x/y),用条件概率进行表示,其中x表示分块A中属性X的某一取值,
    y表示分块B中属性Y的某一取值,此时称块A中X取值为x的分片以概率p(x/y)依赖于块
    B中Y取值为y的分片。

    在实际应用中,分片依赖的概念是普遍存在的,譬如公司中员工工资水平与其职位的关
    系。假设某公司普通员工的工资水平一般为3000-5000,部门经理的工资水平为5000-8000,
    但5000-8000工资段也有约15%的是业绩突出的普通员工,而3000-5000工资段也有5%的是
    业绩较差的部门经理,此时若给定某一工资水平为6500,则我们可以以85%的概率推断其为
    某一部门经理,即工资为6500的分片以85%的概率依赖于职位为“部门经理”的分片。此时,
    即使包含工资和职位属性的两个分块均已均衡,仍然可以以较大概率对分片进行关联。

    为了描述在不同分块中的属性存在依赖关系时的数据均衡程度,本发明引入了块间条件
    熵的概念:

    定义5.块间条件熵H(Y/X),表示在已知随机变量X的值的前提下,随机变量Y的信息
    熵还有多少,用来衡量在已知随机变量X的条件下随机变量Y的不确定性。表示为,

    H ( Y / X ) = Σ x X p ( x ) H ( Y , X = x ) = - Σ x X p ( x ) Σ y Y p ( y / x ) log p ( y / x ) = - Σ x X Σ y Y p ( x / y ) log p ( y / x ) = - Σ x , y p ( x / y ) log p ( y / x ) , - - - ( 2 ) ]]>

    通过公式(2)可以证明,当Y的值完全由X确定时,H(Y/X)取得最小值0,反之,当且
    仅当X和Y为相互独立变量时,H(Y/X)取最大值。

    定义6.临时更新表U,该表设置在可信第三方,用来存储租户最近更新的数据,其形式
    为(ID,A1,A2,...,An,Date),其中ID为该记录的全局唯一标识,在分块时用来产生各分片的DSID,
    Date字段为一个时间戳,用来标识该条数据插入或修改的时间。

    2.2动态数据隐私保护的具体实现

    工作[1]和[2]中为防止租户的隐私保护策略被攻击者恶意获取,提出使用可信第三方对隐
    私保护策略进行管理,并通过身份验证机制阻止攻击者的恶意请求。本发明在可信第三方的
    基础上增设了临时数据管理模块,主要负责对租户最近更新的数据进行临时存储,并在生成
    水平分组后对水平分组进行垂直分块并存至存储层。通过可信第三方的身份认证机制防止临
    时数据被恶意获取,使临时数据可以安全地以明文形式进行存储,保证了租户请求数据时的
    响应时间。

    2.2.1插入数据

    设租户Tenanti在时刻t1提交插入请求:

    INSERTINTOTVALUES(a1,a2,...,an)①

    根据第2节分析,若直接将数据写入云端数据库各分块中,则各分块将同时增加相同数
    目的记录,攻击者可以根据租户操作行为推测出新增分片间的关联关系,使租户的这部分隐
    私面临很大的泄露风险。

    因此本机制将请求①转换为如下请求:

    INSERTINTOUVALUES(id,a1,a2,...,an,t1)②

    请求②将新插入的数据添加全局ID和时间戳t1后插入临时表U中临时存储,当表U中
    数据量大于设定阈值N时,调用分组生成算法3对表U中数据进行水平分组,并以水平分组
    为单位对数据进行分块和均衡,最后存入存储层。由于对表U的操作发生在可信第三方,数
    据存储到存储层时虽然将分组关系暴露给了攻击者,但分组内各分块已进行均衡处理,因此
    整个分组仍然是安全的,整个插入过程也是可靠的。

    2.2.2删除数据

    对于临时更新表U中的数据,删除操作发生在可信第三方,直接将对应数据删除即可。
    而对应于存储层各分块中的数据,同时执行删除操作会引起隐私泄露,因此本发明提出在删
    除数据时对部分分块中的数据进行保留,为此首先引入以下概念:

    定义7.关键属性KA,指隐私约束中敏感程度较高的属性,由租户在隐私保护需求中进
    行指定。例如,不相容约束{Owner,Age,Zip,Disease}中,病人对于Disease属性更为敏感,
    当病人身份信息被泄露时,仍希望其疾病信息能够得到保护,因此保证包含Disease属性的分
    块的安全更加重要。

    定义8.关键分块KC,本发明把包含有关键属性的的分块称为关键分块。

    定义9.低权重分块LWC,指在业务处理过程中,除关键分块外,涉及频率最低的分块,
    该分块中数据量的大小不会对业务处理效率产生太大影响。

    定义10.不相容分块MEC,本发明将同一不相容隐私约束所涉及的所有分块称为一组不
    相容分块(如图1中Chunk1、Chunk2和Chunk3即为一组不相容分块),当隐私需求中包含
    多个不相容约束时,则对应的分块结果中会存在多组不相容分块。

    在进行删除处理时,对于同一组不相容分块,保留被删数据在关键分块和低权重分块中
    的分片,此时攻击者最多只能对同一条数据的部分分片进行重构,无法破坏隐私约束,保证
    了租户隐私的安全。删除算法的过程描述如下:

    算法1.数据删除算法

    输入:数据对象物理视图DOPV,临时更新表U,隐私分块策略PPS,删除条件RC

    ①从U中删除符合RC的数据;

    ②获取除关键分块和低权重分块的所有分块号,存入数组chunk;

    ③根据算法4获取DOPV中符合条件RC的原始数据的全局标识resultSet;

    ④foreachidinresultSetdo

    fori=0tochunk.length-1do

    计算id在chunk[i]中的DSID并删除其在chunk[i]中的对应的分片;

    下面提出两个辅助定理证明算法1在删除操作时不会引起隐私泄露:

    定理1.对于一个不相容分块组,保持某一分块数据不变,在每次删除数据时只删除其余
    分块中的数据,则数据删除后各分块的信息熵大于等于数据删除前各分块信息熵。

    证明:设某不相容分块组包含C1和C2两个分块,在执行删除请求时只删除C2的分片,
    由于C1分块的数据分布始终不变,所以C1分块的信息熵也保持不变。对于分块C2,设删
    除分片前的数据分布为{p(v1),p(v2),...,p(vn)},根据最大熵的含义,在已知部分知识的前提下,
    关于未知部分最合理的推断就是符合已知知识的最随机的推断,因此我们总能找到一种数据
    填充方式使补充后数据分布为{p1(v1),p1(v2),...,p1(vn)},并且有:

    - Σ j = 1 n p ( v j ) log b p ( v j ) - Σ j = 1 n p 1 ( v j ) log b p 1 ( v j ) ]]>

    即攻击者推测的C2分块的当前熵值只能大于或等于其初始熵值,即在对分块中数据分
    布无背景知识的前提下,攻击者只能以C2分块符合尽量均匀分布来对隐私进行猜测。

    定理2.对于一个不相容分块组,保持某一分块数据不变,在每次删除数据时只删除其余
    分块中的数据,则数据删除后各分块的条件熵大于等于数据删除前各分块条件熵。

    证明:设事件X和Y分别表示从分块C1和C2中取值事件,在本发明我们只关心给定
    X=xi猜测Y=yj需要的信息熵或者给定Y=yj猜测X=xi需要的信息熵,因此只需要证明H(Y|X=x)
    和H(X|Y=y)不减即可。由

    H ( X / Y = y ) = Σ x X p ( x / y ) log p ( x / y ) ]]>

    X的取值不变,而给定x,y时P(x│y)是保持不变的,因此H(X|Y=y)保持初始大小。而
    对于H(Y|X=x),

    H ( Y / X = x ) = Σ y Y p ( y / x ) log p ( y / x ) ]]>

    当删除C2中分片后可能导致Y的取值数目减少,但在无背景知识时,攻击者只能认为
    Y可以取剩余取值之外的其他取值,即Y的取值数目只能大于或等于初始数目使得H(Y|X=x)
    大于或等于其初始值。

    有辅助定理1和2可知,当只删除部分分片时,总能够保持各分块的熵值和分块间的条
    件熵值是不减的,因此在删除过程中不会因熵值的减少而泄露租户隐私。

    随着SaaS应用的不断运行,云端数据库中可能会逐渐出现这样的情况,即一个水平分组
    中的数据经过多次删除和修改后只剩下一条或几条的少量数据,为了保证删除数据时租户的
    隐私安全,需要完整保留关键分块和低权重分块的数据,同时还有数据均衡时的伪造数据,
    此时为了存储这少量数据就需要付出比较大的存储代价,而当这种水平分组的数量越来越多
    时,较大的伪造数据占比也会对查询效率造成较大影响。

    因此本发明在设计算法时,增加了伪造数据回收机制,当一个水平分组中的剩余数据所
    占比例小于设定的下限值Tremain时,将剩余数据插入临时更新表U中,并将该分组中的所有数
    据删除,对表U中数据进行分组后重新进行存储。算法过程描述如下:

    算法2.伪造数据回收

    输入:分组信息表group_info,剩余数据占比阈值Tremain

    ①foreachgidingroup_infodo

    ②ifremain/tatal<Tremain

    ③调用算法4获取分组gid中剩余数据对应的全局ID的集合resultSet;

    ④foreachidinresultSet

    ⑤将id对应的原始数据插入U中;

    ⑥调用算法1,将分组gid所有数据从存储层中删除

    2.2.3修改数据

    对于临时更新表U中的数据,修改操作发生在可信第三方,直接修改对应数据即可。而
    对应于存储层各分块中的数据,由于同时对各分块执行修改操作会引起隐私泄露,因此本发
    明的处理方式是将修改后得到的数据直接插入临时更新表U中进行存储,并同时将原始数据
    从存储层各分块中删除。在4.2.2节中证明了删除算法1的删除过程是安全的,而插入操作发
    生在可信第三方,因此整个修改过程是安全的。

    2.2.4分组生成及数据分块

    算法3.分组生成和分块算法

    输入:临时数据表U,最小组大小N,最小分块熵H1和最小条件熵H2

    输出:分组g

    ①创建空组g(g中元素为U中记录的唯一标识);

    ②对表U中关键属性的取值按其出现频率从小到大进行排序;

    ③whileg.length<Ndo

    按照②中的排序结果,依次选取关键属性取值,并将包含此取值的数据ID加入g;

    ④从表U的剩余数据中依次选取数据t,若将其加入g后各对应各分块的熵值都不小于
    H1,则将t.ID加入g;

    ⑤调用分块策略对g中数据进行分块;

    ⑥根据H1和H2构造伪造数据对各分块进行均衡;

    ⑦将各分块数据存入存储层;

    ⑧returng;

    算法3中,以关键属性为基准进行分组,分组结果中首先保证关键分块尽量均衡。算法
    第2行首先将关键属性依其出现频率进行排序,第3行一次选取出现频率较小的关键属性并
    将其对应的数据加入分组中,这样可以使分组中关键属性有较多的取值,分布更加均匀。算
    法第4行采用贪心思想,从剩余分块中依次选取数据进行尝试,将其加入g时能使各分块的
    熵值不小于H1,则接受其加入g;算法第5-7行在产生分组g后,调用分块策略对分组进行
    分块,并采用工作[1]的均衡方法对各分块进行均衡处理。

    2.2.5隐私数据重构

    隐私数据经过分块混淆后,其数据可用性也随之丧失,而在云计算环境下,租户需要频
    繁地对原始数据进行访问、删除和修改等。因此,如何对隐私数据进行快速重构成为SaaS应
    用隐私保护的一大关键问题。

    对隐私数据进行分块时,会根据原始数据的全局ID为每个分片生成一个唯一的分片标识
    (DSID),该标识主要用于对原始数据进行重构并对伪造数据进行过滤。算法4为基于可信
    第三方的原始数据重构算法,输入为数据对象物理视图DOPV、隐私分块策略PPS和重构条
    件RC,输出为满足条件的原始记录的全局ID,算法首行先根据分块策略将重构条件RC划
    分为RC={rc1,rc2,...,rci,...,rck},其中k为分块数,rci为分块Chunki上的重构条件;算法第2行在
    每个分块Chunki上查询符合条件rci的DSID并将其转换为全局ID后放入集合IDSeti中,算法第
    3行对所有IDSet求交集,得到最终符合重构条件RC的原始数据全局ID集合resultSet;算法
    第4行将resultSet中伪造数据对应的全局ID进行过滤;算法第5行将RC和resultSet缓存到
    cache中,提高下次相同重构请求的执行效率。算法描述如下:

    算法4.隐私数据重构算法

    输入:数据对象物理视图DOPV,隐私分块策略PPS,重构条件RC

    输出:原始数据全局ID集合resultSet

    ①根据PPS划分重构条件RC;

    ②fori=1tokdo

    ③查询分块Chunki上符合rci的DSID,将其对应的全局ID放入集合IDSeti

    ④将所有IDSet求交集,得到

    ⑤过滤resultSet中伪造数据对应的全局ID;

    ⑥将RC和resultSet存入cache;

    ⑦returnresultSet;

    上述算法中,在各分块中查询符合条件的DSID采取并行执行方式,查询时间与数据量
    大小成正比关系。设所有N为IDSet长度的最大值,若采用二路归并求交,则其时间复杂度
    为N2*log2k。一般情况下,符合条件的N的取值都不是很大,因此该时间复杂度在可接受
    范围内。

    3实验评估

    3.1实验环境

    为进行实验,采用从本实验室云计算平台申请的虚拟机作为可信第三方,其配置为8核、
    16G内存和500G硬盘。用MongoDB3.0.0存储租户隐私保护策略,用Mysql5.6.22存储临时
    更新表数据。

    用一台浪潮刀片服务器模拟部署多租户应用,配置为12核CPU(主频3.10GHz),32G
    内存,硬盘大小为2T。存储层同样使用Mysql5.6.22做存储数据库,多租户应用使用java1.8
    编写程序进行模拟。

    数据集取自本实验室社保项目内部测试数据集的参保人医疗登记基本信息表中的数据,
    数据量大小为300万条左右。数据选取了姓氏(已模糊处理)、医疗人员类别、性别、年龄、
    信任等级、孤寡类别、单位组织、医疗账户以及其它属性等共20个属性进行实验。不相容隐
    私约束为(姓氏、性别、年龄、单位组织)。

    3.2业务处理开销实验

    图3为在本发明提出的动态数据隐私保护机制下,增删改三种不同操作在不同数据量下
    的操作处理时间,横轴为数据量大小,纵轴为操作时间(单位为:ms)。

    从图3中可以看出,由于新插入数据总是被存储到临时表中,而表U中只存储少量数据
    并且数据量基本保持稳定,所以插入数据的处理速度很快,只有几十毫秒左右。而对于删除
    和修改操作,由于需要首先对被更新的数据进行重构,导致其处理时间大大增加,并且随着
    数据量的增大而线性增加。

    图4将本发明提出的方法与其它三种方法在业务处理效率方面进行了对比。方法A为不
    进行隐私保护,方法B为本发明提出的动态隐私保护机制,采用工作[1]中的分块策略,方法
    C为工作[1]提出的隐私保护机制,方法D为工作[3]对数据属性进行聚类后的隐私保护方法。
    数据量大小为两百万条左右,查询、插入和修改三类业务操作中每类操作涉及的属性数又分
    为2、4、6、8、10五个级别,实验结果采用所有级别处理时间的平均值。从图中可以看出,
    不进行隐私保护时处理速度最快,而方法B和方法C虽然查询、删除和修改都受制于数据量
    大小,但由于在相同数据量时,本发明提出的隐私保护方法中伪造数据相对减少,所以总体
    上方法B比工作[1]的方法C在性能上还是有所提升。方法D由于对数据属性按业务操作进
    行了聚类,所以处理效率要比方法C要高,但受伪造数据的影响,还是要比方法B效率差一
    些。

    3.3伪造数据占比实验

    图5对比了在分块最小信息熵取3时,方法B、C、D中伪造数据占比随时间的变化。从
    图中可以看出,当使用方法C和D时,伪造数据占比会随着应用的运行逐渐增加,并且开始
    阶段提升的幅度比较大,原因在于在较短时间内数据集中姓氏和年龄的分布并不完全与总体
    分布一致,数据分布比较不均匀,当数据量随时间逐渐增加时,其分布越接近于总体分布,
    但是随着对数据操作次数的不断增加,需要增加更多伪造数据进行均衡。而方法B中由于分
    组时尽量选取使分组数据分布均匀的数据组成分组,辅以伪造数据回收模块对伪造数据的回
    收处理,使整个过程中伪造数据占比都比较稳定。

    图6对比了伪造数据占比随分组大小产生的变化。当分组较小时,由于分组取值个数相
    对较少,导致分组内数据分布不均匀,要进行均衡需要添加较多伪造数据。随着分组大小的
    逐渐增大,分片取值个数逐渐增加,分块分布逐渐均匀。而当分组大小继续增加时,分组内
    数据分布逐渐接近整体分布,由于总体分布中姓氏和年龄并不是服从均匀分布的,所以分组
    再次趋向于不均匀状态,导致伪造数据占比又重新升高。

    从以上几个实验对比可以看出,相对工作[1]中的方法C,本发明提出的隐私保护机制具
    有更高的操作效率,而且随着应用的不断运行,其伪造数据占比更低且始终保持稳定。

    对于SaaS应用而言,现有的隐私保护机制缺乏对租户业务操作的有效支持,难以保证数
    据动态变化过程中租户隐私信息的安全。本发明针对SaaS模式下由租户业务操作引起的隐私
    泄露问题以及伪造数据占比较高的不足,提出了基于分块混淆的动态数据隐私保护机制。该
    机制将租户最新插入和修改的数据在可信第三方进行缓存,当具备分块条件时再将数据以分
    组为单位分块均衡后存入存储层;对于删除操作,保留关键分块和低权重分块中的数据不被
    删除,防止攻击者通过数据操作行为对租户隐私进行重构;最后提出伪造数据回收机制对存
    储层冗余的伪造数据进行回收,降低伪造数据占总数据量的比例。实验结果证明,本发明所
    提出的动态数据隐私保护机制,在保证租户隐私的同时,对应用的性能也起到了很好的优化
    效果。下一步工作将主要研究数据动态变化过程中,不同的租户数据放置策略对应用性能的
    影响。

    上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限
    制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付
    出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

    关 键  词:
    一种 基于 分块 混淆 动态 数据 隐私 保护 系统 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种基于分块混淆的动态数据隐私保护系统及方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6260906.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1