APP下载

一种面向中医药数据的高效脱敏算法*

2020-04-09胡孔法丁有伟

世界科学技术-中医药现代化 2020年12期
关键词:脱敏加密算法数据量

余 健,胡孔法,丁有伟

(南京中医药大学人工智能与信息技术学院 南京 210023)

1 引言

随着信息技术的发展,各类医疗数据从传统的纸质存储逐渐转向为电子化和数据库方式,处理方式也从集中式转向基于大数据平台的分布式处理。电子化的医疗数据包含健康数据、遗传病史、姓名、手机号码、身份证号码、社保卡号等病人的个人敏感医疗数据,以及重要的中医处方等敏感信息。这些个人敏感数据的访问控制权限还会开放给第三方(如高校、科研单位、研究机构等),第三方会对这些数据搜集、存储、管理、分析、挖掘和发布。在个人医疗隐私数据的挖掘、分析以及在网络共享和开放的过程中,存在着较大的个人隐私数据泄露的风险。一旦病人的隐私信息泄露,将会给病人的工作生活造成极大影响,而某些特殊药方的泄漏也会给医疗工作者造成一定损失,因此中医药数据在分析处理之前必须对敏感数据进行脱敏处理。

数据脱敏是指对某些敏感数据通过脱敏规则和算法对数据进行改造和变形,实现敏感数据和隐私数据的可靠保护,在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反法律规则的条件下,对真实数据进行改造使用。在中医药大数据快速发展的背景下,中医药数据安全和隐私保护问题也日益突出和严重。中医药数据具备多维度、多样化和相关联的特征,包括病历信息、个人医疗数据信息、体检信息、身份证号码信息、手机信息、医疗保险信息、健康日志信息、遗传病史信息、重要中医处方信息等,其中有许多数据在国家法律保护范围内。随着中医药大数据平台的陆续建设,中医药大数据实现跨区域和跨行业的共享传输和分析挖掘,使得中医药大数据面临着敏感医疗信息泄露的严峻风险和现实挑战。医院和医疗大数据平台对个人数据的使用导出需要征得用户同意,并且进行匿名化处理,敏感数据的访问需要有认证、授权或加密机制,以加强对中医药数据的隐私保护。

数据隐私保护的研究由来已久,比如经典的数据脱敏算法k-anonymity[1],该算法的改进模型ldiversity[2]、t-closeness[3]、(α,k)-anonymity[4]是针对不同领域的攻击模型和场景衍生而来,为后续的隐私保护奠定了理论基础。目前数据加密技术、数据失真技术、差分隐私技术[5,6]、匿名技术[7]等都在特定领域用于对数据进行隐私保护;目前在中医药信息领域针对个人隐私数据和核心处方的保护措施比较薄弱,基本是无加密或者是基于单一的数据加密技术,比如差分隐私技术,匿名技术等加密技术进行隐私数据处理。随着中医药大数据平台下海量的医疗数据场景和大数据挖掘技术不断的发展,海量的中医药大数据在网络传输过程和第三方使用过程中,面临着访问权限过度和数据收集过度的风险。由于中医药数据具备多维度和关联性的特征,使得中医药数据的隐私保护变得较为复杂,传统的加密算法在处理海量的中医药数据的时候存在效率不高的问题。由此可见单一的加密技术不能高效解决隐私保护问题,中医药领域的数据信息隐私保护须将多种隐私保护技术结合起来。尤其是针对海量的中医药大数据,对数据的处理能力要求很高,需要结合多种隐私保护技术[8],使得医疗隐私信息得到更高效的安全保护[9]。

表1 中医院的部分原始数据的数据库存储实例

