国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SSL的遠程醫(yī)療系統(tǒng)安全性設計與實現(xiàn)

2010-09-15 06:54陳文波羅斌斌深圳市貝斯達醫(yī)療器械有限公司東莞523690
中國醫(yī)療器械信息 2010年9期
關鍵詞:服務器端瀏覽器消息

陳文波 羅斌斌 深圳市貝斯達醫(yī)療器械有限公司 (東莞 523690)

基于SSL的遠程醫(yī)療系統(tǒng)安全性設計與實現(xiàn)

陳文波 羅斌斌
深圳市貝斯達醫(yī)療器械有限公司 (東莞 523690)

隨著多媒體及計算機網(wǎng)絡技術的高速發(fā)展,基于Internet的遠程醫(yī)療系統(tǒng)面臨著嚴重的網(wǎng)絡安全問題。目前,國外著名的商用瀏覽器和Web服務器都內(nèi)嵌支持SSL(Secure Socket Layer, 安全套接字層)協(xié)議,但其核心密碼算法都有出口限制,并且協(xié)議源代碼不公開,根本無法滿足我國遠程醫(yī)療網(wǎng)實際應用的安全需求。本文著重分析了SSL握手協(xié)議及SSL協(xié)議各部分的安全性和抗攻擊能力,詳細介紹了一個基于JAVA的SSL安全遠程醫(yī)療系統(tǒng)的設計方案、技術特點與實現(xiàn)方法,測試結果能夠滿足需要。

遠程醫(yī)療系統(tǒng) 網(wǎng)絡安全 安全套接層 SSL JAVA

遠程醫(yī)療系統(tǒng)是通過信息和通信技術從事遠距離健康活動和服務的系統(tǒng)[1]。從技術上講,遠程醫(yī)療就是利用現(xiàn)代電子以及通信網(wǎng)絡和生物醫(yī)學相結合來獲取和傳遞有關醫(yī)學診斷、治療、護理、及教育等信息數(shù)據(jù)。隨著遠程醫(yī)療的發(fā)展,如何對醫(yī)療數(shù)據(jù)和信息進行保密性是一項重要而且有挑戰(zhàn)性的問題。本文描述了一個安全的基于SSL協(xié)議(安全套接字層,Secure Socket Layer,SSL)的遠程醫(yī)療系統(tǒng),系統(tǒng)通過JAVA語言實現(xiàn),通過Internet可在醫(yī)生端瀏覽器、患者端瀏覽器和會診中心服務器端之間進行醫(yī)療數(shù)據(jù)和信息的安全傳輸。

1 SSL協(xié)議介紹

安全套接字層(Secure Socket Layer,SSL)技術是目前國際流行的基于WWW的網(wǎng)絡安全方案。它以多種密碼技術為基礎,實現(xiàn)了用戶身份鑒別、數(shù)據(jù)加密傳輸、數(shù)據(jù)完整性校驗、數(shù)字簽名等安全功能。SSL協(xié)議是基于公鑰體制的一個操作性很強的安全協(xié)議,能很好地完成身份認證和安全傳輸?shù)娜蝿?。高層應用協(xié)議(如HTTP, FTP)可以在SSL協(xié)議之上透明傳輸,因此,SSL可以應用于遠程醫(yī)療網(wǎng)。

SSL協(xié)議的層次結構如圖1所示。底層是SSL記錄層協(xié)議,它位于可靠的傳輸層TCP協(xié)議之上,用于封裝高層協(xié)議的數(shù)據(jù)。其中SSL握手協(xié)議(SSL Handshake Protocol)允許服務方和客戶方互相認證,并在應用層協(xié)議傳送數(shù)據(jù)之前協(xié)商出一個加密算法和會話密鑰,SSL握手協(xié)議是SSL協(xié)議的核心。

SSL協(xié)議提供的安全連接具有以下幾個基本特性:

? 連接是安全的,在初始化握手結束后,SSL使用加密方法來協(xié)商一個秘密的密鑰,數(shù)據(jù)加密使用對稱密鑰技術(如DES, RC4等)。

圖1 SSL協(xié)議層次結構模型

? 可以通過非對稱(公鑰)加密技術(如RSA, DSA等)認證對方的身份。

