• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于紅黑隔離架構(gòu)的網(wǎng)絡(luò)安全設(shè)備設(shè)計(jì)

      2024-01-19 05:38:34智,劉超,付強(qiáng)
      電子科技 2024年2期
      關(guān)鍵詞:子網(wǎng)加密算法IP地址

      龔 智,劉 超,付 強(qiáng)

      (武漢船舶通信研究所,湖北 武漢 430205)

      天地一體化網(wǎng)絡(luò)是由高軌衛(wèi)星、低軌衛(wèi)星以及地面站點(diǎn)組成的一體化網(wǎng)絡(luò),是基于IP技術(shù)的通信網(wǎng)路。由于TCP(Transmission Control Protocol)/IP協(xié)議具有開放性和靈活性的特點(diǎn),使網(wǎng)絡(luò)上傳輸?shù)拿鲬B(tài)IP數(shù)據(jù)包易遭受竊聽、篡改等攻擊,給網(wǎng)絡(luò)數(shù)據(jù)安全傳輸帶來較大威脅。因此,構(gòu)建一個具有機(jī)密性、完整性和可認(rèn)證性等安全特性的天地一體化網(wǎng)絡(luò)愈發(fā)重要[1]。

      IPSec協(xié)議是IETF(Internet Engineering Task Force)提供的在因特網(wǎng)上進(jìn)行安全通信的一系列規(guī)范,它為局域網(wǎng)、專用網(wǎng)、公用廣域網(wǎng)和因特網(wǎng)上傳輸?shù)腎P數(shù)據(jù)報(bào)提供安全通信能力,保證其高質(zhì)量、保密性和可操作性,為私有信息通過公用網(wǎng)提供了安全保障。使用IPSec協(xié)議設(shè)計(jì)實(shí)現(xiàn)的虛擬專用網(wǎng)網(wǎng)關(guān)具有數(shù)據(jù)機(jī)密性、完整性、可認(rèn)證性以及成本低等優(yōu)點(diǎn)。IPSec協(xié)議主要包括兩種安全協(xié)議,即驗(yàn)證頭(Authentication Header,AH)協(xié)議和封裝安全載荷(ESP)協(xié)議。AH協(xié)議通過使用數(shù)據(jù)完整性檢查,不僅可判定數(shù)據(jù)包在傳輸過程中是否被修改,過濾通信流,還可防止地址欺騙攻擊和重放攻擊。ESP協(xié)議包含凈負(fù)荷封裝與加密,為IP層提供的安全服務(wù)包括機(jī)密性、數(shù)據(jù)源驗(yàn)證、抗重播、數(shù)據(jù)完整性和有限流量控制等。相較于AH協(xié)議,ESP協(xié)議安全性更高,實(shí)現(xiàn)復(fù)雜性也較高[2-3]。

      文獻(xiàn)[4]基于IPSec的網(wǎng)絡(luò)安全系統(tǒng)設(shè)計(jì)與VPN構(gòu)建實(shí)現(xiàn)和文獻(xiàn)[5]基于IPSec協(xié)議的VPN安全網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)介紹的方案都是采用傳統(tǒng)單主機(jī)同時連接內(nèi)、外網(wǎng)處理單元設(shè)計(jì)網(wǎng)絡(luò)安全設(shè)備,存在非授權(quán)用戶通過外網(wǎng)直接訪問受保護(hù)內(nèi)網(wǎng)的風(fēng)險。雖然文獻(xiàn)[5]在軟件設(shè)計(jì)中加入了防火墻的安全防護(hù)技術(shù),能夠防御外部非法攻擊,但由于互聯(lián)網(wǎng)分組軟件和信息需要經(jīng)過防火墻的過濾,這可能導(dǎo)致出現(xiàn)網(wǎng)絡(luò)交通瓶頸的。例如當(dāng)攻擊性分組出現(xiàn)時,攻擊者一直寄出分組,以此使防火墻疲于分組。因此,一些合法的信息和軟件都不能正常進(jìn)出防火墻[6]。

      為解決上述問題,本文提供了一種基于紅黑隔離架構(gòu)的網(wǎng)絡(luò)安全設(shè)備新方案。該網(wǎng)絡(luò)安全設(shè)備具有抗攻擊能力強(qiáng)、加密算法可更換以及加密速率高等優(yōu)勢,是天地一體化網(wǎng)絡(luò)安全通信的重要組成部分。部署在天地一體化網(wǎng)絡(luò)中的網(wǎng)關(guān)、服務(wù)器等節(jié)點(diǎn)設(shè)備或一個子網(wǎng)的一側(cè),采用ESP協(xié)議,負(fù)責(zé)為傳輸?shù)臉I(yè)務(wù)/信令數(shù)據(jù)提供門衛(wèi)式IP層加密保護(hù)。

      1 網(wǎng)絡(luò)安全設(shè)備工作原理

      1.1 設(shè)備組成原理

      網(wǎng)絡(luò)安全設(shè)備基于Linux的TCP/IP協(xié)議棧核心中的商用IPSec框架進(jìn)行設(shè)計(jì),采用高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)算法和SM4算法等加密算法,并支持算法動態(tài)切換。負(fù)責(zé)對IP數(shù)據(jù)包實(shí)行基于源IP地址、源端口、目的IP地址、目的端口以及協(xié)議號等5個要素(簡稱“五元組”)的安全保密規(guī)則合法性驗(yàn)證,并采用自定義IPSec隧道加密協(xié)議進(jìn)行IP數(shù)據(jù)包加密。

      本文選用的AES算法是為替代DES(Data Encryption Standard)發(fā)布的新一代數(shù)據(jù)高級加密標(biāo)準(zhǔn),具有運(yùn)行快、安全性高以及資源消耗少等特點(diǎn)[7-8]。SM4算法是國密標(biāo)準(zhǔn)中的分組對稱密鑰算法,可用于國際信息安全相關(guān)各個領(lǐng)域。在IPSec加密過程中需使用SM4分組密碼算法[9-10]。

      網(wǎng)絡(luò)安全設(shè)備組成原理如圖1所示。

      圖1 網(wǎng)絡(luò)安全設(shè)備組成原理Figure 1. Principle of network security device composition

      網(wǎng)絡(luò)安全設(shè)備按照物理“紅黑隔離”架構(gòu)進(jìn)行設(shè)計(jì),包含紅區(qū)內(nèi)網(wǎng)處理、黑區(qū)外網(wǎng)處理和安全服務(wù)區(qū)3個各自獨(dú)立的模塊單元。紅區(qū)、黑區(qū)處理單元對外與傳輸信道關(guān)聯(lián),完成網(wǎng)絡(luò)接入、協(xié)議解析、數(shù)據(jù)提取以及協(xié)議封裝等功能。紅區(qū)處理單元連接天地一體化網(wǎng)絡(luò)中的本地受保護(hù)單機(jī)或子網(wǎng),實(shí)現(xiàn)內(nèi)網(wǎng)明態(tài)IP包的處理。黑區(qū)處理單元連接天地一體化網(wǎng)絡(luò)中的公網(wǎng),實(shí)現(xiàn)公網(wǎng)密態(tài)IP包的處理。安全服務(wù)模塊主要用于實(shí)現(xiàn)對天地一體化網(wǎng)絡(luò)上傳輸?shù)臉I(yè)務(wù)/信令數(shù)據(jù)的加解密處理,并通過內(nèi)部總線分別連接紅區(qū)處理單元和黑區(qū)處理單元,完成紅區(qū)和黑區(qū)業(yè)務(wù)通道的有效隔離和業(yè)務(wù)信息轉(zhuǎn)發(fā)[11-13]。

      1.2 設(shè)備加密原理

      當(dāng)本地受保護(hù)單機(jī)或子網(wǎng)通過網(wǎng)絡(luò)安全設(shè)備發(fā)送業(yè)務(wù)/信令數(shù)據(jù)IP包給遠(yuǎn)端時,網(wǎng)絡(luò)安全設(shè)備加密轉(zhuǎn)發(fā)本地受保護(hù)單機(jī)或子網(wǎng)業(yè)務(wù)/信令數(shù)據(jù)的原理流程如圖2所示。

      圖2 加密轉(zhuǎn)發(fā)本地?cái)?shù)據(jù)原理Figure 2. Principle of encrypted forwarding local data

      本地受保護(hù)單機(jī)或子網(wǎng)發(fā)送業(yè)務(wù)/信令數(shù)據(jù)給網(wǎng)絡(luò)安全設(shè)備,內(nèi)網(wǎng)處理模塊按照基于“五元組”的安全保密規(guī)則對業(yè)務(wù)/信令數(shù)據(jù)IP包進(jìn)行合法性驗(yàn)證。如果受保護(hù)的源IP地址、源端口、目的IP地址、目的端口以及協(xié)議號等與內(nèi)置的安全保密策略一致,則安全保密規(guī)則驗(yàn)證通過,并按自定義IPSec隧道加密協(xié)議完成ESP封裝,再轉(zhuǎn)至安全服務(wù)模塊,否則直接丟棄。安全服務(wù)模塊通過選定的加密算法(AES算法或SM4算法)實(shí)現(xiàn)ESP封裝報(bào)文的加密處理,并在完成加密后將密態(tài)ESP封裝報(bào)文轉(zhuǎn)至外網(wǎng)處理模塊,由外網(wǎng)處理模塊發(fā)至遠(yuǎn)端受保護(hù)單機(jī)或子網(wǎng)。

      1.3 設(shè)備解密原理

      當(dāng)本地受保護(hù)單機(jī)或子網(wǎng)通過網(wǎng)絡(luò)安全設(shè)備接收遠(yuǎn)端業(yè)務(wù)/信令密態(tài)數(shù)據(jù)IP包時,網(wǎng)絡(luò)安全設(shè)備解密轉(zhuǎn)發(fā)遠(yuǎn)端業(yè)務(wù)/信令數(shù)據(jù)的原理流程如圖3所示。

      圖3 解密轉(zhuǎn)發(fā)遠(yuǎn)端數(shù)據(jù)原理Figure 3. Principle of decrypted forwarding remote data

      網(wǎng)絡(luò)安全設(shè)備接收遠(yuǎn)端業(yè)務(wù)/信令密態(tài)數(shù)據(jù)IP包,外網(wǎng)處理模塊將密態(tài)數(shù)據(jù)IP包轉(zhuǎn)至安全服務(wù)模塊,安全服務(wù)模塊通過選定的加密算法(AES算法或SM4算法)實(shí)現(xiàn)解密處理,并在完成解密后將明態(tài)ESP封裝報(bào)文轉(zhuǎn)至內(nèi)網(wǎng)處理模塊。內(nèi)網(wǎng)處理模塊首先去掉ESP封裝,并還原得遠(yuǎn)端業(yè)務(wù)/信令數(shù)據(jù)IP包,再按照基于“五元組”的安全保密規(guī)則對IP包進(jìn)行合法性驗(yàn)證,如果受保護(hù)的源IP地址、源端口、目的IP地址、目的端口以及協(xié)議號等與內(nèi)置的安全保密策略一致,則驗(yàn)證通過,并轉(zhuǎn)至本地受保護(hù)單機(jī)或子網(wǎng),否則直接丟棄。

      2 網(wǎng)絡(luò)安全設(shè)備硬件設(shè)計(jì)

      網(wǎng)絡(luò)安全設(shè)備硬件主要由內(nèi)網(wǎng)處理模塊硬件、外網(wǎng)處理模塊硬件和安全服務(wù)模塊硬件等組成。各模塊的連接關(guān)系如圖4所示。

      圖4 網(wǎng)絡(luò)安全設(shè)備硬件組成Figure 4. Network security device hardware components

      內(nèi)網(wǎng)處理模塊和外網(wǎng)處理模塊上的CPU均采用32位A8系列ARM芯片AM3352[14]作為主處理器。該芯片工作頻率為720 MHz,總線寬帶為32 bit,工作溫度為-40~+90 ℃,集成了EMIF接口、UART接口、以太網(wǎng)MAC接口等,可以連接多種外圍設(shè)備和存儲器以及同步、異步器件等。其上運(yùn)行內(nèi)核版本為3.2.0的Linux操作系統(tǒng),分別承載網(wǎng)絡(luò)安全設(shè)備的內(nèi)、外網(wǎng)嵌入式軟件,通過EMIF總線接口掛載NANDFLASH芯片和SDRAM芯片,用于存儲和運(yùn)行嵌入式軟件二進(jìn)制執(zhí)行程序,通過UART串口對外提供指令輸入,實(shí)現(xiàn)加密算法二進(jìn)制執(zhí)行程序的動態(tài)切換,通過網(wǎng)絡(luò)PHY芯片對外提供10/100自適應(yīng)電口用戶接入。

      安全服務(wù)模塊的處理核心為FPGA(Field Programmable Gate Arrcry),采用5CGTFD7D5F27I7N[15]芯片。該芯片具有149 500個LE單元,工作頻率高達(dá)550 MHz,工作溫度為-40~+100 ℃,支持多種IO接口。I/O引腳為480個,并具有高達(dá)7.696 Mbit的片內(nèi)RAM,適合在片內(nèi)構(gòu)造AES或SM4加密算法邏輯,用于實(shí)現(xiàn)網(wǎng)絡(luò)安全設(shè)備的加密運(yùn)算。此外,通過數(shù)據(jù)總線掛載NANDFLASH芯片和SDRAM芯片,用于存儲和運(yùn)行加密算法二進(jìn)制執(zhí)行程序,通過SPI接口掛載噪聲源發(fā)生器和NORFLASH芯片,用于產(chǎn)生和存儲加密用的安全參數(shù),通過GPIO控制指示燈進(jìn)行設(shè)備狀態(tài)顯示,通過各個獨(dú)立的32位讀數(shù)據(jù)總線和寫數(shù)據(jù)總線與內(nèi)網(wǎng)處理模塊、外網(wǎng)處理模塊進(jìn)行數(shù)據(jù)交互,安全服務(wù)模塊實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的高速加解密處理。電源模塊為各功能模塊提供相應(yīng)的直流電源。

      3 網(wǎng)絡(luò)安全設(shè)備軟件設(shè)計(jì)

      3.1 內(nèi)網(wǎng)處理模塊設(shè)計(jì)

      內(nèi)網(wǎng)處理模塊軟件基于嵌入式Linux操作系統(tǒng),主要完成本地受保護(hù)單機(jī)或子網(wǎng)業(yè)務(wù)/信令數(shù)據(jù)IP包收發(fā)、安全保密規(guī)則合法性驗(yàn)證、ESP封裝與解封以及設(shè)備故障報(bào)警等功能。

      內(nèi)網(wǎng)處理模塊接收本地IP包處理流程如圖5所示。

      圖5 內(nèi)網(wǎng)處理模塊接收本地IP包處理流程Figure 5. Intranet module receives local IP packet process

      當(dāng)內(nèi)網(wǎng)處理模塊接收來自本地受保護(hù)單機(jī)或子網(wǎng)業(yè)務(wù)/信令明態(tài)數(shù)據(jù)IP包時,首先由網(wǎng)絡(luò)驅(qū)動程序獲取明態(tài)數(shù)據(jù)IP包,調(diào)用netif_receive_skb(·)函數(shù)進(jìn)行處理,該函數(shù)通過調(diào)用packet_type數(shù)據(jù)結(jié)構(gòu)中的注冊函數(shù)ip_rcv(·)函數(shù),將IP包上傳至網(wǎng)絡(luò)層。在網(wǎng)絡(luò)層ip_rcv(·)函數(shù)通過調(diào)用ip_rcv_finish(·)函數(shù),將IP包交給ip_route_input_common(·)函數(shù)進(jìn)行路由處理。由于此時網(wǎng)絡(luò)安全設(shè)備的內(nèi)網(wǎng)口未連接能訪問遠(yuǎn)端受保護(hù)單機(jī)或子網(wǎng)的路由器,無法找到下一跳路由。如果按照ip_route_input_common(·)函數(shù)的默認(rèn)處理流程,則導(dǎo)致IP包因找不到正確的路由路徑而報(bào)錯退出。因此,本文修改了ip_route_input_common(·)函數(shù)的處理流程。當(dāng)IP包為需要ESP封裝加密的通信報(bào)文時,ip_route_input_common(·)函數(shù)強(qiáng)制調(diào)用ip_forward(·)函數(shù),將IP包轉(zhuǎn)發(fā)到下一步處理。在ip_forward(·)函數(shù)中,通過調(diào)用xfrm4_policy_check(·)函數(shù)實(shí)現(xiàn)基于“五元組”的安全保密規(guī)則合法性驗(yàn)證,如果IP包的源IP地址、目的IP地址、源端口、目的端口以及協(xié)議號等與內(nèi)置的安全保密策略一致,則驗(yàn)證通過,并繼續(xù)調(diào)用xfrm4_route_forward(·)函數(shù)查找協(xié)商產(chǎn)生的安全聯(lián)盟SA,否則將驗(yàn)證失敗的IP包直接丟棄。ip_forward(·)函數(shù)在找到安全聯(lián)盟SA后,調(diào)用ip_forward_finish(·)函數(shù),將IP包轉(zhuǎn)交至xfrm4_output(·)函數(shù)開啟ESP封裝加密變換。本文根據(jù)自定義IPSec隧道加密協(xié)議,修改了xfrm4_output(·)函數(shù)逐層調(diào)用的xfrm_output2(·)、xfrm_state_check_space(·)、xfrm4_mode_tunnel_output(·)及esp_output(·)等函數(shù),實(shí)現(xiàn)了在原IP報(bào)頭前添加新的外網(wǎng)IP報(bào)頭和ESP報(bào)頭,在原IP包尾部添加計(jì)算得到的加密填充長度值、下一個頭協(xié)議值以及填充數(shù)據(jù),并將完成ESP封裝的報(bào)文通過32位數(shù)據(jù)總線發(fā)送到安全服務(wù)模塊進(jìn)行加密處理。其中,xfrm_state_check_space(·)函數(shù)實(shí)現(xiàn)根據(jù)自定義IPSec隧道加密協(xié)議計(jì)算分組加密需要的填充長度值,xfrm4_mode_tunnel_output(·)函數(shù)實(shí)現(xiàn)為新增的外網(wǎng)IP報(bào)頭和ESP報(bào)頭分配存儲空間,并對外網(wǎng)IP報(bào)頭的各協(xié)議字段賦值,外網(wǎng)IP報(bào)頭中的源IP地址和目的IP地址均從安全聯(lián)盟SA中獲取,協(xié)議字段賦值為表示ESP協(xié)議的50,esp_output(·)函數(shù)實(shí)現(xiàn)為新增的加密填充長度字段、下一個頭協(xié)議字段以及填充數(shù)據(jù)區(qū)等分配存儲空間并賦值,還實(shí)現(xiàn)將安全聯(lián)盟SA中協(xié)商產(chǎn)生的用于選取加密密鑰的版本號、安全參數(shù)索引等信息,以及由隨機(jī)數(shù)發(fā)生器產(chǎn)生的本次加密用的初始化向量等信息賦值給ESP報(bào)頭各協(xié)議字段,遠(yuǎn)端受保護(hù)單機(jī)或子網(wǎng)可根據(jù)這些信息找到對應(yīng)的安全聯(lián)盟SA,完成ESP報(bào)文解密。xfrm_output2(·)函數(shù)通過調(diào)用send_to_fpga(·)函數(shù),將完成ESP封裝的報(bào)文通過32位數(shù)據(jù)總線發(fā)送到安全服務(wù)模塊進(jìn)行加密。如果IP包目的地為網(wǎng)絡(luò)安全設(shè)備內(nèi)網(wǎng)IP地址,則認(rèn)為IP包為一般網(wǎng)絡(luò)協(xié)議報(bào)文,例如ping命令、udp報(bào)文以及tcp報(bào)文等,此時按照ip_route_input_common(·)函數(shù)的默認(rèn)流程處理,該函數(shù)調(diào)用ip_local_deliver(·)函數(shù),將IP包轉(zhuǎn)交本地處理。ip_local_deliver(·)函數(shù)調(diào)用ip_local_deliver_finish(·)函數(shù),該函數(shù)會根據(jù)IP報(bào)頭協(xié)議字段值生成的HASH鍵值,從net_protocol數(shù)據(jù)結(jié)構(gòu)中選擇對應(yīng)的注冊函數(shù),例如icmp_rcv(·)函數(shù)、udp_rcv(·)函數(shù)、tcp_v4_rcv(·)函數(shù)等完成一般網(wǎng)絡(luò)協(xié)議報(bào)文的本地處理[16-18]。

      內(nèi)網(wǎng)處理模塊接收安全服務(wù)模塊ESP封裝報(bào)文處理流程如圖6所示。

      圖6 內(nèi)網(wǎng)處理模塊接收ESP封裝報(bào)文處理流程Figure 6. Intranet module receives ESP packet process

      當(dāng)內(nèi)網(wǎng)處理模塊接收來自安全服務(wù)模塊發(fā)來的解密后ESP封裝報(bào)文時,CPU首先通過調(diào)用read_esp_data(·)函數(shù),實(shí)現(xiàn)從32位數(shù)據(jù)總線上讀取解密后的ESP封裝報(bào)文,并在完成以太網(wǎng)協(xié)議合法性驗(yàn)證后,通過調(diào)用netif_rx(·)觸發(fā)調(diào)用netif_receive_skb(·)函數(shù),通過調(diào)用packet_type數(shù)據(jù)結(jié)構(gòu)中的注冊函數(shù)ip_rcv(·),將該ESP封裝報(bào)文上傳至網(wǎng)絡(luò)層。由于此時接收來自安全服務(wù)模塊的ESP封裝報(bào)文,因此,本文修改了ip_rcv(·)函數(shù),新增dpram_input_intern(·)函數(shù)調(diào)用,該函數(shù)先通過調(diào)用xfrm_state_lookup(·)函數(shù)找到對應(yīng)的安全聯(lián)盟SA,再進(jìn)行抗重放檢測。如果檢測通過,則更新包序號和包流量計(jì)數(shù),并去掉原IP報(bào)頭前的外網(wǎng)IP報(bào)頭、ESP報(bào)頭以及原IP包尾部的填充長度字段、下一個頭協(xié)議字段以及填充數(shù)據(jù)等,還原得到遠(yuǎn)端業(yè)務(wù)/信令明態(tài)數(shù)據(jù)IP包,否則直接丟棄。ip_rcv(·)函數(shù)繼續(xù)調(diào)用ip_rcv_finish(·)函數(shù),該函數(shù)將IP包交給ip_route_input_common(·)函數(shù)進(jìn)行路由處理。由于網(wǎng)絡(luò)安全設(shè)備的內(nèi)網(wǎng)口與本地受保護(hù)單機(jī)或子網(wǎng)相連,因此按照ip_route_input_common(·)函數(shù)的默認(rèn)處理流程,該函數(shù)可為IP包查找到正確的路由路徑,并通過調(diào)用ip_forward(·)函數(shù)將其轉(zhuǎn)發(fā)到下一步處理。在ip_forward(·)函數(shù)中,通過調(diào)用xfrm4_policy_check(·)函數(shù)實(shí)現(xiàn)基于“五元組”的安全保密規(guī)則合法性驗(yàn)證,如果IP包源IP地址、目的IP地址、源端口、目的端口、以及協(xié)議號等與內(nèi)置的安全保密策略一致,則驗(yàn)證通過,否則將驗(yàn)證失敗的IP包直接丟棄。ip_forward(·)函數(shù)繼續(xù)調(diào)用ip_forward_finish(·)函數(shù),將IP包轉(zhuǎn)至常規(guī)的出口函數(shù),例如單播ip_output(·)函數(shù),實(shí)現(xiàn)經(jīng)網(wǎng)絡(luò)驅(qū)動程序發(fā)往本地受保護(hù)單機(jī)或子網(wǎng)[16-18]。

      內(nèi)網(wǎng)處理模塊也完成網(wǎng)絡(luò)安全設(shè)備故障告警功能,如果設(shè)備正常,則進(jìn)行正常的內(nèi)網(wǎng)數(shù)據(jù)收發(fā)處理,否則通過FPGA控制故障指示燈告警。

      3.2 外網(wǎng)處理模塊設(shè)計(jì)

      外網(wǎng)處理模塊軟件基于嵌入式Linux操作系統(tǒng),主要完成遠(yuǎn)端受保護(hù)單機(jī)或子網(wǎng)業(yè)務(wù)/信令密態(tài)數(shù)據(jù)IP包收發(fā)。

      外網(wǎng)處理模塊接收遠(yuǎn)端密態(tài)數(shù)據(jù)IP包流程如圖7所示。當(dāng)外網(wǎng)處理模塊接收來自遠(yuǎn)端受保護(hù)單機(jī)或子網(wǎng)的密態(tài)數(shù)據(jù)IP包時,首先由網(wǎng)絡(luò)驅(qū)動程序獲取IP包,調(diào)用netif_receive_skb(·)函數(shù)進(jìn)行處理,該函數(shù)通過調(diào)用packet_type數(shù)據(jù)結(jié)構(gòu)中的注冊函數(shù)ip_rcv(·),將IP包上傳至網(wǎng)絡(luò)層。在網(wǎng)絡(luò)層ip_rcv(·)函數(shù)通過調(diào)用ip_rcv_finish(·)函數(shù),將IP包交給ip_route_input_common(·)函數(shù)進(jìn)行路由處理。如果IP包的目的地為網(wǎng)絡(luò)安全設(shè)備的外網(wǎng)IP地址,則按照ip_route_input_common(·)函數(shù)的默認(rèn)流程處理,將IP包轉(zhuǎn)至ip_local_deliver(·)函數(shù)進(jìn)行本地處理,否則報(bào)錯退出。ip_local_deliver(·)函數(shù)調(diào)用ip_local_deliver_finish(·)函數(shù),該函數(shù)根據(jù)IP報(bào)頭協(xié)議字段值生成的HASH鍵值,從net_protocol數(shù)據(jù)結(jié)構(gòu)中選擇對應(yīng)的注冊函數(shù)。一般網(wǎng)絡(luò)協(xié)議報(bào)文選擇例如icmp_rcv(·)函數(shù)、udp_rcv(·)函數(shù)、tcp_v4_rcv(·)函數(shù)等完成一般網(wǎng)絡(luò)協(xié)議的本地處理,密態(tài)數(shù)據(jù)IP包選擇xfrm4_rcv(·)函數(shù)開啟ESP封裝解密變換處理。本文根據(jù)自定義IPSec隧道加密協(xié)議修改了xfrm4_rcv(·)函數(shù)調(diào)用的xfrm_input(·)函數(shù)。該函數(shù)先從IP包的ESP報(bào)頭里提取加密密鑰版本號和安全參數(shù)索引信息,再通過這些信息調(diào)用xfrm_state_lookup(·)函數(shù)查找相應(yīng)的安全聯(lián)盟SA,如果查找成功,則通過調(diào)用send_to_fpga(·)函數(shù),實(shí)現(xiàn)將該密態(tài)數(shù)據(jù)IP包通過32位數(shù)據(jù)總線發(fā)送到安全服務(wù)模塊進(jìn)行解密的處理;否則將密態(tài)數(shù)據(jù)IP包直接丟棄[16-18]。

      圖7 外網(wǎng)處理模塊接收遠(yuǎn)端IP包處理流程Figure 7. Process for the extranet processing module to receive remote IP packets

      外網(wǎng)處理模塊接收安全服務(wù)模塊ESP封裝報(bào)文處理流程如圖8所示。

      圖8 外網(wǎng)處理模塊接收ESP封裝報(bào)文處理流程Figure 8. Process for the extranet processing module to receive ESP packets

      當(dāng)外網(wǎng)處理模塊接收來自安全服務(wù)模塊發(fā)來的加密后的ESP封裝報(bào)文時,CPU首先通過調(diào)用read_esp_data(·)函數(shù),實(shí)現(xiàn)從32位數(shù)據(jù)總線上讀取加密后的ESP封裝報(bào)文,并在完成以太網(wǎng)協(xié)議合法性驗(yàn)證后,通過調(diào)用netif_rx(·)函數(shù)觸發(fā)調(diào)用netif_receive_skb(·)函數(shù),進(jìn)而通過調(diào)用packet_type數(shù)據(jù)結(jié)構(gòu)中的注冊函數(shù)ip_rcv(·)將該ESP封裝報(bào)文上傳至網(wǎng)絡(luò)層。網(wǎng)絡(luò)層ip_rcv(·)函數(shù)通過調(diào)用ip_rcv_finish(·)函數(shù),將IP包交給ip_route_input_common(·)函數(shù)進(jìn)行路由處理。由于網(wǎng)絡(luò)安全設(shè)備的外網(wǎng)口與公網(wǎng)相連,因此按照ip_route_input_common(·)函數(shù)的默認(rèn)處理流程,該函數(shù)可為IP包查找到正確的下一跳路由路徑,并通過調(diào)用ip_forward(·)函數(shù)將其轉(zhuǎn)發(fā)到下一步處理。ip_forward(·)函數(shù)通過調(diào)用ip_forward_finish(·)函數(shù),將IP包轉(zhuǎn)至常規(guī)的出口函數(shù)(例如單播ip_output(·)函數(shù)),實(shí)現(xiàn)經(jīng)網(wǎng)絡(luò)驅(qū)動程序發(fā)往遠(yuǎn)端受保護(hù)單機(jī)或子網(wǎng)[16-18]。

      3.3 安全服務(wù)模塊設(shè)計(jì)

      安全服務(wù)模塊軟件主要完成通信保密功能,其安全服務(wù)工作流程如圖9所示。

      圖9 安全服務(wù)工作流程Figure 9. Security services process

      安全服務(wù)模塊完成對IP包的加解密功能,遵照自定義IPSec隧道加密協(xié)議進(jìn)行處理。安全服務(wù)模塊上電啟動,默認(rèn)加載SM4算法二進(jìn)制執(zhí)行程序,使用SM4算法完成IP包的加解密處理。用戶也可通過串口將console控制臺終端直連網(wǎng)絡(luò)安全設(shè)備內(nèi)網(wǎng)處理模塊,采用在console控制臺終端中輸入指令的方式,完成加密算法二進(jìn)制執(zhí)行程序的動態(tài)切換,使用切換后的加密算法(AES算法或SM4算法)完成IP包的加解密處理。

      在加密時,安全服務(wù)模塊首先根據(jù)ESP報(bào)頭中的加密密鑰版本號和安全參數(shù)索引選取加密密鑰,然后使用加密密鑰和從ESP報(bào)頭中提取的初始化向量,調(diào)用選定的加密算法加密ESP封裝報(bào)文,最后將完成加密的ESP封裝報(bào)文發(fā)至外網(wǎng)處理模塊。

      在解密時,安全服務(wù)模塊首先根據(jù)ESP報(bào)頭中的加密密鑰版本號和安全參數(shù)索引選取解密密鑰,然后使用解密密鑰和從ESP報(bào)頭中提取的初始化向量,調(diào)用選定的加密算法解密密態(tài)ESP封裝報(bào)文,最后將完成解密的ESP封裝報(bào)文發(fā)至內(nèi)網(wǎng)處理模塊。

      3.4 加密協(xié)議數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

      IPsec隧道加密協(xié)議的密報(bào)頭ESP封裝結(jié)構(gòu)如下所示。

      structip_esp_hdr {

      豬傳染性胸膜肺炎具有顯著的季節(jié)性特點(diǎn),常發(fā)于春秋兩季,年齡段在6周-6個月的生豬為發(fā)病的主要群體,以3個月的仔豬為高發(fā)群體。該疾病的發(fā)病特征主要分為最急性型、急性型、亞急性型和慢性型等幾類,發(fā)病率與致死率超過50%,最高可達(dá)100%。

      __be16 kV; //密鑰版本號

      __be16 spi; //安全參數(shù)索引

      __be32 seq_no; //序列號

      __u8 iv[16]; //會話密鑰

      __u8 enc_data[0]; //加密報(bào)文緩沖區(qū)

      } esph;

      4 電路實(shí)現(xiàn)及測試結(jié)果分析

      基于紅黑隔離架構(gòu)的網(wǎng)絡(luò)安全設(shè)備電路板如圖10所示。

      圖10 絡(luò)安全設(shè)備電路板Figure 10. Circuit board of network security device

      為驗(yàn)證網(wǎng)絡(luò)安全設(shè)備的功能和性能,本文基于該設(shè)備搭建了IPSec VPN隧道通信驗(yàn)證場景,其部署如圖11所示。本文使用命令ping來測試隧道加密通信功能。此外,通過外部輸入指令,控制FPGA動態(tài)加載選定的加密算法,并通過命令ping的通斷測試實(shí)現(xiàn)加密算法動態(tài)更換功能驗(yàn)證。最后,使用命令iperf實(shí)現(xiàn)百兆帶寬條件下不同IP包長加密速率性能測試驗(yàn)證。

      圖11 IPSecVPN隧道測試部署Figure 11. IPSec VPN tunnel testing deployment

      1)網(wǎng)絡(luò)安全設(shè)備1配接在子網(wǎng)1用戶計(jì)算機(jī),其內(nèi)網(wǎng)IP地址為210.150.150.15,外網(wǎng)IP地址為192.168.1.180,子網(wǎng)1用戶計(jì)算機(jī)IP地址為210.150.150.23。

      2)網(wǎng)絡(luò)安全設(shè)備2配接在子網(wǎng)2用戶計(jì)算機(jī),其內(nèi)網(wǎng)IP地址為11.11.11.11,外網(wǎng)IP地址為192.168.1.190,子網(wǎng)2用戶計(jì)算機(jī)IP地址為11.11.11.10。

      3)網(wǎng)絡(luò)安全設(shè)備1的內(nèi)網(wǎng)口通過以太網(wǎng)線直連子網(wǎng)1用戶計(jì)算機(jī)。

      4)網(wǎng)絡(luò)安全設(shè)備2的內(nèi)網(wǎng)口通過以太網(wǎng)線直連子網(wǎng)2用戶計(jì)算機(jī)。

      5)網(wǎng)絡(luò)安全設(shè)備1與網(wǎng)絡(luò)安全設(shè)備2的外網(wǎng)口通過以太網(wǎng)線直連。

      6)子網(wǎng)1用戶計(jì)算機(jī)也作為console控制臺終端。

      7)console控制臺終端通過UART串口分別連接網(wǎng)絡(luò)安全設(shè)備1和網(wǎng)絡(luò)安全設(shè)備2的內(nèi)網(wǎng)處理模塊。

      IPSecVPN隧道加密通信和加密算法動態(tài)更換功能測試驗(yàn)證流程如下所示:

      1)在console控制臺終端中打開SecureCRT串口軟件,分別通過Serial-COM10窗口連接網(wǎng)絡(luò)安全設(shè)備1內(nèi)網(wǎng)處理模塊、Serial-COM12窗口連接網(wǎng)絡(luò)安全設(shè)備2內(nèi)網(wǎng)處理模塊。

      2)在子網(wǎng)1用戶計(jì)算機(jī)中打開cmd.exe程序,輸入指令查看子網(wǎng)1用戶計(jì)算機(jī)的IP地址為210.150.150.23,默認(rèn)網(wǎng)關(guān)為網(wǎng)絡(luò)安全設(shè)備1的內(nèi)網(wǎng)IP地址,為210.150.150.15,如圖12所示。

      圖12 子網(wǎng)1用戶計(jì)算機(jī)的網(wǎng)絡(luò)配置Figure 12. Network configuration of subnet 1 user computer

      3)在cmd.exe程序中,使用命令ping子網(wǎng)2用戶計(jì)算機(jī)的IP地址,驗(yàn)證兩個不在同一IP網(wǎng)段的用戶計(jì)算機(jī)可以通過其配接的網(wǎng)絡(luò)安全設(shè)備達(dá)到互通的目的,如圖13所示。

      圖13 使用相同SM4算法的互通Figure 13. Interoperability using the same SM4 algorithm

      4)先在Serial-COM10窗口中,輸入debug_ctl-changealg aes指令,將網(wǎng)絡(luò)安全設(shè)備1的加密算法動態(tài)切換為AES算法,保持網(wǎng)絡(luò)安全設(shè)備2使用的SM4算法不變。再在cmd.exe程序中,使用命令ping子網(wǎng)2用戶計(jì)算機(jī)IP地址,驗(yàn)證此時兩個子網(wǎng)的用戶計(jì)算機(jī)無法通過其配接的網(wǎng)絡(luò)安全設(shè)備實(shí)現(xiàn)互通,如圖14所示。

      圖14 使用不同加密算法的互通Figure 14. Interoperability using different algorithms

      5)先在Serial-COM12窗口中,輸入debug_ctl -changealg aes指令,將網(wǎng)絡(luò)安全設(shè)備2的加密算法動態(tài)切換為AES算法,保持網(wǎng)絡(luò)安全設(shè)備1使用的AES算法不變,再在cmd.exe程序中,使用命令ping子網(wǎng)2用戶計(jì)算機(jī)IP地址,驗(yàn)證此時兩個子網(wǎng)的用戶計(jì)算機(jī)又能通過其配接的網(wǎng)絡(luò)安全設(shè)備實(shí)現(xiàn)互通,如圖15所示。

      圖15 使用相同AES算法的互通Figure 15. Interoperability using the same AES algorithm

      根據(jù)上述功能測試流程,得到的VPN隧道加密互通結(jié)果如表1所示,加密算法動態(tài)更換結(jié)果如表2和表3所示。

      表1 VPN隧道加密互通測試Table 1. VPN tunnel encryption interoperability test

      表2 更換不同加密算法互通測試Table 2. Interoperability test replacing different algorithm

      表3 更換相同加密算法互通測試Table 3. Interoperability test replacing the same algorithm

      由表1的測試結(jié)果可知,不在同一IP網(wǎng)段的兩個子網(wǎng)用戶計(jì)算機(jī)通過各自連接的加載了相同SM4加密算法的網(wǎng)絡(luò)安全設(shè)備,可實(shí)現(xiàn)命令ping的VPN隧道互通。從表2和表3的測試結(jié)果可知,網(wǎng)絡(luò)安全設(shè)備支持加密算法的動態(tài)更換。當(dāng)兩個網(wǎng)絡(luò)安全設(shè)備建立了VPN隧道互通,如果動態(tài)更換其中一個的加密算法,由于此時已無法正確進(jìn)行傳輸數(shù)據(jù)的加解密處理,則VPN隧道互通就會中斷。如果動態(tài)更換另一個的加密算法,使兩個網(wǎng)絡(luò)安全設(shè)備恢復(fù)加載相同的加密算法,由于此時已恢復(fù)了正確的傳輸數(shù)據(jù)加解密,則可恢復(fù)VPN隧道互通。

      網(wǎng)絡(luò)安全設(shè)備的加密速率性能采用命令iperf,在100 Mbit·s-1帶寬條件下,通過測試不同IP包長的UDP傳輸性能進(jìn)行測試驗(yàn)證[19],測試流程如圖16所示。

      圖16 不同IP包長加密速率測試Figure 16. Encryption rate test for different IP packet lengths

      根據(jù)上述加密速率測試流程,得到的性能測試結(jié)果如表4所示。

      表4 100 Mbit·s-1帶寬條件下不同IP包長加密速率測試Table 4.Rate test for IP packet sizes under 100 Mbit·s-1 bandwidth

      從表4的測試結(jié)果可知,網(wǎng)絡(luò)安全設(shè)備的加密速率達(dá)不到百兆帶寬的理論峰值。這是因?yàn)榫W(wǎng)絡(luò)安全設(shè)備不僅需要對傳輸?shù)腎P包進(jìn)行常規(guī)TCP/IP協(xié)議處理,還需要完成基于“五元組”安全保密規(guī)則的合法性驗(yàn)證、IPSecESP協(xié)議封裝與解封裝變換以及加解密處理等操作,這些操作累加產(chǎn)生一定的處理時延,從而導(dǎo)致實(shí)際速度偏低。在理論上,包長越長,加密速率應(yīng)該越快。在實(shí)測時,在包長不超過1 024 Byte時,符合該預(yù)期。但當(dāng)包長超過1 024 Byte時,由于經(jīng)IPSec ESP協(xié)議封裝變換和加解密處理后,包長會超過TCP/IP協(xié)議規(guī)定的最大傳輸單元(Maximum Transmission Unit,MTU)規(guī)定的1 500 Byte,導(dǎo)致IP包分片,使加密速率變低。因此,根據(jù)實(shí)驗(yàn)結(jié)果分析可知,1 024 Byte包長測得的50.8 Mbit·s-1速率為較優(yōu)的加密速率。

      5 結(jié)束語

      本文網(wǎng)絡(luò)安全設(shè)備采用紅黑分區(qū)的設(shè)計(jì)理念,紅區(qū)與黑區(qū)之間的數(shù)據(jù)交換都應(yīng)通過安全服務(wù)模塊進(jìn)行處理,從而實(shí)現(xiàn)紅區(qū)和黑區(qū)之間的相互隔離,無法通過網(wǎng)絡(luò)側(cè)或信道直接訪問受保護(hù)單機(jī)或子網(wǎng)。該設(shè)計(jì)方法消除了紅區(qū)和黑區(qū)之間可能存在的任何隱式通道,有效保障了紅區(qū)的安全。同時,網(wǎng)絡(luò)安全設(shè)備采用IPSec的ESP封裝協(xié)議對傳輸?shù)臄?shù)據(jù)進(jìn)行加密保護(hù),降低了數(shù)據(jù)被竊取和篡改的風(fēng)險,確保了數(shù)據(jù)傳輸?shù)陌踩浴?/p>

      猜你喜歡
      子網(wǎng)加密算法IP地址
      一種簡單子網(wǎng)劃分方法及教學(xué)案例*
      鐵路遠(yuǎn)動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
      子網(wǎng)劃分問題研究及應(yīng)用
      基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      子網(wǎng)劃分的簡易方法
      基于小波變換和混沌映射的圖像加密算法
      Hill加密算法的改進(jìn)
      對稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)
      基于安全協(xié)議的虛擬專用子網(wǎng)研究
      河南科技(2014年16期)2014-02-27 14:13:04
      基于Arnold變換和Lorenz混沌系統(tǒng)的彩色圖像加密算法
      呼图壁县| 阿鲁科尔沁旗| 万盛区| 运城市| 会泽县| 永嘉县| 新昌县| 梁河县| 库伦旗| 新泰市| 连云港市| 廉江市| 察隅县| 宁河县| 武平县| 宝兴县| 静宁县| 正镶白旗| 博兴县| 博罗县| 疏附县| 沧州市| 内丘县| 舒兰市| 扬州市| 桓台县| 太康县| 夏津县| 临朐县| 十堰市| 潍坊市| 平顶山市| 于都县| 扬州市| 成武县| 汪清县| 木里| 怀化市| 睢宁县| 岫岩| 岳阳市|