本公开涉及隐私保护
技术领域:
,特别是涉及基于敏感度分层的多敏感属性隐私保护方法及系统。
背景技术:
:本部分的陈述仅仅是提到了与本公开相关的
背景技术:
,并不必然构成现有技术。随着大数据时代的来临,研究数据的价值成为科学研究必不可少的一部分,尤其是科研机构对医院诊疗大数据的研究也越来越热门,然而,在医院数据中心向科研机构发布医院诊疗数据时,存在隐私泄露的问题。近年来,关于隐私保护的研究已经成为一项研究热点。samarati和sweeney在文献提出了k-匿名模型,它要求发布的数据中存在一定数量(至少为k)的在准标识符上不可区分的记录,使攻击者不能判别出隐私信息所属的具体个体,从而保护了个人隐私,k-匿名通过参数k指定用户可承受的最大信息泄露风险。k-匿名化在一定程度上保护了个人的隐私,但同时会降低数据的可用性。因此,k-匿名化的研究工作主要集中在保护私有信息的同时提高数据的可用性。l-diversity通过提高等价类中敏感属性的多样性,保证了每一个等价类中的敏感属性至少存在l个不同值来降低隐私泄露。基于k-匿名改进的l-diversity算法很好的解决了同质性攻击的问题,machanavajjhala等人提出了l-incognito实现方法。但其过分依赖预先定义的泛化层关系,造成了对于原始数据的过度概化,产生很多不必要的信息损失,导致原数据集的可用性降低,加上背景知识的不确定性,如何设置l-diversity中的参数并没有好的方法,隐私没有得到很好的保护。基于全局识别穷举算法,与局部识别相比,该算法不可扩展,可能产生更多的失真引用.为解决敏感属性值偏斜型和相似性攻击,提出了t-closeness方法,要求每个k元组中敏感属性值分布与k匿名表的分布差异不超过t,同时提出了一种新颖的距离度量公式emd,对数据表中分类型和数值型均定义了合理的计算方法,但该方法大大也降低了数据可用性。aggarwal等人提出了一种基于聚类的匿名方法。该方法首先在满足匿名模型的前提下对原始数据集进行聚类,然后按照泛化原则对元组进行泛化处理。由于该方法是基于k-匿名模型,在减少信息损失的同时会大大增加隐私泄露的风险。针对以上问题,王智慧等提出了l-clustering算法,方法是将准标识符中的属性分为有序属性和无序属性两种类型,并针对这两种属性给出了更加合理的概化策略.该方法通过将概化后信息损失少的数据聚为一簇,有效降低概化处理的信息损失.但是该算法在数据相似性计算上较为复杂,所以算法的计算复杂度较高,并且在聚类过程中没有考虑到敏感属性的问题.在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:在医院数据中心向科研机构发布医院诊疗数据时,如果没有相应的隐私保护策略,医院数据中心将所有的诊疗信息全部发送给科研机构,则可能会有患者隐私泄露的风险;如果医院数据中心对患者隐私数据进行全面剔除,则科研机构得到的数据仅仅是疾病数据,与疾病相关的一些数据将得不到进一步的研究。因此,在医院诊疗数据发布前,如何对诊疗数据进行适度地隐私保护是目前遇到的一项难题。技术实现要素:为了解决现有技术的不足,本公开提供了基于敏感度分层的多敏感属性隐私保护方法及系统;第一方面,本公开提供了基于敏感度分层的多敏感属性隐私保护方法;基于敏感度分层的多敏感属性隐私保护方法,包括:获取待发布的若干个患者的诊疗数据,每个患者均对应一条诊疗数据,每一条诊疗数据均包括:一个非敏感属性和若干个敏感属性;按照非敏感属性的分层标准,对诊疗数据进行分成若干层级;根据诊疗数据之间的相似性,对不同层级之间的诊疗数据进行聚类;对分类后的每一类诊疗数据中的所有敏感属性均进行泛化处理,相同类别的诊疗数据的泛化处理的程度是一样的;将泛化处理后的诊疗数据进行发布。第二方面,本公开还提供了基于敏感度分层的多敏感属性隐私保护系统;基于敏感度分层的多敏感属性隐私保护系统,包括:获取模块,其被配置为:获取待发布的若干个患者的诊疗数据,每个患者均对应一条诊疗数据,每一条诊疗数据均包括:一个非敏感属性和若干个敏感属性;层级划分模块,其被配置为:按照非敏感属性的分层标准,对诊疗数据进行分成若干层级;聚类模块,其被配置为:根据诊疗数据之间的相似性,对不同层级之间的诊疗数据进行聚类;泛化处理模块,其被配置为:对分类后的每一类诊疗数据中的所有敏感属性均进行泛化处理,相同类别的诊疗数据的泛化处理的程度是一样的;将泛化处理后的诊疗数据进行发布。第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。与现有技术相比,本公开的有益效果是:本公开的目标着重点在于找到提高数据的可用性以及保证信息发布时是否足够安全二者的最佳平衡点。本公开是基于l-多样性模型框架下进行的改进,在满足l-多样性模型对敏感属性要求的同时引进了聚类思想以及恰当的敏感度分层合理的信息损失计量公式方法以及合理的泛化方式来实现数据表的信息损失度底数据集可用性大,避免过度泛化导致数据集不可用的现象发生,同时最大程度的保证了用户的隐私安全。附图说明构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。图1为第一个实施例的方法流程图;图2为第一个实施例的以国籍为例的分类型数据的分类树示意图;图3为第一个实施例的改进泛化方法(以年龄为例的数值型数据的集合泛化方法)的图解。具体实施方式应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
技术领域:
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。实施例一,本实施例提供了基于敏感度分层的多敏感属性隐私保护方法;如图1所示,基于敏感度分层的多敏感属性隐私保护方法,包括:s1:获取待发布的若干个患者的诊疗数据,每个患者均对应一条诊疗数据,每一条诊疗数据均包括:一个非敏感属性和若干个敏感属性;s2:按照非敏感属性的分层标准,对诊疗数据进行分成若干层级;s3:根据诊疗数据之间的相似性,对不同层级之间的诊疗数据进行聚类;s4:对分类后的每一类诊疗数据中的所有敏感属性均进行泛化处理,相同类别的诊疗数据的泛化处理的程度是一样的;将泛化处理后的诊疗数据进行发布。作为一个或多个实施例,所述s2,还包括:计算分层后,每一层非敏感属性值的个数;按照非敏感属性值的个数由高到低,对所有层级进行重新排列。作为一个或多个实施例,所述s3中,根据诊疗数据之间的相似性,对不同层级之间的诊疗数据进行聚类;具体步骤包括:计算最高层中每一条诊疗数据,与最低层中每一条诊疗数据的距离,筛选出最小距离对应的诊疗数据a和诊疗数据b;从除了最高层和最低层以外的剩余所有层中,分别筛选出与诊疗数据a的距离最小的诊疗数据ci;ci表示第i层的被筛选出来的诊疗数据,i为正整数,i的取值范围是2到n-1,n表示层的个数;将筛选出的诊疗数据a、诊疗数据b和诊疗数据ci划分为一类;将已筛选出的诊疗数据从原层级中删除;对剩余的诊疗数据,采用同样的方式继续划分下一类;直至划分完毕。进一步地,所述诊疗数据,包括:患者姓名、患者所属国籍、患者身份证号、患者月平均工资以及患者所患疾病名称。应理解的,所述非敏感属性,包括:疾病名称。应理解的,所述敏感属性,包括:患者姓名、患者所属国籍、患者身份证号和患者月平均工资。进一步地,按照非敏感属性的分层标准,对诊疗数据进行分成若干层级;其中分层标准,包括:轻度疾病、中度疾病和重度疾病。轻度疾病,例如:感冒、发烧等;中度疾病,例如:肠炎、胃炎等炎症;重度疾病,例如:肠癌、胃癌等癌症。进一步地,计算分层后,每一层非敏感属性值的个数;例如:重度疾病中患癌症的个数为n个,则该层的非敏感属性值为n;中度疾病中患炎症的个数为m个,则该层的非敏感属性值为m。轻度疾病中患轻度疾病的个数为p个,则该层的非敏感属性值为p。进一步地,按照非敏感属性值的个数由高到低,对所有层级进行重新排列,即根据m、n和p的从大到小,对对应的层级进行重新排列。进一步地,计算最高层中每一条诊疗数据,与最低层中每一条诊疗数据的距离,筛选出最小距离对应的诊疗数据a和诊疗数据b;具体步骤包括:计算最高层中每一条诊疗数据与最低层中每一条诊疗数据的敏感属性值的距离,筛选出最小距离对应的诊疗数据a和诊疗数据b。进一步地,对分类后的每一类诊疗数据中的所有敏感属性均进行泛化处理,是对分类后的每一类诊疗数据中的所有敏感属性均采用l-diversity隐私保护方式进行泛化处理。进一步地,相同类别的诊疗数据的泛化处理的程度是一样的;例如:对相同类别的诊疗数据中的国籍均处理到本国籍和相邻国籍的程度。本文将聚类技术引入隐私保护中,根据敏感度分层的方法,采用贪婪算法通过元组间距离公式求得元组间相似度对原数据集聚类构建符合l多样性的模型,通过等价类元组间的代价距离来使元组中更为相似,保证分层同一等价类中高敏感属性个数出现的次数尽可能小。之后再通过k匿名方法发布,本实验采用聚类和匿名相结合的方法,提升数据的可用性。所述基于敏感度分层的多敏感属性l-diversity隐私保护方法改进了之前的泛化方法,由区间表示泛化数据转变为集合表示,首先将属性值根据敏感度不同划分为不同层次,根据不同层次中属性值的个数总量降序排列,首先从属性值最小数量的层次中随机选取一条记录,再从属性值最多数量层次中随机选取一条记录,接着从属性值次小的数量层次中随机选取一条记录循环执行直到簇的记录数不小于l,将剩余元组根据元组间相似度距离公式加入到不同簇中,将生成的簇集匿名得到处理后的数据集。基于l-多样性原理,包含如下步骤:s1:初始数据集d,指定的多样性l;s2:对数据集中的非敏感属性进行(敏感度)层次划分,划分后的集合s={s1,s2,s3…},每个分组sn中的敏感属性级别相同,根据所含的记录数降序排列,并将所有分组设为可选择集合;s3:如果分组的个数小于l,则返回s1;s4:s5:当非空分组个数大于等于l时,循环执行:s51:从最小记录数非空分组smin中,随机选取一条记录r;s52:将r加入e中,e={r};s53:将r从当前分组中移除,smin=smin-r;s54:当e的记录数小于l时,循环执行:s541:从最大的可选择集合中,选取一条记录r,使得将其插入到e中时增加的信息损失度(loss(公式))最小;s542:e=e∪{r};s543:将r从当前分组移除,smax=smax-{r};s544:将此时的smax设为不可选择集合;s55:c=c∪e;s56:将剩余非空元组全部设为可选择集合;s6:当s中还有非空元组时,循环执行:s61:从非空分组si中任意选取一个记录r;s62:从簇集c中选取一个簇e,使r加入其中增加的信息损失量loss(公式)最小;s63:e=e∪{r};s64:si=si-{r};s7:将簇集c匿名化,返回匿名数据集d*。区分敏感度及控制敏感数据在同一元组中出现的次数十分重要,本公开的目的是建立一个模型来同时满足k-匿名规则、l-多样性、同时将敏感属性根据敏感度分层保证同一等价类中高敏感属性个数出现的次数尽可能小。本公开介绍了一种基于敏感层划分聚类算法来改进l-diversity,首先通过聚类使相似度高的元组合成一个簇,然后再用k匿名算法及合理的泛化方式获得最终发布数据集,降低信息损失。本发明为了控制同一等价类保证含有l个不同层次的敏感值属性以及改进泛化方法进一步减少信息损失同时将聚类技术引入隐私保护中,根据敏感度分层的方法,采用贪婪算法通过元组间距离公式求得元组间相似度对原数据集聚类构建符合l多样性的模型,通过等价类元组间的代价距离来使元组中更为相似,保证分层同一等价类中高敏感属性个数出现的次数尽可能小同时满足同一等价类中存在l-不同敏感层属性值,之后再通过k匿名方法发布,本实验采用聚类和匿名相结合的方法,提升数据的可用性。所述基于敏感度分层的多敏感属性l-diversity隐私保护方法改进了之前的泛化方法,由区间表示泛化数据转变为集合表示所采用以下技术方案:本发明设计了一种基于敏感度分层的多敏感属性l-diversity隐私保护方法。等价类:要求同一组中数据除敏感数据以外,其他准标识符属性值完全相同,侧面反映了隐私保护强度,通过k-匿名处理后发布的数据,攻击者链接到个人的概率小于等于1/k,因此k值越大,等价类中的元组越多,隐私所有者隐私泄露的可能性就越高。k-匿名:samarati和sweeney在2002年提出了一种新模型来防止隐私泄露,该模型被定义为k-匿名,k-匿名通过泛化和隐匿技术,发布精度较低的数据,使得每条记录至少与数据表中k-1条记录具有完全相同的准标识符属性值,攻击者仅通过准标识符链接到个人的概率不超过1/k,从而减少链接攻击所导致的隐私泄露.从表1我们不难看出,此表的第一行第二行和第三行所对应的疾病均为flu,因此容易遭受到同质性攻击,容易造成隐私泄露,针对同质性攻击,l-diversity很好的解决了这一问题。表1匿名表idagezipsexdisease1[20-25]1302*femaleflu2[20-25]1302*femaleflu3[20-25]1302*femaleflu4[45-50]125***cancer5[45-50]125***heartdisease6[45-50]125***tracheitis7[35-40]1256*malehiv8[35-40]1256*maleflu9[35-40]1256*malecancer(α,k)-匿名模型,通过约束敏感值在等价类中出现的个数比例来实现敏感值的多样性,该模型改进了l-diversity的关于敏感值的问题,使得不同敏感值的个数至少有p个,如表2。表23-sensitive匿名表将如表2所示,其中4、5、6条记录虽满足了3-sensitive,但是同一等价类中高敏感度出现次数过多,例如如下情况,一个人如果知道某病人的age为32,zip值为12503,则很容易判断该病人患的是很严重的疾病,这显然是不能容忍的,l-diversity和p-sensitive均依赖于事先定义好的泛化树,采用全值域泛化算法.假如同一簇中age为22、23时会根据泛化树直接泛化到[20-25],这显然是不合理的,会导致过度泛化。针对l-diversity的缺陷,我们做了如下改进,首先根据敏感度高低分为不同层次,例如疾病可根据敏感度高低分为s1={hiv,cancer},s2={parkinson,zona},s3={heartdisease,diabetes},s4={flu,viralinfection},s5={fever,cold,indigestion},泛化方面采用局部泛化当age为22、23时泛化为[22-23]极大地较少了信息损失量。表3满足敏感度层次划分的匿名表idagezipsexdisease1[22-25]1250*malehiv2[22-25]1250*maleheartdisease3[22-25]1250*maleflu4[22-25]1250*malecold5[37-40]156**femalecancer6[37-40]156**femalediabetes7[37-40]156**femaleflu8[37-40]156**femalefever有序属性泛化后的信息损失。假设有序属性o的取值范围为[a.b],则泛化后的取值范围为[a1,b1],泛化后元组r在属性o上的信息损失为:无序属性泛化后的信息损失。假设无序属性c的所有取值的个数为n,泛化后元组r对应的在属性c上对应的集合中值的个数为n,泛化后元组r在属性c上的信息损失为:泛化后元组的信息损失。元组r在有序及无序属性上的信息损失之和:其中,oi为准标识符中有序属性,cj为准标识符中有序属性,r[oi]和r[cj]分别是泛化前r在有序和无序属性上的取值,r*[oi]和r*[cj]分别是泛化后r*在有序和无序属性上的取值。泛化后元组的加权信息损失。当为属性添加不同权值之后产生的信息损失定义为:其中,pi是不同有序属性对应的权值,qj是不同无序属性对应的权值,本实验均设置权值为1。泛化后的总信息损失。本实验以此来衡量泛化后的数据信息损失量,定义为:其中n为数据集元组的总个数。元组的距离。设有元组r1和r2若r*为泛化后所形成等价类的代表元,则r1与r2之间的距离定义:distance(r1,r2)=loss(r1,r*)+loss(r2,r*)元组到类的距离。设有rv为类c的代表元组,r暂时不属于该等价类,则r到元组c的距离定义为:distance(r,c)=distance(r,r*)+|c|×distance(rv,r*)其中,|c|为等价类c中所含元组的数量,r*为将r与rv泛化后所得的代表元。等价类间距离。设rv为等价类c的代表元,rs为等价类g的代表元,则这两个等价类的距离定义为:distance(g,c)=|g|×distance(rs,r*)+|c|×distance(rv,r*)其中,|c|为等价类c中所含元组的数量,|g|为等价类g中所含元组的数量,r*为将rs与rv泛化后所得的代表元。基本思想:首先要保证处理后数据任何簇集无交集,即c1∩c2=φ;所有簇的集合之和是原数据集,d=c1+c2+c3+c4+…cn;每个簇至少包含l个不同敏感层的属性值;用元组间的距离公式插入后的信息损失量,以确保插入数据后的数据簇内间距最小,元组间的相似度最大,进行泛化处理后信息损失更小;对形成的数据集进行泛化处理时一种改进技术方案:将分类型数据用集合表示,例如图2中将乌克兰、马其顿泛化为{乌克兰、马其顿}而不是泛化为东欧国家;将聚类技术引入数据表匿名发布中,根据敏感度分层的方法,采用贪婪算法通过元组间距离公式求得元组间相似度对原数据集聚类构建符合l多样性的模型,通过等价类元组间的代价距离来使元组中更为相似,保证分层同一等价类中高敏感属性个数出现的次数尽可能小同时满足l个处于不同层次的敏感属性值。之后再通过k匿名方法发布,本实验采用聚类和匿名相结合的方法,提升数据的可用性。所述基于敏感度分层的多敏感属性l-diversity隐私保护方法改进了之前的泛化方法,由区间表示泛化数据转变为集合表示,首先将属性值根据敏感度不同划分为不同层次,根据不同层次中属性值的个数总量降序排列,首先从属性值最小数量的层次中随机选取一条记录,再从属性值最多数量层次中随机选取一条记录,接着从属性值次小的数量层次中随机选取一条记录循环执行直到簇的记录数不小于l,将剩余元组根据元组间相似度距离公式加入到不同簇中,将生成的簇集匿名得到处理后的数据集。上面结合附图对本发明的实施方式作了详细说明,同时本发明并不仅限于人种国籍方面的数据表匿名处理,在病人疾病数据表工资发布信息表的匿名处理同样适用,还可以在满足基于l-diversity模型框架内匿名化任何数据集。图3为第一个实施例的改进泛化方法(以年龄为例的数值型数据的集合泛化方法)的图解。实施例二,本实施例还提供了基于敏感度分层的多敏感属性隐私保护系统;基于敏感度分层的多敏感属性隐私保护系统,包括:获取模块,其被配置为:获取待发布的若干个患者的诊疗数据,每个患者均对应一条诊疗数据,每一条诊疗数据均包括:一个非敏感属性和若干个敏感属性;层级划分模块,其被配置为:按照非敏感属性的分层标准,对诊疗数据进行分成若干层级;聚类模块,其被配置为:根据诊疗数据之间的相似性,对不同层级之间的诊疗数据进行聚类;泛化处理模块,其被配置为:对分类后的每一类诊疗数据中的所有敏感属性均进行泛化处理,相同类别的诊疗数据的泛化处理的程度是一样的;将泛化处理后的诊疗数据进行发布。实施例三,本实施例还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一所述的方法。实施例四,本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12