? 連接是可靠的,傳輸?shù)臄?shù)據(jù)包含有數(shù)據(jù)完整性的校驗碼,使用安全的哈希函數(shù)(如SHA, MD5等)計算校驗碼。

圖2 系統(tǒng)總體結構

2 系統(tǒng)描述

本系統(tǒng)的目標是構造一個保證遠程醫(yī)療中的生理數(shù)據(jù)在醫(yī)生端瀏覽器、患者端瀏覽器和會診中心服務器端之間通過Internet進行安全傳輸?shù)南到y(tǒng),系統(tǒng)將實現(xiàn)如下功能:

(1) 提供客戶端(醫(yī)生瀏覽器端、患者瀏覽器端)和會診服務器端的身份認證SSL v3.0協(xié)議規(guī)定服務器端必須提供以電子證書為基礎的身份認證,而對客戶端的身份認證則由服務器端選擇限定。本系統(tǒng)應嚴格遵守此規(guī)定,提供通信雙方認證功能或單方認證(對服務器端)功能。

(2) 提供高強度的信息加密機制。系統(tǒng)選用成熟可靠的算法和合適的鑰長為用戶提供高強度的數(shù)字加密。

(3) 提供快速有效的完整性的檢驗。系統(tǒng)選用高效快速的算法實現(xiàn)對所傳遞信息的完整性檢驗

如圖2所示系統(tǒng)結構為分塊和分層結構。系統(tǒng)分為兩個相互獨立又能搭配使用的子系統(tǒng):SSL安全代理和SSL安全網(wǎng)關。系統(tǒng)介于應用層和TCP層之間。

系統(tǒng)本身為分層結構:底層是記錄層處理模塊,此層直接建立在TCP層之上;高層包括身份認證模塊、握手消息處理模塊、管理控制模塊。

如圖2,第一種情況下瀏覽器與服務器直接建立連接,不使用SSL安全代理和SSL安全網(wǎng)關。在這種情況下,如果服務器本身不能提供安全保障,則通信雙方的數(shù)據(jù)直接暴露在Internet之上,很容易造成信息的泄露和篡改。如果服務器本身是一個安全服務器,能夠提供安全功能,則通信雙方的數(shù)據(jù)的安全性很大程度上依賴于瀏覽器所能提供的加密算法的長度。我們知道,由于國外對安全產(chǎn)品的出口限制,使得目前常用的瀏覽器最多只能支持40位的加密算法,這對于通信雙方的數(shù)據(jù)仍然不能提供足夠的安全保護。

如圖2,第二種情況下瀏覽器通過SSL安全代理和SSL安全網(wǎng)關與服務器建立安全連接。在這種情況下,SSL安全代理接管了瀏覽器的安全功能.可以提供對高強度加密算法的支持,數(shù)據(jù)的安全傳輸不受瀏覽器所能提供的安全能力的限制。

3 系統(tǒng)實現(xiàn)

本系統(tǒng)的開發(fā)環(huán)境為:安全客戶機使用的是Intel雙核2.8GHz,2G RAM PC機,操作系統(tǒng)W indows2003,安全服務器使用的是SUN-SPARC,操作系統(tǒng)Solaris9.0。開發(fā)工具為Java,它允許開發(fā)者可以任意選擇開發(fā)的平臺,采用了PHAOS公司開發(fā)的一套快速建立SSL應用程序的軟件開發(fā)工具Phaos SSLava Toolkit。

本系統(tǒng)主要包括身份認證模塊、握手消息處理模塊、記錄層處理模塊以及管理配置模塊。下面詳細介紹各主要功能模塊的實現(xiàn)。

3.1 身份認證模塊

由于本系統(tǒng)接管了瀏覽器端(醫(yī)生瀏覽器、患者瀏覽器)與遠端會診服務器之間的SSL會話,因此瀏覽器原有的證書管理模塊己變?yōu)闊o效,有關CA證書、用戶證書、服務器證書的管理和維護以及身份認證的過程應由本系統(tǒng)來完成。

