ZHCAEP8 November 2024 AM2612 , AM2634 , AM263P4
為了確保汽車和工業(yè)域中的器件安全免受惡意攻擊,網(wǎng)絡(luò)安全法規(guī)正得到廣泛實(shí)施。TI SoC 正在這些領(lǐng)域得到廣泛應(yīng)用。TI AM26x SoC 是一款支持實(shí)時(shí)功能的器件,具有實(shí)時(shí) ARM R 內(nèi)核、高級(jí)檢測、精確控制、千兆位連接和專用元件等多種功能,可支持設(shè)計(jì)具有網(wǎng)絡(luò)安全和功能安全要求的系統(tǒng)。在本文檔中,我們可以查看 AM26x SoC 系列的安全啟動(dòng)增強(qiáng)功能和性能基準(zhǔn)測試。
外部閃存器件的優(yōu)勢是具有靈活的 NVM 存儲(chǔ)器大小,當(dāng)面臨存儲(chǔ)器限制挑戰(zhàn)時(shí),無需升級(jí)或更改現(xiàn)有 SoC 即可存儲(chǔ)應(yīng)用軟件。另一方面,如果沒有采取適當(dāng)?shù)陌踩胧?,則可能會(huì)將未經(jīng)授權(quán)的程序加載到存儲(chǔ)器中。未經(jīng)授權(quán)的程序可能使系統(tǒng)無法運(yùn)行,將敏感和機(jī)密數(shù)據(jù)暴露給惡意代理,在某些情況下,可能會(huì)造成危及生命的后果、名譽(yù)損害和法律責(zé)任。
AM26x(AM263x 和 AM263Px)器件系列支持安全啟動(dòng)用戶代碼,而不會(huì)影響代碼、數(shù)據(jù)、密鑰等用戶信息的真實(shí)性和機(jī)密性。AM26x 微控制器系列支持 OSPI 和 QSPI 等接口,這些接口支持集成外部閃存器件和提供安全啟動(dòng)特性。這使得用戶能夠靈活地使用外部閃存技術(shù),同時(shí)保持系統(tǒng)的安全性。
AM26 安全啟動(dòng)的加密優(yōu)勢包括:
以下各部分包含有關(guān)用于提高啟動(dòng)時(shí)性能的不同啟動(dòng)優(yōu)化技術(shù)的信息。
AM26x 器件系列沒有用于執(zhí)行代碼的內(nèi)部非易失性存儲(chǔ)器,極度依賴內(nèi)部易失性存儲(chǔ)器(TCM 和 SRAM)。與許多其他高級(jí) SOC 一樣,AM26x 器件也具有多級(jí)啟動(dòng) 架構(gòu)。在執(zhí)行 ROM 引導(dǎo)加載程序 (RBL) 期間,會(huì)將二級(jí)引導(dǎo)加載程序 (SBL) 映像從外部閃存(通過 SPI)復(fù)制到內(nèi)部存儲(chǔ)器中。在 SPI 協(xié)議中,數(shù)據(jù)速度 (bps) 與 SPI 外設(shè)計(jì)時(shí)頻率 (Hz) 成正比。根據(jù) JEDEC xSPI 標(biāo)準(zhǔn),將 OSPI 控制器配置為支持更高的模式可以實(shí)現(xiàn)更快的數(shù)據(jù)傳輸。因此,更高的 SPI 時(shí)鐘速率和更高的配置可以帶來更好的性能。
| AM263x | AM263Px | |
|---|---|---|
| 最大閃存時(shí)鐘速率 | 80MHz | 133MHz |
| 支持的最大配置 | 1s-1s-4s | 8d-8d-8d |
| DMA 與閃存控制器集成 | 是 | 是 |
AM263Px SOC 上的 OSPI 控制器集成了專用 PHY 模塊,從而可實(shí)現(xiàn)靈活且節(jié)能的傳輸。這使我們能夠在單倍傳輸速率 (STR) 模式下以 50MHz 使用閃存時(shí)鐘,在雙倍傳輸速率 (DTR) 模式下以 25MHz 使用閃存時(shí)鐘。在 OSPI_PHY_CONFIGURATION_REG 中配置 PHY_CONFIG_TX_DLL_DELAY_FLD 和 PHY_CONFIG_RX_DLL_DELAY_FLD 之前,該 PHY 要求對(duì)所有有效值進(jìn)行軟件校準(zhǔn)。因此優(yōu)化軟件算法可以跨越有限值在不到 2.5ms 的時(shí)間內(nèi)完成校準(zhǔn)。
請(qǐng)參閱 AM263Px TRM (13.3.3.6),了解有關(guān) OSPI 控制器和 PHY 模塊的更多信息。點(diǎn)擊此處 獲取有關(guān)經(jīng)優(yōu)化的 PHY 調(diào)優(yōu)的應(yīng)用手冊(cè)。
與之前采用的專有 RPRC 格式不同,多核 ELF 或 MCELF 是基于 ELF(可執(zhí)行和可鏈接格式)標(biāo)準(zhǔn)的應(yīng)用程序映像格式。使用 ELF 文件格式的可執(zhí)行文件包含 ELF 標(biāo)頭,后跟程序標(biāo)頭表或段標(biāo)頭表,或同時(shí)包含這兩者。文件中的程序標(biāo)頭表和段標(biāo)頭表的偏移在 ELF 標(biāo)頭中定義。這兩個(gè)表描述了文件的其余特性。下表總結(jié)了 MCELF 格式相對(duì)于 RPRC 格式的優(yōu)勢。
| 特性 | RPRC | 多核 ELF |
|---|---|---|
| 映像生成工具 | 自定義 | 開源 |
| 可由標(biāo)準(zhǔn) ELF 工具讀取 | 否 | 是 |
| 可自定義的元數(shù)據(jù) | 否 | 是 |
| 可自定義的數(shù)據(jù)段大小 | 否 | 是 |
| XIP | 是 | 是 |
| 安全啟動(dòng)時(shí)間 | 慢 | 快 |
由于閃存時(shí)鐘有限,直接在閃存存儲(chǔ)器中驗(yàn)證映像會(huì)帶來瓶頸,并且缺少暫存區(qū)存儲(chǔ)器會(huì)導(dǎo)致安全啟動(dòng)映像無法復(fù)制到存儲(chǔ)器中進(jìn)行驗(yàn)證。驗(yàn)證外部閃存中的安全啟動(dòng)映像也會(huì)使軟件面臨 TOCTOU 攻擊的風(fēng)險(xiǎn),從而增加許多安全限制。因此,流安全啟動(dòng)使用戶能夠?qū)⒂诚駨?fù)制到 SBL 中的存儲(chǔ)器,然后向 TIFS-MCU 服務(wù)發(fā)出調(diào)用以在流模式下對(duì)映像進(jìn)行身份驗(yàn)證。這利用執(zhí)行存儲(chǔ)器進(jìn)行放置和身份驗(yàn)證,從而提高了身份驗(yàn)證的速度。
DTHE(數(shù)據(jù)轉(zhuǎn)換和哈希引擎)是與 AM26 器件集成的加密 IP 上的包裝器。DTHE 支持 EDMA(增強(qiáng)型 DMA)集成,可減輕突發(fā)數(shù)據(jù)傳輸?shù)呢?fù)擔(dān)。增強(qiáng)型 DMA 可以被編程為事件觸發(fā),并可根據(jù)配置的突發(fā)大小自動(dòng)傳輸數(shù)據(jù)。這允許將 Crypto IP 事件配置為 EDMA 源事件,從而支持完全轉(zhuǎn)移 CPU 的負(fù)載。
| 數(shù)據(jù) | 不使用 DMA(以 Mbps 為單位) | 使用 DMA(以 Mbps 為單位) | 改進(jìn) |
|---|---|---|---|
| SHA512 | |||
| 4KB | 250.41 | 679.58 | 2.7x |
| 16KB | 265.65 | 1024.60 | 3.85x |
| AES-CBC-256 | |||
| 4KB | 93.61 | 239.30 | 2.55x |
| 16KB | 94.81 | 301.54 | 3.18x |
RSA 簽名驗(yàn)證不受 DTHE 中 DMA 集成的影響。有關(guān)更多信息,請(qǐng)參閱 TIFS-MCU 文檔中的 PKE 硬件集成。
下一個(gè)優(yōu)化途徑是在 SBL 中,對(duì)順序閃存讀取進(jìn)行修改,以執(zhí)行并行讀取。在 SBL 中添加并行化以支持 (n+1) 個(gè)段的并行閃存讀取,同時(shí) TIFS-MCU 正在驗(yàn)證 (n) 個(gè)段。通過增加對(duì) HSM 服務(wù)器上 SIPC 消息排隊(duì)的支持并按順序處理這些消息,實(shí)現(xiàn)了進(jìn)一步的增強(qiáng),例如,支持發(fā)送非阻塞請(qǐng)求和處理來自客戶端 (SBL) HSM 的多個(gè)響應(yīng)。下面是 SBL 從閃存進(jìn)行讀取時(shí) TIFS-MCU 占用情況的直觀表示。
圖 1 啟動(dòng)并行化通過實(shí)施上述技術(shù),啟動(dòng)時(shí)間性能顯著提高,表 4 顯示和總結(jié)了該情況。
AM263x
| 應(yīng)用程序大小 | 僅身份驗(yàn)證 | 僅加密 + 身份驗(yàn)證 |
|---|---|---|
| 64KB | 40.53ms | 43.40ms |
| 128KB | 41.05ms | 44.58ms |
| 256KB | 45.62ms | 56.18ms |
| 512KB | 60.45ms | 76.39ms |
| 1024KB | 90.16ms | 116.92ms |
圖 2 AM263x 啟動(dòng)性能AM263Px
| 應(yīng)用程序大小 | 僅身份驗(yàn)證 | 僅加密 + 身份驗(yàn)證 |
|---|---|---|
| 1024KB | 37.11ms | 64.13ms |
| 512KB | 32.61ms | 45.85ms |
| 256KB | 30.74ms | 37.48ms |
| 128KB | 29.83ms | 33.31ms |
| 64KB | 29.35ms | 30.26ms |
圖 3 AM263Px 啟動(dòng)性能安全啟動(dòng)會(huì)由于身份驗(yàn)證和映像完整性驗(yàn)證而產(chǎn)生額外的運(yùn)行時(shí)開銷。但是,通過采用軟件設(shè)計(jì)和硬件負(fù)載減輕技術(shù),可以縮短安全啟動(dòng)時(shí)間,從而提高整體系統(tǒng)性能。在汽車系統(tǒng)中,啟動(dòng)時(shí)間目標(biāo)非常嚴(yán)格,同時(shí)幾乎不會(huì)影響系統(tǒng)的安全性。本文中討論的適用于 AM26x 系列 SOC 的優(yōu)化安全啟動(dòng)方法旨在利用高效的硬件架構(gòu)和軟件設(shè)計(jì)解決相同的難題。