吳雅云,莊紹燕,洪瑞安
中國人民解放軍第一八零醫院 信息科軟件研發室,福建 泉州 362000
基于PCI接口的跨網絡安全數據通信模式
吳雅云,莊紹燕,洪瑞安
中國人民解放軍第一八零醫院 信息科軟件研發室,福建 泉州 362000
目的 實現多個網絡之間的數據安全傳輸。方法在兩個通訊服務器的PCI插槽上安裝我院自主研發的隔離通信卡,通過自定義通訊協議在兩臺服務器之間進行數據交互。結果在保證原物理隔離安全性的基礎上,實現了通訊雙方在同一機房的數據交互量小、并發量不大的單鏈路多信道業務通訊。結論利用PCI接口作為多個網絡之間物理隔離方案的通訊機制,在特定的業務方面有較強的可用性。
PCI接口;網絡技術;網絡安全;物理隔離
網絡技術的發展在給大眾帶來便利的同時,信息的安全機制也經受了越來越多的挑戰。企業內部因為業務的需要,經常涉及到多個網絡之間的數據傳輸。通常稱內部主業務網為可信端網絡,而非主業務網絡稱為非可信端網絡[1]。既要實現可信端和非可信端實時、高效的通信,又要保證可信端數據不被黑客通過非可信端非法竊取或篡改,使用網絡隔離是最好的解決辦法[2]。網絡隔離技術的目標是在確??尚哦司W絡內部信息不外泄的前提下,與非可信端網絡實現網間數據的安全、實時、高效率交換。網絡隔離主要分為物理隔離和邏輯隔離,重點是物理隔離[3]。物理隔離是解決不同網絡間安全問題最有效的方式,在黨、政、軍等基于不同網絡的領域被廣泛應用。網絡物理隔離主要有以下3個特征:① 每一次數據交換都需要經歷數據寫入和數據讀出兩個過程[4];② 內網與外網永不連接;③內網和外網在同一時刻最多只有1個與物理隔離設備建立非TCP/IP的數據連接[5]。
傳統的物理隔離的數據傳輸主要以光盤、U盤的單向拷貝為主,該方式在一定程度上解決了網絡間的數據通訊問題,但也為物理隔離網絡之間增加了通訊的難度,并間接為病毒的傳輸提供了可能。
物理隔離的使用,在解決網絡間通訊安全問題的同時也為一些需要在網絡間交換的數據的通訊帶來了諸多不便。我院利用服務器已有的外設部件互連標準(Peripheral Component Interconnect,PCI)接口結合相應的安全權限機制自主研發了隔離通信卡,在不犧牲物理隔離安全性的同時,又能夠針對特定的業務實現不同網絡間安全、實時、高效率的數據通訊。
PCI是目前計算機使用最為廣泛的接口,幾乎所有的主板產品上都帶有這種插槽。PCI是在CPU和原來的系統總線之間插入的一級總線,具體由1個橋接電路實現對這一層的管理,并實現上下層之間的接口、協調數據的傳送。其工作頻率為33 MHz/66 MHz,當PCI 總線工作在33 MHz頻率時,傳輸帶寬達可達133 MB/s。在同一個機房,具有“物理隔離”的兩個網絡之間的機器,通過安裝PCI接口硬件進行通訊,是解決短距離、小數據量數據實時傳輸的便捷方式。
在兩個通訊服務器之間實現通訊,首先需要在服務器之間建立相應的連接,通過自定義的通訊協議在兩臺服務器之間進行數據交互。由于只是針對特定的業務,為了保障數據交互的安全,在PCI接口硬件之間所采用的交互協議要盡可能簡單并帶有嚴格的數據加密保護措施,對數據通訊服務器實行接收指令的限定,通過特定的指令返回相應的數據處理結果。在數據處理服務端定義相應的指令集用于接收固定的指令,再針對特定的指令返回處理結果。對于非法的指令直接丟棄?;赑CI接口連接的數據交互原理,見圖1。