为了解决中医药数据的安全性和中医药数据加密处理效率无法同时兼顾的问题[10],本文提出一种哈希加内积的组合加密算法,对中医药大数据平台的敏感数据进行数据加密脱敏,在保证中医药大数据信息隐私安全的同时,此算法也兼顾到了中医药大数据平台数据的处理效率。此加密脱敏算法基于可变数据长度和密文长度,具备灵活的数据颗粒度和控制策略,同时针对于中医药大数据平台的海量数据的特点,此加密脱敏方案相比于传统的加密算法有数十倍的的性能,可以对个人医疗数据加密进行高效处理[11]。

2 方法

全国各中医医院的数据库系统中存放着大量的医疗数据信息,其中包含健康数据、遗传病史、手机号码、身份证号码等病人的个人敏感医疗数据[12],以及重要的中医处方等敏感信息,这些敏感数据存储、传输和第三方(如高校、科研单位、研究机构等)使用时必须要进行脱敏处理。

每条中医药数据记录t =(b1, b2, …, bk, c1, c2, …,cn),其中b1, b2, …, bk是敏感属性B1, B2, …, Bk的值,c1,c2,…,cn是常规属性C1,C2,…,Cm的值。敏感属性包含隐私信息,需要进行脱敏处理后才能分析处理或对外发布,常规属性不包含个人隐私,可以直接处理。因此,医疗数据的隐私保护就是要对隐私属性的值进行脱敏处理,使处理后的值不能够推测出患者身份、病史等隐私信息。姓名、身份证号码、手机号码是敏感属性,科室、性别、病史是常规属性(表1)。

在实际应用中,中医药领域数据库的个人敏感信息和医疗数据会开放给不同的第三方客户,如医药企业和研究机构等合作组织。不同的客户根据自己的需求和策略导出的数据不同,同一个客户或者机构导出的不同批次的数据所包含的属性也可能不同;如果不同的合作组织导出的属性是一样的,他们就可以联合攻击。假设2 个合作组织各自导出中医药数据表R和S,其中R 包含属性(R1, R2, …, Rn, A),S 包含属性(S1,S2,…,Sm,A),则这2 个合作组织可以联合起来通过共同属性A 把关系数据表R 和S 做笛卡尔乘积来获取数据进行攻击,其形式可以表示为:

其中R和S分别表示有n个分量和m个分量,结果T 是一个n+m 目的关系,表2 所示为3 个合作组织的联合攻击模型实例,3个组织通过手机号码属性将3个数据表进行关联,可以获取更多隐私信息。

所以在存储传输和开放这些数据给第三方机构之前需要对这些数据库系统中的个人敏感数据进行脱敏,以防个人的敏感信息的外泄和攻击。面对联合攻击,脱敏的目标就是保证在数据表R 和S 有共同属性的情况下,不能直接通过连接操作获得更多的属性数据,即不能由R={t|tn∈R}和S={t|tn∈S}得到T={t|t = <tn, tm>}。同时对于中医药领域的个人敏感信息和医疗数据,需要在数据信息脱敏后也要保持不同表之间的关联性,以保证中医药数据库的正常使用和研究分析。从数据的安全性角度需要保障导出的个人敏感信息和医疗数据不可还原,比如数据库的索引为具备唯一性特征的属性手机号码,脱敏后的属性值不可还原用户手机号码。

表2 不同合作伙伴联合攻击导出数据实例

数据库中的中医药大数据的较强的关联性使得中医药信息的隐私和个人信息的隐私的保护面临特定场景化的挑战。网络存储和传输技术中,不同的中医药数据获取者对数据的操作权限和对用户个人信息的收集范围程度都具备不可预知性,需要对这些敏感数据在网络传输,云储存和共享给第三方机构之前进行安全加密保护[13],以免中医药大数据信息的泄露。以对中医医院的医疗数据的访问权限控制为例,医生为了完成其工作可能需要访问大量信息,但对于数据能否访问应该由医生来决定,不应该需要管理员对每个医生做特别的配置。但大数据安全控制系统要能够对医生访问行为进行角色定义和权限范围控制,限制医生对病患数据的过度访问[14]。

3 算法和结果

