互联网环境下的医疗数据安全交换技术研究

2013-08-07 07:50何剑虎周庆利
中国医疗设备 2013年4期
关键词:数字签名文档服务器

何剑虎,周庆利

浙江大学医学院附属妇产科医院医学工程科,浙江 杭州 310006

0 前言

随着我国医疗信息化步伐的加快,医疗行业的各种信息系统应用也如雨后春笋般出现。而我国医疗机构的网络架构,基本遵循内部和外部两套独立网络运行,呈现互相隔离的状况,其主要原因是当前没有一种足够可信的信息安全保障措施。在互联网环境下,数据安全问题主要来源于两个方面:一是计算机软件病毒破坏;二是安全入侵[1]。由于医疗数据的特殊性,在保障数据完整性的同时,需要着重阻止来自互联网的各种攻击,避免非法访问和隐私泄露。安全数据交换系统的基本理念是在切断内、外部网络间直接连接的同时,结合访问控制、身份鉴别等安全机制,实现不同安全等级网络之间数据交换,防止内网设施和数据资源被破坏,保证医疗数据的完整性、实时性[2]。本文研究综合运用网络安全隔离技术,SSL(安全套接层)、VPN(安全套接虚拟专用网)技术,在Internet(互联网)应用环境下构建跨安全域医疗信息交换通道,保障医疗机构内部网络与数据安全,并采用XML(可扩展标记语言)数据签名技术保证医疗文档的完整性和不可抵赖性。

1 关键技术

本文研究,在网络设施和应用数据两个层面采用安全隔离与加密技术,保护内部网络、数据资源,以及传输中的医疗数据安全。

1.1 网络安全隔离技术

医疗机构内、外网异构系统、数据库之间不能安全流畅地交换数据成为区域信息集成的主要瓶颈之一,阻碍了医疗信息化的发展。需求推动了安全技术的创新,在20世纪90年代,Ry Jones首先提出“AirGap”隔离概念。而后出现了物理隔离卡,实现网络间的安全隔离。接着又诞生了专有硬件,实现两个网络在不连通的情况下数据的安全交换和资源共享,从而使安全隔离技术从单纯实现“网络隔离禁止交换”发展到“安全隔离信息交换”。目前,物理安全隔离技术主要应用于军队、跨区域的电子政务和企业管理等[3-5]。已有医院采用上述技术实现网上预约挂号、短信查询功能[6-7],但总的来说医疗领域的相关应用还非常少。

物理安全隔离设备的应用主要解决以下问题:① 实现两个互为隔离的网络间的安全、高速、可靠地应用层数据交换;② 除了特别指定允许的数据交换之外,完全隔离其他的各种网络连接;③ 有效的身份认证,使用安全隔离网闸进行数据交换的用户的身份有可靠的认证机制;④ 对传输的数据,应当保证其完整性,防止非法篡改;⑤ 保证授权实体在需要时可以正常地通过安全隔离网闸进行安全、可靠的数据交换,保证其可用性;⑥ 对所有的数据交换行为,应当保证其不可否认性,能够证明一条信息的发送与接受,保证发送方和接受方都有能力证明发送和接受操作确实发生了,并能确定发送和接受者的身份。

由于物理安全隔离设备隔离了医疗机构的内网与互联网之间所有非授权的数据通道,因此可以有效地阻止来自互联网的病毒和黑客攻击。

1.2 基于XML的数字签名

数字签名(Digital Signature)源于加密技术,目前主要使用基于公钥密码体制的数字签名,如RSA 签名、DSA 签名。一方面可满足随着计算机网络与信息技术的发展产生的信息安全保障的需要,另一方面它又提供了比纸质签名更为安全方便的工作方式,具有比传统纸质签名不可比拟的优点。2005年4月1日,我国《电子签名法》开始实施,在法律上明确规定电子签名与纸质签名具有同等法律效率。

为了确保XML文档在信息交换中的安全性和完整性,IETF和W3C共同组建的XML数字签名工作组于2001年公布了XML数字签名规范。为了加强医疗数据交换中的安全性,可利用XML模板映射和数字签名技术,在应用层面实现内外网异构数据库之间的透明互操作,进一步保证数据的完整性,XML数据签名的优点是可实现灵活的多重 签 名。IETF/W3C XMLDSIG(XML-Signature Syntax and Processing)规范的XML 数字签名语法结构如下[8-9]:

其中,〈Signature〉是XML签名文档的根元素,它最多包含signedInfo、signatureValue、keyInfo、object四个子元素。SignedInfo元素描述签名信息,它包含规范和算法元素。CanonicalizationMethod元素表示规范化算法。SignatureMethod元素指定将SignedInfo元素转换为SignatureValue元素所使用的签名算法。Reference元素指定被签名数据文档。Transforms指定了在摘要算法所做的转换,DigestMethod子元素指定签名时使用的散列算法,DigestValue子元素存放摘要信息。SignatureValue表示数字签名的计算值。可选元素KeyInfo指定验证签名所使用的公钥信息。