圖1 基于PCI接口連接的數據交互形式
該交互方式實現了物理隔離網絡之間的通訊,在最大限度地提高通訊效率的前提下,保證了物理隔離網絡之間的安全性。在安全保障方面,通過硬件的方式實現傳輸加密;非標準協議握手驗證和加密通訊在不同操作系統是通過操作系統本身的權限控制機制,限制客戶端與服務器端的訪問權限。
1.1 硬件準備
硬件端主要由PCI總線接口芯片CH365、USB接口芯片CH375、邏輯控制芯片ATF16V8B組成[6]。其中,CH365是一種32位轉8位、數據傳輸速率可達7 Mbit的計算機PCI(或PCI-E)總線接口芯片;CH375是一個具有8位數據總線和讀、寫、片選控制線以及中斷輸出的USB總線通用接口芯片,并且里面帶有2個可用于數據交換的64字節收發雙向緩沖區;ATF16V8B是可寫入控制邏輯的控制芯片[7]。硬件通信原理,見圖2。
由圖2可見,驅動軟件通過PCI總線向CH365芯片發起64字節的數據傳輸請求,并通過ATF16V8B芯片通知CH375芯片并查詢相應狀態直到當CH375芯片可寫時,CH365芯片向CH375芯片寫完數據并產生中斷告知CH375芯片;CH375芯片收到此中斷信號,則通過USB協議向對方的卡發送待傳輸的64字節數據。對方的CH375芯片收到數據后將數據存放在64字節接收緩沖區,同時向ATF16V8B芯片發出中斷信號并等待CH365芯片接收數據,待數據接收完畢后關閉中斷信號。由于CH375芯片具有2個64字節緩沖區,可以將2個緩沖區分別設置為接收緩沖區和發送緩沖區,由此構成數據收發的全雙工鏈路。

圖2 硬件通信原理圖
1.2 通訊協議
1.2.1 通訊鏈路的建立
通信卡雖然不建立標準的TCP/IP鏈接,但是為了保證數據收發的同步,建立鏈接時仍然使用類似于TCP/IP的“3次握手”協議和“4次分手”協議[8]。
所謂的“3握手”就是對每次發送的數據量怎樣跟蹤、協商,使數據段的發送和接收同步;當數據發送、接收完畢后何時撤消聯系,并建立虛擬連接。為了提供可靠的傳送信息,TCP 在發送新的數據之前,以特定的順序號將數據打包并傳送給目標機。TCP 總是用于發送大批量數據。當應用程序在收到數據后做出確認時也要用到TCP。握手時序通信原理,見圖3。

圖3 握手時序圖
第1次握手:建立連接時,A端發送syn 包(syn=j)到B端,并進入SYN_SEND狀態,等待B端確認。
第2次握手:B端收到syn包,必須確認A端的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態。
第3次握手:A端收到B端的SYN+ACK包,向B端發送確認包ACK(ack=k+1),此包發送完畢,A端和B端進入ESTABLISHED狀態,完成3次握手。
由于TCP連接是全雙工的,因此每個方向都必須單獨進行關閉。這個原則是當一方完成數據發送任務后就發送1個FIN來終止這個方向的連接;收到1個 FIN只意味著這一方向上沒有數據流動。1個TCP連接在收到1個FIN后仍能發送數據,首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。
1.2.2 數據幀格式
通訊卡采用有限數據通信模式,即數據服務器所能接收的指令事先定義并保存在相應的請求指令集。數據處理服務器端接收到的數據首先需要進行解密,再進行有效性判斷,不符合的數據一律被認為是無效數據(丟棄);對于符合指令處理程序的數據,根據指令的要求加密后返回給客戶端。這樣,即使黑客掌握通信協議向PCI硬件卡發送的信息,也無法進行正確的加密、解密,其指令也是數據處理服務器不認可的[9]。
CH375芯片里面帶有2個可用于數據交換的64字節收發雙向緩沖區,在通信協議設計時,協議的幀頭固定占用4個字節,幀數據區占用60個字節。4個字節的幀頭又分為握手區和指令區,第1個字節用來存放上位機的通訊信道和握手協議信號;第2~4這3個字節用來存放具體的通訊指令。
第1字節握手區的8 bit又分為兩部分。第一部分為前3 bit,用來存放通訊信道,支持23=8種通訊信道,即已配對的1套通信卡可以支持上位機8種通訊程序;第二部分為剩下的5個bit,用于存放握手協議和分手協議的應答信號,協議支持25=32種協議握手信號。
指令區3個字節的字長支持224=1703936種有效性通信指令。內部通信指令還可區分為控制指令和數據傳輸指令??刂浦噶钫加玫?字節,包含3次握手和4次分手指令集合,最多可以達到28=256種指令;數據傳輸指令共同占用第 2、3字節,包括數據傳輸開始、數據幀中傳輸、丟棄指令、數據重發、數據結束等指令。指令集支持216=65536種指令。為了保證通信卡的通用性,協議保留第1字節給上位機自行定義。上位機用戶可以根據具體的應用自行定義指令格式,指令集數量支持224-216-28=16777216-65536-256=16711424種指令。
幀數據區由緩沖區的第4字節和其他59個字節組成,其中第4字節的低4位組成的最大可表示64數值、代表59個字節的數據長度。高4位組成的最大可表示64數值、表示數據傳輸的加密標準[10](數據加密標準涉及通信卡通信安全,此處不展開說明)。由此構成的幀格式示意圖,見圖4。

