摘 要:MACsec是一個(gè)用以保護(hù)局域網(wǎng)安全的主要協(xié)議,這一協(xié)議通過(guò)識(shí)別局域網(wǎng)上非授信站點(diǎn)來(lái)阻止其通信,從而保證網(wǎng)絡(luò)正常運(yùn)行,同時(shí)還能保護(hù)信息完整性和保密信,并減少對(duì)2層協(xié)議的攻擊,很好的保護(hù)局域同多不受被動(dòng)接線(xiàn)、假冒、中間人以及部分拒絕任務(wù)攻擊等襲擊。本文就互聯(lián)網(wǎng)MACsec技術(shù)的設(shè)計(jì)與實(shí)踐進(jìn)行探討,提出了有效的應(yīng)用方案。
關(guān)鍵詞:MACsec;網(wǎng)中安全;設(shè)計(jì)實(shí)踐;802.1ae
中圖分類(lèi)號(hào):TN929.11
以太網(wǎng)技術(shù)是當(dāng)今局域網(wǎng)普遍使用的通信協(xié)議標(biāo)準(zhǔn),是一種二層媒質(zhì)訪(fǎng)問(wèn)控制技術(shù),并與其它接入媒質(zhì)結(jié)合后形成多種寬帶接入技術(shù),包括EPON、WLAN等。在以太網(wǎng)技術(shù)應(yīng)用中,所有計(jì)算機(jī)由同軸電纜相連,采用競(jìng)爭(zhēng)機(jī)制共享傳輸媒體,既是應(yīng)用最廣泛的局域網(wǎng)技術(shù),也是寬帶接入網(wǎng)中的主流技術(shù)。雖然隨著技術(shù)和標(biāo)準(zhǔn)的不斷完善,以太網(wǎng)技術(shù)應(yīng)用得到了巨大的發(fā)展,但以太網(wǎng)技術(shù)起源于企業(yè)風(fēng)部網(wǎng),是建立在所有網(wǎng)絡(luò)用戶(hù)都是互相信任的前提之上的,在安全方面的考慮較弱,應(yīng)用于互不信任的公共網(wǎng)絡(luò)中存在著大量安全漏洞,造成信息泄露、信息破壞、非法信息傳播、網(wǎng)絡(luò)資源錯(cuò)誤使用等安全問(wèn)題,這種廣播式的通信協(xié)議必須采取強(qiáng)力的安全措施構(gòu)建出安全的環(huán)境。2005年,IEEE 802.1ae媒體訪(fǎng)問(wèn)控制安全(MACsec)協(xié)議的提出有效的提高了以太網(wǎng)的安全水平,這一協(xié)議將安全保護(hù)集成到有線(xiàn)以太網(wǎng)中,能使局域網(wǎng)避免受到被動(dòng)接線(xiàn)、假冒、中間人、拒絕服務(wù)攻擊等安全影響,減少2層協(xié)議所受到的攻擊。
1 MACsec技術(shù)體系結(jié)構(gòu)
1.1 MACsec協(xié)議結(jié)構(gòu)
Macsec在物理層上是透明的,這一協(xié)議通過(guò)提供逐跳的安全性來(lái)保護(hù)網(wǎng)絡(luò)基礎(chǔ)設(shè)施的可信賴(lài)部件間的通信,網(wǎng)絡(luò)管理員僅需對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行配置即可在到相應(yīng)的需求。在數(shù)據(jù)發(fā)送過(guò)程中,需要協(xié)議號(hào)(AN)一聲明幀的類(lèi)型、安全協(xié)議的密鑰(SAK)以及下一個(gè)數(shù)據(jù)包號(hào)(PN),并與安全通道標(biāo)識(shí)(SCI)以及下一個(gè)數(shù)據(jù)包號(hào)(PN)一起做為幀頭由以太網(wǎng)傳送,在這一過(guò)程中利用保護(hù)模塊(PROTECT)對(duì)數(shù)據(jù)進(jìn)行加密處理,并與安全協(xié)議密鑰(SAK)、數(shù)據(jù)包號(hào)(PN)、安全通道標(biāo)識(shí)(SCI)、源站點(diǎn)地址、目的站點(diǎn)地址一起作為輸入信息得到完整性校驗(yàn)值(ICV)。在數(shù)據(jù)接收過(guò)程中,用戶(hù)從幀頭獲得協(xié)議號(hào)、安全通道標(biāo)識(shí)、數(shù)據(jù)包號(hào)等信息并獲得安全協(xié)議密鑰,通過(guò)確認(rèn)模塊(VALIDATE)根據(jù)安全協(xié)議密鑰(SAK)、數(shù)據(jù)包號(hào)、安全通道標(biāo)識(shí)、源站點(diǎn)地址、目的站點(diǎn)地址、完整性校驗(yàn)值一起來(lái)判斷所接收的數(shù)據(jù)包是否有效,如果拉收的數(shù)據(jù)包有效則對(duì)數(shù)據(jù)進(jìn)行解密處理,如果無(wú)效則拋棄處理。
1.2 幀結(jié)構(gòu)
MACsec所提供的數(shù)據(jù)傳輸是源站點(diǎn)與目的站點(diǎn)間未經(jīng)認(rèn)可的數(shù)據(jù)傳輸,每一個(gè)傳輸請(qǐng)求的幀結(jié)構(gòu)都包括目的站點(diǎn)地址、源站點(diǎn)地址、優(yōu)先級(jí)、MAC服務(wù)數(shù)據(jù)單元幾個(gè)部分,其中MAC服務(wù)數(shù)據(jù)單元又包括幀類(lèi)型標(biāo)識(shí)、加密數(shù)據(jù)、完整性校驗(yàn)值三部分。在MACsec中,對(duì)數(shù)據(jù)傳輸?shù)牟煌瑑?yōu)先級(jí)提供了相應(yīng)的支持,可以根據(jù)優(yōu)先級(jí)參數(shù)來(lái)處理站點(diǎn)請(qǐng)求。在MAC服務(wù)請(qǐng)求發(fā)出后將會(huì)執(zhí)行相應(yīng)的服務(wù)操作,所有參與安全MAC服務(wù)的端口都會(huì)分配相應(yīng)的MAC安全密鑰協(xié)議實(shí)體和安全實(shí)體,每一個(gè)安全密鑰協(xié)議實(shí)體都會(huì)監(jiān)測(cè)同一局域網(wǎng)中的其它協(xié)議實(shí)體,并互相鑒別和授權(quán),保證可靠偵的傳送與接收。
1.3 GCM-AES算法
在應(yīng)用MACsec技術(shù)時(shí),采用GCM-AES-128算法對(duì)幀進(jìn)行加密解密和完整性校驗(yàn),這一算法分為授權(quán)加密和鑒別解密兩個(gè)過(guò)程,在對(duì)數(shù)據(jù)進(jìn)行加密時(shí)需要輸入加密密鑰、初始向量、明文、附加鑒別信息,輸出密文和鑒別標(biāo)識(shí);在解密過(guò)程中輸入密文、鑒別標(biāo)識(shí)、加密密鑰、初始向量、附加鑒別信息,輸出明文和可信性指標(biāo)信息,如果得到的鑒別標(biāo)識(shí)與輸入的不同則表示該信息不可信,如果一致則輸出解密后的明文。這一加密算法采用128位密鑰,一般采用96位初始化向量來(lái)提高處理效率。
2 互聯(lián)網(wǎng)MACsec技術(shù)的硬件實(shí)現(xiàn)
2.1 MACsec技術(shù)硬件系統(tǒng)結(jié)構(gòu)
MACsec技術(shù)主要包括MAC和GCM-AES兩個(gè)功能,其中MAC負(fù)責(zé)接收發(fā)送幀,GCM-AES負(fù)責(zé)對(duì)發(fā)送數(shù)據(jù)加密和附加完整性校驗(yàn)值,以及對(duì)接收數(shù)據(jù)的完整性校驗(yàn)和解密。目前常用的硬件結(jié)構(gòu)有三種方案,分別為MAC模塊實(shí)例調(diào)用GCM-AES模塊、MAC和GCM-AES作為獨(dú)立模塊分別配置、MAC和GCM-AES作為獨(dú)立模塊同時(shí)建立額外數(shù)據(jù)交互接口模式。在第三種模式中,MAC模塊和GCM-AES模塊能夠分別配置,但當(dāng)僅進(jìn)行幀的加密解密工作而不需要利用總線(xiàn)傳輸數(shù)據(jù)時(shí),則可以直接利用兩者間的數(shù)據(jù)交互接口完成數(shù)據(jù)交互工作,這一結(jié)構(gòu)能有效的降低總線(xiàn)負(fù)載,提高系統(tǒng)資源利用率,相較前兩種模式性能更為優(yōu)異,本文設(shè)計(jì)實(shí)踐中即采用第三種硬件結(jié)構(gòu)模式。
2.2 MAC模塊設(shè)計(jì)
MAC模塊主要承擔(dān)幀的接收與發(fā)送工作,不過(guò)在發(fā)送幀前需要利用GCM-AES模塊對(duì)數(shù)據(jù)進(jìn)行加密并附加完整性校驗(yàn)值,在接收幀后對(duì)數(shù)據(jù)進(jìn)行解密并進(jìn)行完整性校驗(yàn)。MAC模塊的硬件結(jié)構(gòu)主要包括AHB總線(xiàn)接口、PHY接口、GCM-AES交互接口三個(gè)接口,并包括幀發(fā)送模塊、幀接收模塊、PHY讀寫(xiě)模塊、AHB接口模塊以及寄存器讀寫(xiě)模塊幾個(gè)模塊。在MAC模塊硬件設(shè)計(jì)中,包含了系統(tǒng)時(shí)鐘、PHY發(fā)送時(shí)鐘、PHY接收時(shí)鐘、MII控制模塊時(shí)鐘四個(gè)時(shí)鐘域,四個(gè)時(shí)鐘域容易造成數(shù)據(jù)不穩(wěn)定現(xiàn)象,需要對(duì)異步時(shí)鐘域數(shù)據(jù)進(jìn)行較為可靠的轉(zhuǎn)換。
在發(fā)送模塊中,當(dāng)數(shù)需要發(fā)送數(shù)據(jù)時(shí)MAC首先偵聽(tīng)是否存在載波,如果存在載波則標(biāo)明信道上被占用有其它站點(diǎn)在傳輸信息,保持偵聽(tīng)狀態(tài)。當(dāng)信道內(nèi)幀間縫隙時(shí)間內(nèi)處于空閑狀態(tài)則表明信道未被占用,MAC開(kāi)始執(zhí)信數(shù)據(jù)發(fā)送操作,并繼續(xù)偵聽(tīng)發(fā)送數(shù)據(jù)過(guò)程中是否存在沖突,如果存在沖突則停止本次發(fā)送進(jìn)入等待狀態(tài)至信道空閑再重新發(fā)送,如果多次沖突則放棄發(fā)送。從這一流程可以看出,MAC發(fā)送模塊包含狀態(tài)控制模塊、退避模塊、重發(fā)計(jì)數(shù)模塊、數(shù)據(jù)緩沖區(qū)模塊幾個(gè)部分,包括系統(tǒng)時(shí)鐘和MII控制模塊時(shí)鐘兩個(gè)異步時(shí)鐘域,可以采用雙端口讀寫(xiě)來(lái)解決異步時(shí)鐘域造成的數(shù)據(jù)亞穩(wěn)定問(wèn)題。
在接收模塊中,當(dāng)MAC檢測(cè)到有偵傳入即開(kāi)始檢查目標(biāo)地址,如果地址匹配則接收幀,將幀傳輸至GCM-AES模塊進(jìn)行完整性校驗(yàn),如果校驗(yàn)通過(guò)則對(duì)數(shù)據(jù)進(jìn)行解密獲取明文,如果校驗(yàn)不通過(guò)則拋棄幀。這一模塊包括接收控制模塊、地址比較模塊、緩沖區(qū)模塊、MII模塊等幾部分,包含系統(tǒng)時(shí)鐘和MII控制模塊時(shí)鐘兩個(gè)異步時(shí)鐘域,同樣可以采用雙端口讀寫(xiě)來(lái)解決異步時(shí)鐘域造成的數(shù)據(jù)亞穩(wěn)定問(wèn)題。
2.3 GCM-AES模塊設(shè)計(jì)
GCM-AE模塊主要承擔(dān)數(shù)據(jù)發(fā)送時(shí)的加密和數(shù)據(jù)接收后的解密工作,在GCM-AES模塊加密過(guò)程中實(shí)際上均只用到了AES的加密過(guò)程,可以共用大部分電路,可以極大的簡(jiǎn)化算法實(shí)現(xiàn)途徑??梢詫CM-AES模塊考慮為AES加密模塊、遞加模塊、乘法模塊三個(gè)部分,以這三個(gè)部分為基礎(chǔ)構(gòu)建出GCM-AES模塊的硬件結(jié)構(gòu)。在GCM-AE模塊中,乘法器和加密模塊是核心部分。
GCM-AES采用2128有限域乘法器模塊進(jìn)行乘法運(yùn)算,可以利用組合電路或時(shí)序機(jī)構(gòu)建,組合電路運(yùn)行速度較快但占用空間較大,時(shí)序機(jī)占用空間小但運(yùn)算時(shí)鐘周期較多,不過(guò)基本上能滿(mǎn)足運(yùn)算的需要。AES算法加密模塊需要滿(mǎn)足128位AES加密算法的需要,所采用的是迭代分組密碼算法,在GCM-AES數(shù)據(jù)加密和解密過(guò)程中實(shí)際只使用AES加密過(guò)程,因此只需要設(shè)計(jì)AES加密即可。
3 結(jié)束語(yǔ)
MACsec技術(shù)有效的提升了網(wǎng)絡(luò)安全水平,降低了傳統(tǒng)網(wǎng)絡(luò)應(yīng)用中的風(fēng)險(xiǎn),在設(shè)計(jì)與實(shí)踐中,應(yīng)當(dāng)根據(jù)具體需要,對(duì)硬件模塊、系統(tǒng)結(jié)構(gòu)進(jìn)行分析,采用合適的算法和硬件系統(tǒng)結(jié)構(gòu),使其達(dá)到應(yīng)有的安全水平,切實(shí)提升MACsec技術(shù)的安全應(yīng)用能力。
參考文獻(xiàn):
[1]周卓嬌.EPON系統(tǒng)中基于MACsec安全協(xié)議的研究[J].光通信技術(shù),2008(10).
[2]曹云鵬,錢(qián)敏.雙速自適應(yīng)以太網(wǎng)MAC設(shè)計(jì)及FPGA驗(yàn)證[J].通信技術(shù),2010(11).
作者單位:長(zhǎng)慶鉆井總公司,西安 710018