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

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