中医药大数据平台存储着海量的病人敏感信息和处方数据信息,对数据的加密处理速度和策略有一定的要求,针对这种场景本文提出一种数据脱敏的隐私保护方案,此方案是一种固定数据长度和固定密文长度场景下的,基于属性的内积加密方案。内积加密技术相对于传统的加密技术而言,能够为用户提供灵活的数据颗粒度和访问控制策略。在中医医院的数据库里面存储着海量的病人信息,该方案和算法对中医药数据库中的每条数据进行提取和分割。对长度为C bit的数据进行脱敏步骤如下:

①从中医药数据库导出C bits 长度的原始数据M。

②对中医药数据M 进行分割为等长H bits 的n(C=nH)个数据s1,s2,…,sn,即把数据M 的前H 比特为s1,之后H 比特为s2,以此类推,若最后剩余数据为x bits(x ≤H),则在末尾填充H-x 个0 组成长度为H bits的sn。

③对aux 做hash 计算生成n 个数r1,r2,…,rn,其中aux 为辅助盐值参数,如病人的医保号码、批次号、密钥等。

④输出分割后的数据si和hash(aux)后的数据ri在有限域的内积(dot product)s1*r1+s2*r2+…+sn*rn作为脱敏数据h,脱敏后的数据h不可还原(图1):

⑤导出多条数据M1, …, ML的过程:不同的数据M1,…,ML进行分割得到数据sL.i,ri可以使用同一个aux进行hash计算输出生成n个数r1,r2,....,rn,分割数据和hash(aux)的内积输出s1.1*r1+s1.2*r2+…+s1.n*rn作为脱敏数据hj(图2):

本文提出的加密方案针对不同的用户数据和应用场景,具备灵活的数据颗粒度和控制策略,针对不同的加密数据长度和数据分割的颗粒度,为了便于标记,将本文提出算法的2 种参数方案分别记为datapara-128和datapara-64,针对这2种方案加以对比分析:

方案1:数据库中的M 数据信息是128 比特的密文,例如中医院导出病人手机号码给第三方科研机构,病人手机号在中医院数据库中是加密存储的,即M 是128 比特的AES 密文。可以设置C = 128,n = 2,H=64,q=2 的64 次幂,选用固定的混淆秘钥K,对外不公开,首先计算临时值temp = hash(密钥,医保号码,批次号,手机号),从临时值取出低64 比特r1,高64比特为r2;对于密文Mi,假设其低位64 比特值为ai,高位64 比特值为bi,输出不可还原数据hi为r1*ai+r2*bi(图3):

图1 导出一条数据的过程

图2 导出多条数据的过程

图3 datapara-128参数方案

图4 datapara-64参数方案

方案2:输出为64 比特时,|M|·E >148,其中E 是数据库中M 的熵,数据库中的数据信息M 为256 比特的密文,可以分割为n=16,H=16的数据s1,s2,…,s16,辅助参数的哈希hash(aux)输出16 个64 比特的r1,r2, …, r16,q 是64 比特大素数。输出不可还原数据h(图4):

表3 实现对象数据集格式

4 实验结果

为了评价本文提出算法的性能,采用相同的数据集格式和不同的数据量,对本文所提出的加解密方案、SHA-256(Secure hash algorithm,安全散列算法)加解密方案和MD5(Message-digest algorithm,信息摘要算法)加解密方案等3 种算法进行了实验对比分析。实验采用Intel(R) Xeon(R) E5-2690 v2 @ 3.0G HZ 的x86-cpu,Cache size(缓存大小)为25600 KB,64 位的linux商用操作系统suse12 sp4公开发行版。

在上述的软硬件环境下,本方案采用相同的数据集格式的基础上,针对不同的数据量对涉及敏感个人信息数据集进行加密处理。实验中在不同数据集大小的条件下,分别采用本文提出的datapara-128 和datapara-64 脱敏方案,以及使用sha256 加密方案和md5 加密方案对这些批量数据进行脱敏测试,并对同批次相同数据量,不同的脱敏算法方案所消耗的时间进行性能对比分析。