圖4 64字節數據幀格式
1.3 通信端配置
在準備好硬件與定義相應的通訊協議后,基于不同的操作系統還要進行相應權限分配的設置。本通訊方式在數據傳輸時,在請求客戶端服務器與數據處理服務器間并沒有相應的標準協議,而是分別在兩個服務器的操作系統中定義了通訊雙方所能夠訪問的目錄。該目錄通過操作系統用戶的權限來設定,只具備讀、寫的功能,并限定存儲文件類型為文本類型。這樣的限定將會極大降低服務器間傳遞惡意程序的可能性,從而提高服務器的安全性。
1.4 通訊設備的使用
經過硬件、通訊協議以及通訊兩端之間的安全配置后,只需在通訊的服務器上安裝相應的上位機驅動程序,并進行簡單的配置,即可為通訊的雙方提供相應的安全數據通訊。
在數據處理服務端,需要配置可接收的指令集,并設置接收數據的加密機制。當請求客戶端發起正確加密的指令后,服務器通過監控指定目錄接收的指令,從數據庫或者其他存儲介質中獲取到處理的結果數據,并通過加密的方式傳輸到請求客戶端。請求客戶端接收到的數據同樣放在指定的目錄下,請求客戶端通過將返回的數據格式與相應的發送請求進行匹配,形成相應的結果數據,返回給最終用戶。
由于通訊卡內部CH365數據傳輸速率可達7Mbit并且采用全雙工通信鏈路,去除協議包的數據流量損耗,實際的通信速率可以達到6.4 Mbit。在給醫保、農保和互聯網提供查詢應用時,其速率已和普通互聯網接入的下行帶寬相當。在實際使用中,應用程序并未有明顯的網絡隔離中斷等待。對用戶和黑客也實現了網絡透明,讓惡意程序無法進入可信端竊取和破壞數據,實現理想的隔離,使數據高速率、安全地進行通信。
本文提出了一種利用PCI接口作為多個網絡之間物理隔離方案的通訊機制,使通訊雙方在同一機房實現交互數據量小、并發量不大的單鏈路多信道業務通訊。在本文中涉及到的硬件、軟件配置,并不需要很高的成本,只是利用了最基本的服務器的已有接口,并配合簡單的傳輸配件,即可組成1個便捷的跨網絡安全數據傳輸設備。該機制從硬件層面、軟件層面都對物理隔離網絡之間的數據通訊設置了相應的安全保障,能夠實現物理隔離網絡之間高效率、實時、安全的數據交換,并減少了病毒傳輸的可能性[11],在特定的業務方面有較強的可用性。
[1] 王洪強,詹永豐,張蔚,等.基于網閘實現物理隔離的網上預約掛號系統[J].中國數字醫學,2010,5(11):71-72.[2] 王朝坤,付軍寧,王建民,等.軟件放篡改技術綜述[J].計算機研究與發展,2011,48(6):923-933.
[3] 常建國,宮彥婷,徐京渝,等.醫院HIS網絡與醫保網絡間數據交換安全解決方案[J].中國醫療設備,2012,27(3):63-67.
[4] 張繼永.網絡隔離技術與信息安全[J].中國信息界,2010,(9):25-26.
[5] 陳強,付強,張勇.淺談網絡隔離技術[J].北京交通,2010,(4):195-197.
[6] 于京杰,戚仕濤.醫院內網終端準入控制與測試研究[J].中國醫療設備,2012,27(6):42-44.
[7] 伊勇,李宇.PCI總線設備開發寶典[M].北京:航空航天大學出版社,2005:67-69.
[8] 何鵬舉,王萬誠,李高盈,等.網絡隔離設計器的設計與使用[J].控制工程,2002,(6):52-53.
[9] 郭棟.加密與解密實戰功略[M].北京:清華大學出版社,2003: 189-240.
[10] 余威.安全隔離系統中隔離方案與實現[D].北京:清華大學,2004.
[11] 胡道元,閔京華.網絡安全[M].北京:清華大學出版社,2008.
Network-Spanned and Secure Data Communication Mode Based on PCI Interface
WU Ya-yun, ZHUANG Shao-yan, HONG Rui-an
Software Development Room of Information Department, The 180thHospital of PLA, Quanzhou Fujian 362000, China
ObjectiveTo implement the secure data transmission between multiple networks.MethodsIsolated communication card developed by our hospital is installed in the PCI slot between two communication servers so that data interaction can be implemented between two servers via custom communication protocol.ResultsThe single-link and multichannel data communication with a small amount of data interaction and concurrency between both sides of communication within the same computer room is implemented based on the original physical isolation security.ConclusionThe communication mechanism which regards PCI interface as its physical isolation scheme among various networks has strong usability in the aspect of professional work.
PCI interface; network technology; network security; physical isolation
TP393.08
A
10.3969/j.issn.1674-1633.2014.03.014
1674-1633(2014)03-0045-03
2013-08-23
2013-09-11
作者郵箱:wuyayun@163.com