2.8 去标识化
去标识化是去除数据中可能连接该数据对象的公共名称的信息的过程。在病人记录这个案例里,去标识化就是将那些会让人联系到病人名字的信息从记录中去除的过程,这样做的目的显而易见。事实上,还有其他信息也需要去除,如病人的联系地址、出生日期和社会安全号码。在美国,病人隐私条例里详细讨论了病人记录去标识化的问题,并建议把18条记录条目排除在去标识化之外。33
在进一步讨论去标识化之前,必须认识到去标识化不是简单地从数据对象中移除标识符。事实上,粗暴地将数据对象里的标识符移除并不明智,会导致数据对象毫无用处,因为,无论是标识化的还是去标识化的数据对象都需要有至少一个标识符。正如在前面的章节中讨论的那样,标识符可以由单向哈希函数值代替,以保证数据记录的唯一性。去标识化需要移除那些可能会公开数据对象名称的信息,这类信息通常指识别信息,但也可能是那些与名称关联的信息。所以,我们不要把数据对象的标识符同数据对象中与其公共名称关联的信息相混淆。
这似乎违背了我们的直觉,但标识符与去标识化的标识符差别很小,在某些情况下,两者等价。下面是双标识/去标识系统可能的工作方式:
1.收集数据:“Joe Fergusons bank account contains $100.”
2.分配标识符:“Joe Fergusons bank account is 7540038947134.”
3.用标识符取代对象名称:“7540038947134 contains $100.”
4.一直使用这个阿拉伯数字标识符。
5.不让任何人知道Joe Ferguson拥有账号7540038947134。
标识符/去标识化的标识符的双重使用是一种可靠的技术。瑞士银行账户基本上给每个人分配唯一的账号(标识符),你可以通过标识符访问银行账户,标识符不会泄露任何银行账户所有者的身份信息,即它是去标识化的。
标识符的意义告诉你:遇到这个标识符表示它指向同一个对象,而如果遇到两个不同的标识符那一定是指向两个不同的对象。而标识符自身不会包含与其公共名称关联的信息。
理解去标识化过程仅在数据记录合理标识化的前提下才能成功是非常重要的,没有标识化就谈不上去标识化。强行对标识程度不高的临床信息数据集去标识化,会导致数据记录出现重复、混乱和遗失等情况。
把去标识化过程看成是响应数据分析师查询消息的一个联机算法最为合适,下面给出一个算法流程:
1.数据分析师提出一条大数据资源查询请求,这个资源包含一些不可共享的敏感信息,除非去标识化了。
2.大数据资源收到查询请求,检索出记录。
3.对检索出的记录进行解析,且记录中所有敏感信息都被删除,所谓的敏感信息大致包括前面提到的姓名、地址、出生日期、社会安全号码等。
4.准备好伪标识序列。伪标识序列有可能由随机生成器产生,也有可能由原始标识加密而成,又或者是通过单向哈希算法或其他算法生成。
5.原始记录上被附加了一条事务记录(即查询请求),包括伪标识序列、去标识化记录、事务发生时间以及其他任何与请求实体相关的信息。
6.一条记录发送给数据分析师,这条记录由去标识化的记录及其唯一伪标识符组成。
由于去标识化的记录及其唯一伪标识符存储在原始记录中,因此,当数据分析师后续对这条记录发出其他请求时,无需重新计算即可得到同样的反馈。这种常用的数据去标识化方法一般用于对单个记录或百万条记录的操作请求。
现在,你大概会问:“为什么数据管理员有分配保密记录的权利,即使记录已经被去标识化?”这就好像你告诉别人一个秘密,并告诉他不要说出去,你当然不希望有第三个人知晓这个秘密的任何内容。同样,分享已去标识化的机密信息是荒诞且难以让人接受的。
我们会在第13章和第14章中讨论大数据的合法问题和道德问题。而这里,读者需要知道的是,有一些易懂、简洁的原理可以证明分享去标识化的数据的可行性。
再看看这句话:“Jules Berman has a blood glucose level of 85.(Jules Berman的血糖水平是85。)”这可以称得上保密记录,因为,这句话告诉了别人Jules Berman的身体情况。如果只是短语“glucose level 85”,即删除了人名,这时该短语就只是没有主体的数据了,与“Temperature 98.6”“Apples 2”“Terminator 3”无异,仅是一些不属于特定主体的原始数据。
通过将某个人或数据对象的信息转变为不属于特定对象的信息,去标识化使得数据无害。基于此,美国法规允许无限制地使用这些无害数据进行科学研究。33,34其他一些国家也有类似规定。