国际上,医疗信息系统集成IHE(Integrating The Healthcare Enterprises)规范在ITI-TF技术框架提供了DGS(Digital Signature,数字签名)实施方法,目前仍处于试验阶段,该技术框架所实现的医疗文档电子签名,需要遵循 ETSI TS 101 903 :XAdES(XML Advanced Electronic Signatures)等规范。XAdES是XML 数字签名规范XMLDSIG扩展[10-11]。

1.3 SSL加密传输技术

SSL(Secure Sockets Layer)是Netscape 公司开发的应用于传输层的面向连接的通信安全协议,支持使用X.509数字认证。SSL协议运行于TCP/IP 协议之上而对应用层透明,使用不对称加密技术在会话双方之间建立身份鉴别、授权认证、安全的网络传输通道,在互联网传输安全设计中被广泛使用。HTTPS(Secure Hypertext Transfer Protocol,安全超文本传输协议)是由HTTP协议结合SSL构建的网络协议,使用SSL作为HTTP应用层的子层,可进行加密传输、身份认证。应用HTTPS的Web服务器必须从CA(Certificate Authority)申请用于证明服务器用途类型的数字证书,只有该证书信息与服务器相符合时客户端才对它信任。数字证书内容包含公钥、加密算法等内容,客户端与服务器通过SSL协议并利用数字证书实现加密的安全传输。

2 跨安全域的医疗信息交换设计

物理隔断的内部网络没有外来攻击,通常认为网内的工作站、应用系统,操作用户都是已授权并可信的,因此不采用严格的安全防御措施,这样做的好处是有较高的交互效率。但在公共的Internet环境下,医疗信息交换需要跨越不同级别的安全域,Internet是一个复杂公共应用环境,各种攻击、威胁客观存在,通过Internet交换医疗数据首先必须解决接入安全和数据安全问题。

2.1 系统整体方案

根据当前互联网环境下的医疗信息交换需要,采用物理安全隔离、SSL、串行口私有通信技术实现安全接入,在此基础上,利用XML文档交换和数字签名技术保障医疗数据安全。综合上述技术可行性因素,设计、构建一种安全、可靠和灵活的医疗数据交换方案。方案结构图,见图1。

图1 互联网环境下医院信息交换网络拓朴图

在应用层面,医疗数据中心通过Web服务器向外部提供数据查询、统计和存储服务,而不直接接入Internet。Web服务器配置双路网络通道,一路与数据中心连接,另一路通过防火墙设备接入Internet。基层医疗机构接入Internet有两种方式:① 通过网闸、前置机接入;② 通过私有协议的串行口安全隔离系统、前置机接入。对于医疗机构,有关医疗数据交换应用需要由前置机直接承担,包括数据上传、下载。第三方CA机构服务器向Web服务器发放CA(Certificate Authority)证书,用于实现医疗数据中心与下属机构之间基于SSL协议的信息交互。

2.2 Internet接入安全

防火墙作为安全域的边缘设备,设置策略屏蔽与业务需要无关的所有端口,过滤可疑的IP连接。本研究采用集成SSL VPN功能的思科ASA5520防火墙,通过内置的SSL VPN可在Web服务器与Internet上的终端主机之间形成一条安全的专用信息通道,可用于服务器远程管理或安全级别较高的信息交互。

医疗数据中心与对外承担数据接口功能的Web服务器之间配置网闸,从物理上隔离各种基于TCP/IP通信的网络病毒和数据访问,仅允许符合预定策略的数据能够通过网闸。本文研究采用了联想网御SIS-3000 SEII 网闸,它可提供较高的吞吐率,可达百兆bit/s。

2.3 串行口安全隔离系统

部分医疗机构应用工作站通过串行通信安全隔离器与接入Internet的前置机进行医疗数据交换。大量的网络安全工具都是应用当前Internet通用技术,而通用技术又是基于公开协议和规范。因此,在我们享受高速便捷的Internet网络资源的同时必将面临潜在的安全风险。本研究也尝试开发串行口安全隔离系统,它由内网App、软件适配器和外网Proxy组成,其结构见图2。

图2 串行口安全隔离系统

串行口安全隔离系统利用RS-232接口实现物理通信,为了实现隐密性,参考了Zmodem协议原理设计私有协议实现内外网的数据交换,并具有连接建立和释放、数据校验、数据重发等功能。软件适配器在数据链路层承担了串行口协议通信的功能,仅负责数据流或文件的发送与接收,而与具体的业务内容无关,适配器程序以动态链接库(DLL)形式封装,具有相对独立性和通用性。内网App、外网Proxy负责应用层医疗信息交换,如账号验证、电子文档收发,它们的功能差别是外网Proxy布署在前置机上,可调用数据中心Web服务上传医疗数据,或通过串行口安全隔离系统获取数据并传送到内网。

