本發(fā)明屬于高速互連與安全通信,涉及一種應(yīng)用于pci?express(pcie)交換結(jié)構(gòu)的路徑控制方法,具體涉及一種基于pcie網(wǎng)絡(luò)的支持加密直通與設(shè)備認(rèn)證的硬件通信方法及交換設(shè)備(pcie?switch)以及用于執(zhí)行該硬件通信方法的交換系統(tǒng)。
背景技術(shù):
1、傳統(tǒng)的pcie架構(gòu)強(qiáng)調(diào)設(shè)備通過主機(jī)調(diào)度間接通信,但為支持gpu→ssd等大帶寬直通場(chǎng)景,pcie規(guī)范引入了設(shè)備間p2p(peer-to-peer)通信能力。與此同時(shí),為防止未經(jīng)授權(quán)的p2p通信對(duì)安全造成威脅,pcie引入access?control?services(acs)作為路徑控制機(jī)制。
2、acs提供基于端口方向的訪問限制策略,包括重定向請(qǐng)求、驗(yàn)證來源等功能,主要依賴于設(shè)備配置空間中的控制位設(shè)置。但其控制粒度粗,只能基于“端口是否允許通信”進(jìn)行判斷,無法識(shí)別設(shè)備身份,也不具備路徑加密與認(rèn)證能力。
3、在高密度服務(wù)器、ai芯片集群、異構(gòu)計(jì)算soc中,pcie網(wǎng)絡(luò)已成為核心數(shù)據(jù)通路。但隨著設(shè)備數(shù)量增多和應(yīng)用安全要求提升,現(xiàn)有架構(gòu)和通信方法面臨以下的安全威脅:
4、1)中間交換結(jié)構(gòu)存在監(jiān)聽或篡改數(shù)據(jù)包的風(fēng)險(xiǎn);
5、2)設(shè)備熱插拔后策略未及時(shí)更新,存在攻擊窗口;
6、3)偽造bdf發(fā)起非法通信,繞過主機(jī)審查;
7、4)缺乏動(dòng)態(tài)策略調(diào)整和數(shù)據(jù)通道加密保護(hù)機(jī)制。
8、因此,pcie互聯(lián)系統(tǒng)迫切需要一種無需軟件參與、能基于設(shè)備身份動(dòng)態(tài)生成路徑控制策略,并可對(duì)數(shù)據(jù)通道進(jìn)行加密保護(hù)的全新機(jī)制和通信方法,以滿足未來ai、安全計(jì)算和關(guān)鍵行業(yè)對(duì)可信通信的要求。
9、以上背景技術(shù)內(nèi)容的公開僅用于輔助理解本發(fā)明的發(fā)明構(gòu)思及技術(shù)方案,其并不必然屬于本專利申請(qǐng)的現(xiàn)有技術(shù),在沒有明確的證據(jù)表明上述內(nèi)容在本專利申請(qǐng)的申請(qǐng)日以前已經(jīng)公開的情況下,上述背景技術(shù)不應(yīng)當(dāng)用于評(píng)價(jià)本技術(shù)的新穎性和創(chuàng)造性。
技術(shù)實(shí)現(xiàn)思路
1、鑒于此,為了克服現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的是提供一種基于pcie網(wǎng)絡(luò)的支持路徑加密與設(shè)備認(rèn)證的硬件通信方法。
2、為了達(dá)到上述目的,本發(fā)明采用以下的技術(shù)方案:
3、一種基于pcie網(wǎng)絡(luò)的支持路徑加密與設(shè)備認(rèn)證的硬件通信方法,包括如下步驟:
4、在交換設(shè)備中設(shè)置設(shè)備認(rèn)證模塊、路徑控制模塊和路徑執(zhí)行模塊;
5、所述設(shè)備認(rèn)證模塊用于獲取所有與交換設(shè)備連接的源設(shè)備和目標(biāo)設(shè)備的硬件信息,并根據(jù)所述硬件信息建立信任等級(jí)表;
6、所述路徑控制模塊用于根據(jù)所述信任等級(jí)表遍歷所有與交換設(shè)備連接的源設(shè)備id和目標(biāo)設(shè)備id,利用預(yù)定的路徑規(guī)則構(gòu)建路徑策略表;
7、所述路徑執(zhí)行模塊用于根據(jù)所述路徑策略表,對(duì)每一條源設(shè)備與目標(biāo)設(shè)備之間的路徑進(jìn)行裁決,并執(zhí)行相應(yīng)的數(shù)據(jù)處理。
8、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述硬件信息包括設(shè)備的基本功能類別、供應(yīng)商標(biāo)識(shí)和設(shè)備標(biāo)識(shí)。
9、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述信任等級(jí)表包括trust、secure?only、quarantined和blocked四種信任等級(jí)。
10、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述預(yù)定的路徑規(guī)則如下:
11、若源設(shè)備的信任等級(jí)為trust,且目標(biāo)設(shè)備的信任等級(jí)為trust,則使用路徑為fast_path;
12、若源設(shè)備和目標(biāo)設(shè)備中的一個(gè)或兩個(gè)的信任等級(jí)為secure?only時(shí),則使用路徑為secure_path;
13、若源設(shè)備和目標(biāo)設(shè)備中的一個(gè)或兩個(gè)的信任等級(jí)為quarantined時(shí),則使用路徑為blocked;
14、若源設(shè)備和目標(biāo)設(shè)備中的一個(gè)或兩個(gè)的信任等級(jí)為blocked時(shí),則使用路徑為blocked。
15、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述構(gòu)建路徑策略表為采用有限狀態(tài)機(jī)基于所述信任等級(jí)表自動(dòng)遍歷所有設(shè)備對(duì)(源設(shè)備、目標(biāo)設(shè)備)而自動(dòng)生成路徑策略條目,得到路徑策略表。
16、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述數(shù)據(jù)處理包括直通轉(zhuǎn)發(fā)、路徑加密和阻斷轉(zhuǎn)發(fā)三種類型:
17、所述直通轉(zhuǎn)發(fā)為當(dāng)使用路徑為fast_path時(shí),源設(shè)備發(fā)送的數(shù)據(jù)包無需加密,直接以原tlp數(shù)據(jù)包轉(zhuǎn)發(fā)至對(duì)應(yīng)的目標(biāo)設(shè)備;
18、所述路徑加密為當(dāng)使用路徑為secure_path時(shí),觸發(fā)交換設(shè)備中的加密模塊對(duì)源設(shè)備發(fā)送的tlp數(shù)據(jù)包執(zhí)行加密操作,生成加密tlp數(shù)據(jù)包;
19、所述阻斷轉(zhuǎn)發(fā)為當(dāng)使用路徑為blocked時(shí),對(duì)不被允許的路徑直接丟棄tlp數(shù)據(jù)包,或發(fā)回錯(cuò)誤響應(yīng),或上報(bào)主機(jī)進(jìn)行重定向。
20、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述加密tlp數(shù)據(jù)包包括原始header、加密payload、消息認(rèn)證碼tag字段及路徑源數(shù)據(jù)。
21、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述步驟還包括:向源設(shè)備和目標(biāo)設(shè)備注入由主機(jī)生成的路徑密鑰表,每個(gè)信任域分配一組密鑰,所述信任域?yàn)樵试S在不加密或共用密鑰的前提下進(jìn)行通信的一組受信設(shè)備集合。
22、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述目標(biāo)設(shè)備基于所述路徑密鑰表進(jìn)行密鑰匹配,匹配成功的目標(biāo)設(shè)備接收經(jīng)過所述交換設(shè)備傳送的加密tlp數(shù)據(jù)包并進(jìn)行解密。
23、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述解密包括如下步驟:
24、目標(biāo)設(shè)備讀取加密tlp數(shù)據(jù)包的header與擴(kuò)展字段,提取路徑源數(shù)據(jù);
25、基于路徑密鑰表查找對(duì)應(yīng)的解密密鑰,并對(duì)加密payload解密;
26、使用消息認(rèn)證碼tag字段驗(yàn)證解密數(shù)據(jù)的完整性,若認(rèn)證失敗則丟棄該數(shù)據(jù)包并記錄事件;
27、若驗(yàn)證通過,則數(shù)據(jù)還原至明文,并傳遞至上層應(yīng)用處理。
28、根據(jù)本發(fā)明的一些優(yōu)選實(shí)施方面,所述步驟包括熱插拔自動(dòng)更新的步驟:
29、所述交換設(shè)備實(shí)時(shí)監(jiān)測(cè)pcie鏈路狀態(tài)變化,當(dāng)有新的設(shè)備插入交換設(shè)備或有設(shè)備由交換設(shè)備上拔出時(shí),pcie鏈路開始訓(xùn)練;
30、所述交換設(shè)備內(nèi)的鏈路訓(xùn)練狀態(tài)機(jī)檢測(cè)到鏈路訓(xùn)練完成后,觸發(fā)中斷信號(hào);
31、所述設(shè)備認(rèn)證模塊接收到所述中斷信號(hào)后,重復(fù)之前的步驟并更新信任等級(jí)表和路徑策略表,基于更新后的路徑策略表執(zhí)行相應(yīng)的數(shù)據(jù)處理。
32、本發(fā)明還提供了一種基于上述硬件通信方法的交換設(shè)備,包括認(rèn)證模塊、路徑控制模塊和路徑執(zhí)行模塊;
33、所述設(shè)備認(rèn)證模塊用于獲取所有源設(shè)備和目標(biāo)設(shè)備的硬件信息,并根據(jù)所述硬件信息建立信任等級(jí)表;
34、所述路徑控制模塊用于根據(jù)所述信任等級(jí)表遍歷所有的源設(shè)備id和目標(biāo)設(shè)備id,利用預(yù)定的路徑規(guī)則并采用有限狀態(tài)機(jī)自動(dòng)構(gòu)建路徑策略表;
35、所述路徑執(zhí)行模塊用于根據(jù)所述路徑策略表,對(duì)每一條源設(shè)備與目標(biāo)設(shè)備之間的路徑進(jìn)行裁決,并執(zhí)行相應(yīng)的數(shù)據(jù)處理。
36、本發(fā)明還提供了一種用于執(zhí)行如上所述的硬件通信方法的交換系統(tǒng)。
37、由于采用了以上的技術(shù)方案,相較于現(xiàn)有技術(shù),本發(fā)明的有益之處在于:本發(fā)明的基于pcie網(wǎng)絡(luò)的支持路徑加密與設(shè)備認(rèn)證的硬件通信方法,通過設(shè)備認(rèn)證模塊(dtt)建立設(shè)備id與信任等級(jí)的靜態(tài)映射,識(shí)別身份;通過路徑控制模塊(pce)自動(dòng)遍歷設(shè)備對(duì)(源設(shè)備、目標(biāo)設(shè)備),生成路徑策略表(ppt),實(shí)現(xiàn)路徑級(jí)粒度控制;通過路徑執(zhí)行模塊與加密模塊聯(lián)動(dòng),執(zhí)行安全轉(zhuǎn)發(fā)、加密傳輸或策略阻斷,防止偽裝與篡改;所有模塊支持無cpu參與的路徑控制、認(rèn)證與安全策略重建;支持拓?fù)錈岵灏螜z測(cè)機(jī)制,自動(dòng)刷新路徑策略,避免存在攻擊窗口。