本期介紹的是HPM6000系列中security flash方面內(nèi)容。希望可以幫助用戶了解先楫為了用戶信息安全方面所做的設計。
Security Flash 模塊概述
首先進行一些名詞解釋: 在線執(zhí)行 (Execution In Place):可以直接訪問外部存儲器,不需要把外部存儲器數(shù)據(jù)先復制到內(nèi)存再執(zhí)行的訪問的方式,稱為在線執(zhí)行 (Execution InPlace); DEK(Data Encryption Key):數(shù)據(jù)加密秘鑰,用戶加密存儲器上數(shù)據(jù)/代碼的秘鑰;KEK(Key-Encryption Key):密鑰加密密鑰,加密 DEK 的秘鑰。EXIP 在線解密引擎介紹 先楫半導體 HPM6000 系列 MCU 設計的 EXIP 在線解密引擎支持在線執(zhí)行功能,并且可以對加密的外部 NOR Flash 進行實時解密,實現(xiàn)在線實時解密執(zhí)行,EXIP 主要特性有: (1)支持 AES-128 CTR 模式解密EXIP 支持 AES-128 CTR 模式解密,密鑰長度為 128 位。密鑰存放在寄存器 RGNx_KEY0、RGNx_KEY1、 RGNx_KEY2、RGNx_KEY3 中。AES-128 CTR 模式要求使用相同密鑰加密的數(shù)據(jù),每一個數(shù)據(jù)塊對應的計數(shù)器 Counter 值不能重復,Counter 長度與 AES 數(shù)據(jù)塊長度相同,也為 128位。EXIP 對每個 128 位的數(shù)據(jù)塊,其 Counter 由數(shù)據(jù)塊的 32 位系統(tǒng)地址和64 位的 NONCE 組成,其中 NONCE 存放在 RGNx_CTR0 和 RGNx_CTR1 中。(2)支持 4 個區(qū)段,每個區(qū)段可以使用不同的密鑰加密 (3)支持通過 Key Blob 封裝數(shù)據(jù)加密密鑰等敏感信息(符合 RFC3394 標準) (4)支持硬件解封 Key Blob(符合 RFC3394 標準) (5)支持從 OTP 讀取用于解封 Key Blob 的 KEKXPI NOR 啟動鏡像布局介
XPI NOR 啟動鏡像布局
如上圖所示,完整的 XPI NOR 啟動鏡像有 EXIP BLOB、XPI 配置選項、FW BLOB、固件頭和固件組成,其中虛線框為可選內(nèi)容,實線框為必須包含內(nèi)容。
要實現(xiàn)加密鏡像,則鏡像頭部必須包含 EXIP BLOB 內(nèi)容,該部分內(nèi)容使用RFC3394 定義的密鑰封裝和密鑰解封算法,通過 KEK 加密后以密文形式存放在 Flash 中,以保護 EXIP 解密用的 DEK 和相關(guān)敏感數(shù)據(jù)。
Security Flash 系統(tǒng)流程介紹
Security Flash 原理示意框圖如上圖所示,Security Flash 流程包含三個方面:
(1)用戶生成加密鏡像,使能在線加密執(zhí)行功能;(2)EXIP 解密 EXIP BLOB 得到 DEK 等解密信息;(3)EXIP 使用 AES-128 CTR 模式在線解密 Flash 密文固件。 當 OTP 中 ENCRYPT_XIP 字段置為 1,BootROM 啟動加密原地執(zhí)行功能,BootROM 會 在 XPI NOR 啟 動 中 強 制 打 開 EXIP , 并 嘗 試 用 EXIP0_KEK(XPI_INSTANCE 值為 0)或者 EXPI1_KEK(XPI_INSTANCE 值 為 1)解密EXIP Blob。當 EXIP BLOB 解密無誤后,ROM 會根據(jù) EXIP BLOB 中的信息配置對應的解密信息,將恢復的 DEK、NONCE、加密區(qū)域的開始和結(jié)束地址信息載入RGNx 對應的寄存器。當 EXIP BLOB 解密無誤后,EXIP 即可根據(jù) AES-128CTR 模式執(zhí)行原地解密執(zhí)行操作。
性能對比測試
對于加密對執(zhí)行環(huán)節(jié)的影響,先楫做了簡單的測試對比,在明文和密文的單核測試中測試程序條件:(1)關(guān)閉所有 Cache,包括 D-Cache 和 I-Cache (2)循環(huán)運行 600 次特定數(shù)學計算,得出運行消耗時間測試結(jié)果如下表:
可見,相同軟硬件平臺下,加密鏡像執(zhí)行對處理器性能并沒有實質(zhì)影響
注意:由于加密環(huán)節(jié)涉及到對OTP的燒寫,可能一個疏失造成芯片無法正常啟動。因此先楫建議開發(fā)者在有實際需要時聯(lián)系先楫,這樣可以得到更好的支持。
-
FlaSh
+關(guān)注
關(guān)注
10文章
1598瀏覽量
147332
發(fā)布評論請先 登錄
相關(guān)推薦
評論