一种基于T-Closeness算法的数据脱敏技术的制作方法

文档序号:14911663发布日期:2018-07-10 23:35阅读:2238来源:国知局

本发明涉及数据处理技术领域,尤其涉及一种基于T-Closeness算法的数据脱敏技术。



背景技术:

对数据隐私保护技术的研究是当前的一个热门话题,到目前为止,关于数据隐私保护的模型,算法已经有很多,例如:K-Anonymity模型,L-Diversity模型,T-closeness模型以及对这几种模型的改进,但是大部分的研究针对的都是敏感属性只有一个的,对多个敏感属性的研究很少。随着信息的大量增加,一个数据表中敏感属性也会增加,所以必须对原始模型进行改进,使之适应多个敏感属性,才能更好地进行数据保护。

将数据开放给数据分析人员,同时就引入了隐私数据泄露的风险。在限制隐私数据泄露风险在一定范围内的同时,最大化数据分析挖掘的潜力,是数据脱敏技术的最终目标。目前在隐私数据脱敏领域,有几个不同的模型可以用来从不同角度衡量数据可能存在的隐私数据泄露风险,例如:K-Anonymity模型,L-Diversity模型,T-closeness模型等。

T-Closeness约束限定了半标识列属性与敏感信息的全局分布之间的联系,减弱了半标识列属性与特定敏感信息的联系,减少攻击者通过敏感信息的分布信息进行属性泄露攻击的可能性。不过同时也肯定导致了一定程度的信息丢失,因此急需提供一种能够在数据表中出现多个敏感属性时保护数据表中的隐私且不会造成信息丢失的技术。

鉴于上述缺陷,本发明创作者经过长时间的研究和实践终于获得了本发明。



技术实现要素:

为解决上述问题,本发明采用的技术方案在于,提供一种基于T-Closeness算法的数据脱敏技术,所述基于T-Closeness算法的数据脱敏技术包括如下步骤:

步骤一:确定给定的数据表中的第一敏感属性和第二敏感属性;

步骤二:划分等价类;

步骤三:对划分好的等价类逐一进行泛化处理。

较佳的,所述步骤一中,设含有多敏感属性的数据表为T,表示为

T={A1,A2,ΛAd,S1,S2,ΛSm}

其中,Ai(1≤i≤d)为准标识符属性;Sj(1≤j≤m)为敏感属性,则数据表中含有d个准标识符和m个敏感属性;|T|表示数据表中记录的条数,ri代表每条记录;数据表中最重要的隐私的敏感属性为第一敏感属性,其它敏感属性为第二敏感属性;分别为所述第一敏感属性和所述第二敏感属性设置各自对应的阈值参数t1和t2,同时规定t2<t1,并使得数据表中划分好的每一个等价类满足以下条件:所述第一敏感属性满足t1-closeness模型;所述第二敏感属性满足t2-closeness模型。

较佳的,所述步骤二中,一个等价类是数据表T中的一个子集,数据表T 中每条记录仅属于一个等价类且各个等价类之间没有交集,各个等价类表示为D1,D2,ΛDq;

设第一个等价类为D1并设置为空,依次把数据表中的前k条记录不分顺序地加入到第一个等价类中,然后先计算该记录中每一条记录的第一敏感属性是否满足t1-closeness,然后计算该记录的第二敏感属性是否也满足t2-closeness的记录,如果有不满足条件的,则删除这些记录,再把剩余记录中的记录依次加入到第一个等价类中,使等价类中满足有k条记录,重新计算新加入的记录,如果等一个等价类满足条件,则继续建立第二个等价类,直到剩余的记录无法进行划分,最后可以把这些剩下的记录随机分配到已有的等价类中。

较佳的,所述步骤三中,将数据的泛化分为两种,分别为数值型数据和分类型数据的泛化。所述数值型数据泛化成一个数值区间,所述分类型数据泛化成一个集合。

