鄭挺
(杭州師范大學錢江學院電氣與機械工程系,浙江 杭州 310012)
GAP技術是在1997年左右,最早由以色列的Whale,Spearhead等公司研制開發(fā)。2000年1月,為滿足國內信息化建設及電子政務的需求,國內專業(yè)從事網絡與信息安全研究開發(fā)、技術支持、產品銷售和安全服務的北京天行網安信息技術有限責任公司率先提出從物理隔離技術發(fā)展出GAP概念,并且與公安部信息通信局聯合研制完成國內第一款GAP產品一一天行安全隔離與信息交換系統(tǒng),與此同時獲得了國內網閘行業(yè)第一個銷售許可證,標志著完全由我國自主研發(fā)的國內第一臺網閘誕生。
GAP技術的基本原理是在內網和外網的系統(tǒng)之間架構“安全隔離網閘”,保證內網連通時,斷開與外網的連接;外網連通時,斷開與內網的連接,分時地使用內外網中的數據通路進行數據交換,以達到隔離與交換的目的。也就是單個用戶在同一時間、同一空間不能同時使用內網和外網兩個系統(tǒng)。只要使兩個系統(tǒng)在空間上物理隔離,在不同的時間運行,就可以得到兩個完全物理隔離的系統(tǒng)。在數據交換過程中要進行防病毒、防惡意代碼等信息過濾,以保證信息的安全。切斷網絡之間的通用協議連接;將數據包進行分解或重組為靜態(tài)數據;對靜態(tài)數據進行安全審查,包括網絡協議檢查和代碼掃描等;確認后的安全數據流入內部單元;內部用戶通過嚴格的身份認證機制獲取所需數據。

物理層是OSI的第一層,它雖然處于最底層,卻是整個開放系統(tǒng)的基礎。物理層為設備之間的數據通信提供傳輸媒體及互連設備,為數據傳輸提供可靠的環(huán)境。
鏈路層是為網絡層提供數據傳送服務的,這種服務要依靠本層具備的功能來實現。實際的物理鏈路是不可靠的,總會出現錯誤,數據鏈路層的作用就是通過一定的手段 (將數據分成幀,以數據幀為單位進行傳輸)將有差錯的物理鏈路轉化成對上層來說沒有錯誤的數據鏈路。
網絡層將數據分成一定長度的分組,并在分組頭中標識源和目的節(jié)點的邏輯地址,這些地址就象街區(qū)、門牌號一樣,成為每個節(jié)點的標識;網絡層的核心功能便是根據這些地址來獲得從源到目的的路徑,當有多條路徑存在的情況下,還要負責進行路由選擇。
傳輸層是兩臺計算機經過網絡進行數據通信時,第一個端到端的層次,具有緩沖作用。
會話層提供的服務可使應用建立和維持會話,并能使會話獲得同步。會話層使用校驗點可使通信會話在通信失效時從校驗點繼續(xù)恢復通信。
表示層的作用之一是為異種機通信提供一種公共語言,以便能進行互操作。這種類型的服務之所以需要,是因為不同的計算機體系結構使用的數據表示法不同。
應用層向應用程序提供服務,這些服務按其向應用程序提供的特性分成組并稱為服務元素。有些可為多種應用程序共同使用,有些則為較少的一類應用程序使用。應用層是開放系統(tǒng)的最高層,是直接為應用進程提供服務的。
隔離模塊,起到一個數據中轉站和控制器的作用。隔離硬件通過USB總線與內部處理單元和外部處理單元相連,USB總線的數據線寬度為16位。數據從內部處理單元或者外部處理單元的USB端口發(fā)送至隔離硬件的數據緩沖區(qū)(雙端口儲存器)中,然后斷開該端同隔離硬件的連接,建立與另一端的連接,將數據從數據緩沖區(qū)(雙端口儲存器)發(fā)送至外部處理單元或者內部處理單元。
外部處理單元需完成的主要功能如下:(1)TCP/IP協議分解及專用協議封裝:對TCP/IP協議類型的數據包進行分解將TCP/IP包頭剝去,把從包頭中提取出有用的信息和原數據包的數據部分利用專用協議進行封裝。(2)附加消息認證印戳:通過MD 5算法計算出原始數據部分的消息摘要,然后對消息摘要進行加密獲得密文,該密文作為消息認證印戳附加在專用協議包頭中,供消息認證使用。
用戶管理子模塊主要完成對內網用戶訪問外網進行管理的任務。主要包括:(1)用戶管理:對用戶名,密碼,用戶的信息進行管理,對用戶的身份進行認證。(2)訪問控制:設定用戶能訪問什么網站或不能訪問什么網站,用戶可使用的端口:80(HTTP),21(FTP)等。(3)用戶訪問歷史記錄管理:查詢、刪除、打印用戶訪問歷史記錄。
數據接收模塊包括下而的組件
4.2.1 監(jiān)聽進程:監(jiān)聽常見網絡服務端口,不斷地檢查是否有新的數據包到來,當檢測到新的數據包之后,接收新的TCP/IP連接。
4.2.2 工作進程:負責在套接層上異步發(fā)送和接收數據。首先需要讀取待處理數據的包頭內容。
數據接收模塊實現主要函數為:建立Socket:SockRaw=socket(AF-NET,SOCK-AW,0)
綁定本機IP地址。首先獲得本地主機名,再根據本地主機名獲得本地的IP地址,最后將Socket與本機端口綁定。
捕獲數據包:循環(huán)調用recv()函數捕獲數據包,每捕獲一個數據包就將其存儲在緩沖區(qū)Buf中。
數據接收模塊其實現流程如下圖所示:

作為目前安全級別最高的一種安全解決方案,網絡隔離概念也越來越多的被應用在安全產品中,然而目前我們這一技術并不成熟,產品也各式各樣。作者是在這種大環(huán)境下對網絡隔離技術做的一些綜合性探索性的研究活動,鑒于目前網絡隔離產品硬件壽命周期短、支持應用少的缺點,提出一種改進的網閘實現方案,采用軟件方式實現開關功能,并采用模塊化的設計思想可以通過增加協議分析模塊從而同時支持多種應用協議,實現系統(tǒng)的高可擴展性。
[1]鄭海峰,淺淡網絡防火墻技術,硅谷,2008年
[2]方煒煒,網絡安全與網絡隔離GAP技術的研究,微型電腦應用,2008年