1.引言
隨著互聯(lián)網(wǎng)的廣泛應用,網(wǎng)絡信息安全已成為人們越來越關注的問題。但是目前國內(nèi)外采用最普遍的網(wǎng)絡安全措施防火墻類軟件存在如下缺陷:第一防火墻隔離的網(wǎng)絡還是基于TCP/IP協(xié)議來進行信息交換的,而TCP/IP協(xié)議是存在漏洞,因此它無法防止協(xié)議本身的漏洞;第二防火墻的運行離不開操作系統(tǒng),操作系統(tǒng)和防火墻軟件都可能存在未知的漏洞,從而不能禁止利用這些漏洞而進行的網(wǎng)絡入侵和攻擊的發(fā)生,使得整個防護體系十分脆弱;第三防火墻類軟件在可信網(wǎng)絡與不可信網(wǎng)絡之間提供了網(wǎng)絡的直連通道,但是它并不能保證準許放行的數(shù)據(jù)的安全性,同時在對入侵檢測上也存在局限性。而物理隔離技術(shù)通過中斷內(nèi)部網(wǎng)絡與互聯(lián)網(wǎng)的直接連接,不支持TCP/IP協(xié)議,不依賴于操作系統(tǒng),只允許內(nèi)外網(wǎng)間進行適度的原始數(shù)據(jù)交換,從而在根本上解決了防火墻的缺陷,為內(nèi)部可信網(wǎng)絡可以提供更好的安全性保護。所以我國在《計算機信息系統(tǒng)國際互聯(lián)網(wǎng)管理規(guī)定》第六條中規(guī)定涉及國家秘密的計算機必須實行物理隔離。
2.物理隔離網(wǎng)閘
物理隔離網(wǎng)閘(以下簡稱網(wǎng)閘)是一種采用物理隔離技術(shù),由帶有多種控制功能專用硬件在電路上切斷網(wǎng)絡之間的鏈路層連接,并能夠在網(wǎng)絡間進行安全適度的應用數(shù)據(jù)交換的網(wǎng)絡安全設備,它通過使內(nèi)外部主機在任何時間都完全斷開,對TCP/IP協(xié)議及應用協(xié)議的剝離和重建,實現(xiàn)內(nèi)外網(wǎng)在OSI模型七層的網(wǎng)絡隔離。通常具備有安全隔離、內(nèi)核防護、協(xié)議轉(zhuǎn)換、病毒查殺、訪問控制、安全審計和身份認證,七大安全功能模塊。其硬件設備主要由三部分組成:外部處理單元、內(nèi)部處理單元、隔離硬件。
目前網(wǎng)閘的技術(shù)路線主要有基于SCSI的開關技術(shù)和基于總線的開關技術(shù)兩種?;诳偩€的實時開關技術(shù)的網(wǎng)閘采用雙端口靜態(tài)存儲器(Dual Port SRAM,以下簡稱DPRAM)配合基于獨立的CPLD或FPGA的控制電路,雙端口各自通過開關與獨立的計算機主機連接(如圖1)。CPLD(或FPGA)作為獨立的控制電路保證雙端口靜態(tài)存儲器的每一端口上存在一個開關,且兩個開關不能同時閉合即K1×K2=0?;赟CSI開關技術(shù)的網(wǎng)閘和圖1相似,只是數(shù)據(jù)通道換為SCSI硬盤接口,而存儲介質(zhì)使用的是SCSI硬盤,控制單元使用專門設計的硬件電路板實現(xiàn)。
但是目前采用上述實現(xiàn)技術(shù)的網(wǎng)閘系統(tǒng)普遍存在數(shù)據(jù)交換速度低、數(shù)據(jù)交換實時性差的問題。為克服這些問題,我們在進行MIPS網(wǎng)閘設計中提出并應用了基于總線的雙通道循環(huán)緩沖區(qū)實時開關技術(shù)。
3. 基于總線的雙通道循環(huán)緩沖區(qū)實時開關技術(shù)
在圖1原有的設計中,進行數(shù)據(jù)交換時,內(nèi)部和外部處理單元在任何時刻只有一方與隔離硬件相連。如果數(shù)據(jù)通道的速度為A bps,那么內(nèi)外部處理單元間的數(shù)據(jù)交換速度最高只能達到A/2 bps,未能充分利用發(fā)揮數(shù)據(jù)通道的能力。為此我們提出如圖2的設計。
將原有設計中的DPRAM存儲區(qū)域分為A(a1,a2,…an)和B(b1,b2,…bn)兩塊(ai、bi為n個相等的小塊存儲區(qū)),K1和K2的約束為K1ai×K2ai=0且K1bi×K2bi=0(K1ai表示K1與ai相連,K2ai、K1bi、K2bi與此相同)。如此一來就將原有圖1設計中的一個雙向數(shù)據(jù)通道變?yōu)榱藘蓚€單向的數(shù)據(jù)通道,當內(nèi)外部主機中的一方對ai或bi進行訪問時,另一方仍可以對aj或bj(i≠j)進行訪問,同時實現(xiàn)了傳輸數(shù)據(jù)的隔離。
假設開關K1,K2與每一存儲區(qū)域ai,bi的訪問是隨機進行的,那么在足夠長的一段時間內(nèi),開關K1,K2與每一存儲區(qū)域ai,bi的連接概率都是相等的,因此
我們對ai、bi區(qū)域的訪問控制進行設計,使其分別組成兩個循環(huán)緩沖區(qū),這將進一步的減少內(nèi)外部處理單元對隔離硬件訪問讀寫沖突的發(fā)生,同時也提高了交換數(shù)據(jù)的實時性。通過這樣的設計能使系統(tǒng)總線數(shù)據(jù)通道工作于“全雙工”狀態(tài),提高了數(shù)據(jù)交換的速度和實時性,提升了系統(tǒng)的整體性能,滿足系統(tǒng)更高的應用需求。
4.硬件設計實現(xiàn)
在我們設計的網(wǎng)閘系統(tǒng)中其內(nèi)外部處理單元由基于MIPS處理器的嵌入式計算機系統(tǒng)組成,隔離硬件模塊為雙端口RAM卡,其包含通斷控制電路,讀寫保護邏輯和數(shù)據(jù)存儲電路。隔離硬件與內(nèi)外部處理單元采用SDRAM總線連接。
4.1內(nèi)外部處理單元的設計實現(xiàn)
內(nèi)外部處理單元MIPS主板的硬件電路結(jié)構(gòu)上與PC機相似,如圖3所示。
圖3 MIPS主板的硬件電路框圖
內(nèi)外處理單元與內(nèi)外網(wǎng)的連接通過板上的千兆網(wǎng)卡實現(xiàn)的,監(jiān)控主機系統(tǒng)與網(wǎng)閘系統(tǒng)的連接是通過百兆網(wǎng)絡口實現(xiàn)的,該百兆口是對網(wǎng)閘進行設置的唯一端口且不和其它網(wǎng)絡相連接。同時該嵌入式計算機系統(tǒng)還對外提供了如PCI、IDE、串口等常用接口。獨立的嵌入式主機為內(nèi)(外)網(wǎng)提供了該側(cè)的全部硬件和軟件資源,保證了系統(tǒng)內(nèi)數(shù)據(jù)可以獲得及時的處理。
4.2雙端口RAM卡的設計實現(xiàn)
由于在MIPS網(wǎng)閘中實現(xiàn)數(shù)據(jù)交換的過程是通過對雙端口RAM卡上的存儲芯片的讀寫來完成的。存儲芯片作為為內(nèi)外網(wǎng)絡的數(shù)據(jù)交換存儲區(qū),其訪問設計方案決定了MIPS網(wǎng)閘交換的整體速度。為了最大限度的提高MIPS網(wǎng)閘的數(shù)據(jù)交換速度,我們MIPS網(wǎng)閘項目組采用了基于SDRAM總線的雙通道循環(huán)緩沖區(qū)實時開關技術(shù),使得MIPS網(wǎng)閘數(shù)據(jù)交換速度有了突破性的提高。 圖4為雙端口RAM卡的硬件框圖。
設計中采用IDT70V3579S作為內(nèi)外網(wǎng)間的數(shù)據(jù)緩沖區(qū),Xilinx Virtex-II XC2V40作為控制單元。設計中采用兩片70V3579S,使得數(shù)據(jù)存儲區(qū)域和SDRAM位寬相同(64bit數(shù)據(jù)位8bit校驗位)。整個數(shù)據(jù)存儲區(qū)域為32K×72bit,容量為256KB,在設計中A、B存儲區(qū)域大小均為128KB,同時將A、B分別劃分成64段ai、bi,每段大小為2KB(因為MIPS處理器RM7065C的cache頁替換每次為2KB,如此設置有助于提高系統(tǒng)性能)。如此一來DPRAM地址將分為兩部分:高位地址(段地址)和低位地址(段內(nèi)地址)。
在MIPS網(wǎng)閘中雙端口RAM卡與內(nèi)外部處理單元間數(shù)據(jù)交換非常頻繁,根據(jù)第3節(jié)的設計原理我們利用FPGA來解決內(nèi)外網(wǎng)機對雙口RAM讀寫的操作沖突,提高速據(jù)傳輸速度。在FPGA內(nèi)設置有如下寄存器:REG_L_W是用于控制左端寫入的6位段地址寄存器,可以直接對應DPRAM的左端寫入段地址;REG_R_R是用于控制右端讀出的6位段地址寄存器,可以直接對應DPRAM的右端讀出段地址;REG_L_RES是對應于64段ai資源使用情況的64位段標志寄存器;REG_R_W是用于控制右端寫入的6位段地址寄存器,可以直接對應DPRAM的右端寫入段地址;REG_L_R是用于控制左端讀出的6位段地址寄存器,可以直接對應DPRAM的左端讀出段地址;REG_R_RES是對應于64段bi資源使用情況的64位段標志寄存器。通過寄存器REG_L_W、REG_R_R、REG_R_W、REG_L_R將ai、bi組成循環(huán)緩沖區(qū),同時實現(xiàn)K1、K2與不同的段的連接。通過寄存器REG_L_RES、REG_R_RES指示判斷段資源的使用情況,并通知系統(tǒng)北橋。
當北橋向DPRAM寫入或讀出數(shù)據(jù)時,由FPGA根據(jù)其內(nèi)部管理寄存器,發(fā)出高7位地址L/R_SEGADD[6:0]控制北橋具體訪問的數(shù)據(jù)段ai、bi,而且在FPGA中硬件設置使兩端不能同時對同一目標段進行訪問,從而控制K1、K2與ai、bi的連接,實現(xiàn)數(shù)據(jù)的隔離。
對于雙端口RAM卡與SDRAM接口的連接實現(xiàn)如下:首先,MIPS網(wǎng)閘是一個數(shù)據(jù)交換類的共享存儲系統(tǒng),而MIPS主板中北橋GT芯片支持UMA(同一地址架構(gòu),Unified Memory Architecture),這一特性為設計共享存儲系統(tǒng)提供了很高的靈活性,為我們設計實現(xiàn)提供了便利。其次,在設計中采用的XC2V40芯片能與外部存儲器(如SDR/DDR SDRAM,SDR/DDR SRAM )之間建立高性能接口,非常適合我們MIPS網(wǎng)閘系統(tǒng)的應用要求。最為關鍵的是,通過比較DPRAM與SDRAM在讀寫的操作時序,兩者具有相似性,其主要時序兩者基本一致。DPRAM與SDRAM讀寫操作的最大不同在于DPRAM進行讀寫操作時,其地址是一次輸出同時數(shù)據(jù)線上信號也發(fā)生變化,而SDRAM的地址是分行列地址發(fā)出的,在發(fā)送行地址等待TRCD周期后,發(fā)送列地址,在此時刻數(shù)據(jù)信號才出現(xiàn)在數(shù)據(jù)線上。因此根據(jù)以上的比較分析,我們可以通過FPGA的設計使得DPRAM對于北橋來說運行于SDRAM情況之下,即北橋GT對DPRAM的操作符合SDRAM規(guī)范。
具體設計辦法如下:在北橋GT對雙端口RAM卡進行訪問并發(fā)出行地址時,我們設計北橋同時選通FPGA,在經(jīng)過FPGA內(nèi)部的運算后,經(jīng)過TRCD的延遲,在北橋向雙端口RAM卡發(fā)出列地址及CAS的同時,F(xiàn)PGA發(fā)出運算后的合適的DPRAM高位地址(段地址)。此時,高位地址與低位地址將組合成為完整的DPRAM地址并同時到達DPRAM,然后再進行讀寫操作。從而實現(xiàn)在邏輯上北橋?qū)PRAM的訪問操作等同于SDRAM。
在系統(tǒng)運行中,高7位段地址與北橋發(fā)出的列地址中的低8位DADDR[7:0]拼接為雙端口靜態(tài)存儲器的完整地15位地址DPRAM_ADDR[14:0],完成對段內(nèi)單元的訪問。FPGA的控制功能還包括:判斷DPRAM是否有數(shù)據(jù)及通知北橋數(shù)據(jù)可讀,DPRAM是否寫滿及通知北橋放棄寫過程,判斷是否DPRAM已寫到最后的地址及循環(huán)到起始地址等。FPGA還對北橋提供了L/R_SEG_FULL(A、B段寫滿信號)和L/R_INT_README(A、B段讀允許信號),這些信號均連接到GT64240的MPP(multiple purpose pins) interface上,通過以上設計從而實現(xiàn)了基于總線的雙通道循環(huán)緩沖區(qū)實時開關技術(shù)。
由于DPRAM實際可以認為是SDRAM的延續(xù),而系統(tǒng)通過內(nèi)部地址將其與系統(tǒng)內(nèi)存SDRAM加以區(qū)分。而段地址的切換由FPGA控制完成,所以對于北橋來說,雙端口RAM卡的地址空間大小為2KB。
通過對MIPS網(wǎng)閘雙端口RAM卡的設計,在MIPS網(wǎng)閘中實現(xiàn)了基于SDRAM總線的雙通道循環(huán)緩沖區(qū)實時開關技術(shù)。
采用SDRAM總線通道使得雙端口RAM卡的地址作為內(nèi)存的一段而存在,北橋GT對其的訪問符合SDRAM規(guī)范,因此在MIPS網(wǎng)閘系統(tǒng)進行數(shù)據(jù)交換時,數(shù)據(jù)是由內(nèi)存到內(nèi)存的搬運,其速度比內(nèi)存到PCI、Local Bus要快,而且方便以后的軟件設計。而雙端口RAM卡的FPGA控制單元獨立工作保證了系統(tǒng)不會被嵌入式計算機或者其他主機遠程控制,使得網(wǎng)閘系統(tǒng)獲得絕對的安全性。采用新結(jié)構(gòu)-雙通道和循環(huán)緩沖區(qū)結(jié)構(gòu)提高了系統(tǒng)數(shù)據(jù)傳輸?shù)乃俣群蛯崟r性。同時雙端口RAM卡的FPGA對ai、bi的控制管理實現(xiàn)了內(nèi)外部處理單元對存儲單元的互斥讀寫,實現(xiàn)了內(nèi)外網(wǎng)數(shù)據(jù)的隔離。
通過采用新技術(shù)提高了MIPS網(wǎng)閘的數(shù)據(jù)交換速度,減少了讀寫沖突的發(fā)生。在本設計中,對通道的理論利用效率可以達到99%以上,而SDRAM的速度是133MHz,因此北橋?qū)PRAM訪問的速度也達到了133MHz,那么MIPS網(wǎng)閘的交換峰值將達到133MHz×64bit×2(雙向雙片),這在性能上是很大的突破。
5.傳輸過程的控制
MIPS網(wǎng)閘系統(tǒng)中數(shù)據(jù)的處理流程如圖5所示:
圖5 系統(tǒng)數(shù)據(jù)處理流程
用戶請求發(fā)送給服務器,服務器將收到的數(shù)據(jù)經(jīng)確認后,通過專門的通訊軟件發(fā)給MIPS網(wǎng)閘系統(tǒng)。MIPS網(wǎng)閘收到這些網(wǎng)絡數(shù)據(jù)后,在MIPS嵌入式主機系統(tǒng)A上對它們進行內(nèi)容過濾、身份驗證、安全審計、病毒查殺,同時完成協(xié)議剝離,獲得純數(shù)據(jù)。然后將通過審核的純數(shù)據(jù)寫入內(nèi)存地址中對應于雙端口RAM卡地址區(qū)間。雙端口RAM卡通過L/R_INT_README信號通知MIPS嵌入式主機系統(tǒng)B來讀取數(shù)據(jù)。MIPS嵌入式主機系統(tǒng)B讀取內(nèi)存地址中對應于雙端口RAM卡地址區(qū)間獲得數(shù)據(jù),然后將數(shù)據(jù)進行重新封裝還原,形成一個安全的網(wǎng)絡數(shù)據(jù)包,通過網(wǎng)絡端口B發(fā)送給服務器。服務器根據(jù)該數(shù)據(jù)包的服務請求從而完成整個服務過程。
數(shù)據(jù)在MIPS網(wǎng)閘系統(tǒng)的中間處理過程如圖6所示:
圖6 MIPS網(wǎng)閘中數(shù)據(jù)的中間處理過程
6.結(jié)論
分析介紹了物理隔離網(wǎng)閘技術(shù),提出了基于總線的雙通道循環(huán)緩沖區(qū)實時開關技術(shù),該技術(shù)克服了原有技術(shù)中存在的數(shù)據(jù)交換速度低實時性差的問題。給出了網(wǎng)閘中利用FPGA和雙端口RAM在SDRAM總線上實現(xiàn)該技術(shù)的具體實現(xiàn),對該系統(tǒng)中數(shù)據(jù)傳輸過程的控制和處理也給予了簡要的說明。依據(jù)此技術(shù)設計實現(xiàn)的物理隔離系統(tǒng)的數(shù)據(jù)交換速度以及數(shù)據(jù)的實時性得到了提高,滿足了千兆網(wǎng)絡級的應用。
責任編輯:gt
評論
查看更多