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