何劍虎,周慶利
浙江大學(xué)醫(yī)學(xué)院附屬婦產(chǎn)科醫(yī)院醫(yī)學(xué)工程科,浙江 杭州 310006
隨著我國(guó)醫(yī)療信息化步伐的加快,醫(yī)療行業(yè)的各種信息系統(tǒng)應(yīng)用也如雨后春筍般出現(xiàn)。而我國(guó)醫(yī)療機(jī)構(gòu)的網(wǎng)絡(luò)架構(gòu),基本遵循內(nèi)部和外部?jī)商转?dú)立網(wǎng)絡(luò)運(yùn)行,呈現(xiàn)互相隔離的狀況,其主要原因是當(dāng)前沒有一種足夠可信的信息安全保障措施。在互聯(lián)網(wǎng)環(huán)境下,數(shù)據(jù)安全問題主要來源于兩個(gè)方面:一是計(jì)算機(jī)軟件病毒破壞;二是安全入侵[1]。由于醫(yī)療數(shù)據(jù)的特殊性,在保障數(shù)據(jù)完整性的同時(shí),需要著重阻止來自互聯(lián)網(wǎng)的各種攻擊,避免非法訪問和隱私泄露。安全數(shù)據(jù)交換系統(tǒng)的基本理念是在切斷內(nèi)、外部網(wǎng)絡(luò)間直接連接的同時(shí),結(jié)合訪問控制、身份鑒別等安全機(jī)制,實(shí)現(xiàn)不同安全等級(jí)網(wǎng)絡(luò)之間數(shù)據(jù)交換,防止內(nèi)網(wǎng)設(shè)施和數(shù)據(jù)資源被破壞,保證醫(yī)療數(shù)據(jù)的完整性、實(shí)時(shí)性[2]。本文研究綜合運(yùn)用網(wǎng)絡(luò)安全隔離技術(shù),SSL(安全套接層)、VPN(安全套接虛擬專用網(wǎng))技術(shù),在Internet(互聯(lián)網(wǎng))應(yīng)用環(huán)境下構(gòu)建跨安全域醫(yī)療信息交換通道,保障醫(yī)療機(jī)構(gòu)內(nèi)部網(wǎng)絡(luò)與數(shù)據(jù)安全,并采用XML(可擴(kuò)展標(biāo)記語言)數(shù)據(jù)簽名技術(shù)保證醫(yī)療文檔的完整性和不可抵賴性。
本文研究,在網(wǎng)絡(luò)設(shè)施和應(yīng)用數(shù)據(jù)兩個(gè)層面采用安全隔離與加密技術(shù),保護(hù)內(nèi)部網(wǎng)絡(luò)、數(shù)據(jù)資源,以及傳輸中的醫(yī)療數(shù)據(jù)安全。
醫(yī)療機(jī)構(gòu)內(nèi)、外網(wǎng)異構(gòu)系統(tǒng)、數(shù)據(jù)庫之間不能安全流暢地交換數(shù)據(jù)成為區(qū)域信息集成的主要瓶頸之一,阻礙了醫(yī)療信息化的發(fā)展。需求推動(dòng)了安全技術(shù)的創(chuàng)新,在20世紀(jì)90年代,Ry Jones首先提出“AirGap”隔離概念。而后出現(xiàn)了物理隔離卡,實(shí)現(xiàn)網(wǎng)絡(luò)間的安全隔離。接著又誕生了專有硬件,實(shí)現(xiàn)兩個(gè)網(wǎng)絡(luò)在不連通的情況下數(shù)據(jù)的安全交換和資源共享,從而使安全隔離技術(shù)從單純實(shí)現(xiàn)“網(wǎng)絡(luò)隔離禁止交換”發(fā)展到“安全隔離信息交換”。目前,物理安全隔離技術(shù)主要應(yīng)用于軍隊(duì)、跨區(qū)域的電子政務(wù)和企業(yè)管理等[3-5]。已有醫(yī)院采用上述技術(shù)實(shí)現(xiàn)網(wǎng)上預(yù)約掛號(hào)、短信查詢功能[6-7],但總的來說醫(yī)療領(lǐng)域的相關(guān)應(yīng)用還非常少。
物理安全隔離設(shè)備的應(yīng)用主要解決以下問題:① 實(shí)現(xiàn)兩個(gè)互為隔離的網(wǎng)絡(luò)間的安全、高速、可靠地應(yīng)用層數(shù)據(jù)交換;② 除了特別指定允許的數(shù)據(jù)交換之外,完全隔離其他的各種網(wǎng)絡(luò)連接;③ 有效的身份認(rèn)證,使用安全隔離網(wǎng)閘進(jìn)行數(shù)據(jù)交換的用戶的身份有可靠的認(rèn)證機(jī)制;④ 對(duì)傳輸?shù)臄?shù)據(jù),應(yīng)當(dāng)保證其完整性,防止非法篡改;⑤ 保證授權(quán)實(shí)體在需要時(shí)可以正常地通過安全隔離網(wǎng)閘進(jìn)行安全、可靠的數(shù)據(jù)交換,保證其可用性;⑥ 對(duì)所有的數(shù)據(jù)交換行為,應(yīng)當(dāng)保證其不可否認(rèn)性,能夠證明一條信息的發(fā)送與接受,保證發(fā)送方和接受方都有能力證明發(fā)送和接受操作確實(shí)發(fā)生了,并能確定發(fā)送和接受者的身份。
由于物理安全隔離設(shè)備隔離了醫(yī)療機(jī)構(gòu)的內(nèi)網(wǎng)與互聯(lián)網(wǎng)之間所有非授權(quán)的數(shù)據(jù)通道,因此可以有效地阻止來自互聯(lián)網(wǎng)的病毒和黑客攻擊。
數(shù)字簽名(Digital Signature)源于加密技術(shù),目前主要使用基于公鑰密碼體制的數(shù)字簽名,如RSA 簽名、DSA 簽名。一方面可滿足隨著計(jì)算機(jī)網(wǎng)絡(luò)與信息技術(shù)的發(fā)展產(chǎn)生的信息安全保障的需要,另一方面它又提供了比紙質(zhì)簽名更為安全方便的工作方式,具有比傳統(tǒng)紙質(zhì)簽名不可比擬的優(yōu)點(diǎn)。2005年4月1日,我國(guó)《電子簽名法》開始實(shí)施,在法律上明確規(guī)定電子簽名與紙質(zhì)簽名具有同等法律效率。
為了確保XML文檔在信息交換中的安全性和完整性,IETF和W3C共同組建的XML數(shù)字簽名工作組于2001年公布了XML數(shù)字簽名規(guī)范。為了加強(qiáng)醫(yī)療數(shù)據(jù)交換中的安全性,可利用XML模板映射和數(shù)字簽名技術(shù),在應(yīng)用層面實(shí)現(xiàn)內(nèi)外網(wǎng)異構(gòu)數(shù)據(jù)庫之間的透明互操作,進(jìn)一步保證數(shù)據(jù)的完整性,XML數(shù)據(jù)簽名的優(yōu)點(diǎn)是可實(shí)現(xiàn)靈活的多重 簽 名。IETF/W3C XMLDSIG(XML-Signature Syntax and Processing)規(guī)范的XML 數(shù)字簽名語法結(jié)構(gòu)如下[8-9]:
其中,〈Signature〉是XML簽名文檔的根元素,它最多包含signedInfo、signatureValue、keyInfo、object四個(gè)子元素。SignedInfo元素描述簽名信息,它包含規(guī)范和算法元素。CanonicalizationMethod元素表示規(guī)范化算法。SignatureMethod元素指定將SignedInfo元素轉(zhuǎn)換為SignatureValue元素所使用的簽名算法。Reference元素指定被簽名數(shù)據(jù)文檔。Transforms指定了在摘要算法所做的轉(zhuǎn)換,DigestMethod子元素指定簽名時(shí)使用的散列算法,DigestValue子元素存放摘要信息。SignatureValue表示數(shù)字簽名的計(jì)算值??蛇x元素KeyInfo指定驗(yàn)證簽名所使用的公鑰信息。
國(guó)際上,醫(yī)療信息系統(tǒng)集成IHE(Integrating The Healthcare Enterprises)規(guī)范在ITI-TF技術(shù)框架提供了DGS(Digital Signature,數(shù)字簽名)實(shí)施方法,目前仍處于試驗(yàn)階段,該技術(shù)框架所實(shí)現(xiàn)的醫(yī)療文檔電子簽名,需要遵循 ETSI TS 101 903 :XAdES(XML Advanced Electronic Signatures)等規(guī)范。XAdES是XML 數(shù)字簽名規(guī)范XMLDSIG擴(kuò)展[10-11]。
SSL(Secure Sockets Layer)是Netscape 公司開發(fā)的應(yīng)用于傳輸層的面向連接的通信安全協(xié)議,支持使用X.509數(shù)字認(rèn)證。SSL協(xié)議運(yùn)行于TCP/IP 協(xié)議之上而對(duì)應(yīng)用層透明,使用不對(duì)稱加密技術(shù)在會(huì)話雙方之間建立身份鑒別、授權(quán)認(rèn)證、安全的網(wǎng)絡(luò)傳輸通道,在互聯(lián)網(wǎng)傳輸安全設(shè)計(jì)中被廣泛使用。HTTPS(Secure Hypertext Transfer Protocol,安全超文本傳輸協(xié)議)是由HTTP協(xié)議結(jié)合SSL構(gòu)建的網(wǎng)絡(luò)協(xié)議,使用SSL作為HTTP應(yīng)用層的子層,可進(jìn)行加密傳輸、身份認(rèn)證。應(yīng)用HTTPS的Web服務(wù)器必須從CA(Certificate Authority)申請(qǐng)用于證明服務(wù)器用途類型的數(shù)字證書,只有該證書信息與服務(wù)器相符合時(shí)客戶端才對(duì)它信任。數(shù)字證書內(nèi)容包含公鑰、加密算法等內(nèi)容,客戶端與服務(wù)器通過SSL協(xié)議并利用數(shù)字證書實(shí)現(xiàn)加密的安全傳輸。
物理隔斷的內(nèi)部網(wǎng)絡(luò)沒有外來攻擊,通常認(rèn)為網(wǎng)內(nèi)的工作站、應(yīng)用系統(tǒng),操作用戶都是已授權(quán)并可信的,因此不采用嚴(yán)格的安全防御措施,這樣做的好處是有較高的交互效率。但在公共的Internet環(huán)境下,醫(yī)療信息交換需要跨越不同級(jí)別的安全域,Internet是一個(gè)復(fù)雜公共應(yīng)用環(huán)境,各種攻擊、威脅客觀存在,通過Internet交換醫(yī)療數(shù)據(jù)首先必須解決接入安全和數(shù)據(jù)安全問題。
根據(jù)當(dāng)前互聯(lián)網(wǎng)環(huán)境下的醫(yī)療信息交換需要,采用物理安全隔離、SSL、串行口私有通信技術(shù)實(shí)現(xiàn)安全接入,在此基礎(chǔ)上,利用XML文檔交換和數(shù)字簽名技術(shù)保障醫(yī)療數(shù)據(jù)安全。綜合上述技術(shù)可行性因素,設(shè)計(jì)、構(gòu)建一種安全、可靠和靈活的醫(yī)療數(shù)據(jù)交換方案。方案結(jié)構(gòu)圖,見圖1。
圖1 互聯(lián)網(wǎng)環(huán)境下醫(yī)院信息交換網(wǎng)絡(luò)拓樸圖
在應(yīng)用層面,醫(yī)療數(shù)據(jù)中心通過Web服務(wù)器向外部提供數(shù)據(jù)查詢、統(tǒng)計(jì)和存儲(chǔ)服務(wù),而不直接接入Internet。Web服務(wù)器配置雙路網(wǎng)絡(luò)通道,一路與數(shù)據(jù)中心連接,另一路通過防火墻設(shè)備接入Internet?;鶎俞t(yī)療機(jī)構(gòu)接入Internet有兩種方式:① 通過網(wǎng)閘、前置機(jī)接入;② 通過私有協(xié)議的串行口安全隔離系統(tǒng)、前置機(jī)接入。對(duì)于醫(yī)療機(jī)構(gòu),有關(guān)醫(yī)療數(shù)據(jù)交換應(yīng)用需要由前置機(jī)直接承擔(dān),包括數(shù)據(jù)上傳、下載。第三方CA機(jī)構(gòu)服務(wù)器向Web服務(wù)器發(fā)放CA(Certificate Authority)證書,用于實(shí)現(xiàn)醫(yī)療數(shù)據(jù)中心與下屬機(jī)構(gòu)之間基于SSL協(xié)議的信息交互。
防火墻作為安全域的邊緣設(shè)備,設(shè)置策略屏蔽與業(yè)務(wù)需要無關(guān)的所有端口,過濾可疑的IP連接。本研究采用集成SSL VPN功能的思科ASA5520防火墻,通過內(nèi)置的SSL VPN可在Web服務(wù)器與Internet上的終端主機(jī)之間形成一條安全的專用信息通道,可用于服務(wù)器遠(yuǎn)程管理或安全級(jí)別較高的信息交互。
醫(yī)療數(shù)據(jù)中心與對(duì)外承擔(dān)數(shù)據(jù)接口功能的Web服務(wù)器之間配置網(wǎng)閘,從物理上隔離各種基于TCP/IP通信的網(wǎng)絡(luò)病毒和數(shù)據(jù)訪問,僅允許符合預(yù)定策略的數(shù)據(jù)能夠通過網(wǎng)閘。本文研究采用了聯(lián)想網(wǎng)御SIS-3000 SEII 網(wǎng)閘,它可提供較高的吞吐率,可達(dá)百兆bit/s。
部分醫(yī)療機(jī)構(gòu)應(yīng)用工作站通過串行通信安全隔離器與接入Internet的前置機(jī)進(jìn)行醫(yī)療數(shù)據(jù)交換。大量的網(wǎng)絡(luò)安全工具都是應(yīng)用當(dāng)前Internet通用技術(shù),而通用技術(shù)又是基于公開協(xié)議和規(guī)范。因此,在我們享受高速便捷的Internet網(wǎng)絡(luò)資源的同時(shí)必將面臨潛在的安全風(fēng)險(xiǎn)。本研究也嘗試開發(fā)串行口安全隔離系統(tǒng),它由內(nèi)網(wǎng)App、軟件適配器和外網(wǎng)Proxy組成,其結(jié)構(gòu)見圖2。
圖2 串行口安全隔離系統(tǒng)
串行口安全隔離系統(tǒng)利用RS-232接口實(shí)現(xiàn)物理通信,為了實(shí)現(xiàn)隱密性,參考了Zmodem協(xié)議原理設(shè)計(jì)私有協(xié)議實(shí)現(xiàn)內(nèi)外網(wǎng)的數(shù)據(jù)交換,并具有連接建立和釋放、數(shù)據(jù)校驗(yàn)、數(shù)據(jù)重發(fā)等功能。軟件適配器在數(shù)據(jù)鏈路層承擔(dān)了串行口協(xié)議通信的功能,僅負(fù)責(zé)數(shù)據(jù)流或文件的發(fā)送與接收,而與具體的業(yè)務(wù)內(nèi)容無關(guān),適配器程序以動(dòng)態(tài)鏈接庫(DLL)形式封裝,具有相對(duì)獨(dú)立性和通用性。內(nèi)網(wǎng)App、外網(wǎng)Proxy負(fù)責(zé)應(yīng)用層醫(yī)療信息交換,如賬號(hào)驗(yàn)證、電子文檔收發(fā),它們的功能差別是外網(wǎng)Proxy布署在前置機(jī)上,可調(diào)用數(shù)據(jù)中心Web服務(wù)上傳醫(yī)療數(shù)據(jù),或通過串行口安全隔離系統(tǒng)獲取數(shù)據(jù)并傳送到內(nèi)網(wǎng)。
串口安全隔離系統(tǒng)受串行口性能限制,適合于小流量的數(shù)據(jù)交換,但具有配置簡(jiǎn)單和成本低廉的優(yōu)點(diǎn)。
為了增強(qiáng)安全性能,利用XML模板映射和數(shù)字簽名技術(shù),在應(yīng)用層面實(shí)現(xiàn)內(nèi)外網(wǎng)異構(gòu)數(shù)據(jù)庫之間的透明互操作,進(jìn)一步保證數(shù)據(jù)的安全性和完整性。電子病歷、檢查報(bào)告等醫(yī)療文檔數(shù)據(jù)進(jìn)行入互聯(lián)網(wǎng)前封裝為XML電子文檔,經(jīng)過簽名加密后進(jìn)行傳送,對(duì)方接受后可方便地進(jìn)行安全驗(yàn)證、解讀。本文研究主要應(yīng)用微軟.NET Framework開發(fā)工具的System.Security.Cryptography、System.Security.Cryptography.Xml命名空間實(shí)現(xiàn)XML數(shù)字簽名,以及對(duì)簽名文檔進(jìn)行驗(yàn)證的功能。
.NET Framework實(shí)現(xiàn)XML文檔數(shù)字簽名的一般步驟如下:① 加載已準(zhǔn)備的XML文檔;② 創(chuàng)建RSA密鑰;③用SignedXml類AddReference方法指定待簽名數(shù)據(jù);④ 用SignedXml類ComputeSignature方法生成XML文檔簽名;⑤ 保存簽名為單獨(dú)文檔或?qū)⒑灻迦朐璛ML文檔。
.NET Framework實(shí)現(xiàn)XML文檔簽名驗(yàn)證的一般步驟如下:① 加載已簽名XML文檔;② 用XmlDocument類GetElementsByTagName方法提取文檔簽名元素?cái)?shù)據(jù);③ 用SignedXml類CheckSignature方法驗(yàn)證簽名。
本文研究采用了物理防火墻、SSL、VPN技術(shù),根據(jù)需要在不同安全等級(jí)的Internet與內(nèi)部業(yè)務(wù)網(wǎng)之間建立安全屏障,阻止來自公共網(wǎng)絡(luò)的各種病毒、木馬和未指定應(yīng)用軟件非法入侵,保護(hù)醫(yī)療數(shù)據(jù)交換和內(nèi)網(wǎng)工作站安全。RS232串行口是目前應(yīng)用較為廣泛的設(shè)備通信接口,雖然傳輸速率較低,但基于RS232的應(yīng)用軟件開發(fā)相對(duì)容易。以此為硬件基礎(chǔ)采用私有協(xié)議設(shè)計(jì)的安全隔離系統(tǒng)可靠性高,可完全隔離當(dāng)前所有基于TCP/IP的外部安全威脅,并且投入非常低廉。同時(shí),采用XML文檔作為異構(gòu)系統(tǒng)間信息交換載體是信息化行業(yè)的公認(rèn)選擇,通過HTTPS協(xié)議結(jié)合應(yīng)用XML數(shù)字簽名和非對(duì)稱數(shù)據(jù)加密技術(shù)的應(yīng)用,可有效地保障醫(yī)療文檔的完整性和不可抵賴性,并避免交互過程中敏感信息被竊取盜用。研究應(yīng)用信息安全交換技術(shù),保護(hù)患者隱私,防止對(duì)醫(yī)療信息的非法利用和破壞,有利于實(shí)現(xiàn)各級(jí)醫(yī)療機(jī)構(gòu)之間、管理與基層之間的互連互通,促進(jìn)社會(huì)醫(yī)療信息共享以及社會(huì)醫(yī)療資源的合理分配。提高醫(yī)療服務(wù)質(zhì)量,減少醫(yī)療活動(dòng)成本,為病患帶來實(shí)惠。醫(yī)療數(shù)據(jù)安全交換技術(shù)是順利實(shí)現(xiàn)與推廣區(qū)域醫(yī)療、遠(yuǎn)程醫(yī)療,提升院前院后健康服務(wù)信息化、網(wǎng)絡(luò)化的關(guān)鍵。
[1]蔣建春,馬恒太,任黨恩.網(wǎng)絡(luò)安全入侵檢測(cè):研究綜述[J].軟件學(xué)報(bào),2000,11(11):1460-1466.
[2]何斌,鄭東,黃征.安全隔離數(shù)據(jù)交換系統(tǒng)[J].微型電腦應(yīng)用,2005,21(1):32-35.
[3]黃勝召,趙輝,鮑忠貴,等.網(wǎng)間安全隔離技術(shù)分析研究[J].通信技術(shù),2010,43(5):100-102.
[4]李長(zhǎng)河,趙潔,張亞玲,等.一種安全異構(gòu)數(shù)據(jù)交換技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2007,33(2):88-89.
[5]汪勇,王備戰(zhàn).基于Web Service的數(shù)據(jù)交換平臺(tái)解決方案[J].微處理機(jī),2007,(4):121-123.
[6]吳飛,楊宏橋,張矚熹,等.基于安全數(shù)據(jù)交換的網(wǎng)上預(yù)約掛號(hào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)醫(yī)療設(shè)備,2009,24(1):27-29.
[7]楊宏橋,吳飛,劉玉樹,等.安全數(shù)據(jù)交換技術(shù)在HIS中的應(yīng)用[J].計(jì)算機(jī)工程,2008,34(22):195-197.
[8]傅德勝,王強(qiáng).XML數(shù)字簽名在工作流系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,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.