APP下载

结构化电子病历的敏感数据保护方法探讨*

2022-10-31王兴强周振宇

中国卫生质量管理 2022年10期
关键词:敏感数据访问控制敏感度

——王兴强 周振宇 孟 娜

随着信息化水平的逐步提高,电子病历得到普及,但患者隐私泄露等问题日渐凸显。2018年10月,腾讯智慧安全发布《医疗互联网服务敏感数据泄露风险调查报告》,指出国内多家三甲医院接入的第三方医疗服务平台存在严重逻辑漏洞,这可能导致就诊患者的个人信息以及就诊信息等泄露。如何保证患者的敏感数据不外泄是一个重要课题。

本研究设计了一种敏感数据访问控制模型,该模型采用规则引擎技术[1],通过构建患者敏感度引擎解决患者的身份、单位、职务、参与任务涉密级别、涉密时间等要素与敏感数据的相关性问题,以提高访问控制的灵活性和敏感度,满足不同角色医务人员对患者敏感数据的访问控制需求。

1 电子病历的访问控制

1.1 基于角色的权限访问控制模型

基于角色的权限访问控制(Role-Based Access Control,RBAC)模型是一种高效、灵活的访问控制模型,是对敏感数据实现隐私保护的重要方法[2]。该模型包括用户、角色和许可等访问要素,被授权许可给角色,角色被授权给用户,而用户不直接与许可关联[3],如图1所示。

图1 基于角色的权限访问控制模型

例如:用户是“刘某某”,角色是“住院医师”,许可是“书写病历”。系统管理员将“创建病历”“书写病历”“浏览病历”“导出病历”“打印病历”等权限授权给“住院医师”,用户“刘某某”在具有“住院医师”角色的同时拥有了相应权限。

图2 基于规则引擎的敏感数据访问控制模型

1.2 电子病历系统的角色管理

在医院,医生、护士以及医技、药剂、医保、质管、病案等工作人员都会接触到电子病历。其中,医生根据资质、职称等分为住院医师、主治医师、副主任医师、主任医师,还可根据患者所在科室分为本科室医师和其他科室医师,根据工作安排分为值班医师和会诊医师等。每种角色的医生具有的电子病历访问权限都不相同,同一名医生有时具有多个角色,因此,电子病历系统的角色管理较为复杂[4-5]。

1.3 电子病历系统的许可管理

许可授权分为菜单功能授权和数据访问授权。在电子病历系统中,数据访问授权是以菜单功能授权为基础,从敏感数据隐私保护出发,依据最小权限原则[6],部分角色具有“浏览病历”权限,但不具有访问病历中某数据项权限。例如,质管工作人员可授予“浏览病历”权限,但不授予浏览病历中身份证号、手机号、住址等敏感信息权限。即使是具有访问患者敏感信息权限的角色,对于有涉密要求的患者敏感信息,还需要根据患者的身份、单位属性、职务、参与涉密任务与涉密时间等信息进行综合判定,从而决定是否授权访问。

2 基于规则引擎的敏感数据访问控制

针对电子病历系统中的角色管理和许可管理,本研究在RBAC模型基础上,构建了角色引擎和敏感度引擎,设计了基于规则引擎的敏感数据访问控制模型。

2.1 访问控制模型

基于规则引擎的敏感数据访问控制模型简称RESD-RBAC模型,如图2所示。

RESD-RBAC模型构建了角色引擎,实现了动态角色管理,可以根据用户身份、用户职称、就诊信息、排班信息等判定用户当前角色及最大权限集;同时,构建了敏感度引擎,根据敏感数据类型、患者身份信息、患者单位涉密等级、患者职务涉密等级、参与涉密任务、涉密起止时间等判定敏感数据项的敏感度等级。该模型进行许可授权分为菜单功能授权和数据访问授权两种情况:一种是根据角色引擎计算的最大权限集,判定哪些菜单功能是被许可的,哪些是无访问权限的;另一种是被许可菜单功能中涉及敏感数据项的访问授权,根据敏感度引擎计算的敏感数据项的敏感度等级以及密钥对密文数据进行解密输出。

该模型有以下实体集:用户集(U)、用户身份集(UI)、用户职称集(UT)、就诊信息集(VI)、排班信息集(SI)、角色集(R)、操作集(O)、敏感数据类型(SC)、患者身份信息(PI)、患者单位涉密等级(PU)、患者职务涉密等级(PJ)、参与涉密任务(SM)、涉密起止时间(ST)、敏感度集(S)、密钥集(EK)、密文数据集(ED)、控制对象集即敏感数据项集(SD)。其形式化表示如下:

(1)角色集(R)。

R= {(ui,ut,vi,si)|ui∈UI, ut∈UT, vi∈VI, si∈SI}

(2)敏感度集(S)。

S= {(sc,pi,pu,pj,sm,st)|sc∈SC,pi∈PI,pu∈PU,pj∈PJ,sm∈SM,st∈ST}

(3)敏感数据项集(SD)。

SD= {(s,ek,ed)|s∈S,ek∈EK,ed∈ED}

(4)用户-角色关系(UR)。

UR⊆U×R

(5)角色操作授权(RO)。

RO⊆R×O

2.2 访问控制架构

结构化电子病历的敏感数据项访问控制架构如图3所示。其包含4个组件:REAC组件、MFAC组件、SEAC组件、SDI组件。该架构利用REAC组件实现用户的角色请求,利用MFAC组件实现菜单功能的访问控制,利用SEAC组件实现敏感数据项的敏感度计算,利用SDI组件获取所访问电子病历文档类型的敏感数据项列表。

