开发者学堂课程【高校精品课-北京理工大学-大数据技术导论:大数据隐私保护(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/857/detail/15594
大数据隐私保护(二)
内容介绍:
一、表格数据举例:链接攻击
二、表格数据举例:匿名化
一、表格数据举例:链接攻击
这一小节介绍隐私保护的技术手段。
首先来看一个人口普查的数据,有六条记录,包括个人的一些社会保障号、出生日期、性别、邮编和工资信息。如果直接公布这个表格,这样会泄露个人的一个社会保障号,以及工资的信息。
社会保障号是一个唯一的一个标识,可以定位到一个人,工资信息是敏感的隐私信息,如果直接将这个表格发布的话,这样很显然会侵犯我们的个人隐私。称社会保障号是一个叫身份识别号,如何来使得我们的数据在发布的同时,又能保护隐私?最简单的一个方法是移除我们的个人身份识别信息,比如说把社会保障号给移除掉,我们是否可以发布一个包含四个属性的这个表格?直接发布这个表格,如果攻击者没有任何其他的信息,我们是不知道个人的一个信息的,无法定位某一个人的。
有些攻击者可以通过一些非法途径可以购买到一些额外的其他信息,如果加上一些其他信息的话,是有可能能够定位我们这个表格中的一个具体的一个人的信息,假设有右边的那么一张表格,包含社会保障号以及出生日期两条数据。
如果我们有这两个表格的话。可以通过将这两个表格进行一个链接,会发现出生日期在76年1月21号的两个人当中,我们就可以通过这个出生日期把这两个记录进行一个连接。同样在76年2月28日出生的也有两个人,也可以将这两个人进行一个链接,这样的话就可以得出什么?可以得出在76年1月21日出生的两个人的其中必有一个人的社会保障号是11-1-111。所以这里虽然我们无法识别个人的一个唯一的标识符,但是可以推测其中的两个人或几个人属于同一个标识符。这里面称这种无法唯一识别一个标图,但是能够推测出一些敏感信息的一些属性为叫身份识别标志,或者我们简称 QI。
除此以外,假设我们还有一个额外的信息是性别信息,这样有了这个性别信息,我们其实可以再进一步的进行推测,比如说在76年2月28日出生的这个人,我们可以精确定位它的社会保障号信息。这样可以通过这个社会保障号,出生日期以及性别。可以推测出其中一个人的工资信息,另外一个人的工资信息我们无法推出,所以这样的话,我们称出生日期和性别,也称之为一个准身份识别标志符,或者也称之为QI。
假设还有更丰富的信息,包括用户的一个邮编,如果有了右边这张表格,我们其实可以精确定位左边这张表格中的某一个人的工资的信息,以及他的社会保障号信息。比如说我们这个例子,我们发现。在第一行的记录中,一个人却连接到了右边这个表格中的第一行记录的话,意味着一个人的那个社会保障号以及他的工资信息,我们就可以对应起来这种攻击的方式,我们称之为链接工具,也就是上一讲说到的,通过一些额外的信息,我们可以定位到用户的精确的信息。所以在这个例子中发现,通过右边这个表格,可以唯一确定两个人的工资。所以这里我们可以知道,就生日性别以及邮编,它是一个唯一的,可以唯一确定一个人的,其实有一项研究表明,87%的美国人,他的生日和邮编,他的性别,这三者组成的一个信息,他是唯一的。但是这个信息在我们中国是不实用的,因为大家可以想象一下,我们的邮编其实对应的一个比较大的地区,通常一个在我们中国一个大的地区,它的人口数是比较多的,所以人口数多的话,那个出生日期,可能同一天出生人,并不是唯一的,因为我们都知道,只要有超过50个人在一起的话,这50个人当中存在两个人同一天生日的概率是非常高的。大家可以简单计算一下,这个概率其实可以达到97%。刚刚看到那些例子,都是会泄露我们的隐私,即使把那个社会保障号这个可以唯一确定用户标志信息的那一列属性把它去除。攻击者仍然可以通过额外的一些信息精确定位用户,所以直接发布一个把社会保障号去掉的一个表格是无法达到隐私保护的目的,所以该怎么办?
二、表格数据举例:匿名化
在这里介绍几种技术手段,首先是元组抑制的方法,元组抑制是指把表格中的某些数据,比如可能他的信息被鉴别出来的话,就把他的信息进行隐秘抑制,不把它发不出来,比如说在这个表格中我们刚刚说了第一条和第四条信息,可以通过生日邮编以及性别这三个信息可以同时把它鉴别出来,所以为了保护这两条记录的一个隐私,可以把这两条记录的信息进行隐匿或者说元组抑制,发现左边这张表格就是通过元组抑制后的表格,它的相应的信息就是会变成一个代表我们不公布他的信息,有了这张表格会发现,即使有右边那张表仍然也辨别不出来这两个人是谁,但是会使数据失去一定价值,因为两个人的信息是完全抑制的,完全隐藏的,比如说想统计一下这六个人的平均工资,就无法做到了,或者想统计一下这六个人的一个性别分布也无法做到,虽然能够实现保护数据不受到链接的攻击,但是会引入了很多的不确定性,从而使得数据的有用性会降低,因为发布数据的目的就是想这个数据能够有用。但是如果这个数据隐藏的信息太多,其实跟没有发布是一回事的,这样的话会使得数据的价值会降低。
接下来我们可以通过一种称之为属性泛话的方式来实现的。
属性泛化可以看到左边这张表格其目的就是把某些可能会泄露敏感信息的一些属性,就是刚刚提到那个 QI,就准身份识别信息,把这些属性进行泛化,泛化是把一个具体的一个数字变成一个更广一点的数字。比如说这里的邮编,本来邮编是537010等等这样具体的信息,但是这里可能通过把后两位进行一个抑制,就变成一个两个星的话,就无法猜出来他的邮编是什么。然后还有性别也可以变成星,可以达到一个隐私的保护。
通过这个例子发现。假设右边这个表格,仍然无法定位某一个人,因为这个例子可以发现,第一条记录和第四条记录都对应了右边这个表格第一条记录。所以你即使有右边这个表格的一条记录,仍然无法确定这两个人到底是谁,所以会发现可以通过这个属性方法,可以实现一定的隐私保护。这个属性泛化这个技术是比元组抑制要更精确一些的,因为元组抑制会把整条属性的所有的属性都是变成一个星的话,很显然会失去数据的价值,而这里是把一部分变成了星。所以它那个数据的一个表示是要比之前的元组抑制要更精确一些。比如说这里刚刚提到的邮编,如果把它表示成537**的话,其实这个邮编你就无法拆了,因为它的取值范围53700到53799,所以有100个取值的话,就很难精确找出他的具体的邮编是什么。
接下来介绍另外一种技术,称之为置换,因为刚刚讲到的所有的技术都是针对 QI,也就是准身份识别标识。这标志而没有对隐私数据进行改变,其实还有另外一种方式,直接改变隐私的数据,比如说刚刚提到工资是隐私数据,可以其实可以改变公司工资的那个具体数值,从而实现隐私的一个保护。这里面所提到的置换其实就是一种这样的方式,把敏感数据,比如说这里的工资,他是原值之间的取值进行一个置换,就互相换交换,这样的话可以使得个人的一个工资信息变成了不精确的,就无法猜出来具体的一个值。然后这种方法虽然能够保护隐私,保护我们的敏感数据,但是它也带来了不精确性,因为你把数据都进行了交换,所以想要查看某个人的工资或者几个人的平均工资的时候,这个可能就会出错。
第四将介绍另外一种称之为扰乱的技术,来实现我们的匿名化,但是跟刚刚讲的置换是类似的,它是通过改变敏感数据来进行一个隐私保护的目的,它可以通过把敏感数据通过加一些噪音,使得数据跟原来的数据变得不同,从而实现敏感数据得到一个保护的一个目的。比如说这个例子可以看到第一条记录工资变成6000的话,显然跟他之前的是不一样的,这种方式虽然能够唯一地识别一个用户的个人信息,但是得到的敏感信息,就比如这里的工资是不准确的。其实对用户来说其实是无所谓的,因为你即使你攻击者拿到了我的信息,但你猜不对我的工资,所以其实在一定程度上也保护了隐私。虽然扰乱能够唯一地识别元组,但是它能够使得敏感信息有一定的造诣,在一定程度上也保护了隐私。从这个例子我们可以看出,扰乱能够唯一识别元组,并且能够获得有造成的敏感属性值。从一定程度上讲,捣乱这个技术可以实现一个隐私,因为即使我们可以得到用户的一个信息,但是得到的敏感信息是有噪音的,不准确的,所以能够保护我们的隐私。
在这一小节当中,介绍了四种不同的隐私保护的方法,其中包括元组抑制泛话以及置换,以及我们现在讲的扰乱,后面两种是针对敏感属性的,而前面两种是针对准标志符的,这些技术都是可以实现隐私保护的一种有效的一种有效手段。