基于GAP技術(shù)的網(wǎng)絡(luò )隔離設備的設計
1 引言
本文引用地址:http://dyxdggzs.com/article/78879.htm隨著(zhù)電子商務(wù)的發(fā)展,網(wǎng)絡(luò )安全越來(lái)越重要。病毒和黑客攻擊造成的損失無(wú)法估算,防火墻、殺毒軟件等防范措施都是基于軟件的保護,并不能完全可靠地阻止外界的攻擊,因此迫切需要比傳統產(chǎn)品更為可靠的技術(shù)防護措施。GAP技術(shù)是一種基于硬件的保護技術(shù)。
2 系統工作原理
國內外快速發(fā)展的GAP技術(shù)以物理隔離為基礎,在確保安全性的同時(shí),解決了網(wǎng)絡(luò )之間信息交換的困難,從而突破了因安全性造成的應用瓶頸。GAP技術(shù)是通過(guò)專(zhuān)用硬件使2個(gè)或者2個(gè)以上的網(wǎng)絡(luò )在不連通的情況下實(shí)現安全數據傳輸和資源共享的技術(shù)。它采用獨特的硬件設計,保證在任意時(shí)刻網(wǎng)絡(luò )間的鏈路層斷開(kāi),阻斷TCP/IP協(xié)議及其他網(wǎng)絡(luò )協(xié)議,能夠顯著(zhù)地提高內部用戶(hù)網(wǎng)絡(luò )的安全強度,與防火墻、入侵檢測有很大的區別:防火墻、IDS技術(shù)從正面抗擊黑客入侵,而GAP產(chǎn)品以攻擊技術(shù)的物質(zhì)基礎即網(wǎng)絡(luò )介質(zhì)實(shí)現隔離,使黑客技術(shù)無(wú)用武之地。2個(gè)網(wǎng)絡(luò )(內部網(wǎng)絡(luò )和外部網(wǎng)絡(luò ))物理斷開(kāi),但邏輯相連。GAP的結構如圖1所示。

專(zhuān)用隔離硬件與內外網(wǎng)處理單元構成一個(gè)GAP系統,隔離硬件由純電路構成,隔離硬件中增加暫存區的設計,滿(mǎn)足了數據傳輸的實(shí)時(shí)性和傳輸效率要求。筆者在GAP原理的基礎上提出基于FPGA的專(zhuān)用隔離硬件設計的新方案,并對關(guān)鍵技術(shù)進(jìn)行了深入研究。
3 系統方案設計
3.1 系統結構
該系統主要由1個(gè)超大規模邏輯器件、2個(gè)68針P電纜SCSI接口和2個(gè)SDRAM構成,系統整體硬件結構如圖2所示。

在該系統中,FPGA要集成核心控制器、SCSI協(xié)議控制器、SDRAM控制器模塊,核心控制器從SCSI協(xié)議控制器獲得二端處理單元的命令,執行相應的動(dòng)作,如檢查設備、讀寫(xiě)數據等,而且將SCSI協(xié)議控制器與存儲器隔離,在任何時(shí)候,1個(gè)SCSI協(xié)議控制器只能與1個(gè)存儲器構成通路。系統中的緩沖區由兩片SDRAM構成,核心控制器通過(guò)調用SDRAM控制器IP核對其進(jìn)行同步操作,從一片讀數據的同時(shí)向另一片寫(xiě)數據,可以完成讀寫(xiě)乒乓機制功能,有助于提高傳輸速度。專(zhuān)用隔離硬件進(jìn)行內外網(wǎng)之間大量數據的傳輸,為了保證高速和實(shí)時(shí),選用68針的P電纜線(xiàn),支持16位寬SCSI。為了滿(mǎn)足功能的需要,FPGA選用ALTERA公司的EPlK5OQC208-3,其邏輯門(mén)和引腳資源豐富,速度大于50 MHz。其主要特性如下:2.5 V核心電壓,低功耗設計;208引腳,171個(gè)可用I/O口;內有l 728個(gè)邏輯單元和6個(gè)嵌入式RAM塊。
3.2 SCSI協(xié)議控制器的設計
在SCSI總線(xiàn)上進(jìn)行任何處理都需要8個(gè)總線(xiàn)階段:空閑階段、仲裁階段、選擇階段、重選階段、消息輸入/輸出階段、數據輸入/輸出階段、命令階段、狀態(tài)階段。在任何時(shí)候,SCSI總線(xiàn)只能處于一個(gè)確定的總線(xiàn)階段。階段之聞的前后關(guān)聯(lián)受到嚴格限制,也就是說(shuō)并不是每個(gè)階段后面都可以跟著(zhù)任何階段。圖3示出了SCSI總線(xiàn)階段狀態(tài)的轉化,如命令和數據階段只能在消息階段之后出現,同樣,消息階段的后面必須緊跟這兩個(gè)階段,而不是其他階段。

該協(xié)議控制器的設計嚴格按照SCSI總線(xiàn)階段轉化過(guò)程,由以上分析提出SCSI協(xié)議控制器的FP-GA實(shí)現方案:由于空閑、仲裁這兩個(gè)總線(xiàn)階段的機理簡(jiǎn)單,故將其直接放在SCSI模塊中實(shí)現,其余每個(gè)階段都有相對應的模塊,整個(gè)系統軟件由1個(gè)頂層模塊和7個(gè)平行的底層模塊構成。模塊層次如圖4所示。