在建立SSL連接時,瀏覽器端安全代理和會診服務器端安全網(wǎng)關需要分別從各自的證書庫中讀取證書。會診服務器端的證書庫中必須有兩類證書,分別是服務器可信任的CA證書和被CA簽名的服務器端證書。同樣,瀏覽器端的證書庫中通常也有兩類證書。分別是瀏覽器端可信任的CA證書和被CA簽名的瀏覽器端站點證書。如果不需要對瀏覽器方進行認證,則瀏覽器端的證書庫只需要有瀏覽器端可信任的CA證書即可。

雙向身份認證的具體流程如圖3所示:

圖3 雙向身份認證流程圖

3.2 握手消息處理模塊

瀏覽器端的握手過程和會診服務器端的握手過程是相互交叉的,二者需要經(jīng)過多次消息的交互,才能完成整個握手過程。首先,客戶端向服務器發(fā)送一個ClientHello消息以建立連接,服務器必須響應一個相應的ServerHello消息,否則產(chǎn)生錯誤并導致此次連接失敗??蛻舳税l(fā)送的消息和服務器響應的消息不僅用于建立連接,還用于建立客戶端和服務器之間安全通信的協(xié)議版本、會話ID、密碼組和壓縮算法。

握手消息處理是本系統(tǒng)中的最重要也是最復雜的部分,在整個握手過程中通信雙方共有10種類型的消息需要處理,每一種消息都有它特定的數(shù)據(jù)結構和內(nèi)容。在實際應用中,客戶方的握手過程和服務器方的握手過程是相互交叉的,二者需要經(jīng)過多次消息的交互,才能完成整個握手過程。因此如何對各種握手消息進行統(tǒng)一處理以及如何保證握手過程中通信雙方消息的同步,是握手消息處理模塊的關鍵問題所在。在實現(xiàn)時,采用“消息類型/狀態(tài)/動作”機制采用這種機制處理所有的握手消息也提高了系統(tǒng)的確定性和可靠性。

當瀏覽器端收到服務器端的消息以后,如果會診服務器端要求對瀏覽器進行身份認證,瀏覽器端將自己的證書發(fā)送給服務器方,然后發(fā)送消息,如果不需要對瀏覽器端進行認證,則直接發(fā)送該消息。瀏覽器端產(chǎn)生一個隨機數(shù)作為準密數(shù),并用對方的公開密鑰加密后作為消息的內(nèi)容發(fā)送給服務器方。服務器方收到該消息后用自己的私鑰對加密數(shù)據(jù)進行解密,從而瀏覽器端與服務器端具有相同的準密數(shù)然后雙方以此準密數(shù)為基數(shù),經(jīng)過一定的算法計算出密數(shù)。

下面以加密套件SSL_RSA_W ITH_DES_CBC_ SHA為例說明上述切分過程。由于加密所采用的算法是DES_CBC,其密鑰的長度為7字節(jié);散列函數(shù)采用SHA,其M AC的長度為20字節(jié),因此就得到了如下的切分過程:

其中key_block[0~19]表示key_block中的前20字節(jié),key_block[20~39]表示key_block中第21到第40字節(jié),其余各處的類似形式含義相同。

3.3 記錄層處理模塊

記錄層處理模塊主要完成數(shù)據(jù)的分段/組裝、填充/恢復、以及數(shù)據(jù)的完整性檢查,由于目前沒有合適的壓縮算法的支持,因此記錄層尚不能支持壓縮/解壓縮的功能。在SSL中,所有來自上層的數(shù)據(jù)(包括握手消息、改變密碼參數(shù)消息、報警消息、應用數(shù)據(jù)等)部首先被分段和填充,每一數(shù)據(jù)段作為一個記錄,對每個記錄計算其MAC值并附加在該記錄的末尾,然后將整個記錄進行加密,在加密后的記錄首部再添加一個記錄頭,記錄頭包括數(shù)據(jù)類型、數(shù)據(jù)長度和協(xié)議版本信息。因此,每一個SSL記錄都包括記錄頭、實際數(shù)據(jù)、填充數(shù)據(jù)和MAC這幾部分。

圖4和圖5分別是記錄層自上而下和自下而上的處理流程圖,這里所說的自上而下是指數(shù)據(jù)由握手層經(jīng)記錄層處理傳到TCP層的過程,自下而上是指數(shù)據(jù)由TCP層經(jīng)記錄層傳至握手層的過程,是上述過程的逆過程。

