MACsec IP核大幅提升數(shù)據(jù)中心安全性
數(shù)據(jù)中心設(shè)備設(shè)計(jì)人員將結(jié)合采用基于FPGA的內(nèi)核來(lái)提供安全的高性能以太網(wǎng)鏈路。
本文引用地址:http://butianyuan.cn/article/201610/308337.htm云存儲(chǔ)和IT服務(wù)外包對(duì)IT經(jīng)理而言極富吸引力,因?yàn)檫@不僅能降低成本,而且還可減輕支持工作。然而有一個(gè)大的顧慮就是,這樣做會(huì)使敏感數(shù)據(jù)流出公司防火墻外,造成安全隱患。這種顧慮是完全可以理解的,因?yàn)樾畔?duì)于許多公司而言是最寶貴的資產(chǎn),無(wú)論是會(huì)計(jì)、客戶還是制造相關(guān)的數(shù)據(jù)。
而現(xiàn)在,設(shè)備制造商能夠通過(guò)使用賽靈思基于FPGA的解決方案來(lái)提高性能和安全水平。滿足以太網(wǎng)新標(biāo)準(zhǔn)MACsec要求的Algotronix綜合安全子系統(tǒng)采用基于賽靈思FPGA的高性能、低時(shí)延、高能效IP核。
基于FPGA的解決方案比基于軟件的解決方案速度要快得多。此外,專用硬件可接管系統(tǒng)處理器,使其處理其它任務(wù),如深度數(shù)據(jù)包檢查等?;蛘?,設(shè)計(jì)人員也可采用成本更低的處理器。
加密和認(rèn)證
保護(hù)信息的一個(gè)顯著策略就是當(dāng)數(shù)據(jù)在網(wǎng)絡(luò)中傳輸和在數(shù)據(jù)中心周圍移動(dòng)時(shí)對(duì)其進(jìn)行加密。一旦數(shù)據(jù)被非授權(quán)方滲透網(wǎng)絡(luò)鏈路而攔截,數(shù)據(jù)加密能夠確保其無(wú)法被讀取。原則上,數(shù)據(jù)還應(yīng)經(jīng)過(guò)認(rèn)證,從而確保其完整性。消息認(rèn)證旨在檢測(cè)原始加密數(shù)據(jù)是否已被篡改,包括因傳輸錯(cuò)誤而造成變更,抑或是被攻擊者為從中牟利而惡意破壞。
目前以太網(wǎng)傳輸已成為主流通信方式,這是一種既高效又具有可擴(kuò)展性的高速傳輸方法。隨著以太網(wǎng)標(biāo)準(zhǔn)的普及,以太網(wǎng)傳輸成本不斷降低,這一優(yōu)勢(shì)使其更加引人注目,進(jìn)而確保以太網(wǎng)繼續(xù)成為首選的L2技術(shù)。不過(guò),就在幾年以前,以太網(wǎng)標(biāo)準(zhǔn)還沒(méi)有任何加密規(guī)范要求,只能采用運(yùn)行在通信協(xié)議棧上層的IPsec等技術(shù)來(lái)完成加密工作。
現(xiàn)在,根據(jù)IEEE 802.1AE標(biāo)準(zhǔn),最新以太網(wǎng)標(biāo)準(zhǔn)擴(kuò)展版本新增了大量安全措施。該技術(shù)在幾年前正式確定,其采用集成式安全系統(tǒng)來(lái)加密并認(rèn)證消息,同時(shí)檢測(cè)并應(yīng)對(duì)一系列網(wǎng)絡(luò)攻擊。該標(biāo)準(zhǔn)被稱為“媒體接入控制安全(Media Access Control Security)”標(biāo)準(zhǔn),常常簡(jiǎn)稱為“MACsec”。Algotronix從幾年前就開始努力推出能夠根據(jù)多種不同數(shù)據(jù)速率要求提供硬件加速加密功能的IP核。
(Algotronix還可提供面向IPsec的IP核,該產(chǎn)品與MACsec產(chǎn)品的接口類似,對(duì)需要支持雙重標(biāo)準(zhǔn)的系統(tǒng)而言是不錯(cuò)的選擇。)
簡(jiǎn)要介紹MACsec系統(tǒng),幫助了解規(guī)范的全面性,同時(shí)深入說(shuō)明實(shí)現(xiàn)該規(guī)范的復(fù)雜程度。
信任實(shí)體
MACsec指的是由網(wǎng)絡(luò)上的節(jié)點(diǎn)組成的一系列信任實(shí)體。每個(gè)節(jié)點(diǎn)都能接收加密消息和明文消息,而系統(tǒng)策略則用于明確如何處理每條消息。內(nèi)核包括明文消息的旁通選項(xiàng),無(wú)需認(rèn)證或驗(yàn)證。與IPsec等作為端到端技術(shù)運(yùn)行在L3/L4的協(xié)議不同,只要數(shù)據(jù)包進(jìn)入或離開以太網(wǎng)LAN,MACsec就能對(duì)每個(gè)數(shù)據(jù)包進(jìn)行解密和驗(yàn)證。
MACsec適用于星型或總線型LAN等以太網(wǎng)拓?fù)浣Y(jié)構(gòu),也可支持點(diǎn)對(duì)點(diǎn)系統(tǒng)。
MACsec標(biāo)準(zhǔn)采用安全實(shí)體(SecY)方法,也就是每個(gè)節(jié)點(diǎn)或?qū)嶓w都具備與其以太網(wǎng)源地址相鏈接的唯一密鑰。為支持多個(gè)虛擬SecY,我們?cè)O(shè)計(jì)出了該IP核的1G版本。因此,單個(gè)以太網(wǎng)MAC能針對(duì)多用戶LAN等應(yīng)用配備多個(gè)與之關(guān)聯(lián)的MACsec SecY。MACsec通常與IEEE 801.1X-2010或互聯(lián)網(wǎng)密鑰交換(IKE)配合使用,可實(shí)現(xiàn)網(wǎng)絡(luò)周圍的安全密鑰分配。
數(shù)據(jù)中心之所以會(huì)選擇L2連接功能在數(shù)據(jù)中心內(nèi)移動(dòng)數(shù)據(jù)包,是為了提高速度,并最大程度地降低時(shí)延和減少數(shù)據(jù)包中的開銷數(shù)據(jù)。相比之下,如果用諸如IPsec等安全的L3技術(shù)進(jìn)行通信,消息必須傳到協(xié)議上層進(jìn)行處理,而這會(huì)增加時(shí)延。
此外,L2解決方案也能避免創(chuàng)建L3安全策略這一復(fù)雜工作。
數(shù)據(jù)中心能夠采用MACsec提供防火墻后臺(tái)的保護(hù),或?qū)⑵溆迷跀?shù)據(jù)中心之間的直接鏈路上。系統(tǒng)管理員可授權(quán)設(shè)備以安全方式進(jìn)行通信。設(shè)備能夠檢測(cè)錯(cuò)誤或誤用情況,如拒絕服務(wù)攻擊(DOS)。
符合可編程要求
市場(chǎng)因需求不同,日趨細(xì)分化??啥ㄖ艶PGA解決方案理想適合于MACsec。起初,MACsec的設(shè)計(jì)是作為一項(xiàng)技術(shù)應(yīng)用于城域網(wǎng),而現(xiàn)在在數(shù)據(jù)中心中也找到了其用武之地,這就提高了對(duì)基于FPGA的解決方案的整體需求。
Algotronix開發(fā)MACsec內(nèi)核是一個(gè)自然演進(jìn),因?yàn)槲覀円呀?jīng)打造了一系列稱為“AES-GCM”的加密引擎。這些內(nèi)核的運(yùn)行速率分別為1G、10G和40G。我們通過(guò)流水線、提高時(shí)鐘速率并從賽靈思Artix器件逐步發(fā)展到Kintex器件乃至Virtex FPGA,來(lái)實(shí)現(xiàn)上述速率的。我們將利用這些技術(shù)來(lái)推動(dòng)Virtex UltraScale™器件上的吞吐量,使其達(dá)到100G。
我們使用FPGA中的IP核能夠?qū)崿F(xiàn)多種不同性能,可支持從1GbE到10 GbE的不同速率(即,內(nèi)核在最壞情況下的實(shí)際吞吐量)。此外我們還計(jì)劃推出40G和100G的版本。這比基于軟件的系統(tǒng)要快得多。內(nèi)核通常直連接到硬件MAC(如圖1所示),因?yàn)镕PGA芯片上的嵌入式存儲(chǔ)器的軟件會(huì)盡可能足夠快地傳輸數(shù)據(jù),以滿足其吞吐量要求。如果在硬件上實(shí)現(xiàn)安全功能,同時(shí)從未向軟件提供未加密密鑰,那么系統(tǒng)就不那么容易受到特洛伊木馬(Trojan horse)和病毒等常見(jiàn)軟件攻擊。
圖1 – 整個(gè)MACsec IP核位于FPGA內(nèi),可實(shí)現(xiàn)最大安全性。
這樣就算IT專業(yè)人士必須考慮系統(tǒng)的整個(gè)軟件層面的情況時(shí),也能更方便地分析系統(tǒng)漏洞。
另一個(gè)重要考慮事項(xiàng)就是FPGA進(jìn)行算法加速的系統(tǒng)要大幅降低功耗。加速的算法包括加密函數(shù)等,免得再用軟件去實(shí)現(xiàn)加速。FPGA比軟件解決方案的能效明顯要高得多。
所有Algotronix加密內(nèi)核都內(nèi)置了一項(xiàng)重要屬性,那就是能夠在Block RAM或FPGA架構(gòu)的查找表(LUT)中實(shí)現(xiàn)稱為“S-Boxes”的關(guān)鍵模塊。有了該屬性,客戶可通過(guò)綜合平衡兩種資源類型便能利用現(xiàn)有資源實(shí)現(xiàn)設(shè)計(jì)。比方說(shuō),如果MACsec內(nèi)核外的設(shè)計(jì)未占用大量的BRAM,那么就可用Block RAM來(lái)實(shí)現(xiàn)S-Boxes,否則就用LUT來(lái)實(shí)現(xiàn)。
MACSEC細(xì)節(jié)
MACsec系統(tǒng)的設(shè)計(jì)理念是:每個(gè)數(shù)據(jù)源使用不同的加密密鑰。接收到消息后,接收器會(huì)在片上CAM的列表中進(jìn)行查找,明確用以解密數(shù)據(jù)包的正確密鑰。每個(gè)數(shù)據(jù)包都有編號(hào),確保能檢測(cè)并拒絕接收重復(fù)或重新發(fā)送的數(shù)據(jù)包,這種方法可防范“中間人”攻擊。
MACsec還會(huì)收集有關(guān)被拒收的數(shù)據(jù)包數(shù)量的統(tǒng)計(jì)數(shù)據(jù)以及拒絕的原因。提供統(tǒng)計(jì)數(shù)據(jù)以支持攻擊檢測(cè)是超出基本加密隱私、認(rèn)證和防止重發(fā)功能之外的更高一層的安全性,能讓系統(tǒng)管理器主動(dòng)應(yīng)對(duì)正在進(jìn)行的攻擊。
我們采取的方法是對(duì)業(yè)經(jīng)驗(yàn)證的AES-GCM內(nèi)核周圍的MACsec邏輯進(jìn)行“打包”。就此而言,設(shè)計(jì)高效快速的加密內(nèi)核只是設(shè)計(jì)挑戰(zhàn)的一部分。MACsec標(biāo)準(zhǔn)涉及面廣,包括許多變量。
舉例來(lái)說(shuō),該標(biāo)準(zhǔn)最初只指定128位的加密密鑰。采用128位密鑰,數(shù)據(jù)進(jìn)行10次轉(zhuǎn)換(被稱為“輪”)后在內(nèi)核中完成加密過(guò)程。該標(biāo)準(zhǔn)經(jīng)修訂后可提供256位加密密鑰,整個(gè)數(shù)字加密過(guò)程歷經(jīng)14輪。這是通過(guò)添加流水線級(jí)數(shù)并提高密鑰存儲(chǔ)所需的內(nèi)存帶寬才實(shí)現(xiàn)的。
MACsec與以太網(wǎng)流量類型無(wú)關(guān),也對(duì)更高層協(xié)議透明。推出這些內(nèi)核后,就能方便地將MACsec添加到系統(tǒng)中,從而進(jìn)一步提高網(wǎng)絡(luò)防護(hù)。配備MACsec的站點(diǎn)仍能與未采用MACsec額外安全保障機(jī)制的其它站點(diǎn)進(jìn)行通信。
從媒體接入控制器(MAC)將以太網(wǎng)數(shù)據(jù)包提供給MACsec內(nèi)核。您可結(jié)合使用1G MACsec內(nèi)核、片上收發(fā)器和三模以太網(wǎng)MAC(TEMAC)構(gòu)建高效的小型解決方案。每個(gè)數(shù)據(jù)包都包含發(fā)起傳輸?shù)脑创a的目的地和地址。該標(biāo)準(zhǔn)保存在MACsec系統(tǒng)中,但一個(gè)重要的因素是,在多次反射傳輸中,“源碼”將是傳遞數(shù)據(jù)包的最終設(shè)備的地址。因此,與可被視為端到端方案的IPsec不同,MACsec是以逐跳方式工作的。對(duì)于每次跳躍,MACsec都要求輸入端的所有加密數(shù)據(jù)進(jìn)行解密,然后使用分配給傳輸設(shè)備的唯一密鑰再重新加密。解密的明文可在每一級(jí)提供數(shù)據(jù)包檢查功能,如圖2所示,也能供流量管理器用以管理數(shù)據(jù)流。
在MACsec標(biāo)準(zhǔn)中,圖3給出的報(bào)頭包含附加字段“MAC安全標(biāo)簽(SecTAG)”,其可定義EtherType,并標(biāo)明數(shù)據(jù)包是否加密。數(shù)據(jù)附加在ICV字段的消息末尾,則表示已經(jīng)認(rèn)證。
圖2 – 消息在入端口被解密,并在出端口被加密。
圖3 – MACsec幀結(jié)構(gòu)包括MAC安全標(biāo)簽(SecTAG)字段,其可定義EtherType,并標(biāo)明數(shù)據(jù)包是否加密。
ICV協(xié)同加密密鑰,可認(rèn)證包括報(bào)頭和MACsec標(biāo)簽的幀,進(jìn)而確保幀的源地址和目的地地址都不會(huì)被篡改。我們?cè)贔PGA架構(gòu)中實(shí)現(xiàn)該邏輯,確保其能夠具備快速的可預(yù)測(cè)的時(shí)序,從而最大程度地降低時(shí)延。
MACsec內(nèi)核包括連接到每個(gè)源地址的查找表。該表包含的密鑰必須能夠用來(lái)成功解密消息,我們精心設(shè)計(jì)該功能,使其能夠高效實(shí)現(xiàn)在LUT和器件的Block RAM中。我們充分利用FPGA解決方案的靈活性,采用實(shí)現(xiàn)方案選項(xiàng)(如可采用128位或256位密鑰,也可修改內(nèi)核支持的虛擬SecY數(shù)量)來(lái)設(shè)計(jì)內(nèi)核。
新標(biāo)準(zhǔn)的另一個(gè)重要特性就是,MACsec可收集數(shù)據(jù)包級(jí)的統(tǒng)計(jì)數(shù)據(jù)。系統(tǒng)管理員能夠了解有關(guān)信息(如多少數(shù)據(jù)包因?yàn)檠舆t而被拒收,或者因?yàn)闊o(wú)效解密密鑰或使用錯(cuò)誤密鑰而未通過(guò)完整性檢查),并將這些統(tǒng)計(jì)數(shù)據(jù)與正確傳輸?shù)臄?shù)據(jù)包數(shù)量進(jìn)行比較。
MACsec標(biāo)準(zhǔn)可面向點(diǎn)對(duì)點(diǎn)應(yīng)用提供精簡(jiǎn)選項(xiàng)。這樣就無(wú)需采用CAM從數(shù)據(jù)包中的顯式安全通道標(biāo)識(shí)符和單點(diǎn)到多點(diǎn)操作的選擇方案中確定密鑰。我們的內(nèi)核還可支持關(guān)聯(lián)于單個(gè)以太網(wǎng)的多個(gè)虛擬SecY,這樣,不同的密鑰就能用來(lái)加密從MAC傳輸?shù)讲煌康牡氐臄?shù)據(jù)。MACsec標(biāo)準(zhǔn)將這種配置定義為多用戶局域網(wǎng),因?yàn)檫@就像這些目的地位于不同以太網(wǎng)LAN上一樣。該特性使得系統(tǒng)能夠通過(guò)使用不同密鑰加密輸出來(lái)對(duì)接收設(shè)備進(jìn)行分區(qū)。
數(shù)據(jù)中心可能會(huì)采用多個(gè)SecY來(lái)創(chuàng)建虛擬分區(qū),這樣客戶A的數(shù)據(jù)就可通過(guò)唯一的加密密鑰與客戶B的數(shù)據(jù)劃分開。
數(shù)據(jù)中心內(nèi)部通信可根據(jù)需要進(jìn)行組織來(lái)分隔選定的機(jī)架,進(jìn)而提供虛擬隔離區(qū)。這種功能可保護(hù)數(shù)據(jù)完整性,并應(yīng)對(duì)數(shù)據(jù)中心和云應(yīng)用中的隔離問(wèn)題。無(wú)論是意外錯(cuò)誤連接還是惡意行為(見(jiàn)圖4),MACsec系統(tǒng)都能檢測(cè)到未經(jīng)認(rèn)證的數(shù)據(jù)包,系統(tǒng)管理員可通過(guò)設(shè)置策略將其隔離或刪除。
圖4 – MACsec將拒絕通過(guò)錯(cuò)誤連接抵達(dá)的數(shù)據(jù)包,無(wú)論是因?yàn)橐馔馇闆r造成還是惡意行為導(dǎo)致。
所有數(shù)據(jù)加密和解密都在端口級(jí)進(jìn)行。除了附加的MACsec報(bào)頭和較少的額外時(shí)延,打開端口級(jí)加密不會(huì)增加開支,也不會(huì)對(duì)性能造成其它影響。
通過(guò)采用符合IEEE 802.1AE要求的加密Ethernet Lecel 2方案,設(shè)備廠商現(xiàn)在能用這些內(nèi)核推動(dòng)其系統(tǒng)特色化?;谠频挠脩艨赡芘c其他用戶相互之間不信任,但他們現(xiàn)在能夠從MACsec提供的數(shù)據(jù)機(jī)密大獲裨益,并且數(shù)據(jù)源認(rèn)證功能可進(jìn)一步保護(hù)他們的數(shù)據(jù)。設(shè)備制造商則能選擇可用的IP核來(lái)滿足1Gb和10 Gb以太網(wǎng)吞吐量的需求。
這種架構(gòu)設(shè)計(jì)能通過(guò)Kintex或Virtex FPGA器件輕松實(shí)現(xiàn)10Gbps的速度。在最壞情況下,該設(shè)計(jì)只需更改每個(gè)數(shù)據(jù)包的密鑰便可支持巨型幀和最小型數(shù)據(jù)包。內(nèi)核符合全面規(guī)范要求,每個(gè)MACsec內(nèi)核都能支持各種常用的FPGA產(chǎn)品系列。
配套提供源碼
Algotronix采取了不同尋常的措施,即為所有許可的內(nèi)核提供HDL源碼。這樣做的主要?jiǎng)訖C(jī)是支持客戶檢查,以便確保代碼不含病毒或特洛伊木馬代碼,而且不會(huì)強(qiáng)制進(jìn)入非授權(quán)狀態(tài)或操作。有了源碼,就能降低客戶安全審核的成本和復(fù)雜性。此外,源碼可加速設(shè)計(jì)進(jìn)程,因?yàn)楣こ處熌軌蚍奖愕貒L試使用諸如加密、解密或加密/解密等不同配置參數(shù)和密鑰長(zhǎng)度,并了解其各自仿真內(nèi)核中的信號(hào)狀態(tài)。
您可對(duì)內(nèi)核進(jìn)行配置,通過(guò)實(shí)現(xiàn)較寬的數(shù)據(jù)路徑來(lái)提高吞吐量,或通過(guò)選擇較窄的數(shù)據(jù)寬度來(lái)最大程度地減小FPGA封裝尺寸。擁有源碼還有其它更多優(yōu)勢(shì),包括更便于了解內(nèi)核工作情況;也讓文檔記錄和歸檔變得更快捷方便。
此外,還配套提供了廣泛的驗(yàn)證測(cè)試平臺(tái),可幫助客戶在ModelSim等工具中確認(rèn)操作是否正確。測(cè)試平臺(tái)包括MACsec的行為模型和MACsec IP核的自檢版本,能針對(duì)行為模型檢查可綜合硬件的輸出。這種自檢設(shè)計(jì)可在用戶仿真中實(shí)現(xiàn)實(shí)例化,便于測(cè)試實(shí)際用戶設(shè)計(jì)環(huán)境下的內(nèi)核表現(xiàn),并在錯(cuò)誤驅(qū)動(dòng)的情況下提供有用的診斷信息。
內(nèi)核可提供許多選項(xiàng),因此精確的資源數(shù)量將取決于您如何選擇參數(shù),如數(shù)據(jù)速率、密鑰長(zhǎng)度和所選SecY數(shù)量以及其它。然而,賽靈思網(wǎng)站IP部分列出的10G MACsec內(nèi)核采用6,638個(gè)slice、20,916個(gè)LUT和53個(gè)BRAM塊。如需獲取許可證選項(xiàng),敬請(qǐng)聯(lián)系A(chǔ)lgotronix。
賽靈思低功耗 FPGA與Algotronix MACsec內(nèi)核的完美結(jié)合為設(shè)備制造商實(shí)現(xiàn)產(chǎn)品差異化提供了高性能、低時(shí)延的解決方案。安全特性使得數(shù)據(jù)中心能夠確保其客戶機(jī)密,同時(shí)還可幫助安全管理員檢測(cè)并打擊惡意行為。
評(píng)論