串口安全隔离系统受串行口性能限制,适合于小流量的数据交换,但具有配置简单和成本低廉的优点。

2.4 XML文档签名与验证

为了增强安全性能,利用XML模板映射和数字签名技术,在应用层面实现内外网异构数据库之间的透明互操作,进一步保证数据的安全性和完整性。电子病历、检查报告等医疗文档数据进行入互联网前封装为XML电子文档,经过签名加密后进行传送,对方接受后可方便地进行安全验证、解读。本文研究主要应用微软.NET Framework开发工具的System.Security.Cryptography、System.Security.Cryptography.Xml命名空间实现XML数字签名,以及对签名文档进行验证的功能。

.NET Framework实现XML文档数字签名的一般步骤如下:① 加载已准备的XML文档;② 创建RSA密钥;③用SignedXml类AddReference方法指定待签名数据;④ 用SignedXml类ComputeSignature方法生成XML文档签名;⑤ 保存签名为单独文档或将签名插入原XML文档。

.NET Framework实现XML文档签名验证的一般步骤如下:① 加载已签名XML文档;② 用XmlDocument类GetElementsByTagName方法提取文档签名元素数据;③ 用SignedXml类CheckSignature方法验证签名。

3 结束语

本文研究采用了物理防火墙、SSL、VPN技术,根据需要在不同安全等级的Internet与内部业务网之间建立安全屏障,阻止来自公共网络的各种病毒、木马和未指定应用软件非法入侵,保护医疗数据交换和内网工作站安全。RS232串行口是目前应用较为广泛的设备通信接口,虽然传输速率较低,但基于RS232的应用软件开发相对容易。以此为硬件基础采用私有协议设计的安全隔离系统可靠性高,可完全隔离当前所有基于TCP/IP的外部安全威胁,并且投入非常低廉。同时,采用XML文档作为异构系统间信息交换载体是信息化行业的公认选择,通过HTTPS协议结合应用XML数字签名和非对称数据加密技术的应用,可有效地保障医疗文档的完整性和不可抵赖性,并避免交互过程中敏感信息被窃取盗用。研究应用信息安全交换技术,保护患者隐私,防止对医疗信息的非法利用和破坏,有利于实现各级医疗机构之间、管理与基层之间的互连互通,促进社会医疗信息共享以及社会医疗资源的合理分配。提高医疗服务质量,减少医疗活动成本,为病患带来实惠。医疗数据安全交换技术是顺利实现与推广区域医疗、远程医疗,提升院前院后健康服务信息化、网络化的关键。

[1]蒋建春,马恒太,任党恩.网络安全入侵检测:研究综述[J].软件学报,2000,11(11):1460-1466.

[2]何斌,郑东,黄征.安全隔离数据交换系统[J].微型电脑应用,2005,21(1):32-35.

[3]黄胜召,赵辉,鲍忠贵,等.网间安全隔离技术分析研究[J].通信技术,2010,43(5):100-102.

[4]李长河,赵洁,张亚玲,等.一种安全异构数据交换技术的研究与实现[J].计算机工程,2007,33(2):88-89.

[5]汪勇,王备战.基于Web Service的数据交换平台解决方案[J].微处理机,2007,(4):121-123.

[6]吴飞,杨宏桥,张瞩熹,等.基于安全数据交换的网上预约挂号系统的设计与实现[J].中国医疗设备,2009,24(1):27-29.

[7]杨宏桥,吴飞,刘玉树,等.安全数据交换技术在HIS中的应用[J].计算机工程,2008,34(22):195-197.

[8]傅德胜,王强.XML数字签名在工作流系统中的应用[J].计算机应用,2011,31(3):807-811.

[9]The Internet Society & W3C,XML-signature syntax and processing[EB/OL]. http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/,2008-6-10/2012-8-30.

[10]IHE IT Infrastructure (ITI)Technical Framework Supplement:Document Digital Signature [EB/OL].http://www.ihe.net/Technical_Framework/index.cfm,2009-08-10/2012-9-15

[11]The Internet Society & W3C, XML Advanced Electronic Signatures (XAdES)[EB/OL].http://www.w3.org/TR/2003/NOTE- XAdES-20030220/,2003-2-20/2012-8-30.

猜你喜欢
数字签名文档服务器
浅谈Matlab与Word文档的应用接口
基于正交拉丁方理论的数字签名分组批量验证
有人一声不吭向你扔了个文档
服务器组功能的使用
交通运输行业数字签名系统的设计与实现分析
浅析计算机安全防护中数字签名技术的应用
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
Word文档 高效分合有高招
计算机网络安全服务器入侵与防御