事务型数据流发布的隐私保护方法技术领域
本发明涉及数据安全技术领域,具体涉及一种事务型数据流发布的隐私保护方
法。
背景技术
随着网络信息技术的高速发展,为满足商业决策、科学研究等需求,大量含有个人
隐私信息的数据被政府部门、商业机构等存储发布。数据发布作为信息共享的一种手段,在
为数据交换和数据共享提供便利的同时,也对数据的隐私带来严重的威胁。如果数据发布
者不采取适当的保护措施,将会造成敏感数据的泄露,从而给数据所有者或企业带来危害。
数据发布中的隐私保护问题主要考虑以下两个方面:①保证发布的匿名数据不泄露个体的
隐私信息;②保证发布的匿名数据具有较高的可用性。其研究工作主要集中于如何设计隐
私保护模型和数据处理方法更好地平衡隐私保护和数据可用性之间的矛盾。
事务型数据是一种常见的数据形式,它的每条记录是一个项目集合,如用户的购
物数据等。对于事务型数据,如果只做简单的匿名处理就进行发布,并不能保证用户的隐私
不被泄露。假设攻击者知道某个人的部分项目,如果只有少数几条事务记录包含这些项目,
那么攻击者就可能将个人与某条记录对应起来,从而获得记录中个人的隐私信息,如购买
的敏感商品。事务型数据是高维稀疏的,相对于关系型数据而言,对其发布的隐私保护技术
提出了更大的挑战。由于数据挖掘的广泛应用,事务型数据发布的隐私保护问题引起了研
究者的广泛关注。
根据是否区分敏感项目和非敏感项目,事务型数据发布的隐私保护方法分为两
类:
一类是沿用了传统关系型数据隐私保护的思维,将所有项目分为敏感和非敏感项
目,并假定攻击者的背景知识局限于非敏感项目。该类方法有:(h,k,p)-coherence隐私规
则,该规则确保对于任意小于p个非隐私项目的组合,在处理后的数据中至少有k条记录包
含这个组合,而且含有隐私项目的记录所占到的比例至多h;ρ-uncertainty隐私规则,假定
攻击者的背景知识不仅包含非敏感项目,同时可以包含敏感项目,限制隐私关联规则置信
度不超过ρ。
另一类没有区分敏感项目和非敏感项目,一个项目同时是敏感的也是非敏感的。
该类方法有:km-匿名模型,保证匿名后的数据集中,任何大小不超过m的项集的事务数至少
为k,限制了攻击者的背景知识不超过m,实际应用中攻击者的背景知识很难确定;k-匿名模
型,不限定攻击者的背景知识,保证任意记录在数据集中有k-1条记录与其相同。
然而,上述隐私模型及其相应的匿名方法都是针对静态事务型数据的。随着物联
网的推广以及大数据时代的到来,网络点击数据、电话呼叫记录、网络交易数据、大型超市
的购物数据等通常表现为动态变化的数据流。为了实时分析用户的行为,需要在数据流上
连续地执行挖掘算法,如果不经过处理,用户的隐私信息将被泄露。数据流具有海量性、实
时性和动态变化性,传统的隐私保护技术不能直接应用于数据流环境中。这就需要针对事
务型数据流设计新的隐私保护技术。
发明内容
本发明针对事务型数据流发布的隐私保护问题,提供一种事务型数据流发布的隐
私保护方法。
为解决上述问题,本发明是通过以下技术方案实现的:
事务型数据流发布的隐私保护方法,具体包括如下步骤:
步骤1、将初始滑动窗口的数据转换成覆盖集,并用静态匿名方法对其进行匿名使
其满足ρ-uncertainty(ρ-不确定性)并发布;
步骤2、对滑动窗口进行动态匿名,根据删除和增加的事务建立受影响的敏感关联
规则树ASRT,并用payoff树对项目进行抑制;
步骤2.1、对敏感关联规则树ASRT进行初始化,建立根结点和第一层结点,所有敏
感项目作为第一层结点;同时,初始化前缀长度标识m,令m=1;
步骤2.2、对删除和增加的事务进行分析,更新覆盖集,将受影响的前缀长度为m的
敏感关联规则的前缀加入敏感关联规则树ASRT,根据覆盖集和敏感关联规则树ASRT找到前
缀长度为m且不满足ρ-uncertainty的敏感关联规则;
步骤2.3、根据payoff树计算信息损失,删除步骤2.2找出的敏感关联规则中包含
的项目,直到敏感关联规则集为空,并利用删除的项目更新覆盖集、ASRT和滑动窗口;
步骤2.4、令m+1,重复步骤2.2和2.3,直到不存在受影响的前缀长度为m的敏感关
联规则;
步骤2.5:当前滑动窗口满足ρ-uncertainty并发布。
与现有技术相比,本发明针对的是具有海量性、实时性和动态变化性事务型数据
流,特点如下:
1.为了适应数据流的特点,本发明采用滑动窗口技术,决策者通常最关注近期数
据情况,而滑动窗口能够很好地处理最近数据信息。为了保护隐私,要求滑动窗口中的数据
满足ρ-uncertainty规则。
2.对于任何滑动窗口,为了满足数据流实时性要求,需要快速匿名并进行发布。本
发明不用扫描整个窗口的数据,只需要根据删除和增加的事务作处理,就可以达到隐私要
求。
3.对删除和增加的事务进行分析,就对敏感关联规则的影响情况,根据ρ-
uncertainty规则分四种进行考虑,并据此建立受影响的关联规则树ASRT,从而找到违反ρ-
uncertainty的敏感关联规则并进行抑制。
附图说明
图1是在一个滑动窗口挖掘事务型数据流示意图。
图2是事务型数据流实例示意图。
图3是初始ASRT示意图。
图4是对删除事务ti+1处理后的ASRT示意图。
图5是对删除事务ti+2处理后的ASRT示意图。
图6是对增加事务ti+8处理后的ASRT示意图。
图7是处理完敏感关联规则前缀长度为1的ASRT示意图。
图8是前缀长度为2的ASRT示意图。
图9是当前滑动窗口发布的数据示意图。
具体实施方式
事务型数据流发布的隐私保护方法,其所在的应用环境如图1所示,将滑动窗口的
数据进行匿名使其满足ρ-uncertainty并进行发布,供数据挖掘者使用。
一种事务型数据流发布的隐私保护方法的过程具体如下:
步骤1:为了便于计算支持度和置信度,将初始滑动窗口的数据转换成覆盖集,即
对于cover(item)为包含项目item的事务集合,并用Jianneng Cao等提出的静态
匿名方法对其进行匿名使其满足ρ-uncertainty并发布。
步骤2:对滑动窗口进行动态匿名,根据删除和增加的事务建立受影响的敏感关联
规则树ASRT(Affected Sensitive Rules Trie),并用payoff树对项目进行抑制,在此过程
中:
首先,初始化ASRT,建立根结点root和第一层结点,包含所有敏感项目;
然后,在原匿名窗口的基础上,逐步考虑删除和增加的事务,不断更新覆盖集并将
受影响的前缀长度m=1的敏感关联规则的前缀加入ASRT,其过程如下:
根据删除和增加事务对敏感关联规则的影响,对于任何一条删除事务tdel,首先更
新覆盖集,即将tdel从中删除。令该事务包含的项目集为Idel,其中敏感项目集为Sdel,若Sdel不
为空则对其子节点的值进行更新,如值为空则删除该子结点;对于
如果在ASRT中,idel不是is的子节点,且cover(is)∩cover(idel)≠φ,则将idel作为is的子节
点;
对于任何一条增加的事务tadd,更新覆盖集。令事务的项目集为Iadd,敏感项目集为
Sadd,如果Sadd不为空,对于如果is不在ASRT树中则将is作为根结
点的子结点加到ASRT树,如果在ASRT树中iadd是is的子结点,则更新其值;否则将iadd作为is
的子结点加入到ASRT树;
接着,利用覆盖集和ASRT树找到所有m=1且违反隐私规则的敏感关联规则放入
VSR1,利用payoff树删除项目,直到VSR1为空,根据删除的项目更新覆盖集、ASRT树和滑动窗
口。
之后,m=m+1,循环执行以下过程,直到ASRT树中新加层的结点数为空:
对于其直接子结点放入isd[dchild],dchild为is直接子结点的个数,按照
字典排序,对于is到其任意叶结点isl一条路径,所经过的结点记为path(不包含is),如果isl
≠isd[dchild-1]且isl=isd[q],对于任意q<k<dchild,下面判定能否将isd[k]作为isl的子
节点。如果value(isl)∩cover(isd[k])≠φ(关联规则存在),同时coverdel(path)∩
coverdel(isd[k])≠φ且coverdel(path)∩coverdel(isd[k])≠coverdel(path)∩coverdel(isd
[k])∩coverdel(is)或coveradd(path)∩coveradd(isd[k])∩coveradd(is)≠φ,将isd[k]作为
isl的子节点;如果|cover(path∪isd[k]∪is)|/|cover(path∪isd[k])|>ρ,将敏感关联规
则path&isd[k]->is加入到VSRm中。利用payoff树删除项目,直到VSRm为空,根据删除的项目
更新覆盖集、ASRT树和滑动窗口。
最后,滑动窗口满足ρ-uncertainty并发布。
删除和增加的事务对敏感关联规则的影响,分四种情况:
(1)删除一条不带敏感项目的事务,以该事务中的项目为前缀的敏感关联规则,是
可能违反ρ-uncertainty的。
(2)删除一条带敏感项目的事务,以其中敏感项目作为后缀的敏感关联规则,是不
违反ρ-uncertainty的,但是以其中项目作为前缀的敏感关联规则,是可能违反ρ-
uncertainty的。
(3)增加一条不带敏感项目的事务,对于以其中项目作为前缀的敏感关联规则,是
不违反ρ-uncertainty的。
(4)增加一条带敏感项目的事务,以其中敏感项目为后缀,其中项目为前缀的敏感
关联规则,是可能违反ρ-uncertainty的。但是以其中项目作为前缀的敏感关联规则,是不
违反ρ-uncertainty的。
对删除和增加的事务进行分析,更新覆盖集,根据上述四种情况建立受影响的关
联规则树ASRT,从而找到违反ρ-uncertainty的敏感关联规则并进行抑制。
下面用具体实例对本发明进行进一步详细说明。假定ρ=0.7,滑动窗口的大小为
6,步长为2,当前滑动窗口如图2实线框所示,包含的事务为ti+3~ti+8,其中α和γ为敏感项
目,虚线框为前一个滑动窗口,包含的事务为ti+1~ti+6,满足隐私要求。前一个滑动窗口对
应的覆盖集如表1所示。
表1前一个滑动窗口的覆盖集
窗口向前滑动,删除了事务ti+1和ti+2,增加了事务ti+7和ti+8,这使得当前窗口的一
些敏感关联规则的置信度变大,从而可能违反隐私。初始ASRT如图3所示。
对删除事务ti+1的处理:更新覆盖集,将ti+1从表1中删除,更新后的覆盖集如表2所
示。该事务包含敏感项目α,对以α为后缀的敏感关联规则是不违反ρ-uncertainty的,如果
有子节点的,则需要更新其值,目前没有。对于敏感项目γ,cover(γ)∩cover(a2)={ti+3,
ti+4}≠φ,将a2作为γ的子节点;cover(γ)∩cover(b1)={ti+3,ti+6}≠φ,将b1作为γ的子
节点。更新后的ASRT如图4所示。
表2表1删除ti+1的覆盖集
item
cover
a1
ti+2,ti+5
a2
ti+2,ti+3,ti+4
b1
ti+2,ti+3,ti+5,ti+6
α
ti+5
γ
ti+3,ti+4,ti+6
对删除事务ti+2的处理:更新覆盖集,将ti+2从表2中删除,更新后的覆盖集如表3所
示。该事务不包含敏感项目。对于敏感项目α,cover(α)∩cover(a1)={ti+5}≠φ,将a1作为α
的子节点;cover(α)∩cover(b1)={ti+5}≠φ,将b1作为α的子节点。对于敏感项目γ,a2是
γ的子节点,b1是γ的子节点,γ的子节点没有变化。更新后的ASRT如图5所示。
表3表2删除ti+2的覆盖集
item
cover
a1
ti+5
a2
ti+3,ti+4
b1
ti+3,ti+5,ti+6
α
ti+5
γ
ti+3,ti+4,ti+6
对增加事务ti+7的处理:更新覆盖集,将ti+7添加到表3中,更新后的覆盖集如表4所
示。该事务不包含敏感项目,则不用更新ASRT树。
表4增加ti+7的覆盖集
对增加事务ti+8的处理:更新覆盖集,将ti+8添加到表4中,更新后的覆盖集如表5所
示。该事务包含敏感项目α,在ASRT树中,b2不是α的子节点,则将b2作为α的子节点加入。更新
后的ASRT如图6所示。
表5增加ti+8的覆盖集
item
cover
a1
ti+5,ti+7
a2
ti+3,ti+4
b1
ti+3,ti+5,ti+6,ti+7
b2
ti+7,ti+8
α
ti+5,ti+8
γ
ti+3,ti+4,ti+6
找出前缀长度为1且不满足ρ-uncertainty的敏感关联规则。Conf(a2→γ)=1>
0.7。根据payoff树删除a2,并更新ASRT树和覆盖集,得到的ASRT树和覆盖集分别如图7和表
6所示。
表6删除a2的覆盖集
item
cover
a1
ti+5,ti+7
b1
ti+3,ti+5,ti+6,ti+7
b2
ti+7,ti+8
α
ti+5,ti+8
γ
ti+3,ti+4,ti+6
删除和增加事务的覆盖集分别如表7和表8所示。在图7的基础上,建立前缀长度为
2的ASRT树。对于敏感项目α,其直接结点集合为{a1,b1,b2},对于路径αa1,看b1和b2能否作为
a1的子节点加入ASRT。value(a1)∩cover(b1)=ti+5≠φ,说明敏感关联规则a1b1→α存在,下
面看删除和增加的事务是否对其置信度产生影响。在删除事务集中,coverdel(a1)∩
coverdel(b1)=ti+2≠φ,并且coverdel(a1)∩coverdel(b1)=ti+2≠coverdel(a1)∩coverdel
(b1)∩coverdel(α)=φ,将b1作为a1的子节点加入ASRT。value(a1)∩cover(b2)=ti+7≠φ,
说明敏感关联规则a1b2→α存在,下面看删除和增加的事务是否对其置信度产生影响。在删
除事务集中,coverdel(a1)∩coverdel(b2)=φ;在增加事务集中,coveradd(a1)∩coveradd
(b2)∩coveradd(α)=φ;删除和增加的事务不对a1b2→α的置信度产生影响,不用将b2作为a1
的子节点加入ASRT。
对于路径αb1,看b2能否作为b1的子节点加入ASRT。value(b1)∩cover(b2)==φ,
说明敏感关联规则a1b1→α不存在,不用考虑。得到的ASRT树如图8所示。
表7删除事务的覆盖集
item
cover
a1
ti+2
a2
ti+1,ti+2
b1
ti+1,ti+2
α
ti+1
表8增加事务的覆盖集
item
cover
a1
ti+7
b1
ti+7
b2
ti+7,ti+8
α
ti+8
找出前缀长度为2且不满足ρ-uncertainty的敏感关联规则。Conf(a1b1→α)=1/2<
0.7。因此不存在不满足ρ-uncertainty的敏感关联规则。
最后当前滑动窗口发布的数据如图9所示。
本发明提出一种基于滑动窗口的快速匿名的隐私保护方法。其保证任何滑动窗口
都满足隐私要求并尽可能大地保持数据的有效性,以便数据挖掘者进行分析。