圖4 記錄層自上而下的處理流程

圖5 記錄層自下而上的流程圖

4 系統(tǒng)測試

系統(tǒng)測試是保證軟件工程質(zhì)量的重要環(huán)節(jié)。在測試過程中,不僅能夠發(fā)現(xiàn)系統(tǒng)的錯誤,還能對系統(tǒng)的性能做出客觀評價?;赟SL協(xié)議的遠程醫(yī)療系統(tǒng)安全性研究的測試與傳統(tǒng)的軟件測試不同。它不但要檢查和驗證是否按照設計的要求運行,而且還要測試在不同用戶的瀏覽器端,其運行是否正常。因而它是系統(tǒng)完成和驗收過程中不可缺少的重要環(huán)節(jié)?;赟SL協(xié)議的遠程醫(yī)療安全性研究采用如下圖6所示的路線。

按照圖6所示的測試路線對系統(tǒng)進行測試后得出,該系統(tǒng)應用于我公司開發(fā)的貝斯達醫(yī)學影像遠程醫(yī)療診斷系統(tǒng),達到預期目標,具有遠程醫(yī)療安全性的基本功能。

圖6 系統(tǒng)測試路線

[1] Rolf Stadler, Cristinna Aurrecoechea. Call for papers on high-speed network security-architecture, algorithms and implementation. Selected Areas in Communications, IEEE Journal on Volume 23, Issue 5, May 2005 Page(s): 1124-1125.

[2] 范江,馮登國. 安全協(xié)議理論與方法[M]. 科學出版社,2003.

[3] 王偉,王東輝. 遠程醫(yī)療會診的國內(nèi)外現(xiàn)狀及系統(tǒng)研究[J].1999,12(3):31-32.

[4] 施雪松,丁岳偉.基于Java2的SSL代理的實現(xiàn),計算機工程,2002,vol28(8).

[5] 譚毓安,在Java中實現(xiàn)SSI端到端加密,計算機應用研究,2002, Vol19(8). ■

Design and Im p lement of Tele-medicine Security System Based on SSL

CHEN Wen-bo LUO Bin-bin
Shenzhen Basda Medical Apparatus Co., Ltd (Dongguan 523690)

With the development of multimedia and computer network, telemedicine system is confronted w ith serious network security. Presently, many of the famous commercial products of browsers and web servers support SSL(Secure Socket Layer) protocol internally. SSL has become the most prevailing WWW secure protocol. However, most of the electronic business secure protocols are subject to the lim itation of export regulations, and its source code isn't published. This paper analyzes SSL handshake protocol and describes the security of SSL in detail. Then, we propose the system design plan, critical technology and implement method of a secure web system based on JAVA In the end, the system was tested and it can satisfy the actual demand.

tele-medicine, network security, secure socket layer, SSL, JAVA

1006-6586(2010)09-0023-04

R197.324

A

2010-05-31

陳文波,總工程師;羅斌斌,總工程師

猜你喜歡
服務器端瀏覽器消息
Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設計
一張圖看5G消息
微軟發(fā)布新Edge瀏覽器預覽版下載換裝Chrome內(nèi)核
反瀏覽器指紋追蹤
基于Qt的安全即時通訊軟件服務器端設計
基于Qt的網(wǎng)絡聊天軟件服務器端設計
基于C/S架構的嵌入式監(jiān)控組態(tài)外設擴展機制研究與應用
消息
消息
消息
扎兰屯市| 东乡族自治县| 泽州县| 腾冲县| 河池市| 上饶县| 邢台县| 陆川县| 长葛市| 五寨县| 道真| 上饶县| 扶风县| 五大连池市| 墨竹工卡县| 自治县| 双城市| 鹤山市| 麻江县| 哈巴河县| 休宁县| 大港区| 施甸县| 宁远县| 乌拉特中旗| 木兰县| 稻城县| 于田县| 张家界市| 即墨市| 襄垣县| 武城县| 黔东| 六安市| 安龙县| 屯留县| 德安县| 咸丰县| 荆州市| 濉溪县| 社旗县|