优秀硕士论文基于匿名机制的数据发布中隐私泄露控制技术讲解.docx
- 文档编号:4954877
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:33
- 大小:143.21KB
优秀硕士论文基于匿名机制的数据发布中隐私泄露控制技术讲解.docx
《优秀硕士论文基于匿名机制的数据发布中隐私泄露控制技术讲解.docx》由会员分享,可在线阅读,更多相关《优秀硕士论文基于匿名机制的数据发布中隐私泄露控制技术讲解.docx(33页珍藏版)》请在冰豆网上搜索。
优秀硕士论文基于匿名机制的数据发布中隐私泄露控制技术讲解
第一章引言
1.1研究背景
数据发布环境中存在的隐私泄露问题使得数据发布隐私泄露控制技术的研究成为学术界和工业界关注的一个焦点。
数据发布中的原始数据由记录构成,每个记录均与一个个体相对应,数据的属性分为标识符、准标识符、敏感属性三类。
数据发布时直接删除标识符以保护个体隐私。
但是可能存在攻击者通过准标识符与外部公开的数据源进行链接攻击(LinkingAttack)[1],导致个体隐私的泄露。
研究表明,这种链接攻击可以识别大量美国公民的身份[1]。
例如,假设一个网站上发布了一个医疗信息表,为保护个体隐私,将原始数据中能识别个体身份的标识符(姓名)删除之后得到数据发布表,如表1-1所示。
表1-1属性组(年龄,性别,邮编)为准标识符,敏感属性为疾病。
若攻击者可以从另一个网站上浏览如表1-2选民登记表的信息,获知表中法兰克的年龄属性值为45,性别属性值为男,邮编属性值为734532。
攻击者很容易从表1-1推出法兰克患有心脏病,造成了法兰克的隐私泄露。
为了阻止数据发布中的链接攻击,一个有效的手段是对原始数据进行匿名化处理,从而控制个体隐私信息的泄露。
表1-1医疗信息表
年龄
性别
邮编
疾病
t1
41
女
734562
失眠
t2
40
女
734552
心脏病
t3
41
男
734532
失眠
t4
44
男
734555
心脏病
t5
44
男
734555
失眠
t6
45
男
734532
心脏病
t7
41
男
734561
禽流感
t8
42
男
734533
禽流感
t9
43
女
734553
禽流感
表1-2选民登记表
姓名
年龄
性别
邮编
爱丽丝
41
女
734562
贝蒂
40
女
734552
约翰
41
男
734532
比尔
44
男
734555
艾迪
44
男
734555
法兰克
45
男
734532
凯恩
41
男
734561
杰克
42
男
734533
珍妮
43
女
734553
1.2国内外研究进展分析
数据发布要求匿名数据既具有安全性又具有可用性,然而两者是相互矛盾的。
因此,数据匿名化研究的重点是设计高效的匿名保护模型和匿名算法,以使得匿名数据在保证安全性的同时,最大限度地提供可用性。
目前,国内外匿名化技术的研究已经取得了许多的成果。
1.2.1匿名保护模型
1.2.1.1k-匿名模型(k-anonymity)
定义1.1[1]k-匿名假设T{A1,A2,…,An}为一个数据集,QIT为与之相关的准标识符。
当且仅当数据集T中每个记录的准标识符属性值在数据集中至少出现k次,则该数据集满足k-匿名。
定义1.2[1]等价类一个等价类即数据集T{A1,A2,…,An}中一组具有相同准标识符属性值的记录。
针对数据发布中的链接攻击,文献[1,2]提出了k-匿名技术。
文献[3]提出实现k-匿名的泛化和隐匿方法,泛化是指在数据集中用抽象的属性值来代替原来具体的属性值,隐匿是指隐匿是指直接删除数据集中某些属性值或记录。
k-匿名通过泛化和隐匿使得等价类中每个记录具有相同的准标识符属性值,攻击者无法将个体与某个记录对应起来,从而保护个体身份的泄露。
例如,表1-3是表1-1的一个满足3-匿名模型的匿名化表,其中,匿名参数K=3,准标识符为属性组(年龄,性别,邮编),敏感属性为疾病。
表1-3中生成了3个等价类{t1,t2,t7},{t4,t5,t6},{t3,t8,t9}。
若在网站上用表1-3代替表1.1的医疗信息表,那么攻击者即使知道表1-2选民登记表中某个记录的信息,也无法推断出该记录与表1-3中某一特定记录相关联。
例如假设攻击者从1-2选民登记表中获知法兰克的信息,与表1-3链接时,虽然知道法兰克在{t4,t5,t6}等价类中,却无法将法兰克与其中的某个记录相对应起来,从而避免法兰克隐私的泄露。
表1-33-匿名化表1
年龄
性别
邮编
疾病
t1
[40-41]
*
7345**
失眠
t2
[40-41]
*
7345**
心脏病
t7
[40-41]
*
7345**
禽流感
t4
[44-45]
男
7345**
心脏病
t5
[44-45]
男
7345**
失眠
t6
[44-45]
男
7345**
心脏病
t3
[41-43]
*
7345**
失眠
t8
[41-43]
*
7345**
禽流感
t9
[41-43]
*
7345**
禽流感
但是,k-匿名模型存在同质性攻击和背景知识攻击的问题[4]。
k-匿名模型由于忽略了敏感属性值的多样性,可能造成个体敏感属性的隐私泄露,即同质性攻击。
例如,假设表1-4是表1-1的另一个满足3-匿名模型的匿名化表,表1-4中生成了3个等价类{t1,t2,t3},{t4,t5,t6},{t7,t8,t9}。
如果攻击者从1-2选民登记表中获知杰克的信息,与表1-4链接起来时,虽然无法确定杰克与表1-4中具体的某个记录相对应,但通过准标识符属性值可以知道杰克在表1-4的{t7,t8,t9}等价类中,由于该等价类的敏感属性值均为禽流感,攻击者容易知道杰克患有禽流感,杰克的隐私被泄露。
同时,k-匿名还可能遭遇攻击者利用预先知道的背景知识来进行攻击。
此外,k-匿名模型由于通过泛化准标识符属性达到匿名的目的也导致大量原始信息的损失,降低了匿名数据的可用性。
表1-43-匿名化表2
年龄
性别
邮编
疾病
t1
[40-41]
*
7345**
失眠
t2
[40-41]
*
7345**
心脏病
t3
[40-41]
*
7345**
失眠
t4
[44-45]
男
7345**
心脏病
t5
[44-45]
男
7345**
失眠
t6
[44-45]
男
7345**
心脏病
t7
[41-43]
*
7345**
禽流感
t8
[41-43]
*
7345**
禽流感
t9
[41-43]
*
7345**
禽流感
1.2.1.2l-多样性模型(l-diversity)
文献[4]提出了l-多样性模型(l-diversity)以弥补k-匿名模型的不足。
定义1.3[4]l-多样性原则 一个等价类如果对于敏感属性S至少包含l个不同的敏感属性值,那么该等价类是l-多样性的。
如果数据集T中的每个等价类是l-多样性的,则称该数据集满足l-多样性。
该模型除了要求满足k-匿名之外,还要求每个等价类的敏感属性值具有多样性以防止敏感属性的隐私泄露。
例如,表1-5是表1-1的一个满足3-多样性模型的匿名化表,其中,l=3,QI=(年龄,性别,邮编)。
表1-5中生成了3个等价类{t1,t2,t7},{t4,t5,t9},{t3,t6,t8}。
每个等价类中的记录在(年龄,性别,邮编)上具有相同的属性值,并且在敏感属性疾病上具有3个不同值。
因而,表1-5中的数据能够防止链接攻击所导致的敏感属性隐私泄露。
虽然l-多样性模型可以提供比k-匿名模型更强的隐私保护,但是,l-多样性模型依然存在不足之处,l-多样性模型同样采用泛化和隐匿技术对原始数据进行匿名处理,因而也存在信息损失的情况。
表1-53-多样性表
年龄
性别
邮编
疾病
t1
[40-41]
*
7345**
失眠
t2
[40-41]
*
7345**
心脏病
t7
[40-41]
*
7345*
禽流感
t4
[43-44]
*
73455*
心脏病
t5
[43-44]
*
73455*
失眠
t9
[43-44]
*
73455*
禽流感
t3
[41-45]
男
73453*
失眠
t6
[41-45]
男
73453*
心脏病
t8
[41-45]
男
73453*
禽流感
1.2.1.3Anatomy匿名模型
文献[5]提出了独特的匿名方法Anatomy,该方法首先将数据集按l-多样性匿名模型划分,将划分结果分成准标识符属性表和敏感属性表发布,两张数据表之间通过Group-ID关联。
Anatomy匿名模型对等价类的准标识符属性不作泛化和隐匿处理,直接将准标识符属性数据发布,因而保留了大量原始数据的信息,大大提高了匿名数据的可用性。
同时,Anatomy将数据分成两张表发布,使得攻击者无法将个体的准标识符属性和敏感属性一一对应起来,提高了数据的安全性。
由于Anatomy匿名模型是在l-多样性模型的基础上提出的,l-多样性模型上存在的一些不足,在Anatomy匿名模型中也依然存在。
例如,表1-6是表1-1的一个满足Anatomy模型的匿名化结果,假设攻击者知道某个个体在Group-ID为1的等价类中。
虽然攻击者可以从准标识符属性表获知该个体的年龄,性别,邮编具体值,但他无法从敏感属性表中准确获得敏感属性疾病的值,由于Group-ID为1的疾病值的个数为3,因此攻击者只能以1/3的几率进行猜测。
数据发布中,研究出提供更强保护能力的匿名模型依然是匿名保护中的主要工作,因此,研究者们在k-匿名模型和l-多样性模型的基础上,又提出了一些新的匿名模型[6-8]。
表1-6Anatomy表
(a)准标识符属性表
Group-ID
年龄
性别
邮编
1
41
女
734562
1
40
女
734552
1
42
男
734561
2
44
男
734555
2
44
男
734555
2
43
女
734553
3
41
男
734532
3
45
男
734532
3
42
男
734533
(b)敏感属性表
Group-ID
疾病
统计
1
失眠
1
1
心脏病
1
1
禽流感
1
2
心脏病
1
2
失眠
1
2
禽流感
1
3
失眠
1
3
心脏病
1
3
禽流感
1
1.2.2匿名算法
采用匿名技术由原始数据生成最优匿名数据是一个NP难问题[9,10],因此,设计出高效的近似最优算法是匿名保护中的重要工作。
目前数据发布中采用的匿名技术主要有:
泛化和隐匿、聚类以及交换等技术。
采用泛化和隐匿技术的匿名算法主要有:
Datafly算法[11]、MinGen最小泛化算法[3]、Incognito算法[12]、GA(GeneticAlgorithm)算法[13]、自底向上的泛化方法[14]、自顶向下的泛化方法[15]、基于多维空间划分的k-匿名方法[16]。
国内研究者也在文献[17-20]中对泛化和隐匿技术进行了研究。
泛化和隐匿技术将等价类中不同的准标识符属性值泛化为相同值以达到隐私保护的目的,造成了原始数据大量信息的损失。
同时,基于泛化和隐匿技术的匿名算法采用基于泛化层次结构的策略会引起不必要的信息损失。
为了解决泛化和隐匿技术存在的不足,在数据的匿名化中引入聚类技术。
基于聚类的匿名化方法的主要思想是:
首先将数据划分为多个聚类,然后分别泛化每个聚类的准标识符属性以达到匿名化。
文献[21]提出模糊c-均值算法。
文献[22]提出基于k-modes的算法。
文献[23,24]提出了基于k-means聚类算法的k-匿名方法。
文献[25]提出MDAVk-匿名算法。
在MDAV算法的基础上,文献[26]提出了V-MDAV(Variable-MDAV)算法。
文献[27,28]提出了带权重的聚类方法。
文献[29-32]提出了基于聚类的k-匿名算法。
基于聚类的匿名算法不依赖于泛化层次结构,因此生成的匿名数据集具有更高可用性。
数据交换是将数据集中某些属性的值进行互换以防止隐私泄露[33-35]。
文献[5]提出了一种不基于泛化和隐匿技术的交换方法Anatomy。
文献[36-38]也提出了基于交换的隐私数据发布算法。
采用交换技术的匿名化算法通过交换增加了隐私数据的不确定性,从而保护隐私数据的安全。
并且交换技术直接发布准标识符属性,保留了原始数据的大量信息,极大地提高了匿名数据聚集查询的准确性。
1.2.3匿名质量评估
匿名化原始数据必然会引起信息损失,需要找到适合的评估机制来计算匿名后的信息损失以衡量匿名算法和匿名数据集的优劣。
以下是匿名质量评估中常用的信息损失评估机制:
定义1.1[31,32]等价类信息损失IL(e)。
假设等价类e{r1,…,rk}由准标识符由数值属性(N1,…,Nm)和分类属性(C1,…,Cn)构成,则等价类信息损失IL(e)为:
公式中|e|是e中记录个数,|Ni|表示数值属性的范围,
和
分别是e中关于属性Ni的最大最小值。
|Cj|表示分类属性的不同属性值个数,
表示e中关于属性Cj的不同属性值个数。
定义1.2[32]总体信息损失Total_IL。
若ε{e1,…,em}是匿名数据集T中所有等价类的集合,那么T的总体信息损失为:
。
总体信息损失能够反映匿名数据集相对原始数据集所产生的信息损失。
此外,文献[39]中定义的可区分度量机制也可用来衡量匿名化质量。
定义1.3[39]可区分度量DM(DiscernabilityMetric)定义为
,其中|E|表示等价类E中的记录个数,DM的值即为数据集中每一个等价类大小的平方的和。
可区分度量的意义在于:
等价类越大可区分度就越小,意味着一个记录在大的等价类中难以区分。
定义1.4[5]聚集查询平均相对错误率。
一个查询的相对错误率为|act−est|/act,act是对原始数据进行查询获得的实际结果,est是对匿名数据进行查询获得的推测结果。
每个查询相对错误率的和的平均值即为聚集查询平均相对错误率。
1.3论文的组织
本文共分为四章,各章节内容组织如下:
第一章为引言,阐述研究数据发布中匿名化与敏感信息保护技术的意义,分析与评述国内外有关数据发布中匿名模型、匿名化与敏感信息保护技术方面的研究进展,给出本文章节的组织结构。
在第二章中,将着重讨论基于聚类的敏感属性l-多样性匿名化算法的设计与实现。
首先,分析提出基于聚类的敏感属性l-多样性匿名化算法的动机,然后根据不同的聚类种子记录的选择方式以及聚类前生成不同的聚类记录候选集,提出了2个满足l-多样性模型的聚类算法,并通过对真实数据的实验来评估这两个算法的性能。
第三章将讨论基于l-多样性的多敏感属性匿名化技术问题。
首先分析多个敏感属性的数据发布存在的隐私泄露风险,从而提出了一个满足l-多样性模型的多敏感属性匿名化算法,并通过实验验证这个算法的有效性。
第四章总结本文的工作成果,并对下一步的研究方向做出展望。
第二章基于聚类的匿名化算法
2.1问题分析
本章讨论基于聚类的匿名化。
以往的匿名化研究工作中,大多采用泛化和隐匿技术实现数据的匿名化。
但是基于泛化和隐匿的匿名化算法由于受到泛化层次结构的限制,导致一些不必要的信息损失。
为了降低信息损失,一些学者将聚类方法应用到数据的匿名化上。
事实表明,基于聚类的方法能够生成高质量的匿名数据集。
但是,基于聚类的匿名化算法中,大多是基于k-匿名模型的,没有考虑敏感属性值的多样性,存在着隐私泄露的风险。
因此,本章研究提出2个满足l-多样性模型的聚类算法LCA-FC(l-diversityclusteringalgorithm,selectfurthestseedandcomparewithcentroid)和LCA-RC(l-diversityclusteringalgorithm,randomlyselectseedandcomparewithcentroid),以避免敏感属性的隐私泄露。
2.2基于聚类的敏感属性l-多样性匿名化算法.
在基于聚类的匿名化算法中,聚类种子记录的选择和寻找信息损失最小记录的方式是非常重要的,将会影响到聚类的质量。
选择聚类种子记录时,可以随机选择数据集的一个记录,也可以选择最远的记录作为聚类种子记录。
寻找信息损失最小记录时,可以计算整个聚类和每个候选记录的信息损失来找到信息损失最小记录,也可以计算聚类代表记录和每个候选记录的信息损失来找到信息损失最小记录。
而选择聚类代表记录时,可以选择聚类质心,也可以随机选择聚类的一个记录作为聚类代表记录。
选择不同的方式,将会产生不同的聚类效果。
大多数已有的基于聚类的k-匿名算法没有满足敏感属性值l-多样性的要求,存在着隐私泄露的风险。
因此,根据不同的聚类种子记录的选择方式以及聚类时生成不同的聚类记录候选集,本文提出了基于聚类的敏感属性l-多样性匿名化算法LCA-FC和LCA-RC。
它们的主要思想是:
给定一个n个记录的数据集T和l-多样性参数l,首先计算数据集T不同敏感属性值个数,如果该值大于等于l,选择一个记录作为种子开始建立一个聚类,然后每次从聚类记录候选集中选择一个与聚类信息损失最小的记录加入该聚类,直到聚类中记录个数为l时结束,从而生成一个聚类(即等价类)。
然后,满足条件的情况下选择一个记录作为新的种子记录,重复相同的过程建立下一个聚类。
最后,对于剩余的记录,分别计算它们与已经生成的每个聚类之间的信息损失,然后加入到信息损失最小的聚类中。
LCA-FC算法在数据集中选择距离上次种子记录最远的记录作为聚类种子记录,LCA-RC算法则在数据集中随机选择一个记录作为聚类种子记录,两者均通过计算聚类质心和聚类记录候选集的每个记录的信息损失来找到信息损失最小记录,但聚类记录候选集不同。
本文算法在计算聚类质心时,各个数值型属性值采用聚类的各个数值型属性平均值,而各个分类属性值则采用聚类的各个分类属性中出现频率最高的值。
算法处理的数据包括数值属性和分类属性,信息损失机制必须既适用于数值型数据又适用于分类型数据的信息损失计算。
因此聚类所产生的信息损失采用1.2.3小节定义的信息损失机制来衡量。
下面分别描述基于聚类的敏感属性l-多样性匿名化算法LCA-FC和LCA-RC:
算法2.1LCA-FC算法
输入:
原始数据集T和l-多样性模型参数l;
输出:
符合l-多样性模型要求的匿名数据集table
Begin
Step1:
计算数据集T不同敏感属性值个数;
if(T中不同敏感属性值个数 不能满足l-多样性,returnT; endif; 匿名数据集table=∅; r=从T中随机选取一个记录; Step2: while(T中不同敏感属性值个数>=l)do 聚类C={r}; 聚类质心centroid={r}; 数据集T=T–{r}; 聚类记录候选集LT=从数据集T中选择与种子记录敏感属性不相同的记录; while(|C| min=∞; for(i=1,…,候选集LT记录个数)do record=LT中第i个记录; if(record的敏感属性值与聚类C中记录的敏感属性值相同)continue; il=record到聚类C质心的信息损失IL{record∪centroid}; if(il min=il; minrecord=record; endif; endfor; 聚类C=聚类C∪{信息损失最小记录minrecord}; 候选集LT=LT–{信息损失最小记录minrecord}; 数据集T=T–{信息损失最小记录minrecord}; 重新计算聚类质心centroid; endwhile 匿名数据集table=table∪生成的聚类{C}; 重新计算T中不同敏感属性值个数; r=计算距离记录r最远的记录; endwhile Step3: while(|T|≠0)do r=从T中随机取记录r; T=T–{r}; for(i=1,…,匿名数据集table中的聚类个数)do C=第i个聚类; if(C的记录个数>=2*l-1)thencontinue; il=记录r与聚类C质心信息损失IL{r∪centroid}; if(il min=il; minc=i; endif; endfor; 信息损失最小聚类minc={r}∪信息损失最小聚类minc; endwhile Step4: 将匿名数据集table中的每个聚类的所有记录在准标识符上的属性值用该聚类代表记录准标识符上的属性值代替,完成匿名化,得到最后输出的匿名数据集table。 End 算法2.2LCA-RC算法 输入: 原始数据集T和l-多样性模型参数l; 输出: 符合l-多样性模型要求的匿名数据集table Begin Step1: 计算数据集T不同敏感属性值个数,种子记录候选集LS=从数据集T中选择敏感属性值相同且数目最多的所有记录,聚类记录候选集LT=数据集T-种子记录候选集LS-敏感属性值相同且数目最少的所有记录; if(T中不同敏感属性值个数 不能满足l-多样性,returnT; endif; 匿名数据集table=∅; Step2: while(T中不同敏感属性值个数>=l)do r=种子记录候选集LS中随机选取一个记录; 聚类C={r}; 聚类质心centroid={r}; 数据集T=T-{r}; while(|C| min=∞; for(i=1,…,聚类记录候选集LT记录个数)do record=LT中第i个记录; if(record的敏感属性值与聚类C中记录的敏感属性值相同)continue; il=record与聚类C质心的信息损失IL{record∪centroid}; if(il min=il; minrecord=record; endif; endfor; 聚类C=聚类C∪{信息损失最小记录minrecord}; 候选集LT=LT–{信息损失最小记录minrecord}; 数据集T=T–{信息损失最小记录minrecord}; 重新计算聚类质心centroid; endwhile 匿名数据集table=table∪生成的聚类{C}; 重新计算T中不同敏感属性值个数,种子记录候选集LS,聚类记录候选集LT; r=距离记录r最远的记录; endwhile Step3: while(|T|≠0)do r=从T中随机取记录r; T=T–{r}; for(i=1,…,匿名数据集table中的聚类个数)do C=第i个聚类; if(C的记录个数>=2*l-1)thencontinue; il=记录r与聚类C质心信息损失IL{r∪centroid}; if(il min=il; minc=i; endif; endfor; 信息损失最小聚类minc={r}∪信息损失最小聚类minc; endwhile Step4: 将匿名数据集table中的每个聚类的所有记录在准标识符上的属性值用该聚类代表记录准标识符上的属性值代替,完成匿名化,得到最后输出的匿名数据集table。 E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优秀 硕士论文 基于 匿名 机制 数据 发布 隐私 泄露 控制 技术 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)