APP下载

基于RBAC模型的医疗云平台的设计与实现

2020-05-08邓学剑沈济南许振武

关键词:访问控制路由医疗

邓学剑,沈济南*,许振武,梁 芳

(1.湖北民族大学 信息工程学院,湖北 恩施 445000; 2.湖北民族大学 理学院,湖北 恩施 445000)

0 引言

随着移动互联网的迅猛发展和移动终端产品的普及应用,云计算、大数据等技术开始推广应用于各个领域.尤其像医疗行业这种普适性极广、数据源分散以及拥有海量数据需要存储和处理的传统行业,传统技术在数据的采集、传导、存储、访问及分析处理上面临巨大的困难,因此医疗云系统和云平台的建设是大势所趋.然而,云计算和大数据带来共享性和高效率的同时,也带来医疗数据的隐私泄露和信息不安全的隐患,各类用户隐私数据和信息泄露事件时有发生.医疗数据安全是用户与医疗云平台之间产生信任的基本保障.

目前,针对医疗云平台的安全访问控制研究比较匮乏,且现有的研究多为理论层面,Zhang R等[1]讨论了医疗云中电子健康记录(Electronic Health Records,EHR)共享与集成的重要概念,分析了在EHR访问与管理中出现的安全和隐私问题,描述了一个用于管理医疗云中安全问题的EHR安全参考模型.Li M等[2]提出云环境下使用属性基于加密(Attribute Based Encryption,ABE)技术实现个人健康记录(Personal Health Records,PHRs)访问控制框架.姚琴[3]提出了基于Hadoop的医疗大数据处理系统,通过采用分布式计算处理数据采集、分析以及存储问题和设计了以虚拟化技术为核心的医疗私有云.杨家朋[4]提出一种以脑卒中医作为研究背景,引入个性化授权与用户行为信任等级的访问控制模型,从而实现细粒度访问控制以及动态授权.黄薇等[5]对我国医疗信息化现状进行了分析,对基于云计算的多模态健康数据服务平台总体框架进行设计,并对这一平台建设关键点进行了分析.Li M等[6]提出了一种新的以病人为中心的结构和方法,利用基于属性的加密(ABE)来实现对个人健康记录的可伸缩和细粒度数据访问控制.Sumathi等[7]研究了医学图像检索(Image Retrieval,IR)中的云调度问题,提出了一种改进的二进制粒子群算法,使敏感的医疗数据更加安全.

此外,为实现医疗云中数据安全共享,Narayan等[8]探讨了保证云中医疗数据安全性和隐私性的技术,展示了如何使用基于属性的密码学中的新原语来构建一个安全隐私保护的EHR系统.唐维维[9]提出了一种区域医疗信息数据共享方案,并在云平台架构基础上运用SOAP技术结合Web服务来实现XML病历文件的远程调用以及电子病历共享,为区域内医疗机构提供了进行数据安全交换与共享的平台.Yoo等[10]率先构建了医院的私有云,该私有云基于云计算的虚拟桌面基础设施(Virtual Desktop Infrastructure,VDI)允许无时间或地点限制地访问计算机,可以快速建立移动医院环境,方便了医疗大数据的管理与利用.Yang J J等[11]提出了一种云环境下医疗健康记录隐私保护及共享方案.在对病历属性进行分类的基础上,利用医学数据集的垂直划分,实现了对不同隐私关注点的医学数据不同部分的考虑.Maher等[12]提出了一种使用安全模式开发安全医疗信息系统的模型驱动方法,在分布式异构环境中,不同的医生和技术人员共享这些信息.

图1 玖康云平台基础架构Fig.1 Jiukang cloud platform infrastructure

图2 医疗云平台总体功能架构Fig.2 Overall functional architecture of the medical cloud platform

通过对医疗云背景的调研以及相关文献的分析和总结,课题组在文献[13]提出了云环境下用户数据隐私保护总体研究框架,涉及:①针对云平台本身的访问控制安全问题;②针对静态数据的处理问题;③针对动态数据进行的处理问题.本文聚焦于云平台访问控制安全问题,并以医疗云环境为背景,采用基于角色的访问控制(Role Based Access Control,RBAC)[14-15]对平台的权限进行控制,最终完成医疗云平台的设计与实现.

1 医疗云平台功能设计

图1为玖康云平台基础架构图,平台提供了方便集成的基础设施服务,支持移动端APP、PC端数据可视化、网页、小程序、微信公众号以及AI智能设备等,为用户提供在线健康咨询的同时,使用数据匿名、差分、审计、加密、访问控制技术等对用户医疗数据进行处理,保障其安全性,对医疗大数据进行分析能促进学术研究与交流,为临床提供决策支持,对公共卫生与管理以及医药研发都是强劲的助力.

玖康云医疗平台总体功能架构如图2所示,玖康云平台分为患者端、医生端和后台管理端三个模块.其中前端患者端和医生端采用APP方式,调用后台接口实现就诊看病、医疗文章浏览等功能;后台管理员采用PC界面操作实现医疗数据信息维护及后台权限控制等功能.

1)患者端:包括个人信息管理、咨询医生、查看医疗文章.患者在APP端注册后登录玖康云平台,并完善个人信息,通过客户端提供的专家导航栏,对照自己的病情选择就诊的科室和医生并连线在线医生进行咨询和就诊,填写基本病情信息,上传健康档案、化验单、CT图片等病情相关文件,缴纳咨询和诊疗费用后,等待医生看诊.就诊结束后,可以对医生的诊疗服务及病情的康复状况进行线上评价,在个人主页中,患者还可以查看收藏文章和咨询信息等.