SCSI模塊有1個(gè)有限狀態(tài)機,每個(gè)狀態(tài)對應底層的1個(gè)模塊,并用寄存器S_MODE的不同取指來(lái)表示不同模塊,通過(guò)這個(gè)狀態(tài)機實(shí)現階段轉換、消息處理、命令解釋、數據處理和狀態(tài)處理等功能。
Sel模塊處理選擇階段的時(shí)序。啟動(dòng)器將信號BSY、SEL、ATN和啟動(dòng)器的ID號以及目標器的ID號置為有效,啟動(dòng)器隨后釋放BSY信號,經(jīng)過(guò)200ms之后目標器將BSY信號置為有效,再過(guò)2個(gè)延遲周期后啟動(dòng)器釋放SEL信號并進(jìn)入消息階段。
Resel模塊處理重新選階段的時(shí)序。啟動(dòng)器將信號BSY、SEI I/O和啟動(dòng)器的ID號以及目標器的ID號置為有效,啟動(dòng)器隨后釋放BSY信號。最多200ms之后目標器必須將BSY信號置為有效作為響應。
Msg_out模塊處理消息出階段的時(shí)序。啟動(dòng)器將ATN置為有效,目標器將信號MSG和C/D信號置為有效,I/O信號為無(wú)效。這意味著(zhù)接下來(lái)要進(jìn)入的是消息出相序,啟動(dòng)器將發(fā)出16位寬傳輸消息。發(fā)送完信息字節后,啟動(dòng)器將釋放ATN信號,根據發(fā)出的信息確定下一個(gè)階段。
Cmd模塊處理命令階段的命令接收時(shí)序。目標器在接收到啟動(dòng)器80H的消息后進(jìn)入命令階段。目標器需將MSG和I/O置為無(wú)效,將C/D置為有效,接收完命令后,將根據命令判斷接下來(lái)要進(jìn)入的是數據輸入階段還是數據輸出階段。
Dat模塊處理數據階段的數據接收和發(fā)送時(shí)序。數據接收時(shí),在命令READ、TESI UNIT READY、INQUIRY、REQUEST、SENSE、READ CAPACITY后都將進(jìn)入數據進(jìn)相序。此時(shí)目標器將MSG和C/D信號置為無(wú)效,將I/O信號置為有效。目標器將發(fā)送相應的數據。在命令為WRITE后將進(jìn)入數據出階段,此時(shí)目標器將MSG、C/D和I/O都置為O,啟動(dòng)器向目標器發(fā)送數據,之后進(jìn)入消息階段。
Status模塊處理狀態(tài)階段的時(shí)序。在命令完成后將進(jìn)入狀態(tài)階段,目標器將MSG信號置為無(wú)效,將C/D和I/O信號置為有效,并發(fā)送命令執行的情況是GOOD還是CHECK CONDITON。狀態(tài)階段結束后將進(jìn)入消息進(jìn)階段,向啟動(dòng)器說(shuō)明一個(gè)COM-MAND COMPLETED。至此一個(gè)SCSI訪(fǎng)問(wèn)結束。目標器將進(jìn)入空閑階段,啟動(dòng)器將可以通過(guò)1個(gè)80 H的消息觸發(fā)另外一個(gè)訪(fǎng)問(wèn)。
Msg_in模塊處理消息進(jìn)階段的消息發(fā)送時(shí)序。目標器接收到16位寬傳輸的消息后將進(jìn)入消息進(jìn)時(shí)序。目標器將MSG、C/D以及I/O都置為有效,并發(fā)送重復的信息。發(fā)送完后目標器將釋放MSG信號,并根據消息確定下一個(gè)階段。
3.3 SDRAM IP核的應用
SDRAM是一種高速同步動(dòng)態(tài)隨機存儲器,在嵌入式系統中,SDRAM因其價(jià)格低、體積小、速度快,容量大等優(yōu)點(diǎn)而逐漸成為一種主流器件,但SDRAM的控制邏輯復雜,時(shí)序嚴格,使用不便,需要控制器提供正確命令來(lái)完成其初始化、讀寫(xiě)和刷新等工作。SDRAM控制器根據SDRAM的內部狀態(tài)轉化圖進(jìn)行設計,而且很多大公司都提供標準SDRAM控制器的IP核參考設計。筆者選用了WINBOND公司的W986432DH型SDRAM,它采用512 Kx4x32位架構,由4個(gè)BANK構成,每個(gè)BANK對應4 M字節,按行和列尋址,W986432DH的引腳分為控制、地址和數據信號三類(lèi)。其控制器選用Lattice公司的標準SDR SDRAM IP核,由4個(gè)底層模塊sdr_ctrl、sdr_sig、sdr_data、sdr_par和頂層模塊sdr_top組成,如圖5所示。

8dr_ctrl模塊根據SDRAM內部狀態(tài)轉化關(guān)系建立2個(gè)有限狀態(tài)機和1個(gè)計數器,能產(chǎn)生正確的中間狀態(tài)作為sdr_sig模塊輸入。sdr_sig模塊產(chǎn)生面向SDRAM的控制、地址信號。sdr_data模塊實(shí)現FPGA與SDRAM之間的數據傳輸。sdr_par模塊完成猝發(fā)長(cháng)度,延時(shí)節拍等參數設置,通過(guò)在該模塊中設置不同的參數來(lái)滿(mǎn)足不同的應用系統。
sdr__top將底層4個(gè)模塊整合成1個(gè)可以調用的系統。整個(gè)IP核類(lèi)似于黑匣子,不用詳細了解其內部實(shí)現細節,只需了解左邊控制信號的含義,對SDRAM的不同操作通過(guò)改變左邊控制信號的狀態(tài)即可。
4 結束語(yǔ)
本文提出了基于GAP技術(shù)的網(wǎng)絡(luò )保護設備設計新方案,闡述了主要模塊的實(shí)現方法,限于篇幅不能給出具體細節和源代碼。采用1個(gè)FPGA替代單片機和SCSI協(xié)議控制器,可減少電路數量,降低成本,便于升級。
評論