以aux取用密钥为256字节长度为例,当数据样本达到10 条的时候,本文所提出的datapara-128 和datapara-64脱敏方案耗时分别耗时10.5 ms和11.2 ms,传统加密算法sha256 和md5 脱敏方案分别耗时45 ms和23 ms,可见在数据量较小的情况下,本文的脱敏算法相比于传统的的加密算法优势不大(图5):

图5 数据量较小情况下各方案耗时对比

图6 数据量较大情况下各方案耗时对比

当数据量达到100 条的时候,datapara-128 和datapara-64 脱敏算法分别耗时22.5 ms 和28.2 ms,传统加密算法sha256 和md5 脱敏方案分别耗时452 ms和238 ms;当数据量100 万条的时候,datapara-128 和datapara-64 脱敏算法分别耗时1.5 s 和2.58 s,传统加密算法sha256 和md5 脱敏方案分别耗时42 s 和21.6 s;由此可见当数据量较大的时候本文提出的算法相比于sha256 和md5 的加密算法有显著的性能优势,并且随着数据量的不断增大,本文提出的算法耗时和传统的算法耗时成固定的比例关系(图6):

从以上数据对比可以看到在10条数据量情况下,本文提出的datapara-128和datapara-64脱敏方案相比较于sha256 和md5 的加密算法没有明显的优势,但是随着数据量的不断增加到1000000 条数据的时候,本文提出的算法方案具备显著的性能优势,本文提出的脱敏算法耗时和传统的加密算法耗时趋于稳定的数十倍比例关系。通过本文提出的datapara-128 和datapara-64 脱敏方案分析,可以发现加密耗时分为2个部分,一部分是aux秘钥的哈希算法耗时,哈希算法加密效率和传统的sha256 算法的加密效率是一致的,一部分是128 字节的Mi数据等长拆分后和aux 秘钥哈希值的卷积的耗时,但是哈希算法耗时是一次性的,不需要每条数据都计算;SHA256/MD5 加密方案的耗时为128 字节的Mi数据的加密算法耗时。所以在aux为固定长度密钥的情况下,随着数据量的增大到100万条的规模,可以推算出本文提出的加密方案和传统加密算法的耗时比趋向于内积算法和sha256、md5 的耗时比;实际的实验结果也可以看出,实际数据和推算的结果是相符合的。在aux 不取固定长度密钥的情况下,用户可以选择取用用户名、手机号、身份证号码等信息作为aux 辅助参数,各个方案的耗时和性能又各不相同,所以本文提出的算法方案给用户提供了灵活的策略控制机制。在中医药数据量非常庞大的情况下,这种脱敏算法有着极其优异的性能表现。

5 小结

本文针对传统的加密脱敏算法应用场景单一和数据处理效率不高的情况下,提出一种高效脱敏算法用以保护病人隐私数据保护方案,是一种针对不同的加密数据长度和数据分割颗粒度场景下的,基于属性的内积加密方案。通过在硬件平台上对该加密方案进行验证和性能对比发现,相较于传统的加密方案,本文提出的方案对于海量数据的脱敏加密具备较高的性能表现,在较大大数据量样本的情况下,性能是传统的加密脱敏方案的几十倍。本文提出的加密算法是对数据集进行全量加密,后续将会对数据集进行部分加密的差分隐私保护方案,以继续提升海量中医药敏感数据的处理性能,同时亦能达到保护中医药数据隐私的目的。

猜你喜欢

脱敏加密算法数据量
激光联合脱敏剂治疗牙本质过敏症
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
高刷新率不容易显示器需求与接口标准带宽
过敏体质与脱敏治疗
宽带信号采集与大数据量传输系统设计与研究
让青春脱敏
基于小波变换和混沌映射的图像加密算法
Nd:YAG激光作用下牙本质脱敏机制的研究
Hill加密算法的改进