引言
现有医疗机构中已经部署了来自多个厂商的多种医疗应用系统。这些医疗应用系统在运行平台、应用架构以及应用接口上存在明显的差异,缺乏统一的安全防护,应如何实现多样、异构应用系统之间的统一安全防护?
一、总体设计
在信创背景下,本文提出一种基于Linux操作系统的虚拟网络层安全增强技术,利用不同应用系统在网络通信上的接口协议一致性、平台兼容性和流量汇聚性,基于网络流量检测和过程干预技术,实现在网络层叠加安全增强机制。
该安全增强框架运行在网络层,对现有的医疗应用平台业务流程无影响,不需要对现有应用系统急性改造或升级(即应用无感)。
基于网络层的安全认证过程需要确保对应用无感,安全增强过程需要“静默”插入到应用业务流程中,实现对业务流程的安全干预。因此,本文提出基于网络流量的安全检测和流程注入技术。
该技术对主机网络接口进出数据流进行检测,检出关键应用业务流程,并通过操作系统网络协议栈接口,在业务数据通信流程中注入安全过程(如:身份认证,传输加密等)。通过对网络协议栈处理流程的研究,在业务关键点中注入安全过程,管理应用过程状态和应用数据缓存,实现应用无感的安全过程注入。
综上所述,通过构建轻量级、跨平台、与应用无关的统一安全认证系统,可以实现应用透明的安全增强,加速现有多医疗应用系统安全加固和升级,提升现有医疗应用系统整体安全性。
二、需求分析
目前,互联网+医疗应用的迅速发展,医院信息化架构也在不断的适应需求的变化。其中,医院外联平台是医院内网业务与互联网的连接枢纽,通过统一的接口方式对外提供服务。
基于互联网的业务分为两类,一类是面向患者提供的服务,例如互联网医院。另外一类是医院管理类应用,例如为医务人员提供的排班考勤、费用报销等业务。
互联网业务基本都是部署在公有云环境中,通过医院外联平台与医院内网信息系统进行交互。因此,医疗业务信息安全的关键部分就是实现医院外联平台与第三方应用云的数据传输保护和身份认证。
三、关键技术
1.Netfilter框架
Netfilter是由Linux内核提供对网络数据包操作和修改的框架。本文基于Netfilter框架开发相应的钩子函数,并挂载在NF_IP_PRE_ROUTING、NF_IP_LOCAL_IN、NF_IP_FORWARD、NF_IP_LOCAL_OUT、NF_IP_POST_ROUTING处,可实现对网络层数据包的截获、修改、转发等处理。
图1 Netfiler框架钩子机制及应用流程
在本文中,对于数据接收,在NF_IP_LOCAL_IN节点注册安全处理函数,实现对接收到的数据包的安全处理;对于数据发送,则在NF_IP_LOCAL_OUT节点注册安全处理函数,实现对发送的数据包的安全处理。
2. 国密算法
国密算法的主要功能是加密保护和安全认证,具有防篡改和不可抵赖的特性。与在医疗业务中普遍使用的国际公开密码算法相比较,国密算法具有自主可控性、安全性和性能高等优势。
在国密算法中,应用的最广泛的是SM2、SM3、SM4算法,其中,SM2是椭圆曲线公钥密码算法,主要用于身份认证;SM3是密码杂凑算法,主要用于数据完整性校验;SM4是对称加密算法,用于数据传输保护。
四、系统架构设计
1.总体架构
第三方应用服务器部署在公网云端环境;医院外联安全平台部署在医院内网交换区,主要接收和处理来自医院外网的各种请求;密钥管理中心,部署于医院内网核心区,用于对服务请求的密钥进行管理、实现国密算法、身份认证以及加解密流程。系统总体架构见图2。
图2 系统总体架构
2.第三方应用服务器软件结构设计
第三方应用服务器软件包括原始业务模块、基于netfilter的数据包处理模块、安全认证静默插入模块、数据加密静默插入模块。除了原始业务模块外,其余模块均是基于Netfilter框架进行开发,并以一种与应用业务无感的方式进行实现。见图3。
图3 第三方应用服务器软件结构示意图
3.外联安全平台与密管中心软件结构设计
医院外联安全平台由数据包检测模块、安全认证和数据加密模块、医院核心信息系统接口调用和预警和统计服务组成。
医院外联安全平台接收到第三方应用服务器的请求后,解析数据包,并进行身份认证,身份认证通过后,对数据包进行解密处理。
对于需要和医院核心系统进行交互的请求,医院外联安全平台调用相应接口进行数据请求,并将得到的数据加密后返回给第三方应用服务器。
身份认证和数据加解密需要和医院密管中心进行交互。医院密管中心主要实现对密钥的管理、国密算法SM2、SM3、SM4的实现、身份认证和密钥协商等功能。
医院外联安全平台和密管中心软件结构示意图见图4。
图4 医院外联安全平台和密管中心软件结构示意图
4.安全认证流程
通过注册阶段、认证及密钥协商阶段、加密消息交互阶段,实现医疗互联网应用与医院内网核心信息系统之间的身份认证、数据传输加密;
通过身份认证机制,防止仿冒身份信息;
通过动态化密钥协商方法,避免医疗敏感数据在传输过程中被窃听、篡改、重放攻击等安全威胁;
通过采用国产商密加解密技术,提升安全性同时降低计算耗时和通信量。
具体流程如图5所示。
图5 身份认证及加解密流程
五、结论
本文在信创背景下,运用Linux操作系统中的Netfilter框架特性及国密算法,设计了一套完整的医疗信息加密通信方案。
在医疗信息内外网通信中,医院外联平台和应用云平台是最重要的通信“枢纽”。方案运用国密算法实现通信“枢纽”间的身份认证、动态密钥协商、数据加密传输的安全机制,解决了现有医疗信息系统安全性建设薄弱的问题。此外,利用轻量级虚拟技术解决现有医疗应用系统安全增强的瓶颈问题,实现安全增强成本最小化。
相比与传统的补丁式安全升级方法,本文创新性地提出了应用系统“透明”的安全增强方法,利用虚拟化技术在网络层实现与应用无关的隐安全层,不需要应用系统参与改造或升级,并且支持持续的安全升级、灵活的安全配置和多样化的安全架构,可以满足不同规模医疗系统的安全增强需要。可有效解决信创背景下复杂医疗应用系统安全改造难的问题,使得安全系统部署的成本最小化,降低多厂商、多平台复杂医疗应用的安全建设复杂度。
本文作者
成都市第三人民医院
袁静 代里嘉 黄路非 李暄
往期推荐
《中国数字医学》2024第11期目录
沉浸式看案例~北京友谊医院语音生成电子病历实践
武汉市第一医院: 治疗系统全闭环管理
如果您认为文章内容有意义,请给我们点个在看