较佳的,所述的基于T-Closeness算法的数据脱敏技术采用等价类划分算法,首先进行数据输入,多敏感属性数据表T{A1,A2,ΛAd,S1,S2,ΛSm},数据表中的第一敏感属性FS,第二敏感属性SS,对应的阈值参数t1和t2,数据表中的记录ri,等价类Di,标志g,每个等价类中所包含的最小记录条数k;最终得到输出结果满足t-closeness模型的数据表T'。

较佳的,所述等价类划分算法具体步骤如下:

S1:设T上的第一个等价类为D1,令D1=φ;

S2:若|T|<k则中断,否则进入步骤S3;

S3:当|D1|<k则进入步骤S4;

S4:把数据表中的第一条记录r1添加到D1中;

S5:依次抽取剩下的记录r;

S6:添加r到等价类D1中;

S7:直到D1中记录的条数为k;

S8:对D1中的记录执行t-closeness模型检验;

S9:如果被检验的这条记录满足t-closeness模型要求就为这条记录加一个标志g,继续检验下一条记录;如果这条记录不满足要求,则把其从它所在的等价类中删除,继续检验下一条记录;

S10:重复执行步骤S2-S9,直到无法再对剩下的记录划分等价类;

S11:处理剩余无法划分的记录rw,if(rw∩Di)&&|Di|<k,则把rw随机添加到Di中;

S12:对等价类中的每一条记录里的数据进行泛化处理;

S13:输出满足t-closeness模型的数据表T'。

与现有技术比较本发明的有益效果在于:1、本发明提供的所述基于T-Closeness算法的数据脱敏技术能够对多个敏感属性进行分类,能够满足信息量大,敏感属性多的数据脱敏处理需求;2、本发明提供的所述基于T-Closeness算法的数据脱敏技术能够较小的造成信息损失,提高信息的完整性,有利于对有效信息的识别。

具体实施方式

以下,对本发明上述的和另外的技术特征和优点作更详细的说明。

本发明提供一种基于T-Closeness算法的数据脱敏技术,在T-closeness算法中,运用公式分别计算敏感属性在等价类中的分布和敏感属性在整个数据表中的分布,然后计算这两个分布之间的差异,使之小于给定的阈值t,这样,形成的在进行泛化处理之后,信息损失就会变小。针对多敏感属性,根据敏感属性的重要性分别给这些敏感属性设置不同的阈值t,使之分别满足各自的T-closeness模型。

实施例一

如上述所述的基于T-Closeness算法的数据脱敏技术,本实施例与其不同之处在于,所述基于T-Closeness算法的数据脱敏技术包括如下步骤:

步骤一:确定给定的数据表中的第一敏感属性和第二敏感属性;

设含有多敏感属性的数据表为T,表示为

T={A1,A2,ΛAd,S1,S2,ΛSm}

其中,Ai(1≤i≤d)为准标识符属性;Sj(1≤j≤m)为敏感属性,则数据表中含有d个准标识符和m个敏感属性。|T|表示数据表中记录的条数,ri代表每条记录。

将数据表中最重要的隐私的敏感属性叫做第一敏感属性,将其它的敏感属性叫做第二敏感属性;所述第一敏感属性和所述第二敏感属性可以根据其所包含的隐私重要性进行人为确定。

如果数据表中的每一个等价类中的每一种敏感属性都满足各自的T-closeness模型,则该多敏感属性的数据表T就满足多敏感属性T-closeness模型。

分别为所述第一敏感属性和所述第二敏感属性设置各自对应的阈值参数t1和t2,同时规定t2<t1,并使得数据表中划分好的每一个等价类满足以下两个条件:(1)所述第一敏感属性满足t1-closeness模型;(2)所述第二敏感属性满足t2-closeness模型。

