近年来,大规模的数据泄露事件频频发生、个人信息违法交易与隐私侵权等问题愈发严峻。
在这样的背景下,全球掀起了监管不断强化的数据安全的立法热潮。欧盟的GeneralData Protection Regulation (GDPR);美国的CaliforniaConsumer Privacy Act(CCPA);我国已实施的基础性法规《网络安全法》,其中一个章节单独对个人信息与数据安全给出了诸多原则性的规定与约束,且两部专门的法律《数据安全法》、《个人信息保护法》在加快立法与制定中。(《浅析数据安全与隐私保护之法规》)
随着企业业务的扩展与迭代,企业IT环境中存储和流动的数据越来越庞大,且类型丰富多样、复杂多变。另一方企业面临的数据安全问题和威胁越来越突出和严峻,且合规性问题不得不纳入数据安全建设考虑范围。总的来说,大数据时代下的数据安全问题十分复杂,传统的一两种安全技术/手段,难以应对各种各样新出现的威胁与挑战,以合规遵循性要求。基于此,企业在顶层应用一套科学的体系方法——数据安全治理体系,“以不变应万变”,这对于一个数字转型的企业来说是十分重要且必要。(《拨开云雾见天日——数据安全治理体系》)
在落地数据安全治理体系时,企业需从自身需求,合规性、业务利用和安全风险等多重要素进行综合考虑,选择合适和具体的数据安全技术。近年来,该领域的创新在学术界和工业界十分活跃,数据安全与隐私保护新技术不断涌现,差分隐私、匿名化,同态加密、安全多方计算、联邦学习、零知识证明等,这给企业的数据安全建设提供更多的选项,同时推动数据安全的不断发展。(《鱼和熊掌兼得——隐私保护与价值挖掘》)
一、背景
随着信息化发展与数字转型,企业有大量的数据二次利用(secondaryuse)与挖掘需求,为了平衡数据利用与隐私保护(敏感数据保护)问题,数据脱敏——作为一种成熟且应用灵活的数据安全技术,数据脱敏成为当前绝大数企业在数据安全治理与建设过程中的必选技术与措施。
然而,大数据时代下数据脱敏正面临着危机与挑战。简单地说,它同样可以看成是一场攻防的游戏:防方(企业)广泛应用各种脱敏技术手段(泛化、屏蔽、加噪等)对个人隐私数据进行脱敏,即实现身份的匿名化(Anonymization)、去标识化(De-identification);而攻方(黑客)利益驱动,通过收集的用户身份数据库(网络攻击的拖库、黑灰产大数据),对脱敏数据集进行身份复原,即实现身份的去匿名化(De-anonymization)、重识别(Re-identification)。一正一反,一攻一防,相互博弈:Anonymization⇌De-anonymization、De-identification⇌Re-identification。
在该系列的第一篇——《大数据下的隐私攻防:数据脱敏的隐私攻击与风险评估》,介绍了隐私数据即使经过脱敏,仍然存在残余的重识别风险(即关联具体的自然人),这种风险需要进行评估,甚至定期开展再评估。由于网络实名制等原因,身份证号 手机号是我国网络运营者普遍收集的两类常见个人隐私数据。一般来说,企业在二次利用身份证号等隐私数据时,通常会对其进行脱敏处理。然而,不同的脱敏程度与脱敏设置,隐私风险(重识别风险)是不同的。如何进行定量评估?如何对不同的脱敏方法/策略(脱敏数据集)进行横向比较?如何识别高风险的脱敏数据集与数字资产?作为该系列第二篇,本文将在一个真实的身份数据集进行风险评估与实践,并给出相应的分析与结论。
二、相关基础
为了更好地理解身份证号/手机号相关的数据集数据脱敏,以及风险评估过程。首先,了解一下我国公民身份证号、手机号编码不同区段表示的含义;然后简单回顾一下重识别风险评估理论。
1身份证号/手机号编码结构
1.1 身份证号
我国公民身份号码为18位,包含标识主体丰富的时空信息。它可表示为图1所示。由17位数字本体码和1位校验码组成。前6位是地址码编码:1-2位表示省(自治区、直辖市、特别行政区)、3-4位表示市(地区、自治州、盟及国家直辖市所属市辖区和县的汇总码)、5-6表示县(市辖区、县级市、旗)。而第7-14位数字表示出生日期,包括4位出生年份 4位生日日期;15-17位数字顺序码(其中17位的奇数分给男性,偶数分给女性),18位是数字校验码,可由确定的校验公式计算得到。
图1我国公民身份证号编码结构
由上图可知,给定一个公民身份证号码,可推断出该公民相关的出生地、出生年月和性别的信息。对于共享同一种地址码的人口,可以由国内各个地区的公开人口统计得到,这个数据量与地区人口密度相关,比如东部密度大,该信息具有很弱的“身份可识别性”,而西部一些偏远地区密度小,该信息可能具有很高的“身份可识别性”。对于同一个出生日期的人口数量,为了简单估计,假设为均匀分布,年龄在0-130范围,那么同一天出生大约为3万人(14亿/(130*365))。由此可见,单单暴露身份证号码的出生日期8位,“身份可识别性”很弱。然而,将地区编码考虑进来,3万种可能性进一步消除,再经过1000种可能性的顺序码(15-17位),可完全消除多种可能性,“身份可识别性”达到唯一水平。
1.2 手机号
我国使用的号码编码为11位,其中前3位是网络识别码,表示是联通,移动,电信;第4-7位是地区编码;第8-11位是用户号码(随机分配)。如图2所示。根据手机号码可推断出号码用户的号码归属地、以及运营商选择信息。除去手机号的第一位默认为1,其他位的范围一般都可取0-9,那么可估计最大生成的号码规模为10^10= 100亿。
图1我国手机号编码结构
2重识别风险评估理论
下面简单概述ElEmam等学者提出的重识别风险评估场景以及评估指标。详细内容请参考《大数据下的隐私攻防:数据脱敏的隐私攻击与风险评估》。
2.1 攻击场景
加拿大学者ElEmam等人定义了三类常见的隐私攻击场景,并形象化地被称为检察官攻击(Prosecutorattack)、记者攻击(Journalistattack)和营销者攻击(Marketerattack),检察官攻击具有背景知识,了解攻击目标一定在公开数据集中;记者攻击和营销者攻击(Marketerattack)均假设攻击者访问某一个公开或自己私有的数据库,记者攻击要求不停的炫耀证明重识别攻击正确,而营销者攻击只是用户画像,因此只需保持较高识别概率即可,具体描述如图3所示。
图3 三种重识别攻击场景
2.2 评估指标
在检察官攻击、记者攻击和营销者攻击三类攻击场景下,ElEmam学者等根据脱敏数据集的最高、平均重识别风险的概率、高风险记录占有比例等刻画需求,设计了8类评估指标,具体如图4所示。这些指标可有效地评估结构化的脱敏数据集的隐私风险残余情况。这些指标的数值范围均为[0,1],1表示最高风险,0表示几乎无风险。
图4 三种重识别攻击场景
三、在脱敏数据集上的评估实践
首先,简单介绍实践过程应用的原始数据集——身份证号 手机号数据集的相关信息,然后介绍使用8种常见的脱敏设置和策略下,得到的8种不同的脱敏数据集。最后,对它们分别在三种评估场景下进行风险评估,并对风险结果进行定性的分析和讨论。
1数据集
待评估的数据集是脱敏数据集。下面介绍脱敏集的由来,由原始数据集、以及不同的脱敏设置生成。
1.1 原始数据集
为了检验重识别风险评估指标在真实场景的有效性,我们收集了真实的23110条身份证号 手机号的记录信息,为了使得数据更具有隐私攻击价值(攻击者的攻击意愿很强),我们随机生成了一列银行卡账户余额(40-120万元)。声明:为了避免不必要的隐私泄露,下面展示的三行身份证号 手机号数据均是伪造的,均不具有真实意义(真实记录 伪造记录=23113条记录),数据记录(三条伪造记录)示例如下图5展示。
图5 数据集记录示例
为了透视实验数据集的分布,我们进行一些直方图展示。首先图6展示手机号3个分段的频率分布,从左到右分别为:①前3位;②中间4位;③最后4位。可以看出前3位网络识别码更为集中(最高频率3400 ),其次是中间4位地区归属码,而用户编码最为随机,重复号码的频率很少,最高为7次(假设最后4位均匀分布,那么2.3万条记录,平均重复的次数为2.3次)。
图6 手机号3个分段的频率分布
图7展示身份证号3个分段的频率分布,从左到右分别为:①前6位地区编码;②中间8位出生日期;③最后4位为顺序码 校验码。由于办卡的用户一般来说是本地用户,因此地区编码前6位更为集中;出生日期若年龄1-100岁,那么有100*365种出生日期,对于2.3万条记录,有许多是唯一生日的不以为怪;最后四位编码由于最多只有10000种可能性,且存在冗余,因此该编码的频率至少平均为2.3次。
图7 身份证号3个分段的频率分布
1.2 脱敏数据集
为了评估常见脱敏方法与规则的脱敏效果,下面选择了8种脱敏规则并且得到相应的8种不同的脱敏数据集。可以看出,脱敏规则Rule1-5脱敏强度逐步加强。Rule2-c、3-c和5-c分别是Rule2、3和5对照组(ControlGroup),即脱敏/屏蔽的数字个数相同,但位置略有不同。
脱敏规则Rule1:手机号(屏蔽中间4位) 身份证号(屏蔽出生年份4位)
脱敏规则Rule2:手机号(屏蔽中间4位) 身份证号(屏蔽出生日期8位)
脱敏规则Rule3:手机号(屏蔽最后8位) 身份证号(屏蔽出生日期8位)
脱敏规则Rule4:手机号(屏蔽最后8位) 身份证号(屏蔽最后12位)
脱敏规则Rule5:手机号(只保留前3位) 身份证号(只保留前两位)
脱敏规则Rule2-c:手机号(屏蔽最后4位) 身份证号(屏蔽出生日期8位)
脱敏规则Rule3-c:手机号(屏蔽最后8位) 身份证号(屏蔽最后8位)
脱敏规则Rule5-c:手机号(仅保留前2位 最后1位) 身份证号(仅保留前1位 最后1位)
2重识别风险评估
下面我们对8种脱敏数据集在检察官攻击、记者攻击和营销者攻击三种场景下分别进行评估,然后对风险评估的结果进行定性的分析和讨论。
2.1 检察官攻击风险
在检察官攻击场景中,意味着攻击者(比如定向收集信息的攻击者)了解你在某一家银行办了一张储蓄卡,且他掌握了你的身份证号和手机号信息,他去查询公开的脱敏数据集,查看那一条记录属于你,从而可以窃取隐私数据——账户余额。下面图8展示不同的脱敏强度下的检察官攻击风险。
(a)
(b)
图8 不同脱敏数据集的检察官攻击风险:(a)数据集的脱敏强度逐步较强;(b)图(a)的部分对照组
由图8(a) 的评估结果可得以下结论:
- 脱敏强度越强,重识别风险越低。在实际应用中,应根据隐私保护的需求,进行风险评估,使得隐私风险在预期范围内,保持数据的可用性。
- 仅对手机号中间4位,以及身份证的出生日期进行脱敏/屏蔽处理(脱敏规则Rule1-2),它们脱敏后的组合仍然具有较高的重识别风险,检察官攻击发生的风险较高等级,平均风险、高风险占的比例均接近于1.0000。因此,在数据公开发布场合不建议采用。
- 仅对手机号最后8位,以及身份证的出生日期进行脱敏/屏蔽处理(脱敏规则Rule3),能有效降低隐私风险,平均重识别风险能降低至0.6921。
- 在上面的基础上,再对身份证的最后四位顺序码 校验码进行脱敏/屏蔽处理(脱敏规则Rule4),平均重识别风险能有效地再次降低至0.1827。
- 仅保留手机号的前3位,与身份证号的前2位,重识别风险能降到更低,平均风险为0.0233。在数据展示和验证场景,比如App界面展示,建议采用最小够用原则,屏蔽更多的数字码,用户能了解是自己的手机号和身份号即可。
- 所有脱敏数据集的记录中的最高风险一直都为1.000,这是由于即使暴露4位数字码,最多只有1000种可能性,2.3万记录仍然有较高的概率是唯一的。
由图8(b) 的评估结果可得以下结论:
- Rule2-c相对Rule2,平均识别风险稍有下降,这是由于屏蔽手机号最后4位比中间4位更有效,最后4位数字更有“个性”(用户号码)。在实际展示场景中,建议尽量屏蔽最后4位。
- 同理,Rule3-c相对Rule3,平均识别风险有所下降,这是由于身份证号的最后4位是顺序码 校验码,更有“个性”(用户号码)。在实际展示场景中,同样建议尽量屏蔽身份证号的最后4位。
2.2 记者攻击风险
在记者攻击场景中,一个脱敏数据集已经对外公开发布,且攻击者可以公开访问或者掌握了身份数据库(比如黑客攻击窃取的数据库),他根据自己拥有的数据库去查询和关联记录对应的身份主体,查询不同身份主体拥有多少账户余额(窃取隐私数据)。这种情况一般在实际中尽可能扫描黑市的大型泄露数据库、或公开的数据库,进行比对和评估。本文为了给出具体应用流程,简化这一个过程,假设黑客掌握的数据库为公开脱敏数据集的10%(随机抽取10%)。在此场景假设条件下,分别给出不同脱敏数据集的评估结果,如图9所示。
(a)
(b)
图9 不同脱敏数据集的记者攻击风险:(a)数据集的脱敏强度逐步较强;(b)图(a)的部分对照组
由图9(a-b)的评估结果可得上一小节类似的结论,即脱敏强度越强,重识别风险越低,在实际应用中,尽量在可用的情况下,屏蔽更多的数字码。在个人信息展示场景,尽量屏蔽手机号的最后4位和身份证最后4位。
2.3 营销者攻击风险
在营销者攻击场景中,类似记者攻击场景需假设营销者(攻击者)拥有的身份的数据集,但该场景的目标是为了营销和用户画像,关注关联的准确率,而不关注那些记录被正确识别,因此只评判平均重识别风险(不检测高风险记录的比例)。为了演示方便,假设营销者掌握的数据集是大的身份数据集,脱敏数据集为它表示身份主体的一部分(子集),是其中的营销者掌握的数据集记录的20%(随机抽取20%)。在此场景假设条件下,分别给出不同脱敏数据集的评估结果,如图10所示。
(a)
(b)
图10 不同脱敏数据集的营销者攻击风险:(a)数据集的脱敏强度逐步较强;(b)图(a)的部分对照组
由图10(a-b)的评估结果可得上一小节类似的结论,因此不再赘述。综上三种攻击场景的风险结果可看出,风险趋势是类似的,即与数据集的概率分布密切相关。
四、总结与展望
总的来说,ElEmam学者提出的一系列重识别风险评估指标,基于概率设计,简单易理解,且在一定场景下有效反应风险趋势与风险级别。它存在两类局限性:
①提出的评估方法与指标反映风险不够全面,仅从风险的可能性进行刻画。实际上,经典的风险评估方法反映风险的可能性(probability)和风险的危害性(impact)两个方面;
②重识别指标无法适应在高维的脱敏数据集的评估。在高维数据集中,具有不同攻击者能力(即掌握不同维度身份数据集)重识别风险是不同的,原方法的评估指标过于简单无法客观反映这一事实。
针对以上的局限性,我们构建新的评估方法与评估指标:从重识别攻击场景出发,基于信息论视角,对脱敏数据集的自身存在的多个脆弱性进行刻画,并对攻击者的能力进行度量,对隐私泄露程度进行刻画,最终更加全面客观地得到风险分数。对于监管部门的评估场景中,可根据评估的风险分数确定这家企业是否满足隐私合规?而对于企业内部评估场景来说,评估分数并不是最终目的,评估步骤应更完善,评估不仅包括认识与识别风险,同时需为降低风险提供足够的指导。具体来说,企业的内部评估可分为3步:
1
粗粒度评估:基于统一的评估方法,对脱敏数据库的所有脱敏数据表进行评估,得到对应的风险分数,进而对它们的风险进行横向比较与风险定级,识别出高危脱敏表;
2
高危脱敏表的细粒度评估与分析:对高危脱敏表逐一进行风险分析,识别表各个属性以及属性组合的脆弱性严重程度,记录评估过程的结果矩阵与表。根据结果,结合专家知识,修正结果,分析风险原因。
3
降低高危脱敏表风险,实现安全评估闭环:根据风险分析原因以及数据利用的需求,重新制定降低风险策略,可在数据层面进行二次脱敏、三次脱敏。若再次脱敏与数据可用性矛盾,可对其进行标记和利用追踪,基于风险分数实现自适应访问控制,减少脱敏数据流通的次数、共享和开放范围。
参考资料:
[1].绿盟科技,数据安全白皮书2.0. https://www.nsfocus.com.cn/html/2019/350_0927/49.html.
[2].2019 网络安全观察. http://blog.nsfocus.net/wp-content/uploads/2020/01/2019-Cybersecurity-Insights.pdf.
[3].作者,隐私合规视角下的数据安全建设与思考,保密科学与技术
[4].身份证号码的编码规则及校验 https://www.jianshu.com/p/ead5b08e9839
[5].GB/T 37964-2019,信息安全技术 个人信息去标识化指南
[6].GB/T 20984-2007,信息安全技术 信息安全风险评估规范
[7].个人信息安全影响评估指南(征求意见稿)
[8].ISO/IEC 29134, Privacy impact assessment.
[9].Rocher L, Hendrickx J M, De Montjoye Y A. Estimating the success of re-identifications in incomplete datasets using generative models. Nature communications, 2019, 10(1): 1-9.
[10].El Emam K. Guide to the de-identification of personal health information. Auerbach Publications, 2013.
[11].Article 29 Data Protection Working Party, Opinion 05/2014 on Anonymisation Techniques, 2014.
内容编辑:天枢实验室 陈磊 责任编辑:肖晴