发明内容
基于此,有必要针对传统的数据脱敏技术导致共享数据的处理效率低的问题,提供一种数据的脱敏方法和系统以及访问方法和系统。
一种数据的脱敏方法,包括以下步骤:
采集原始数据,将原始数据转换成数据单元;
对每个数据单元配置加密密钥,根据加密密钥对相应的数据单元进行数据脱敏,获得脱敏数据;
在接收到访问请求时,确定访问请求中的目标数据单元,根据访问请求获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对脱敏数据进行反向脱敏,获得目标数据。
根据上述本发明的数据的脱敏方法,其是将采集的原始数据转换成数据单元,对每个数据单元配置加密密钥,利用加密密钥对相应的医疗数据单元进行数据脱敏,获得脱敏数据;在接收到访问请求时,确定待访问的目标数据单元,从访问请求中获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对脱敏数据进行反向脱敏,获得目标数据。此方案中,通过为数据单元配置加密密钥,利用加密密钥进行数据脱敏,在访问数据单元时利用配对的解密密钥进行反向脱敏,可以获取完整的目标数据,便于对数据进行准确有效的处理,满足大数据应用和数据共享的应用要求。
进一步的,原始数据包括原始医疗数据,数据单元包括医疗数据单元,目标数据单元包括目标医疗数据单元。
进一步的,将原始数据转换成数据单元的步骤包括以下步骤:
以患者病例数据为单位将原始医疗数据转换为多个医疗数据单元。
进一步的,医疗数据单元的内容包括患者信息、医疗机构名称、医疗数据类型、医疗数据业务索引和医疗数据产生时间。
进一步的,数据的脱敏方法还包括以下步骤:
在访问结束后,对目标医疗数据单元的加密密钥进行更新,根据更新后的加密密钥对目标医疗数据单元进行数据脱敏,重新获得目标医疗数据单元的脱敏数据。
进一步的,数据的脱敏方法还包括以下步骤:
在接收到访问请求并经过预设的使用权限时间后,对目标医疗数据单元的的加密密钥进行更新,根据更新后的加密密钥对目标医疗数据单元进行数据脱敏,重新获得目标医疗数据单元的脱敏数据。
进一步的,将原始数据转换成数据单元的步骤包括以下步骤:
按照预设的数据类型和数值范围对原始医疗数据进行查验,若原始医疗数据的内容与预设的数据类型和数值范围相匹配,将原始医疗数据转换成医疗数据单元。
进一步的,按照预设的数据类型和数值范围对原始医疗数据进行查验的步骤包括以下步骤:
记录原始医疗数据所在的数据来源对象和执行采集原始医疗数据的操作对象。
一种数据的脱敏系统,包括:
数据采集模块,用于采集原始数据,将原始数据转换成数据单元;
数据脱敏模块,用于对每个数据单元配置加密密钥,根据加密密钥对相应的数据单元进行数据脱敏,获得脱敏数据;
数据获取模块,用于在接收到访问请求时,确定访问请求中的目标数据单元,根据访问请求获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对脱敏数据进行反向脱敏,获得目标数据。
根据上述本发明的数据的脱敏系统,利用数据采集模块采集原始数据并转换成数据单元,通过数据脱敏模块对每个数据单元配置加密密钥,利用加密密钥对相应的医疗数据单元进行数据脱敏,获得脱敏数据;通过数据获取模块,在接收到访问请求时,确定待访问的目标数据单元,从访问请求中获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对脱敏数据进行反向脱敏,获得目标数据。此方案中,通过为数据单元配置加密密钥,利用加密密钥进行数据脱敏,在访问数据单元时利用配对的解密密钥进行反向脱敏,可以获取完整的目标数据,便于对数据进行准确有效的处理,满足大数据应用和数据共享的应用要求。
一种可读存储介质,其上存储有可执行程序,该程序被处理器执行时实现上述的数据的脱敏方法的步骤。
一种脱敏设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的可执行程序,处理器执行程序时实现上述的数据的脱敏方法的步骤。
根据上述本发明的数据的脱敏方法,本发明还提供一种可读存储介质和验证设备,用于通过程序实现上述的数据的脱敏方法。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
参见图1所示,为本发明一个实施例的数据的脱敏方法的流程示意图。该实施例中的数据的脱敏方法,包括以下步骤:
步骤S110:采集原始数据,将原始数据转换成数据单元;
在本步骤中,原始数据包括需要使用的所有的初始数据,数据单元可以是数据管理的最小单元;
步骤S120:对每个数据单元配置加密密钥,根据加密密钥对相应的数据单元进行数据脱敏,获得脱敏数据;
在本步骤中,每个加密密钥都是不同的,加密密钥与数据单元相对应,使脱敏数据的安全性更高;
步骤S130:在接收到访问请求时,确定访问请求中的目标数据单元,根据访问请求获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对脱敏数据进行反向脱敏,获得目标数据。
在本步骤中,解密密钥可以包含在访问请求中;
在本实施例中,将采集的原始数据转换成数据单元,对每个数据单元配置加密密钥,利用加密密钥对相应的医疗数据单元进行数据脱敏,获得脱敏数据;在接收到访问请求时,确定待访问的目标数据单元,从访问请求中获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对脱敏数据进行反向脱敏,获得目标数据。此方案中,通过为数据单元配置加密密钥,利用加密密钥进行数据脱敏,在访问数据单元时利用配对的解密密钥进行反向脱敏,可以获取完整的目标数据,便于对数据进行准确有效的处理,满足大数据应用和数据共享的应用要求。
可选的,本实施例中的数据可以是适用于大数据应用的各种不同类型的数据,包括但不限于电商数据、医疗数据、金融数据、物流数据等等;
可选的,加密密钥和解密密钥是配对的,可以利用对称密钥算法计算得到两个密钥,当其中一个作为加密密钥时,另一个作为解密密钥;具体的,对称密钥算法可以使用“国家商业密码管理办公室”发布的256为SM3算法、SM4算法或者AE5算法。
在其中一个实施例中,原始数据包括原始医疗数据,数据单元包括医疗数据单元,目标数据单元包括目标医疗数据单元。
在本实施例中,数据脱敏的对象可以是医疗数据,由于医疗数据涉及到患者的基本信息和医疗信息等隐私信息,有必要通过脱敏手段将其隐藏,而在需要进行数据共享或者其他有管理需要的应用场景下,脱敏数据无法正常使用,因此有必要将本发明实施例的方案应用于医疗数据,便于对医疗数据进行共享和管理。
在其中一个实施例中,将原始数据转换成数据单元的步骤包括以下步骤:
以患者病例数据为单位将原始医疗数据转换为多个医疗数据单元。
在本实施例中,将原始数据转换成数据单元时,以患者病例数据为单位进行转换,在进行数据脱敏以后,可以使不同患者以及同一患者的不同阶段的病例数据受到不同的访问限制;医疗数据是精细化的数据,为了数据的安全,可以限制用户针对某一患者的某一病例数据进行访问,不能对该病患的其他病例数据所在的医疗数据单元进行访问,也不能对其他患者的病例数据所在的医疗数据单元进行访问,通过此种方式可以避免用户在访问医疗数据时越权访问。
在其中一个实施例中,医疗数据单元的内容包括患者信息、医疗机构名称、医疗数据类型、医疗数据业务索引和医疗数据产生时间。
在本实施例中,医疗数据单元的内容可以包括多种数据,如患者信息、医疗机构名称、医疗数据类型、医疗数据业务索引和医疗数据产生时间等等,以支持高精细度的数据加密。
需要说明的是,医疗数据业务索引包括主索引号,医疗病历号、住院号、门诊号等,上述内容可以作为医疗数据索引的索引项,供用户索引以便及时找到需要的医疗数据。
在其中一个实施例中,数据的脱敏方法还包括以下步骤:
在访问结束后,对目标医疗数据单元的加密密钥进行更新,根据更新后的加密密钥对目标医疗数据单元进行数据脱敏,重新获得目标医疗数据单元的脱敏数据。
在本实施例中,在访问结束后,可以对目标医疗数据单元的加密密钥进行更新,并重新进行数据脱敏,避免已用的解密密钥被盗用导致医疗数据泄露的风险。
可选的,在访问结束时,医疗数据是以脱敏数据的形式存在,此时可以先获取原始的解密密钥,根据原始的解密密钥对脱敏数据进行反向脱敏,获得目标医疗数据单元,再用更新后的加密密钥对得到的目标医疗数据单元进行数据脱敏,重新获得目标数据单元的脱敏数据。另外,根据更新后的加密密钥同时更新解密密钥。
在其中一个实施例中,数据的脱敏方法还包括以下步骤:
在接收到访问请求并经过预设的使用权限时间后,对目标医疗数据单元的加密密钥进行更新,根据更新后的加密密钥对目标医疗数据单元进行数据脱敏,重新获得目标医疗数据单元的脱敏数据。
在本实施例中,可以设置解密密钥的使用权限时间,在接收到访问请求时,开始使用解密密钥对脱敏数据进行反向数据脱敏,经过使用权限时间后,可以对目标医疗数据单元的加密密钥进行更新,并重新进行数据脱敏,避免已用的解密密钥被盗用导致医疗数据泄露的风险。
在其中一个实施例中,将原始数据转换成数据单元的步骤包括以下步骤:
按照预设的数据类型和数值范围对原始医疗数据进行查验,若原始医疗数据的内容与预设的数据类型和数值范围相匹配,将原始医疗数据转换成医疗数据单元。
在本实施例中,原始医疗数据在获取的过程中可能存在数据错误,可以按照预设的数据类型和数值范围对其进行查验,保证转换以后医疗数据单元的准确性。
在其中一个实施例中,按照预设的数据类型和数值范围对原始医疗数据进行查验的步骤包括以下步骤:
记录原始医疗数据所在的数据来源对象和执行采集原始医疗数据的操作对象。
在本实施例中,在对原始医疗数据进行查验的过程中,可以记录原始医疗数据所在的数据来源对象和执行采集原始医疗数据的操作对象,如此可以在原始医疗数据出现错误时,查找相应的数据来源对象和执行采集的操作对象,及时对原始医疗数据进行修正。
根据上述数据的脱敏方法,本发明还提供一种数据的脱敏系统,以下就本发明的数据的脱敏系统的实施例进行详细说明。
参见图2所示,为本发明一个实施例的数据的脱敏系统的结构示意图。该实施例中的数据的脱敏系统包括:
数据采集模块210,用于采集原始数据,将原始数据转换成数据单元;
数据脱敏模块220,用于对每个数据单元配置加密密钥,根据加密密钥对相应的数据单元进行数据脱敏,获得脱敏数据;
数据获取模块230,用于在接收到访问请求时,确定访问请求中的目标数据单元,根据访问请求获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对目标数据单元的脱敏数据进行反向脱敏,获得目标数据。
在本实施例中,数据采集模块210将采集的原始数据转换成数据单元,数据脱敏模块220对每个数据单元配置加密密钥,利用加密密钥对相应的医疗数据单元进行数据脱敏,获得脱敏数据;数据获取模块230在接收到访问请求时,确定待访问的目标数据单元,从访问请求中获取与目标数据单元的加密密钥配对的解密密钥,根据解密密钥对脱敏数据进行反向脱敏,获得目标数据。此方案中,通过为数据单元配置加密密钥,利用加密密钥进行数据脱敏,在访问数据单元时利用配对的解密密钥进行反向脱敏,可以获取完整的目标数据,便于对数据进行准确有效的处理,满足大数据应用和数据共享的应用要求。
在其中一个实施例中,原始数据包括原始医疗数据,数据单元包括医疗数据单元,目标数据单元包括目标医疗数据单元。
在其中一个实施例中,数据采集模块210以患者病例数据为单位将原始医疗数据转换为多个医疗数据单元。
在其中一个实施例中,医疗数据单元的内容包括患者信息、医疗机构名称、医疗数据类型、医疗数据业务索引和医疗数据产生时间。
在其中一个实施例中,数据脱敏模块220在访问结束后,对目标医疗数据单元的加密密钥进行更新,根据更新后的加密密钥对目标医疗数据单元进行数据脱敏,重新获得目标医疗数据单元的脱敏数据。
在其中一个实施例中,数据脱敏模块220在接收到访问请求并经过预设的使用权限时间后,对目标医疗数据单元的的加密密钥进行更新,根据更新后的加密密钥对目标医疗数据单元进行数据脱敏,重新获得目标医疗数据单元的脱敏数据。
在其中一个实施例中,数据采集模块210按照预设的数据类型和数值范围对原始医疗数据进行查验,若原始医疗数据的内容与预设的数据类型和数值范围相匹配,将原始医疗数据转换成医疗数据单元。
在其中一个实施例中,数据采集模块210记录原始医疗数据所在的数据来源对象和执行采集原始医疗数据的操作对象。
本发明的数据的脱敏系统与本发明的数据的脱敏方法一一对应,在上述数据的脱敏方法的实施例阐述的技术特征及其有益效果均适用于数据的脱敏系统的实施例中。
根据上述数据的脱敏方法,本发明实施例还提供一种可读存储介质和一种脱敏设备。可读存储介质上存储有可执行程序,该程序被处理器执行时实现上述数据的脱敏方法的步骤;脱敏设备包括存储器、处理器及存储在存储器上并可在处理器上运行的可执行程序,处理器执行程序时实现上述数据的脱敏方法的步骤。
在一个具体的实施例中,本发明实施例的方案可以应用于以大量医疗临床数据所形成的医疗智能大数据为核心的场景中。
医疗数据的共享和使用在未来的智能医疗、精准医疗中发挥巨大的作用。辅助诊疗、分级诊疗、慢病管理、科研协作等很多的应用场景都是以大量医疗临床数据所形成的医疗智能大数据为核心,要求对医疗临床数据进行规范化、标准化、集中化和平台化管理。
医疗临床数据在进入到大数据平台前,真实的医疗数据必须经过脱敏处理,以隐藏掉一些敏感的数据,如姓名,身份证、地址等。对数据的脱敏可以采用不同的算法搅乱或隐藏全部或部分数据。但传统的处理机制都是采用单向处理的方式,或称之为单向脱敏。单向脱敏是指数据经过脱敏处理后,再被访问或使用时,不能恢复到脱敏前的数据。但随着医疗大数据应用和医疗数据共享应用的进一步发展,简单的单向脱敏不能满足较为复杂的应用要求。
如在分级诊疗、慢病管理和科研协作等应用场景中,已经脱敏的数据在使用时,要求能够还原成原来的数据展示,也就是说脱敏数据要能够可复原。
本发明实施例提出了一个支持数据可复原的高精细度脱敏方式。该方式综合了先进的数据加密和数据动态访问控制机制,实现了对医疗临床大数据平台的数据脱敏和安全访问的支持。
应用场景如图3所示。医院A的数据和医院B的数据经过脱敏后,进入到数据云平台中。用户在使用云平台的数据的时候,可以有效地获得权限允许的数据,包括权限允许的可复原的数据。
脱敏的数据可以用于动态访问,患者数据的访问会被动态的授权给医院、医生和科研人员,因为医疗数据是精细化的数据,不同患者以及同一个患者的不同阶段的不同领域的数据可能受到不同的访问权限控制,就是说为了数据的安全,授权要针对某个患者的某个病例数据来进行。从而避免被授权某个患者的用户可以越权访问其他患者的数据,所以对数据授权管理的精度也有更高的要求。
医疗数据脱敏和动态授权访问的原理机制如图4和图5所示:
认证中心:负责用户的身份认证,确认用户身份的真实性。认证中心要求采用非对称性加密算法。认证密钥由个人公钥和私钥组成,利用公钥和私钥配合完成身份认证,并经过数字签名认证。在该专利申请中,认证中心采用国家授权的认证机构。
身份认证机制:认证密钥由个人公钥和私钥组成,并经过数字签名认证。利用公钥和私钥配合完成身份认证。
授权中心:负责对用户访问权限的动态实时授权。授权中心负责提供数据加密所需的加密密钥和还原数据所需要的解密密钥。
数据中心:为用户以安全的方式提供数据。如果所提供的数据需要还原数据,数据中心需要从授权中心获得还原数据所需要的解密密钥。
用户:访问脱敏数据的业务实体,可以是用户或者系统。
业务系统权限:是外部模块,定义业务的数据访问权限。
在数据脱敏过程中,数据脱敏的关键是加密密钥的产生和使用。所有的敏感数据都要进过数据脱敏流程,包括以下步骤:
原始数据采集:原始医疗临床数据指需要脱敏并加载到数据中心的数据。原始数据采集指对脱敏前的的数据的准备。采集的数据要保证在传输和存储过程中能够检测数据完整性、保密性、可用性。同时可以对数据采集的每个操作系统用户和数据库用户进行审计。
数据单元确定:负责采集数据的业务模块把采集到的原始医疗临床数据,整理成为数据单元。
数据单元指本发明实施例可以管理的医疗临床数据的最小单位,使用患者病例数据作为数据单元。数据单元的大小,取决于数据单元的所有维度。患者病例数据的索引维度包括患者信息,医疗机构信息、数据类型信息、数据业务索引信息(主索引、病例号、住院号、门诊号等)、数据时间信息等,以支持高精细度的数据加密。具体应用可以根据业务的需求增加或减少索引维度,以定义所需的数据单元大小。
加密密钥申请:数据脱敏模块(负责数据脱敏的业务模块)向授权中心申请加密密钥。
加密密钥产生:授权中心处理数据脱敏模块的申请,以数据单元为单位产生加密密钥,并返回给数据脱敏模块。
数据加密:数据脱敏模块从授权中心获得所需要的加密密钥,并应用到数据单元上,产生相应的脱敏数据。
数据加载:数据脱敏模块加载产生的脱敏数据到数据中心。
授权中心在接受数据脱敏模块的申请时,会产生病例密钥,病例密钥是以每个患者的病例数据为数据单位所配置独享的密钥对,包括一个用于医疗临床数据脱敏的加密密钥,和一个用户还原数据的解密密钥,用对称密钥算法计算得到。每个数据单元对应一个病例密钥。病例密钥采用对称密钥算法计算。对称密钥算法使用“商密办”发布的256位SM3或SM4算法,或AES算法。病例密钥由授权中心负责管理,被数据脱敏模块所使用。授权中心负责生成或更新患者数据的病例密钥,并通知数据脱敏模块。数据脱敏模块接到新的病例密钥时,对数据进行重新脱敏(用旧的访问密钥反向脱敏后,再用新的加密密钥脱敏)。
数据访问需要授权,只有在被授权的情况下数据才能被查看和使用,在部分授权或者没有授权的情况下只能看到脱敏后数据,也就是加密后的数据。数据访问流程包括以下步骤:
申请身份认证:用户向认证中心申请身份认证。用户提供自己的公钥和私钥给认证中心。
身份认证:认证中心处理申请,认证用户身份。
申请授权:用户身份认证后,向授权中心提出数据访问申请。所需要的参数包括用户和数据范围(用来确定需要访问哪些数据单元)以及任何和权限相关的参数。
授权:授权中心根据业务系统授权确定该用户本次访问的数据单元,以及每个数据单元的访问等级,获得相应的解密密钥。并返回用户。
数据访问:用户利用从授权中心获得的数据访问权限信息,向数据中心提出读取数据请求。
数据解密和交付:数据中心根据用户请求中的数据权限信息访问数据。数据权限信息是以数据单元为单位的。如果访问等级要求对数据进行解密,数据中心利用数据权限信息中的解密密钥对脱敏数据进行解密处理并返回给用户。
本发明实施例采用动态密钥管理的授权机制,实现用户访问脱敏数据时的权限控制和解密密钥授权管理:
病例密钥集中管理:加密和解密都需要通过访问授权中心获得病例密钥。病例密钥具有使用权限时间期限。
数据权限集成:医疗应用业务系统的数据访问权限要集成到授权中心的动态授权访问机制中。以数据单元为单位,针对某一个用户,外部业务系统权限将提供该用户可以访问的数据单元,以及每个数据单元的访问等级。
脱敏数据生成:脱敏数据生成是一个数据加密过程,其关键是加密密钥的设计。首先负责生成脱敏数据的业务模块把原始数据,整理成为数据单元。再从授权中心读取所需要的加密密钥,并应用到这些数据单元上,产生相应的脱敏数据。
脱敏数据使用:脱敏数据使用是一个数据读取和数据解密过程。使用数据的业务模块或用户首先访问授权中心实时获得动态的数据访问权限以及相应的解密密钥。所谓动态是指访问权限会根据业务系统权限而变化。用户再使用所获得的权限访问数据中心以获得数据。数据中心负责根据权限,对数据进行处理,包括数据解密。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。所述的程序可以存储于可读取存储介质中。该程序在执行时,包括上述方法所述的步骤。所述的存储介质,包括:ROM/RAM、磁碟、光盘等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。