實(shí)戰(zhàn)全志T536安全啟動(dòng):3分鐘看懂“密鑰→簽名→OTP”閉環(huán)流程
飛凌嵌入式
2025-10-25 10:16:00
安全啟動(dòng)
T536安全啟動(dòng)
t536
t536開(kāi)發(fā)板
【摘要】
一塊剛下線的OKT536-C,在燒錄員手中走完“密鑰誕生→固件簽名→OTP 封印”三重儀式。從此,它只認(rèn)自家固件,任何外來(lái)鏡像一上電就被 ROM 擋在門外,3 分鐘完成“安全成年禮”,真正做到“開(kāi)機(jī)即可信”。
一、引言
在嵌入式設(shè)備應(yīng)用中,固件的安全性直接關(guān)系到設(shè)備的可信運(yùn)行與數(shù)據(jù)安全。全志T536 處理器憑借硬件級(jí)安全特性,支持從底層到應(yīng)用層的完整可信鏈構(gòu)建。飛凌嵌入式基于該處理器推出的 OKT536-C 開(kāi)發(fā)板,通過(guò)系統(tǒng)化的安全啟動(dòng)方案,可有效防止未經(jīng)授權(quán)的固件運(yùn)行,為工業(yè)控制、物聯(lián)網(wǎng)等場(chǎng)景提供可靠的安全保障。本文將詳細(xì)解析 OKT536-C 開(kāi)發(fā)板的安全啟動(dòng)實(shí)現(xiàn)流程,包括固件編譯、密鑰管理、燒錄配置等關(guān)鍵環(huán)節(jié)。
二、方案目標(biāo)與適用范圍
1、目的
建立從“固件編譯→密鑰生成→安全燒錄→系統(tǒng)啟動(dòng)” 的完整可信鏈,通過(guò)逐級(jí)校驗(yàn)機(jī)制(ROM→SPL→U-Boot→Kernel),確保每一級(jí)鏡像均經(jīng)過(guò)簽名驗(yàn)證,形成 “硬件_root→固件→系統(tǒng)” 的鏈?zhǔn)叫湃蝹鬟f,最終實(shí)現(xiàn)只有授權(quán)固件可在 OKT536 開(kāi)發(fā)板上運(yùn)行。
2、適用范圍
硬件平臺(tái):飛凌嵌入式OKT536-C 開(kāi)發(fā)板(基于全志 T536 處理器)參考價(jià)值:其他全志處理器平臺(tái)可參考本方案,但腳本、efuse 位定義等需根據(jù)具體芯片手冊(cè)適配
三、安全固件編譯過(guò)程
安全固件的編譯是構(gòu)建可信鏈的基礎(chǔ),需通過(guò)配置開(kāi)啟安全啟動(dòng)開(kāi)關(guān),并生成帶簽名校驗(yàn)功能的鏡像。
1、 源碼全編譯
? 進(jìn)入SDK 根目錄,執(zhí)行配置命令:
./build.sh config
按如下順序選擇配置項(xiàng)
linux → buildroot → t536 → OKT536-C → default → linux-5.10-origin
2、開(kāi)啟安全啟動(dòng)開(kāi)關(guān)
需修改兩個(gè)關(guān)鍵配置文件,確保安全啟動(dòng)功能啟用:
? 修改sys_config.fex:
編輯路徑device/config/chips/t536/configs/OKT536-C/sys_config.fex,在[target]段添加:
burn_key = 1 # 開(kāi)啟安全密鑰燒錄功能
? 修改uboot-board.dts:
編輯路徑device/config/chips/t536/configs/OKT536-C/uboot-2023/uboot-board.dts,在&target節(jié)點(diǎn)確認(rèn)配置:
&target {
auto_fel = <1>;
burn_key = <1>; # 啟用安全啟動(dòng)(默認(rèn)已開(kāi)啟,建議確認(rèn))
};
3、執(zhí)行全量編譯
完成配置后,執(zhí)行編譯命令生成基礎(chǔ)固件:
./build.sh
編譯成功后,終端將輸出“build OK” 提示,固件鏡像初步生成。如下圖所示。
四、安全密鑰生成與管理
1、編譯生成安全密鑰
源碼編譯完成后,進(jìn)入SDK 目錄執(zhí)行密鑰生成腳本:
./build/createkeys
選擇芯片型號(hào)“t536”,工具將自動(dòng)生成一套完整密鑰,包括根公鑰(ROTPK)和配套私鑰。
編譯完成如下所示:
若需重新生成密鑰(覆蓋舊密鑰),可執(zhí)行:
./build/createkeys -f
2. 密鑰存儲(chǔ)與特性
存儲(chǔ)路徑:生成的密鑰文件位于out/t536/common/keys 目錄下,其中:
rotpk.bin:根公鑰,需燒錄至 SoC 集成的 eFuse(OTP) 區(qū)域,作為硬件信任根;
其他文件:私有密鑰,用于固件簽名,需與rotpk.bin嚴(yán)格匹配。
關(guān)鍵特性
警告:eFuse 為一次性可編程(OTP)存儲(chǔ)器,rotpk.bin燒錄后永久生效,且僅可燒錄一次,燒錄前請(qǐng)務(wù)必確認(rèn)密鑰正確;
若rotpk.bin與私有密鑰不匹配,簽名固件將無(wú)法啟動(dòng);
若rotpk.bin 丟失,開(kāi)發(fā)板將無(wú)法驗(yàn)證任何固件的簽名,導(dǎo)致無(wú)法燒錄新固件或啟動(dòng),設(shè)備可能永久失效(變磚)。
密鑰備份建議
強(qiáng)烈建議將整個(gè)keys目錄加密備份至離線介質(zhì)(如加密 U 盤、移動(dòng)硬盤);
備份時(shí)需確保整套密鑰(公鑰+所有私鑰)完整,避免因私鑰丟失導(dǎo)致固件無(wú)法更新或簽名。
3、安全固件打包
密鑰生成后,需將固件與密鑰綁定,生成帶簽名的安全固件,在SDK目錄下執(zhí)行打包安全固件指令:
./build.sh pack_secure
打包完成后,安全固件位于SDK 的out目錄下,實(shí)際編譯生成的鏡像名稱可能有所不同,文件名含“secure”字段的為安全固件。飛凌源碼編譯生成鏡像名稱為:t536_linux_OKT536-C_uart0_secure_v0.img。如下圖所示:
編譯過(guò)程中可能出現(xiàn)如下圖所示的報(bào)錯(cuò)信息,屬于正常現(xiàn)象,可忽略。
五、安全固件與密鑰燒錄
燒錄是將安全固件與根公鑰寫(xiě)入硬件的關(guān)鍵步驟,需嚴(yán)格按工具流程操作。
1、安全固件燒錄
使用全志通用燒錄工具PhoenixSuit:
打開(kāi)PhoenixSuit,選擇打包好的安全固件(含“secure”字段的 img 文件);
通過(guò)OTG 線連接開(kāi)發(fā)板與電腦,按住OKT536 開(kāi)發(fā)板上的 FEL 鍵(具體位置請(qǐng)參考飛凌 OKT536 開(kāi)發(fā)板用戶手冊(cè)或硬件示意圖),然后上電。上電后設(shè)備自動(dòng)進(jìn)入燒錄模式,等待燒錄完成。
2、根公鑰(rotpk.bin)燒錄
需使用key燒錄工具 DragonSNConfig.exe,且燒錄時(shí)必須關(guān)閉 PhoenixSuit:
使用方法如下:
在PC 端對(duì)DragonSN 工具進(jìn)行配置,打開(kāi)DragonSNConfig.exe,選擇配置key
選擇全局配置:
配置方法如下圖(配置完點(diǎn)擊確定即可):
選擇添加選項(xiàng)
按下圖類型選擇“rotpk”。
配置完成后只保留rotpk即可,若有其他項(xiàng)刪掉即可
再次回到主頁(yè)面,選擇導(dǎo)入文件,選擇編譯好的rotpk.bin。
通過(guò)OTG 線連接T536開(kāi)發(fā)板與電腦,重啟設(shè)備后自動(dòng)開(kāi)始燒錄,串口打印如下:
等待燒錄完成即可,燒錄完成后,工具將顯示“燒號(hào)成功”,并自動(dòng)進(jìn)行回讀校驗(yàn),確保燒錄正確。
如下所示:
六、校驗(yàn)鏈配置
安全啟動(dòng)的校驗(yàn)規(guī)則可通過(guò)配置文件自定義,核心配置文件為:
device/config/chips/t536/configs/default/dragon_toc.cfg
該文件定義了啟動(dòng)過(guò)程中需校驗(yàn)的鏡像(如U-Boot、Kernel)及對(duì)應(yīng)證書(shū),示例片段如下:
[toc1]
item=u-boot, u-boot.fex, u-boot.crtpt # U-Boot鏡像與對(duì)應(yīng)證書(shū)
item=kernel, kernel.fex, kernel.crtpt # Kernel鏡像與對(duì)應(yīng)證書(shū)
具體配置項(xiàng)含義及高級(jí)用法,請(qǐng)參照全志原廠資料中《Linux_安全_開(kāi)發(fā)指南》的第四章《4.2 安全固件配置》。
七、重要提示
1、rotpk.bin(公鑰)僅可燒錄一次,燒錄后與開(kāi)發(fā)板永久綁定,丟失即導(dǎo)致設(shè)備報(bào)廢;
2、燒錄rotpk.bin(公鑰)時(shí)必須關(guān)閉 PhoenixSuit,否則可能導(dǎo)致燒錄失敗;
3、私鑰簽名的安全固件需嚴(yán)格與OTP中燒寫(xiě)的公鑰配套。公鑰,私鑰密鑰對(duì)生成后不能丟失。如果丟失私鑰后只是燒寫(xiě)公鑰到板子OTP之后,再用重新生成的其他私鑰簽名固件,系統(tǒng)再也無(wú)法啟動(dòng),板子作廢;
4、板子一旦燒寫(xiě)過(guò)安全鏡像之后,就不能燒寫(xiě)普通非安全鏡像。一旦燒寫(xiě)了安全鏡像和OTP公鑰,簽名私鑰就不能更換私鑰。更換后不能啟動(dòng),板子作廢。
5、操作前建議通讀飛凌OKT536 開(kāi)發(fā)板用戶手冊(cè)及全志 T536 安全啟動(dòng)文檔。
八、飛凌T536 開(kāi)發(fā)板安全特性與核心優(yōu)勢(shì)
飛凌嵌入式OKT536-C 開(kāi)發(fā)板基于全志 T536 處理器,以硬件級(jí)安全技術(shù)為核心,結(jié)合深度優(yōu)化的軟件生態(tài),構(gòu)建了從啟動(dòng)到運(yùn)行的全鏈路安全防護(hù)體系,尤其適用于工業(yè)控制、智能安防、電力數(shù)據(jù)采集等對(duì)安全性與可靠性要求嚴(yán)苛的場(chǎng)景。其核心優(yōu)勢(shì)如下:
1、硬核安全技術(shù),構(gòu)建立體防護(hù)
OKT536 開(kāi)發(fā)板深度整合全志 T536 處理器的安全特性,從底層硬件到上層應(yīng)用形成立體防護(hù):
TrustZone 硬件隔離:劃分安全 / 非安全域,敏感操作僅在安全域執(zhí)行,隔離惡意攻擊。
國(guó)密算法支持:內(nèi)置SM2/SM3/SM4 等合規(guī)算法,滿足數(shù)據(jù)加密與簽名需求,適配國(guó)內(nèi)安全標(biāo)準(zhǔn)。
全通路ECC 保護(hù):實(shí)時(shí)檢測(cè)并糾正內(nèi)存數(shù)據(jù)傳輸錯(cuò)誤,保障數(shù)據(jù)完整性。
2、安全啟動(dòng)方案閉環(huán),杜絕未授權(quán)固件運(yùn)行
基于本文詳述的“固件編譯→密鑰管理→安全燒錄” 流程,OKT536 實(shí)現(xiàn)了可落地的完整安全啟動(dòng)方案:
三級(jí)校驗(yàn)鏈:ROM→SPL→U-Boot→Kernel 逐級(jí)校驗(yàn),未授權(quán)固件無(wú)法啟動(dòng)。
OTP 密鑰固化:根公鑰(ROTPK)寫(xiě)入一次性可編程 eFuse,不可篡改,與硬件綁定。
簡(jiǎn)化部署:SDK 預(yù)置腳本,一鍵編譯安全固件、生成密鑰,降低落地門檻。
3、工業(yè)化設(shè)計(jì)與技術(shù)支持,加速場(chǎng)景適配
可靠性保障:核心板采用工業(yè)級(jí)元器件,支持寬溫(-40℃~85℃)、抗電磁干擾設(shè)計(jì),適配復(fù)雜工業(yè)環(huán)境下的穩(wěn)定運(yùn)行需求。
全棧技術(shù)服務(wù):為開(kāi)發(fā)者提供了全面的開(kāi)發(fā)資源,包括軟件和硬件開(kāi)發(fā)資料、常見(jiàn)問(wèn)題手冊(cè)、引腳復(fù)用對(duì)照表、硬件手冊(cè)、測(cè)試?yán)桃约暗装逶韴D等,結(jié)合飛凌專業(yè)技術(shù)團(tuán)隊(duì)的一對(duì)一支持,幫助用戶快速解決密鑰管理、固件適配等實(shí)際問(wèn)題,縮短產(chǎn)品落地周期。
把安全留給OKT536-C,把時(shí)間留給創(chuàng)新。現(xiàn)在,就讓你的下一款產(chǎn)品“開(kāi)機(jī)即可信”。通過(guò)硬件隔離、算法加密、啟動(dòng)防護(hù)的多維技術(shù)融合,飛凌OKT536-C 開(kāi)發(fā)板不僅為設(shè)備提供 “從芯片到應(yīng)用” 的全生命周期安全保障,更以易用性與工業(yè)化設(shè)計(jì)平衡了安全與效率,成為高安全需求場(chǎng)景的理想選擇。
相關(guān)產(chǎn)品 >
-
FET536-C核心板
了解詳情基于全志T536工業(yè)級(jí)處理器的FET536-C全國(guó)產(chǎn)核心板。該核心板的開(kāi)發(fā)設(shè)計(jì)充分利用了T536處理器的性能優(yōu)勢(shì)。T536處理器的主頻為1.6GHz,集成了四核Cortex-A55以及64位玄鐵E907 RISC-V MCU,能夠提供高效的計(jì)算能力。此外,T536還支持2TOPS NPU、安全啟動(dòng)、國(guó)密算法IP、全通路ECC、AMP、Linux-RT等功能。T536還配備了廣泛的連接接口,包括USB、SDIO、UART、SPI、CAN-FD、以太網(wǎng)、ADC(模數(shù)轉(zhuǎn)換器)、LocalBus等,以滿足不同應(yīng)用場(chǎng)景的需求

-
OK536-C開(kāi)發(fā)板
T536全國(guó)產(chǎn)工業(yè)級(jí)核心板提供配套開(kāi)發(fā)板,采用核心板+底板分體式設(shè)計(jì),共320個(gè)引腳,T536開(kāi)發(fā)板采用4個(gè)80Pin板對(duì)板連接器的方式將處理器的功能引腳以最便利的方式引出,并針對(duì)不同的功能做了深度優(yōu)化,T536開(kāi)發(fā)板方便用戶二次開(kāi)發(fā)的同時(shí)簡(jiǎn)化用戶設(shè)計(jì),為您的項(xiàng)目提供良好的評(píng)估及設(shè)計(jì)依據(jù)。 了解詳情

