李兆斌 茅方毅 王瑤君
以太網(wǎng)安全網(wǎng)關(guān)數(shù)據(jù)處理機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)
李兆斌 茅方毅 王瑤君
北京電子科技學(xué)院,北京 100070
以太網(wǎng)數(shù)據(jù)鏈路安全網(wǎng)關(guān)加密鏈路層以上所有數(shù)據(jù),使攻擊者即使截取到數(shù)據(jù)包也不能得到重要信息,對(duì)以太局域網(wǎng)的安全保護(hù)具有重要意義。本文將對(duì)以太網(wǎng)鏈路安全網(wǎng)關(guān)數(shù)據(jù)幀的SM4加解密、SM3完整性校驗(yàn)等數(shù)據(jù)處理過程進(jìn)行研究,針對(duì)安全網(wǎng)關(guān)數(shù)據(jù)處理過程中出現(xiàn)的長(zhǎng)度超過MTU值的數(shù)據(jù)幀,提出了一種新的分片重組解決方案,測(cè)試結(jié)果表明了該方案的可行性。
以太網(wǎng)鏈路層加解密;完整性校驗(yàn);分片重組
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,局域網(wǎng)被廣泛使用在寫字樓、政府、學(xué)校等場(chǎng)所,很大程度上便利了工作、學(xué)習(xí)和生活。但局域網(wǎng)多數(shù)采用以廣播為基礎(chǔ)的以太網(wǎng),以太網(wǎng)技術(shù)起源于企業(yè)內(nèi)部網(wǎng)絡(luò),是建立在所有網(wǎng)絡(luò)用戶都是互相信任的前提上,幾乎沒有安全方面的考慮,目前以太網(wǎng)應(yīng)用中存在著大量安全漏洞,會(huì)造成信息泄露、信息破壞、非法信息傳播、網(wǎng)絡(luò)資源錯(cuò)誤使用等安全問題[1-2]。
本文針對(duì)以太網(wǎng)面臨的安全問題,設(shè)計(jì)一種以太網(wǎng)鏈路安全網(wǎng)關(guān),該網(wǎng)關(guān)在端對(duì)端通信時(shí)對(duì)以太網(wǎng)數(shù)據(jù)幀進(jìn)行加解密和完整性校驗(yàn)操作。發(fā)送端網(wǎng)關(guān)對(duì)發(fā)送的數(shù)據(jù)先進(jìn)行完整性校驗(yàn)然后加密,接收端網(wǎng)關(guān)對(duì)接收的數(shù)據(jù)先解密再進(jìn)行完整性校驗(yàn)。網(wǎng)關(guān)加密和完整性校驗(yàn)時(shí),處理的是鏈路層以上的信息,包括IP地址、端口、上層載荷等,使攻擊者即使嗅探到鏈路層數(shù)據(jù)幀也無(wú)法獲得關(guān)鍵數(shù)據(jù)。而且以太網(wǎng)鏈路安全網(wǎng)關(guān)可以實(shí)現(xiàn)基于VLAN的安全策略劃分需要保護(hù)的區(qū)域,也可以根據(jù)MAC地址實(shí)現(xiàn)更加細(xì)粒度的安全保護(hù)。
以太網(wǎng)鏈路安全網(wǎng)關(guān)可基于我國(guó)商用密碼算法SM4完成鏈路數(shù)據(jù)的加解密、基于SM3算法完成完整性校驗(yàn)過程[3]。本文重點(diǎn)介紹數(shù)據(jù)幀的加密和完整性校驗(yàn)的數(shù)據(jù)處理過程,對(duì)數(shù)據(jù)處理過程中出現(xiàn)的數(shù)據(jù)幀超過MTU值而無(wú)法傳輸?shù)碾y題提出了分片重組的解決方案,并予以實(shí)現(xiàn)和測(cè)試。
1.1 MACSec協(xié)議
黑客攻擊、計(jì)算機(jī)病毒攻擊、工作人員配置錯(cuò)誤等都會(huì)威脅到企業(yè)的網(wǎng)絡(luò)安全。因此企業(yè)需要采用多種安全手段來(lái)保護(hù)數(shù)據(jù)傳輸?shù)陌踩绶阑饓夹g(shù)、入侵訪問技術(shù)、加解密技術(shù)等。IEEE 802.1安全任務(wù)組開發(fā)的媒體訪問控制安全協(xié)議(MACSec)有效地解決了局域網(wǎng)安全問題[4]。MACSec協(xié)議通過識(shí)別局域網(wǎng)中的沒有認(rèn)證的站點(diǎn),阻止接收這些站點(diǎn)的信息,保護(hù)網(wǎng)絡(luò)安全。MACSec協(xié)議基于數(shù)據(jù)鏈路層,保護(hù)有線局域網(wǎng)免受網(wǎng)絡(luò)嗅探、重放攻擊和DOS攻擊等的襲擊。
MACSec協(xié)議通過安全實(shí)體的加解密和完整性校驗(yàn)機(jī)制識(shí)別接收信息,對(duì)不識(shí)別信息的來(lái)源站點(diǎn)進(jìn)行屏蔽,阻止來(lái)自它的信息,保障了網(wǎng)絡(luò)通信的流暢。MACSec協(xié)議利用密碼技術(shù)保護(hù)信息安全,通過完整性校驗(yàn)保護(hù)信息的完整性,還能提供重放保護(hù),這些可以保證對(duì)2層協(xié)議攻擊的減少。
MACSec協(xié)議通過提供逐跳的安全性,保護(hù)局域網(wǎng)中相互識(shí)別的網(wǎng)絡(luò)設(shè)備安全通信。這是它與在端到端的基礎(chǔ)上保護(hù)應(yīng)用的IPSec之間的不同之處。網(wǎng)絡(luò)管理員通過將網(wǎng)絡(luò)設(shè)備配置為使用MACSec支持該協(xié)議。
當(dāng)數(shù)據(jù)幀到達(dá)一個(gè)MACSec站時(shí),MACSec安全實(shí)體按照雙方約定的密鑰對(duì)幀進(jìn)行解密,并計(jì)算數(shù)據(jù)幀的完整性校驗(yàn)值,比較新生成的完整性校驗(yàn)值是否與接收到的完整性校驗(yàn)一致。如果完整性校驗(yàn)值相同,則MACSec站點(diǎn)繼續(xù)正常處理數(shù)據(jù)幀,否則丟棄數(shù)據(jù)幀。
MACSec協(xié)議基于數(shù)據(jù)鏈路層,并通過MAC硬件模塊和GCM-AES密碼算法進(jìn)一步提高了網(wǎng)絡(luò)傳輸?shù)陌踩浴?/p>
1.2 以太網(wǎng)鏈路安全網(wǎng)關(guān)設(shè)計(jì)原理
數(shù)據(jù)鏈路層加密是指加密數(shù)據(jù)鏈路層以上所有的信息,并且對(duì)接收到的數(shù)據(jù)幀進(jìn)行完整性校驗(yàn),保證了數(shù)據(jù)的完整性并提供重放保護(hù)和保密性[5]。MACsec協(xié)議已經(jīng)提出了基于數(shù)據(jù)鏈路層的安全性措施,本文借鑒了MACSec協(xié)議的方法對(duì)數(shù)據(jù)幀進(jìn)行保護(hù)。對(duì)數(shù)據(jù)幀的加密處理如圖1所示:
圖1 中可以看出,本文加密了數(shù)據(jù)幀鏈路層以上所有信息,包括數(shù)據(jù)類型、IP數(shù)據(jù)包、端口號(hào)等。并對(duì)整個(gè)數(shù)據(jù)幀進(jìn)行了完整性校驗(yàn),得到摘要值。本文設(shè)計(jì)的以太網(wǎng)鏈路安全網(wǎng)關(guān)能夠通過scapy的sniff函數(shù)實(shí)現(xiàn)截取數(shù)據(jù)幀,并且能夠?qū)?shù)據(jù)幀轉(zhuǎn)化為16進(jìn)制的字符串,然后對(duì)字符串進(jìn)行加解密和完整性校驗(yàn)操作[6]。
本文設(shè)計(jì)的安全網(wǎng)關(guān)基于MACSec協(xié)議,在端對(duì)端通信過程中,利用加密算法保證了數(shù)據(jù)傳輸?shù)陌踩?并且利用完整性校驗(yàn)機(jī)制保證了傳輸數(shù)據(jù)的完整性,防止傳輸數(shù)據(jù)被篡改。
1.3 以太網(wǎng)鏈路安全網(wǎng)關(guān)數(shù)據(jù)處理方案
本文設(shè)計(jì)的以太網(wǎng)鏈路安全網(wǎng)關(guān)實(shí)現(xiàn)數(shù)據(jù)的加解密、完整性校驗(yàn)、密鑰協(xié)商和身份認(rèn)證等功能。網(wǎng)關(guān)在端對(duì)端通信時(shí)以VLAN和主機(jī)MAC地址作為安全策略對(duì)接收的數(shù)據(jù)進(jìn)行相關(guān)安全處理。網(wǎng)關(guān)在局域網(wǎng)中的部署圖如圖2所示:
安全網(wǎng)關(guān)1和安全網(wǎng)關(guān)2都有兩個(gè)網(wǎng)卡,網(wǎng)卡0對(duì)接收的數(shù)據(jù)加密處理,網(wǎng)卡1對(duì)接收的數(shù)據(jù)進(jìn)行解密處理。安全網(wǎng)關(guān)開機(jī)之后,兩個(gè)安全網(wǎng)關(guān)首先進(jìn)行設(shè)備認(rèn)證和密鑰協(xié)商工作,得到隨機(jī)加密密鑰。發(fā)送端網(wǎng)關(guān)對(duì)受保護(hù)的客戶端數(shù)據(jù)先利用SM3算法進(jìn)行完整性保護(hù),然后再利用SM4算法進(jìn)行加密;接收端網(wǎng)關(guān)對(duì)數(shù)據(jù)進(jìn)行解密,再進(jìn)行完整性校驗(yàn)。
圖2中的主機(jī)A向主機(jī)C發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)需要經(jīng)過發(fā)送端網(wǎng)關(guān)和接收端網(wǎng)關(guān),發(fā)送端網(wǎng)關(guān)和接收端網(wǎng)關(guān)處理數(shù)據(jù)的流程圖如圖3、4所示。
圖3、圖4中初始化是指安全網(wǎng)關(guān)開機(jī)后首先進(jìn)行的初始化過程,即兩個(gè)安全網(wǎng)關(guān)的設(shè)備認(rèn)證和密鑰協(xié)商,生成隨機(jī)數(shù)作為加解密密鑰。本文利用安全模塊進(jìn)行密鑰協(xié)商和身份認(rèn)證,安全模塊采用SSX0912安全芯片作為核心設(shè)計(jì),可以實(shí)現(xiàn)SM2、SM3、SM4等國(guó)標(biāo)算法。安全網(wǎng)關(guān)中主控CPU和安全芯片利用RS232串口連接,安全網(wǎng)關(guān)開機(jī)后立即通過安全芯片進(jìn)行密鑰協(xié)商和身份認(rèn)證。安全策略是安全網(wǎng)關(guān)判斷對(duì)接收的數(shù)據(jù)是否進(jìn)行相關(guān)安全處理的依據(jù),可以根據(jù)VLAN對(duì)VLAN子網(wǎng)數(shù)據(jù)幀進(jìn)行選擇性加密,也可以根據(jù)主機(jī)的源、目的MAC對(duì)特定主機(jī)的數(shù)據(jù)幀進(jìn)行加密。
圖3的發(fā)送端網(wǎng)關(guān)處理數(shù)據(jù)幀的流程中包括完整性校驗(yàn)處理,安全網(wǎng)關(guān)利用SM3算法對(duì)接收的數(shù)據(jù)幀做完整性摘要運(yùn)算,得到摘要值后需要將其填充到數(shù)據(jù)幀中進(jìn)行傳輸,所以數(shù)據(jù)幀的長(zhǎng)度可能會(huì)超過MTU值1518,這是需要對(duì)數(shù)據(jù)進(jìn)行分片處理,同樣當(dāng)發(fā)送端網(wǎng)關(guān)數(shù)據(jù)幀超過1518字節(jié)進(jìn)行分片處理后接收端網(wǎng)關(guān)需要進(jìn)行重組處理。
2.1 利用scapy實(shí)現(xiàn)數(shù)據(jù)的收發(fā)
本文的以太網(wǎng)數(shù)據(jù)接收和發(fā)送的處理是通過python的scapy庫(kù)編程實(shí)現(xiàn)[7-8]。Scapy的是一個(gè)強(qiáng)大的交互式數(shù)據(jù)包處理程序,它能夠偽造或解碼大量的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包,并能發(fā)送、捕捉、匹配請(qǐng)求和回復(fù)數(shù)據(jù)包等。Scapy可以發(fā)送自定義的數(shù)據(jù)幀、注入修改的802.11數(shù)據(jù)幀、在WEP上解碼加密通道(VOIP)、以及ARP緩存攻擊(VLAN)等。scapy具有強(qiáng)大的擴(kuò)展性和操作性,因此安全網(wǎng)關(guān)主要利用scapy實(shí)現(xiàn)了對(duì)數(shù)據(jù)幀的以下處理:
(1)利用sniff函數(shù)截取數(shù)據(jù)幀;
(2)利用sendp函數(shù)發(fā)送處理后的數(shù)據(jù)幀;
(3)利用str函數(shù)將數(shù)據(jù)幀轉(zhuǎn)換成16進(jìn)制字符串;
(4)利用強(qiáng)大的功能構(gòu)建其它的數(shù)據(jù)幀(如密鑰協(xié)商幀等)。
2.2 利用SM4算法實(shí)現(xiàn)加解密
SM4算法是國(guó)家密碼管理局發(fā)布的商用分組對(duì)稱密碼算法。SM4的明文分組長(zhǎng)度、密鑰、密文分組長(zhǎng)度都是16字節(jié),加密和解密密鑰相同。
由于本文設(shè)計(jì)的安全網(wǎng)關(guān)需要對(duì)網(wǎng)絡(luò)傳輸數(shù)據(jù)進(jìn)行加密傳輸,對(duì)加解密速度和所消耗的資源要求高,并且本文數(shù)據(jù)加密是軟件實(shí)現(xiàn),所以應(yīng)該選用分組密碼??紤]到國(guó)產(chǎn)的SM4算法相對(duì)于國(guó)外相關(guān)算法在計(jì)算過程中增加非線性變換,理論上大大提高其算法安全性,并且SM4算法較新,對(duì)21輪SM4進(jìn)行差分密碼分析,結(jié)論均為安全性較高。所以本文采用SM4算法作為加解密算法。
本文設(shè)計(jì)的鏈路層安全網(wǎng)關(guān)使用SM4算法對(duì)數(shù)據(jù)幀進(jìn)行加解密處理,加密對(duì)象是鏈路層以上的所有數(shù)據(jù),包括IP地址、端口號(hào)等,使攻擊者即使嗅探到數(shù)據(jù)包也不能進(jìn)行相關(guān)操作。由于SM4算法的分組長(zhǎng)度是16字節(jié),所以安全網(wǎng)關(guān)處理的數(shù)據(jù)幀是16字節(jié)的倍數(shù)時(shí),可以直接利用SM4算法加密;當(dāng)數(shù)據(jù)幀長(zhǎng)度不是16字節(jié)的整數(shù)倍時(shí)需要在數(shù)據(jù)幀后加零補(bǔ)齊成16字節(jié)的倍數(shù),并且預(yù)留1字節(jié)用來(lái)標(biāo)識(shí)填充的總字節(jié)數(shù)。如圖5所示,SM4加密前數(shù)據(jù)幀填充方法,假設(shè)數(shù)據(jù)幀為n字節(jié),m=n%16,m為數(shù)據(jù)幀長(zhǎng)度n除以16等到的余數(shù),則數(shù)據(jù)幀需要填充總字節(jié)數(shù)為k=16-m。由于還需預(yù)留1字節(jié)表示填充字節(jié)的長(zhǎng)度,所以需要填充0的字節(jié)數(shù)為k-1。接收端網(wǎng)關(guān)對(duì)數(shù)據(jù)幀進(jìn)行解密后需要判斷數(shù)據(jù)幀最后1字節(jié)的大小,并以此刪除填充的數(shù)據(jù)。
例如安全網(wǎng)關(guān)接收到260字節(jié)的數(shù)據(jù)幀,則n=260,m=260%16,m=4,所以k=16-m= 11,需要填充10字節(jié)的0,最后一字節(jié)表示為0x0b。解密時(shí)得到最后一字節(jié)為0x0b,那就需要將數(shù)據(jù)幀最后的11字節(jié)數(shù)據(jù)都刪除,得到原始數(shù)據(jù)。
2.3 利用SM3實(shí)現(xiàn)完整性校驗(yàn)
SM3算法是我國(guó)發(fā)布的商用密碼算法中的雜湊算法,可以將任意長(zhǎng)度的數(shù)據(jù)生成一個(gè)32字節(jié)的摘要值。SM3算法適用于安全體系中的數(shù)字簽名和驗(yàn)證、消息認(rèn)證碼的生成與驗(yàn)證以及隨機(jī)數(shù)的生成,可滿足多種密碼應(yīng)用的安全需求。并且現(xiàn)今廣泛運(yùn)用的MD5算法和SHA-1算法已經(jīng)找到碰撞攻擊方法,不再安全。SM3算法是2010年公布,現(xiàn)今安全性相對(duì)較高,所以本文采用SM3算法實(shí)現(xiàn)完整性校驗(yàn)。
本文中安全網(wǎng)關(guān)為了保證傳輸數(shù)據(jù)幀的完整性,需要對(duì)數(shù)據(jù)幀進(jìn)行完整性校驗(yàn)。發(fā)送端安全網(wǎng)關(guān)先判斷要處理的數(shù)據(jù)幀長(zhǎng)度是否為512比特的整數(shù)倍,否則需要填充到512比特的整數(shù)倍,然后使用SM3算法對(duì)數(shù)據(jù)進(jìn)行完整性校驗(yàn)得到32字節(jié)的摘要值。接收端網(wǎng)關(guān)接收到數(shù)據(jù)解密重組后使用SM3算法對(duì)數(shù)據(jù)進(jìn)行完整性校驗(yàn),得到另一個(gè)32字節(jié)摘要值并判斷與發(fā)送端的摘要值是否一致,一致則繼續(xù)交于上層應(yīng)用處理,不一致說明數(shù)據(jù)幀完整性被破壞,丟棄數(shù)據(jù)幀。
2.4 分片重組
安全網(wǎng)關(guān)利用SM3算法實(shí)現(xiàn)數(shù)據(jù)幀的完整性校驗(yàn)時(shí),需要將32字節(jié)摘要值填充到數(shù)據(jù)幀中傳輸。由于以太網(wǎng)數(shù)據(jù)幀的MTU值為1518字節(jié),當(dāng)超過MTU值時(shí),數(shù)據(jù)幀將不能傳輸,因此若填充后的數(shù)據(jù)幀超過1518字節(jié)時(shí),發(fā)送端安全網(wǎng)關(guān)需對(duì)數(shù)據(jù)幀進(jìn)行分片操作[9-11],相應(yīng)的接收端安全網(wǎng)關(guān)需對(duì)數(shù)據(jù)進(jìn)行重組操作。在對(duì)數(shù)據(jù)幀進(jìn)行分片操作時(shí)需要判斷以太網(wǎng)數(shù)據(jù)載荷的長(zhǎng)度,以太網(wǎng)數(shù)據(jù)包的結(jié)構(gòu)如圖6所示。
圖6 中DMAC代表目的MAC地址,SMAC代表源MAC地址,802.1Q代表著數(shù)據(jù)幀VLAN標(biāo)簽,USER DATA為以太網(wǎng)數(shù)據(jù)載荷,表示數(shù)據(jù)信息。發(fā)送端安全網(wǎng)關(guān)對(duì)數(shù)據(jù)進(jìn)行完整性校驗(yàn)時(shí)得到的摘要值需要加入到以太網(wǎng)數(shù)據(jù)載荷中進(jìn)行傳輸。當(dāng)以太網(wǎng)載荷超過1500字節(jié)時(shí),數(shù)據(jù)幀需要進(jìn)行分片處理,同時(shí)還需要填充1字節(jié)的分片信息;考慮到還需要對(duì)數(shù)據(jù)幀進(jìn)行SM4處理,而SM4的密文分組長(zhǎng)度是16字節(jié)的倍數(shù),因此當(dāng)進(jìn)入安全網(wǎng)關(guān)的以太網(wǎng)數(shù)據(jù)載荷超過1472字節(jié)時(shí)就需要分片。安全網(wǎng)關(guān)進(jìn)行完整性校驗(yàn)后的以太網(wǎng)數(shù)據(jù)幀結(jié)構(gòu)如圖7所示。
圖7 中Fragment information表示分片信息,compression value表示摘要值。當(dāng)發(fā)送端安全網(wǎng)關(guān)處理的以太網(wǎng)數(shù)據(jù)載荷小于1472字節(jié)時(shí),分片信息為0X00,可以直接進(jìn)行加密;如果以太網(wǎng)數(shù)據(jù)載荷大于1472字節(jié),那么分片信息為0X21;以太網(wǎng)載荷為1472字節(jié),分片信息為0X22,以太網(wǎng)數(shù)據(jù)載荷為n-1472字節(jié)。
接收端安全網(wǎng)關(guān)接收到數(shù)據(jù)幀時(shí),需要通過判斷分片信息來(lái)進(jìn)行下一步操作,接收到的分片信息分為以下幾種情況:
(1)分片信息為0X00,直接解密再進(jìn)行完整性校驗(yàn);
(2)分片信息為0X21,需要緩存當(dāng)前數(shù)據(jù)幀,等待0X22分片;
(3)分片信息0X22,將緩存的數(shù)據(jù)幀和本次接收的數(shù)據(jù)幀重組以后進(jìn)行解密。
接收端安全網(wǎng)關(guān)的重組實(shí)現(xiàn)技術(shù)是影響網(wǎng)關(guān)性能的關(guān)鍵,本文采用數(shù)組存儲(chǔ)的方式解決該問題。具體實(shí)現(xiàn)過程中將數(shù)組定義為全局變量,分片1的數(shù)據(jù)載荷部分存儲(chǔ)在數(shù)組中,分片2到達(dá)時(shí),調(diào)用數(shù)組中分片1的數(shù)據(jù)一起進(jìn)行解密操作。
本文實(shí)現(xiàn)的以太網(wǎng)鏈路安全網(wǎng)關(guān)的測(cè)試環(huán)境如圖8所示。
圖8 中的集線器是為了更方便的截取處理后的鏈路層數(shù)據(jù)幀,利用網(wǎng)絡(luò)分析儀對(duì)截取數(shù)據(jù)幀進(jìn)行對(duì)比分析,測(cè)試的具體步驟如下所示:
(1)主機(jī)A向主機(jī)C發(fā)送UDP數(shù)據(jù)包
(2)分別輸出安全網(wǎng)關(guān)1處理前和處理后的數(shù)據(jù)包,并對(duì)其分析
(3)網(wǎng)絡(luò)分析儀截取數(shù)據(jù)包,對(duì)其分析
(4)分別輸出安全網(wǎng)關(guān)2處理前后的數(shù)據(jù)包,對(duì)其分析
(5)對(duì)比主機(jī)A發(fā)送的數(shù)據(jù)包和主機(jī)C接收的數(shù)據(jù)包
為了證明分片重組的可行性,本文對(duì)安全網(wǎng)關(guān)2接收和處理的數(shù)據(jù)進(jìn)行了分析,安全網(wǎng)關(guān)2接收的數(shù)據(jù)幀如圖9、10所示:
由于分片信息在以太網(wǎng)首部和IP首部之后,以太網(wǎng)首部和IP首部分別是18字節(jié)和20字節(jié),因此分片信息是在第39字節(jié),如圖9、10中畫有橫線的數(shù)據(jù)就是分片信息,分別是21、22,說明安全網(wǎng)關(guān)成功實(shí)現(xiàn)分片重組。
圖10中最后兩行數(shù)據(jù)分別是數(shù)據(jù)幀加密前和解密后的完整性校驗(yàn)值,對(duì)比發(fā)現(xiàn)一致,說明安全網(wǎng)關(guān)成功實(shí)現(xiàn)了數(shù)據(jù)幀加解密,并完成了數(shù)據(jù)幀的完整性校驗(yàn)。
從測(cè)試結(jié)果,我們可以得出以下結(jié)論:
(1)安全網(wǎng)關(guān)實(shí)現(xiàn)了數(shù)據(jù)加解密的功能;
(2)安全網(wǎng)關(guān)實(shí)現(xiàn)了數(shù)據(jù)完整性校驗(yàn)功能;
(3)安全網(wǎng)關(guān)實(shí)現(xiàn)了數(shù)據(jù)幀的分片重組功能。
以太網(wǎng)鏈路安全網(wǎng)關(guān)是基于局域網(wǎng)設(shè)計(jì)的保護(hù)鏈路層以上數(shù)據(jù)的網(wǎng)絡(luò)設(shè)備。本文從以太網(wǎng)安全網(wǎng)關(guān)數(shù)據(jù)處理機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)出發(fā),將安全網(wǎng)關(guān)的數(shù)據(jù)的收發(fā)、加解密、完整性校驗(yàn)等處理數(shù)據(jù)的方案進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn),最后進(jìn)行了測(cè)試驗(yàn)證。本文設(shè)計(jì)的數(shù)據(jù)處理機(jī)制完整的實(shí)現(xiàn)了安全網(wǎng)關(guān)的基本功能,但由于技術(shù)原因,性能方面還有欠缺,這是下一階段需要解決的問題。
[1]IEEE Standard for Local and Metropolitan Area Networks-Media Access Control(MAC) Security,IEEE Standard 802.1ae,2006.
[2]William Stallings.密碼編程學(xué)與網(wǎng)絡(luò)安全——原理與實(shí)踐.第4版[M].孟慶樹,王麗娜,傅建明,譯.北京:電子工業(yè)出版社,2007.
[3]Wesley J.Chun.Python核心編程[M].宋吉廣,譯.北京:人民郵電出版社,2008.
[4]李春榆,張學(xué)杰,李紅靈.淺析基于交換機(jī)技術(shù)的增強(qiáng)局域網(wǎng)網(wǎng)絡(luò)安全策略[J].電腦知識(shí)與技術(shù)學(xué)術(shù)交流,2012,8(18):4344-4345.
[5]曹旭.計(jì)算機(jī)網(wǎng)絡(luò)安全策略探討[J].硅谷,2011(21):8-9.
[6]SM3密碼雜湊算法[S].國(guó)家密碼管理局,2010.
[7]Wes McKinney.利用Python進(jìn)行數(shù)據(jù)分析[M].唐學(xué)韜.等譯.北京:機(jī)械工業(yè)出版社,2014.
[8]Wikipedia.Scapy[EB/OL].(2011-03-01)[2013-06-05].http://en.wikipedia.org/wiki/Scapy.
[9]林紹太,張會(huì)汀,等.IP分片重組算法(RFC815)的實(shí)現(xiàn)及改進(jìn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(4):911-913.
[10]曹玥.鏈路層加密網(wǎng)卡預(yù)研與軟硬件平臺(tái)設(shè)計(jì)[D].西安:西安電子科技大學(xué),2005.
[11]孔令巍.基于802.10協(xié)議的鏈路層加密網(wǎng)卡研究與設(shè)計(jì)[D].河南:解放軍信息工程大學(xué),2007.
Design and Implementation of Data Processing Mechanism for Ethernet Security Gateway
Li Zhaobin Mao FangyiWang Yaojun
Beijing Electronic Science and Technology Institute,Beijing 100070,China
All the data above the link layer is encrypted by the Ethernet data link security gateway,the attacker cannot get important data,even if the attacker can get the interception of the packet.The Ethernet link security gateway is significance for the protection of Ethernet local area network.In this paper,the encryption and decryption of SM4,integrity verification of SM3 and other data processing procedures are studied,and a new fragment reassembly method is proposed to solve the data frames more than MTU value.The test results show the feasibility of the proposed scheme.
Ethernet data link encryption and decryption;integrity verification;fragment reassembly
TP393.11;TP393.084
A
1672-464X(2016)2-51-07
(責(zé)任編輯:鞠 磊)
本文受基金項(xiàng)目中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金資助(Supported by the Fundamental Research Funds for the Central Universities)(項(xiàng)目編號(hào):328201538)資助。
** 作者簡(jiǎn)介:李兆斌(1977-),男,博士,副研究員,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、通信設(shè)備、網(wǎng)絡(luò)測(cè)試。茅方毅(1990-),男,碩士,主要研究方向?yàn)榫W(wǎng)絡(luò)安全、安全設(shè)備測(cè)試。