图3 结构化电子病历的敏感数据项访问控制架构

图4 电子病历系统输出效果

当用户向系统发出请求访问某病历文档后,REAC组件确定用户当前具有的最大访问权限角色,再由MFAC组件根据角色判断用户是否具有访问病历文档的菜单权限和功能权限,若没有则拒绝响应,若有则将“EMRDOC TYPE”发送到SDI组件获取所访问电子病历文档类型的敏感数据项列表,将“EMRDOC Request”发送到EMR数据库获取经过加密处理的电子病历文档。SEAC组件计算该患者电子病历文档的每项敏感数据项的敏感度后,发送“Decrypt Request”至解密服务器,再由解密服务器根据敏感度解密敏感数据返回相关信息。

2.3 访问控制算法

基于规则引擎的敏感数据访问控制算法是根据访问控制架构中的访问控制机制对敏感数据实施保护,并依据访问请求,返回一个XML电子病历文档。敏感数据访问控制算法如下:

Input:用户请求 Request;敏感数据加密的电子病历文档emrDoc.xml;

Output:返回电子病历文档Result.xml。

其中:userInfo为用户信息,patientInfo为患者信息,schedulInfo为值班信息,action为行为操作,key为密钥。

算法描述:

role = GetMaxRole(userInfo,patientInfo,schedulInfo);//当前用户具有最大访问权限的角色role

If(menufunc in menufuncs(role)) //当前进行的操作为 menufunc

SDItems = GetSDItems(emrDocType);// emrDocType为文档类型,SDItems为敏感数据项列表

for(SDItem in SDItems)

{

SDLevel=GetSDLevel(SDItem, patientInfo);// SDLevel为敏感数据项敏感度等级

SDDecrypted=Decrypt(SDItem, SDLevel, key);// SDDecrypted为解密后的敏感数据

Append(SDDecrypted,Result.xml);

}

end if

Return Result.xml。

其中:GetMaxRole()实现角色的动态性判定、用户不同角色授权以及三级医师、值班医师、会诊医师的动态调整等,在最小权限原则前提下,判定用户多角色状态下的最大权限角色;GetSDLevel()实现敏感数据项的敏感度等级计算,结合敏感数据类别、患者身份信息、患者单位涉密等级、患者职务涉密等级、参与涉密任务、涉密起止时间等判定敏感数据项的敏感度等级。

3 应用

以某院电子病历系统应用为例,把电子病历系统数据库作为密钥的存储者和管理者,把解密服务器嵌入电子病历软件系统中,把包含加密数据的电子病历文档文件存储于医院内网的病历服务器中。患者陈某某因在执行某保密任务时意外足跟断裂就医,药剂科工作人员于某某登录电子病历系统查看病历,审核用药情况。患者陈某某发生足跟断裂的时间、地点、主诉内容及陈某某的个人信息均属敏感信息,电子病历系统应用该模型输出效果如图4所示,图5则为该病历文档结构化存储片段。

图5 病历文档结构化存储片段

4 讨论

在电子病历不断普及的大背景下,患者敏感信息的保护得到了普遍关注。比如:郭子菁等[7]、秦盼盼等[8]从全生命周期视角,分别围绕医疗大数据和电子健康档案提出了隐私保护策略;刘光磊等[9]在改进K-匿名算法和L-多样化匿名算法基础上,提出了基于敏感属性聚类的电子病历隐私保护算法;李孝利等[10]提出了一种基于角色的时态隐私数据访问控制模型和授权策略,解决了基于XML的时态数据库中的隐私数据保护问题;Liu H等[11]、王彤彤等[12]采用区块链技术,解决了电子病历共享及隐私保护问题。本研究在构建模型前复习了大量文献,发现目前方法均不适用于多角色用户条件下不同敏感程度的电子病历数据保护需求。因此,本研究立足临床业务实际,构建了RESD-RBAC模型,实现了这一需求。

该模型在RBAC 模型基础上,增加了对访问用户的角色细化和动态调整以及对结构化电子病历敏感数据项的敏感度计算,符合结构化电子病历系统的客观需求。同时,密钥、加密数据及解密服务三方相互独立,确保了加密病历文件脱离医院内部环境就无法解密[13-14]。该模型采用了在电子商业中被广泛使用的RSA非对称加密算法,其特点是加密时用公钥,解密时用私钥,即使密文被窃取也无法破解。实践证明,该模型适合于网络环境下结构化电子病历信息的安全访问,提高了访问控制的灵活性和敏感度,具有良好的可操作性,能够较好地满足电子病历系统中患者敏感信息的访问控制需求。即使在有保密要求的行业医院或部队医院,将该模型应用于电子病历系统中,也可以实现患者敏感数据的安全访问。

但在应用该模型时也需注意,其目前仅在特定医院的电子病历系统中得到应用,算法中参与敏感度计算的内容需要根据不同应用环境进一步修订或调整,其动态配置方案也需要深入研究。同时,安全手段的应用可能会对业务工作效率造成一定影响;算法在不同电子病历应用场景的实时性需求也将是下一步研究方向。

猜你喜欢

敏感数据访问控制敏感度
一种跨策略域的林业资源访问控制模型设计
假体周围感染联合诊断方法的初步探讨*
一种基于属性的两级敏感度计算模型
基于大数据的智能数据脱敏系统
关于数据防泄露(DLP)的论述
内外网隔离中ACL技术的运用
云计算访问控制技术的运用及论述
浅谈企业数据安全风险分析及保护
云计算访问控制技术研究综述
下尿路感染患者菌群分布及对磷霉素氨丁三醇散敏感度分析