2)医生端:包括查看医疗文章、个人信息管理、回答咨询.医生在APP端注册后登录玖康云平台,完善个人信息,经后台授权完成资格认证后,通过APP的消息提示,在线医生及时接受患者的就诊请求,根据患者选择的咨询方式与其互动交流,了解病情并反馈结果,完成开单诊病工作,在个人主页中医生还可以查看和发表医疗文章.

3)后台管理端:包括系统管理(包括路由、权限、角色、菜单、用户、规则、日志、机构、配置等功能)、基础数据管理(包括会员管理、医院管理、科室管理以及医生管理)、内容管理(包括评论管理、分类管理、留言管理、文库管理以及新闻管理)、财务管理(包括咨询订单、药品管理和评论管理).

图3 基于角色的访问控制模型Fig.3 Role-based access control model

图4 用户、角色、权限、路由层次关系Fig.4 User,role,permission and routing hierarchy

2 医疗云平台中的访问控制策略

2.1 基于RBAC的访问控制模型

医疗云平台权限控制机制采用基于角色的访问控制(RBAC),用户通过角色这个中间环节来实现对系统功能的访问控制,角色可以关联一定的权限、路由.如图3所示为玖康云平台的RBAC模型关系图,所有用户与权限节点不直接关联,而是通过将角色赋予用户,然后将权限授权给角色,从而实现了对用户权限的访问控制.通过角色这一核心来连接用户与权限,从而使得对用户的授权更加简便.

用户、角色、权限以及路由之间的层次关系如图4所示,由图可以知道:①一个用户能够对应多个角色;②同一角色能够授权给多个用户使用;③同一角色能够对应多个其他角色、权限以及路由;④同一个权限能够对应多个其他权限或者路由;⑤路由实际是最小级别的权限,权限也可以理解为小型化的角色,角色是最大级别的权限.

2.2 平台权限的实现

玖康云后台管理系统中访问控制机制的实现涉及数据库的实现,路由、权限、角色、用户的建立和分配等,权限相关实体联系如图5所示.其中auth_assignment用于给用户绑定角色或权限,auth_item用于记录角色、权限、路由信息(或者统称为权限,因为它们的区别只是粒度不同),auth_rule用来设定权限规则,auth_item_child用来记录权限、路由、角色之间的关系,一般记录内容为某个权限对应哪几个路由,或者某个角色对应哪几个权限.

其中路由模块的功能主要是针对系统中的路由信息进行维护,既可以检索系统中所有的路由,又可以新增路由.对于实现某些功能操作的路由,根据需求选择将其插入到数据库auth_item数据表中,方便后续对已选中的路由进行使用.路由过程如图6所示.由图6可以知道:①首先读取backend/config/main.php主配置文件,找到modules模块;②然后解析modules模块,若有子模块则递归遍历子模块,找到所有路径规则;③接着依据模块路径规则,从而生成命名空间;④接着依据命名空间找到模块下面所有的控制器文件;⑤然后在控制器文件中识别出所有的动作函数(即action+动作名);⑥最终形成“模块/控制器/动作”这种格式的所有路由.

图5 权限相关实体关系 图6 路由形成过程 Fig.5 Permission-related entity relationship Fig.6 Route formation process

3 平台实现

医疗云平台的患者和医生的客户端 APP基于HTML、CSS和JavaScript语言,采用Apicloud框架混合开发而成;玖康云后台管理web系统基于PHP语言,采用Yii2框架进行开发,系统利用phpStudy配置Apache+MySQL+PHP环境.系统管理员admin创建一个新的系统管理员账号,并为其分配特定权限,使其拥有进行系统管理(用户、角色、权限、路由、日志、菜单、机构以及配置等)、基础数据管理(包括医院管理、科室管理、会员管理以及医生管理)、内容管理(包含分类管理、文库管理、新闻管理、评论管理以及留言管理)与财务管理(包括订单管理、评论管理)的资格.其中对玖康云平台的访问控制权限实现如图7所示.

图7 系统权限控制界面Fig.7 System permission control interface

医生和病人可以通过移动端APP进行医患线上互动,实现医生在线看诊和病人在线就诊,如图8所示.当用户(医生和病人)注册登录后,完善个人信息, 被授权权认证(医生)后,可进行线上咨询与诊疗,还能对订单进行实时查询和管理.

图8 客户端APP界面Fig.8 Client APP interface

4 结语

医疗云平台为医疗行业的发展提供了强有力的支撑,医疗数据安全问题是制约医疗云快速发展的绊脚石.本文聚焦于医疗云平台的访问控制安全,并以医疗云环境为背景,采用RBAC对平台的权限进行访问控制,最终完成医疗云平台的设计与实现.对于课题组提出的动态数据和静态数据的安全处理问题将在以后作进一步研究.

猜你喜欢

访问控制路由医疗
《现代仪器与医疗》2022年征订回执
一种跨策略域的林业资源访问控制模型设计
《现代仪器与医疗》2022年征订回执
新型医疗废弃物焚化舱
铁路数据网路由汇聚引发的路由迭代问题研究
一种基于虚拟分扇的簇间多跳路由算法
内外网隔离中ACL技术的运用
路由重分发时需要考虑的问题
云计算访问控制技术研究综述
空基Ad Hoc路由协议研究