本文翻譯轉(zhuǎn)載于:Cadence Blog
作者:Satish Kumar Padhi
外圍器件互連快速通道 (PCIe) 是一種廣泛用于連接處理器、存儲器和外圍設(shè)備的高速接口標(biāo)準(zhǔn)。隨著 PCIe 在敏感數(shù)據(jù)處理和關(guān)鍵高速數(shù)據(jù)傳輸中的日益普及,確保驗證過程中的數(shù)據(jù)完整性和加密成為首要目標(biāo)。在驗證領(lǐng)域,隨機化被公認(rèn)為驅(qū)動穩(wěn)健 PCIe 驗證的關(guān)鍵技術(shù)。隨機化帶來了不可預(yù)測性,可模擬現(xiàn)實場景并發(fā)現(xiàn)設(shè)計中隱藏的問題。本文將探討隨機化在 PCIe IDE 驗證中的重要性,重點介紹它如何在確保數(shù)據(jù)完整性和加密可靠性方面發(fā)揮關(guān)鍵作用,同時也揭示了該過程的獨特挑戰(zhàn)。
數(shù)據(jù)完整性
確保數(shù)據(jù)在傳輸過程中不發(fā)生任何變化。即便數(shù)據(jù)包僅出現(xiàn)輕微損壞,也可能對系統(tǒng)可靠性產(chǎn)生影響。因此,完整性是 PCIe 驗證的一個核心要素。
數(shù)據(jù)加密
在傳輸過程中保護敏感數(shù)據(jù),避免未經(jīng)授權(quán)的訪問。PCIe 中的加密遵循一定的標(biāo)準(zhǔn),能夠在高速運行時保障信息安全。
對于所有端點設(shè)備來說,在 PCIe 6.0 的 64GT/s 和 PCIe 7.0 的 128GT/s 高速數(shù)據(jù)傳輸速率下,確保數(shù)據(jù)完整性和數(shù)據(jù)加密至關(guān)重要。然而,驗證這些機制需要采用全面的測試和驗證方法,隨機化在其中發(fā)揮著關(guān)鍵作用。
PCIe 驗證中的隨機化
隨機化是指生成具有不可預(yù)測輸入和條件的測試場景,呈現(xiàn)邊界情況。在 PCIe 驗證中,隨機化有助于確保測試所有可能的行為,包括一些罕見或意外情況,這些情況可能導(dǎo)致數(shù)據(jù)損壞或加密失敗,繼而在后續(xù)階段引發(fā)嚴(yán)重問題。因此,我們正計劃將隨機化引入 PCIe IDE 驗證,以便更有效地驗證行為。
數(shù)據(jù)完整性驗證的隨機化
以下是一些模擬真實流量情況的隨機驗證方法,能夠揭示常規(guī)驗證方法中可能不會出現(xiàn)的細微完整性問題。
1隨機數(shù)據(jù)包注入
該技術(shù)將數(shù)據(jù)包隨機化,并注入設(shè)備之間的通信流。在此過程中,我們向 PCIe 鏈路注入隨機、格式錯誤或無序的數(shù)據(jù)包,并混合有效和無效的 IDE 加密數(shù)據(jù)包,以驗證系統(tǒng)是否能夠檢測和拒絕未經(jīng)授權(quán)或無效的數(shù)據(jù)包,檢查數(shù)據(jù)包之間的加密/解密是否正確。在驗證過程中,我們檢查系統(tǒng)在遇到無效數(shù)據(jù)包時是否能夠準(zhǔn)確記錄錯誤或警報。這樣可以確保覆蓋不同的數(shù)據(jù)路徑,進而實現(xiàn)可靠的協(xié)議檢查。
此方法有助于從以下方面評估 IDE 功能在 PCIe 中的彈性:
(i) 數(shù)據(jù)損壞:檢測系統(tǒng)是否能夠維護數(shù)據(jù)完整性。
(ii) 加密失敗:測試隨機注入數(shù)據(jù)時的加密可靠性。
(iii) 數(shù)據(jù)包排序錯誤:確保重新排序不會影響數(shù)據(jù)傳輸。
2隨機錯誤和故障注入
模擬隨機位翻轉(zhuǎn)、PCRC 錯誤或協(xié)議違規(guī),幫助驗證 PCIe 錯誤檢測和糾正機制的可靠性。
這些方法有助于評估 PCIe IDE 實現(xiàn)的效果:
(i) 檢測并響應(yīng)意外錯誤。
(ii) 在壓力下保持安全通信。
(iii) 遵循 PCIe 錯誤恢復(fù)和報告機制(AER – 高級錯誤報告)。
(iv) 確保加密和解密狀態(tài)在端點之間保持同步。
3流量模式隨機化
將數(shù)據(jù)包的順序、大小和傳輸時間隨機化,有助于測試設(shè)備如何在繁重、不可預(yù)測的流量負載下保持?jǐn)?shù)據(jù)完整性。
數(shù)據(jù)加密驗證的隨機化
加密增加了驗證的復(fù)雜性,因為傳統(tǒng)檢查無法讀取加密的數(shù)據(jù)流。在測試不同場景下的加密時,隨機化起到了至關(guān)重要的作用。數(shù)據(jù)加密驗證中的隨機化可確保識別和緩解密鑰重用或可預(yù)測模式等漏洞。
1隨機加密密鑰和有效載荷
隨機變化的密鑰和有效載荷有助于驗證加密的正確性,而無需依賴硬編碼假設(shè),確保加密邏輯在所有可能的輸入中都能正確運行。
2隨機初始化向量 (IV)
許多加密協(xié)議要求每個事務(wù)都有唯一的 IV。隨機 IV 可有效防止加密過程中的模式重復(fù)。要了解 IDE 密鑰管理流程,可以參考下圖,其中展示了使用 IDE_KM 協(xié)議的密鑰編程流程詳細示例。
圖 1:IDE_KM 示例
如圖 1 所示,IDE_KM 協(xié)議的功能包括啟動 IDE_KM 會話、設(shè)備能力發(fā)現(xiàn)、來自主機的密鑰請求、對 PCIe 設(shè)備的密鑰編程以及密鑰確認(rèn)。首先,主機通過檢測是否存在 PCIe 設(shè)備來發(fā)起 IDE_KM 會話;如果設(shè)備支持 IDE 協(xié)議,系統(tǒng)將繼續(xù)執(zhí)行密鑰編程流程。然后通過查詢找到設(shè)備的加密功能,確定設(shè)備支持動態(tài)密鑰更新還是靜態(tài)密鑰。隨后,主機向密鑰管理實體發(fā)送請求以獲得適用于設(shè)備的密鑰。在獲得密鑰后,主機會將其編程至 PCIe 端點上的 IDE 控制器中。此時,主機和設(shè)備使用相同的密鑰對流量進行加密和驗證。設(shè)備確認(rèn)收到并成功安裝加密密鑰后,將確認(rèn)消息發(fā)送回主機。主機和 PCIe 端點的密匙配置完成后,將建立安全的通信通道。從這一刻起,通過 PCIe 鏈路傳輸?shù)乃袛?shù)據(jù)都被加密,以確保數(shù)據(jù)的機密性和完整性。
IDE_KM 可用于安全分發(fā)密鑰,保持 PCIe 事務(wù)的機密性和完整性。此關(guān)鍵編程流程可確保在主機和 PCIe 設(shè)備之間建立安全的通信通道。因此,隨機密鑰方法可避免加密過程中的模式重復(fù)。
3隨機化 PHE
部分包頭加密 (PHE) 是 PCIe 6.0 完整性和數(shù)據(jù)加密 (IDE) 中的一個附加機制。PHE 驗證使用各種流量;在用于驗證 PHE 功能的 API 中引入隨機化,可以顯著提升數(shù)據(jù)加密的可靠性。
圖 2. 部分包頭加密
4IDE 地址關(guān)聯(lián)寄存器值的隨機化
IDE 地址關(guān)聯(lián)寄存器 1/2/3 應(yīng)根據(jù) IDE 伙伴端口的內(nèi)存地址范圍進行配置。這些寄存器的字段包括多個值,如內(nèi)存基數(shù)下限、內(nèi)存限制下限、內(nèi)存基數(shù)上限和內(nèi)存限制上限。IDE 的實現(xiàn)可以包含多個寄存器塊,并支持多種配置選項,如 32 位或 64 位地址、不同的寄存器大小、0-255 個可選流、0-15 個地址塊等。隨機化驗證可以幫助驗證所有邊界情況。請參考圖 2。
圖 2. 部分包頭加密
5加密期間的隨機故障
隨機故障注入(例如,丟包或時間不匹配)可確保系統(tǒng)能夠處理中斷,防止數(shù)據(jù)泄露。
IDE 隨機化帶來的挑戰(zhàn)及其解決方案
隨機化引入了大量場景,而模擬每一種可能性需要龐大的計算量。約束隨機化將隨機輸入限制在有效范圍內(nèi),但仍可覆蓋邊界情況。此外,使用覆蓋率驅(qū)動的驗證策略,能夠避免關(guān)鍵場景的測試存在過多冗余。
使用隨機輸入來驗證加密數(shù)據(jù)會增加復(fù)雜性。加密會掩蓋數(shù)據(jù),很難在不損害安全性的情況下驗證輸出。我們可以在 IDE 回調(diào)中實現(xiàn)多種 IDE 檢查機制,直接分析加密流量,而無需進行解密。
隨機化可能會引發(fā)意外故障,而且通常難以重現(xiàn)。通過使用基于種子的隨機化,特定的種子生成可重復(fù)的隨機序列,有助于更準(zhǔn)確地重現(xiàn)和分析行為。
結(jié)論
隨機化是 PCIe 驗證中的一種強大技術(shù),可確保有效驗證數(shù)據(jù)的完整性和機密性,有助于我們發(fā)現(xiàn)非隨機測試可能遺漏的細微錯誤和邊界情況。在 Cadence PCIe VIP 中,我們提供成熟的 IDE 驗證機制,并通過嚴(yán)格的隨機驗證確保數(shù)據(jù)完整性。為了實現(xiàn)安全高效的數(shù)據(jù)通信,我們采用強大且可靠的加密機制。然而,隨機化也帶來了諸多挑戰(zhàn)。為了克服這些挑戰(zhàn),我們結(jié)合使用約束隨機化、基于種子的測試和覆蓋率驅(qū)動的驗證方法。如今,PCIe 正在以更快的速度發(fā)展,業(yè)內(nèi)也日益注重安全性,在此背景下,Cadence PCIe VIP 能夠滿足行業(yè)需求,通過驗證高性能系統(tǒng),確保在實際運行時有效保障數(shù)據(jù)安全。
-
處理器
+關(guān)注
關(guān)注
68文章
19740瀏覽量
232872 -
IDE
+關(guān)注
關(guān)注
0文章
346瀏覽量
47360 -
PCIe
+關(guān)注
關(guān)注
16文章
1301瀏覽量
84381 -
完整性
+關(guān)注
關(guān)注
1文章
13瀏覽量
10375
原文標(biāo)題:PCIe 完整性和數(shù)據(jù)加密驗證挑戰(zhàn)的隨機化考慮因素
文章出處:【微信號:gh_fca7f1c2678a,微信公眾號:Cadence楷登】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
求教?。abVIEW怎樣數(shù)據(jù)的隨機化
高速ADC的數(shù)字輸出隨機化器
電磁勢在量子理論中的重要性
新的隨機化廣播加密方案
SystemVerilog中的隨機化激勵
System Verilog中的隨機化激勵

一種隨機化的軟件模型生成方法

華為手機已經(jīng)開啟了MAC地址隨機化功能可以有效的防范WiFi探針
華為手機EMUI 8.0及以上版本已經(jīng)默認(rèn)開啟了MAC地址隨機化功能
簡述SystemVerilog的各種隨機化方法

評論