在对原始数据表进行等价类划分的同时,要满足等价类中所述第一敏感属性的分布与整个数据表中第一敏感属性的分布之间的差异不能超过阈值t1,同时满足该等价类中第二敏感属性的分布与整个数据表中第二敏感属性的分布之间的差异不超过阈值t2。并且划分之后使得等价类中的记录不少于k条。

步骤二:划分等价类;

一个等价类是数据表T中的一个子集,数据表T中每条记录仅属于一个等价类且各个等价类之间没有交集,各个等价类表示为D1,D2,ΛDq。

设第一个等价类为D1并设置为空,依次把数据表中的前k条记录不分顺序地加入到第一个等价类中,然后先计算该记录中每一条记录的第一敏感属性是否满足t1-closeness,然后计算该记录的第二敏感属性是否也满足t2-closeness的记录,如果有不满足条件的,则删除这些记录,再把剩余记录中的记录依次加入到第一个等价类中,使等价类中满足有k条记录,重新计算新加入的记录,如果等一个等价类满足条件,则继续建立第二个等价类,直到剩余的记录无法进行划分,最后可以把这些剩下的记录随机分配到已有的等价类中。

t-closeness模型检验算法是判断一个等价类中的每一条记录是否满足第一敏感属性的t1-closeness同时也满足第二敏感属性的t2-closeness,判断这条记录是不是属于这个等价类。不属于的就删除掉,再加入到下一个等价类中,继续计算判断。

先计算每个等价类中的每一条记录的第一敏感属性在该等价类中的分布与第一敏感属性在整个数据表中的分布之间的差异,如果差异值不大于t1值,则继续计算该条记录中第二敏感属性在该等价类中的分布与第二敏感属性在整个数据表中的分布之间的差异,如果差异值不大于t2值,则该条记录满足t-closeness模型。如果这条元组不满足t-closeness模型则把其从该等价类中删除掉,再继续加入一条元组。以此类推,计算该等价类中的其他元组,如果该等价类中的每一条元组都满足t-closeness模型,则这个等价类满足t-closeness模型,算法结束。如果有的等价类不满足t-closeness模型,则按照上述方法继续调整等价类中的元组直到所有等价类都满足条件。

步骤三:对划分好的等价类逐一进行泛化处理。

对数据的泛化分为两种,数值型数据和分类型数据的泛化。数值型数据泛化成一个数值区间,分类型数据泛化成一个集合。通过数据泛化的方式实现数据的匿名保护。

实施例二

如上述所述的基于T-Closeness算法的数据脱敏技术,本实施例与其不同之处在于,所述的基于T-Closeness算法的数据脱敏技术采用等价类划分算法,首先进行数据输入,多敏感属性数据表T{A1,A2,ΛAd,S1,S2,ΛSm},数据表中的第一敏感属性FS,第二敏感属性SS,对应的阈值参数t1和t2,数据表中的记录ri,等价类Di,标志g,每个等价类中所包含的最小记录条数k;最终得到输出结果满足t-closeness模型的数据表T'。

具体步骤如下:

S1:设T上的第一个等价类为D1,令D1=φ;

S2:若|T|<k则中断,否则进入步骤S3;

S3:当|D1|<k则进入步骤S4;

S4:把数据表中的第一条记录r1添加到D1中;

S5:依次抽取剩下的记录r;

S6:添加r到等价类D1中;

S7:直到D1中记录的条数为k;

S8:对D1中的记录执行t-closeness模型检验;

S9:如果被检验的这条记录满足t-closeness模型要求就为这条记录加一个标志g,继续检验下一条记录;如果这条记录不满足要求,则把其从它所在的等价类中删除,继续检验下一条记录;

S10:重复执行步骤S2-S9,直到无法再对剩下的记录划分等价类;

S11:处理剩余无法划分的记录rw,if(rw∩Di)&&|Di|<k,则把rw随机添加到Di中;

S12:对等价类中的每一条记录里的数据进行泛化处理;

S13:输出满足t-closeness模型的数据表T'

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明方法的前提下,还可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1