MACsec是什么?它能為你的網(wǎng)絡(luò)環(huán)境帶來(lái)什么改變?
背景
一般情況下,絕大部分?jǐn)?shù)據(jù)在局域網(wǎng)鏈路中都是以明文形式傳輸?shù)模@樣就會(huì)存在許多安全隱患,比如:銀行帳戶的信息被竊取、篡改,遭受惡意網(wǎng)絡(luò)攻擊等。網(wǎng)絡(luò)中部署MACsec后,可對(duì)傳輸?shù)囊蕴W(wǎng)數(shù)據(jù)幀進(jìn)行保護(hù),降低信息泄漏和遭受惡意網(wǎng)絡(luò)攻擊的風(fēng)險(xiǎn)。
MACsec概述
MACsec(Media Access Control Security)是基于802.1AE和802.1X協(xié)議的局域網(wǎng)上的安全通信方法。通過(guò)身份認(rèn)證、數(shù)據(jù)加密、完整性校驗(yàn)、重播保護(hù)等功能保證以太網(wǎng)數(shù)據(jù)幀的安全性,防止設(shè)備處理有安全威脅的報(bào)文。MACsec從以下幾個(gè)方面保障了用戶業(yè)務(wù)數(shù)據(jù)在局域網(wǎng)中的安全傳輸:
- 數(shù)據(jù)幀完整性檢查
- 用戶數(shù)據(jù)加密
- 數(shù)據(jù)源真實(shí)性校驗(yàn)
- 重放保護(hù)
典型應(yīng)用場(chǎng)景
- 在交換機(jī)之間部署MACsec保護(hù)數(shù)據(jù)安全,例如在接入交換機(jī)與上聯(lián)的匯聚或核心交換機(jī)之間部署。
- 當(dāng)交換機(jī)之間存在傳輸設(shè)備時(shí)可部署MACsec保護(hù)數(shù)據(jù)安全。
1.點(diǎn)到點(diǎn)傳輸數(shù)據(jù)
SwitchA和SwitchB之間傳輸重要數(shù)據(jù),通過(guò)部署點(diǎn)到點(diǎn)的MACsec對(duì)數(shù)據(jù)進(jìn)行安全保護(hù)。
2.間含透?jìng)髟O(shè)備的點(diǎn)到點(diǎn)傳輸數(shù)據(jù)
SwitchA和SwitchB之間存在透?jìng)鹘粨Q機(jī)SwitchC、SwitchD和SwitchE,SwitchA和SwitchB之間部署點(diǎn)到點(diǎn)的MACsec對(duì)數(shù)據(jù)進(jìn)行安全保護(hù)。為保證SwitchA和SwitchB能夠進(jìn)行MACsec會(huì)話協(xié)商,需要透?jìng)鹘粨Q機(jī)支持二層協(xié)議透明傳輸功能。
MACsec工作機(jī)制
MACsec安全通道的建立和管理以及MACsec所使用密鑰的協(xié)商由MKA(MACsec Key Agreement)協(xié)議負(fù)責(zé)。下面介紹MKA協(xié)議工作過(guò)程中涉及的基本概念:
- CA(Secure Connectivity Association)是由密鑰協(xié)商協(xié)議負(fù)責(zé)建立和維護(hù)的安全關(guān)聯(lián),是局域網(wǎng)上支持MACsec的兩個(gè)或兩個(gè)以上使用相同密鑰和密鑰算法套件的成員的集合。CA成員使用的密鑰稱(chēng)為CAK(Secure Connectivity Association Key)。MACsec主要應(yīng)用在點(diǎn)對(duì)點(diǎn)組網(wǎng)的環(huán)境中,即從一臺(tái)設(shè)備的接口到另一臺(tái)設(shè)備的接口的組網(wǎng),所以主要使用成對(duì)CAK。兩個(gè)相連的設(shè)備組成一個(gè)CA,它們使用相同的CAK。
- SA(Secure Association)是保證CA成員之間數(shù)據(jù)幀安全傳輸?shù)陌踩P(guān)系。每個(gè)SA都有一個(gè)或一組加密數(shù)據(jù)幀的密鑰,稱(chēng)為SAK(Secure Association Key)。SAK由算法根據(jù)CAK生成,用于數(shù)據(jù)報(bào)文的加密和解密。
1.運(yùn)行機(jī)制
點(diǎn)到點(diǎn)的MACsec交互過(guò)程主要分為三個(gè)階段:會(huì)話協(xié)商、安全通信和會(huì)話保活。
MACsec交互過(guò)程示意圖
點(diǎn)到點(diǎn)的MACsec交互過(guò)程:
(1) 會(huì)話協(xié)商
- 兩端設(shè)備的接口開(kāi)啟MACsec功能后,根據(jù)優(yōu)先級(jí)選舉出密鑰服務(wù)器(Key Server)。用戶可以配置接口的優(yōu)先級(jí)數(shù)值,數(shù)值越小優(yōu)先級(jí)越高,優(yōu)先級(jí)高的設(shè)備接口將被選舉為密鑰服務(wù)器。當(dāng)雙方優(yōu)先級(jí)相同時(shí),則比較接口的SCI(Secure Channel Identifier)值,SCI由接口MAC地址和接口索引(Interface Index)的最后兩個(gè)字節(jié)組成,SCI值小的接口將被選舉為密鑰服務(wù)器。
- 兩端設(shè)備靜態(tài)配置相同的CAK,密鑰服務(wù)器根據(jù)靜態(tài)配置的CAK生成用于加密數(shù)據(jù)報(bào)文的SAK,分發(fā)給對(duì)端設(shè)備。
(2) 安全通信
發(fā)送方使用SAK加密數(shù)據(jù)報(bào)文,接收方使用SAK解密數(shù)據(jù)報(bào)文。兩端設(shè)備既可以作為發(fā)送方,也可以作為接收方,通信過(guò)程都受到MACsec保護(hù)。用戶還可以配置SAK的超時(shí)時(shí)間,當(dāng)SAK的使用時(shí)間達(dá)到超時(shí)時(shí)間或SAK加密報(bào)文達(dá)到一定數(shù)量,則更換SAK,確保密鑰的安全性。
(3) 會(huì)話?;?/p>
MKA協(xié)議定義了一個(gè)MKA會(huì)話?;疃〞r(shí)器,用來(lái)規(guī)定MKA會(huì)話的超時(shí)時(shí)間。MKA會(huì)話協(xié)商成功后,兩端設(shè)備會(huì)通過(guò)交互MKA協(xié)議報(bào)文確認(rèn)連接的存在。設(shè)備收到對(duì)端MKA協(xié)議報(bào)文后,啟動(dòng)定時(shí)器。
- 如果在該超時(shí)時(shí)間內(nèi)收到對(duì)端的MKA協(xié)議報(bào)文,則重啟定時(shí)器。
- 如果在該超時(shí)時(shí)間內(nèi)未收到對(duì)端的MKA協(xié)議報(bào)文,則認(rèn)為該連接已不安全,刪除對(duì)端設(shè)備,重新進(jìn)行MKA協(xié)商。
- CAK(Secure Connectivity Association Key,安全連接關(guān)聯(lián)密鑰)不直接用于數(shù)據(jù)報(bào)文的加密,由它和其他參數(shù)派生出數(shù)據(jù)報(bào)文的加密密鑰。CAK可以在802.1X認(rèn)證過(guò)程中下發(fā),也可以由用戶直接靜態(tài)配置。
- MKA(MACsec Key Agreement protocol)用于MACsec 數(shù)據(jù)加密密鑰的協(xié)商協(xié)議。
- SAK(Secure Association Key,安全關(guān)聯(lián)密鑰)由CAK根據(jù)算法推導(dǎo)產(chǎn)生,用于加密安全通道間傳輸?shù)臄?shù)據(jù)。MKA對(duì)每一個(gè)SAK可加密的報(bào)文數(shù)目有所限制,當(dāng)使用某SAK加密的PN耗盡,該SAK會(huì)被刷新。例如,在10Gbps 的鏈路上,SAK最快4.8分鐘刷新一次。
- Key Server決定加密方案和進(jìn)行密鑰分發(fā)的MKA實(shí)體。
配置命令介紹
1.配置靜態(tài)CKN和CAK
進(jìn)入系統(tǒng)視圖:
system-view
進(jìn)入接口視圖:
interface interface-type interface-number [ .subinterface-number ]
配置靜態(tài)CKN和CAK:
mka cak-mode static ckn ckn cak { simple cak-simple | cipher cak-cipher }
2.配置MACsec加密模式
當(dāng)接口發(fā)送的數(shù)據(jù)報(bào)文通過(guò)MACsec進(jìn)行加密時(shí),可選擇配置接口的加密模式,
- normal:既進(jìn)行完整性校驗(yàn)又進(jìn)行數(shù)據(jù)加密。
- integrity-only:只進(jìn)行完整性校驗(yàn)不進(jìn)行數(shù)據(jù)加密。
進(jìn)入系統(tǒng)視圖1:
system-view
進(jìn)入接口視圖:
interface interface-type interface-number [ .subinterface-number ]
配置MACsec的加密模式:
macsec mode { normal | integrity-only }
3.配置MACsec加密算法
進(jìn)入系統(tǒng)視圖:
system-view
進(jìn)入接口視圖:
interface interface-type interface-number [ .subinterface-number ]
配置MACsec的加密算法:
macsec cipher-suite { gcm-aes-128 | gcm-aes-xpn-128 | gcm-aes-256 | gcm-aes-xpn-256 }
4.查看配置結(jié)果
查看經(jīng)過(guò)MACsec保護(hù)的數(shù)據(jù)報(bào)文的統(tǒng)計(jì)信息。
display macsec statistics interface { interface-name | interface-type interface-number}
查看MKA會(huì)話信息:
display mka interface { interface-name | interface-type interface-number }
MACsec配置舉例
1.配置點(diǎn)到點(diǎn)的MACsec
點(diǎn)到點(diǎn)的MACsec配置組網(wǎng)圖
路由器DeviceA與路由器DeviceB直連,在DeviceA和DeviceB的接口GE1/0/0上對(duì)MACsec數(shù)據(jù)報(bào)文進(jìn)行加解密。
2.配置思路
采用如下思路配置點(diǎn)到點(diǎn)的MACsec:在DeviceA、DeviceB設(shè)備GE1/0/0接口上配置相同的靜態(tài)CKN和CAK;
3.數(shù)據(jù)準(zhǔn)備
為完成該配置例,需要準(zhǔn)備如下數(shù)據(jù):
- 接口的CKN和CAK值
- DeviceA接口發(fā)送的數(shù)據(jù)通過(guò)gcm-aes-xpn-128進(jìn)行加密
4.操作步驟
接口GE1/0/0配置密文CKN、CAK。
<DeviceA> system-view
[~DeviceA] interface gigabitethernet1/0/0
[~DeviceA-GigabitEthernet1/0/0] mka cak-mode static ckn a1 cak cipher b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1b1
[*DeviceA-GigabitEthernet1/0/0] commit
接口GE1/0/0配置MACsec的加密模式。(可選配置):
<DeviceA> system-view
[~DeviceA] interface gigabitethernet1/0/0
[~DeviceA-GigabitEthernet1/0/0] macsec mode integrity-only
[*DeviceA-GigabitEthernet1/0/0] commit
接口GE1/0/0配置MACsec的加密算法。(可選配置)
<DeviceA> system-view
[~DeviceA] interface gigabitethernet1/0/0
[~DeviceA-GigabitEthernet1/0/0] macsec cipher-suite gcm-aes-xpn-128
[*DeviceA-GigabitEthernet1/0/0] commit
DeviceB執(zhí)行同樣的配置。