日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RK3588+Linux固件簽名與系統(tǒng)安全開發(fā)全指南

jf_44130326 ? 來源:Linux1024 ? 作者:Linux1024 ? 2026-01-20 07:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在高端嵌入式場景中,RK3588憑借8nm制程、6TOPS NPU算力及8K多媒體處理能力,成為AIoT、邊緣計算的熱門選擇。而安全啟動(Secure Boot)作為設備防護的第一道防線,是保障RK3588平臺穩(wěn)定運行的核心。本文結合瑞芯微官方文檔與RK3588實測數據,聚焦官方build.sh指令集,從環(huán)境配置、密鑰生成、固件簽名到第三方系統(tǒng)適配,完整拆解安全開發(fā)流程,同時分享實測踩坑經驗,確保方案可直接落地。

一、核心認知:RK3588安全啟動關鍵特性

RK3588作為瑞芯微旗艦級芯片,其安全啟動機制基于FIT方案(官方推薦,支持靈活鏡像校驗),核心特性如下:

wKgZPGluucqAA3_FAABQVf3pmv4889.png

1.硬件可信根:公鑰哈希固化于OTP(不可逆熔斷),作為校驗起點,防止固件篡改;

2.分層校驗鏈路Bootrom→Loader→U-Boot→Kernel→系統(tǒng),任一環(huán)節(jié)校驗失敗則終止啟動;

3.安全存儲支持:默認使用RPMBeMMC物理安全分區(qū))存儲加密密鑰,非eMMC設備可啟用Security邏輯分區(qū);

4.系統(tǒng)安全增強:支持System-Verity(系統(tǒng)校驗)與System-Encryption(系統(tǒng)加密),適配EXT4等主流文件系統(tǒng)。

二、基礎準備:環(huán)境與指令前置說明

1.環(huán)境要求

?硬件:RK3588開發(fā)板(如EVB7 V11),確保OTP引腳(VCC_18)供電穩(wěn)定;

?軟件:Linux SDK(本文基于rk3576 linux6.1)、OpenSSL、瑞芯微升級工具(upgrade_tool);

?系統(tǒng):目標第三方系統(tǒng)為Debian(本文以debian/linaro-rootfs.img為例)。

2.核心指令約定

本文所有操作基于SDK根目錄下的官方build.sh指令,無需額外添加非官方腳本,指令格式及功能以./build.sh -h輸出為準,關鍵指令分類如下:

指令類型

核心指令示例

作用

配置類

./build.sh menuconfig

圖形化配置SDK安全參數

密鑰生成類

./build.sh security-createkeys

生成安全啟動所需RSA密鑰對

固件編譯類

./build.shuboot./build.sh kernel

編譯簽名LoaderU-Boot、Kernel

安全系統(tǒng)類

./build.sh security-system

生成加密/校驗后的系統(tǒng)鏡像

鏡像打包類

./build.sh updateimg

打包完整可燒錄固件(update.img

清理類

./build.sh clean:security

清理安全相關編譯產物

三、分步實戰(zhàn):基于build.sh的安全開發(fā)流程

1.第一步:SDK安全配置(關鍵前置)

通過menuconfig開啟安全功能,確保后續(xù)編譯指令生效:

# 進入SDK根目錄,啟動圖形化配置界面make menuconfig

在配置菜單中按以下路徑勾選關鍵選項(RK3588默認FIT方案):

->RK_SECURITY (安全功能總開關) ->[*] security feature (啟用安全功能) ->Secureboot Method (FIT) -> 選中FIT(RK3588官方推薦) ->Optee Storage (RPMB) -> 選中RPMB(eMMC設備默認,F(xiàn)lash設備選SECURITY) ->security check method -> 按需選擇(system-verity=系統(tǒng)校驗,system-encryption=系統(tǒng)加密) ->[ ] burn security key (默認關閉,調試階段不熔斷OTP,量產時再開啟) ->RK_SECURITY_INITRD_BASE_CFG (自動勾選,生成安全Ramdisk)

配置完成后保存退出,SDK會自動生成output/.config文件(若提示文件過時,按提示確認更新即可)。

2.第二步:生成安全密鑰(僅需執(zhí)行一次)

使用官方指令生成RSA密鑰對(密鑰丟失將導致設備變磚,務必備份):

# 生成簽名用密鑰(自動存儲于u-boot/keys目錄)./build.sh security-createkeys

指令執(zhí)行后,在u-boot/keys目錄下生成3個核心文件:

?dev.key:私鑰(簽名用,需離線備份);

?dev.pubkey:公鑰(驗簽用,編譯時自動嵌入固件);

?dev.crt:自簽名證書(等效于公鑰,用于FIT鏡像校驗)。

踩坑提示:若執(zhí)行時報錯Can't load ~/.rnd into RNG”,需手動創(chuàng)建隨機數文件:

touch~/.rnd

3.第三步:編譯簽名核心固件(Loader/U-Boot/Kernel

RK3588Loader(含SPL)、U-Boot需編譯時簽名,Kernel需開啟安全模塊支持,均通過build.sh指令完成:

1)編譯簽名LoaderU-Boot

LoaderBootrom校驗的第一個固件,必須簽名;U-Boot需關聯(lián)密鑰并支持FIT校驗:

# 編譯Loader(含SPL)與U-Boot,開啟防回滾(版本號1,可自定義)./build.sh loader --spl-new --rollback-index-uboot 1

?--spl-new:使用當前編譯的SPL(含公鑰)打包Loader,RK3588必須添加(官方SDK無預編譯安全SPL);

?--rollback-index-uboot 1:設置U-Boot防回滾版本號(需與menuconfig防回滾配置匹配,不開啟防回滾可省略)。

編譯成功后,在output/firmware目錄生成已簽名的loader.bin、uboot.img。

2)編譯支持安全模塊的Kernel

Kernel需開啟Device-Mapper(系統(tǒng)校驗/加密依賴)與OPTEE(密鑰存儲依賴),通過指令直接編譯:

# 編譯Kernel(自動加載menuconfig中配置的安全模塊)./build.sh kernel# 編譯Kernel模塊(若需驅動適配,可選執(zhí)行)./build.sh modules

關鍵安全模塊(已在menuconfig中開啟,無需額外配置):

?CONFIG_BLK_DEV_DM=y:啟用Device-Mapper

?CONFIG_DM_VERITY=y/CONFIG_DM_CRYPT=y:支持系統(tǒng)校驗/加密;

?CONFIG_TEE=y/CONFIG_OPTEE=y:啟用OPTEE可信執(zhí)行環(huán)境。

編譯完成后,在kernel/arch/arm64/boot/目錄生成Image(內核鏡像)與dtbs/rockchip/rk3588-evb7-v11.dtb(設備樹)。

4.第四步:生成安全Ramdisk(系統(tǒng)啟動關鍵)

Ramdisk是中間小系統(tǒng),負責啟動時解密/校驗目標系統(tǒng),通過官方指令編譯:

# 生成適配安全啟動的Ramdisk(自動集成veritysetup/dmsetup工具)./build.sh security-ramboot

指令會基于Buildroot生成rootfs.cpio.gzRamdisk鏡像),存儲于buildroot/output/rockchip_rk3588_ramboot/images/目錄,且自動關聯(lián)menuconfig中配置的安全參數(如加密算法、密鑰存儲路徑)。

5.第五步:第三方系統(tǒng)(Debian)安全處理

RK3588官方build.sh支持第三方系統(tǒng)適配,以Debian為例,需先對系統(tǒng)鏡像加密/校驗,再打包簽名:

1)處理Debian系統(tǒng)鏡像

# 進入固件輸出目錄cdoutput/firmware# 鏈接加密后的Debian鏡像(替換默認rootfs)ln-rsf ../../debian/security_system.img rootfs.img# 打包完整可燒錄固件update.imgcd../.../build.sh updateimg

?指令自動生成加密后的debian/security_system.img(密文落盤,需密鑰解密);

?同時生成debian/security.info,記錄加密算法(如aes-cbc-plain)、密鑰信息(暫存于misc分區(qū),首次開機轉存RPMB)。

若需系統(tǒng)校驗(僅防篡改,明文落盤),需先在menuconfig中切換“security check method”system-verity,再執(zhí)行上述指令。

2)關聯(lián)系統(tǒng)鏡像與打包固件

將加密后的Debian鏡像鏈接到固件打包目錄,生成完整update.img

# 1. 重新配置SDK,開啟密鑰燒錄./build.sh menuconfig-> RK_SECURITY -> [*] burn security key (勾選,啟用OTP熔斷)# 2. 重新編譯Loader(觸發(fā)密鑰哈希燒錄邏輯)./build.sh loader --spl-new --burn-key-hash

6.第六步:密鑰燒錄與固件刷寫(量產關鍵)

1)熔斷OTP(僅量產執(zhí)行,不可逆?。?/span>

調試階段無需燒錄密鑰(避免設備變磚),量產前需開啟密鑰燒錄功能并熔斷OTP

# 1. 重新配置SDK,開啟密鑰燒錄./build.sh menuconfig-> RK_SECURITY -> [*] burn security key (勾選,啟用OTP熔斷)# 2. 重新編譯Loader(觸發(fā)密鑰哈希燒錄邏輯)./build.sh loader --spl-new --burn-key-hash

?--burn-key-hash:編譯時添加該參數,首次開機時Loader會將公鑰哈希寫入OTP,完成熔斷;

?熔斷成功后,串口會打印“RSA: Write key hash successfully”。

2)燒錄固件到開發(fā)板

使用瑞芯微upgrade_tool工具燒錄update.img

# 燒錄完整固件(開發(fā)板進入Maskrom模式)upgrade_tool uf output/firmware/update.img

四、實測驗證:安全機制生效測試(基于RK3588

通過替換未簽名固件,驗證安全機制是否生效,實測結果如下:

測試場景

操作方式

結果

關鍵現(xiàn)象

合法固件啟動

燒錄簽名后的update.img

成功

串口打印“EXT4-fs (dm-0): mounted filesystem”,正常進入Debian系統(tǒng)

替換未簽名rootfs.img

替換output/firmware/rootfs.img

失敗

Kernel panic,提示“Attempted to kill init! exitcode=0x00000100”

替換未簽名boot.img

替換output/firmware/boot.img

失敗

停留在Loader模式,打印“Failed to verify required signature 'key-dev'”

替換未簽名loader.bin

燒錄未簽名Loader

失敗

開發(fā)工具不識別設備,無日志輸出(OTP已熔斷,拒絕未簽名固件)

燒錄未簽名完整系統(tǒng)

燒錄未簽名update.img

失敗

升級工具提示下載Boot失敗,Maskrom模式下無法識別固件

替換非簽名加密的rootfs之后,報錯進不了系統(tǒng)

wKgZPGluucqAduRCAADb55Cf9-Q751.pngwKgZPGluucqADSluAADooECLpuQ272.png

燒錄回簽名加密鑰的之后,又成功進入系統(tǒng)

wKgZPGluucqAdnTBAALVszsRnVk547.png

替換未簽名的boot.img,密鑰校驗失敗,進不了kernel,停留在loader模式

wKgZPGluucqAKY26AAGbilkKhv8480.png

更新未簽名uboot.img,校驗失敗,進不了uboot,還是進入maskrom模式

wKgZPGluucqAWaa-AAIPrTjN-8E269.pngwKgZPGluucqADPVoAAEMILgcfu0487.png

如果是替換沒有簽名的MiniLoaderAll.bin,燒錄不了,芯片不識別,也沒有log,因為密鑰已經燒錄到芯片otp中,固化在芯片了

wKgZPGluucuASbKwAAC7PM-mHG8036.png

如果燒錄沒有完全沒有簽名的整個系統(tǒng),根本燒錄不進去,根本原因還是MiniLoaderAll.bin沒簽名并且密鑰已經燒錄到芯片otp中,固化在芯片了

wKgZPGluucuAfeT5AABR6WIuAE0563.png

五、關鍵指令速查表與注意事項

1.核心指令速查表(官方build.sh指令)

操作目標

指令

開啟圖形化配置

./build.sh menuconfig

生成安全密鑰

./build.sh security-createkeys

編譯簽名Loader/U-Boot

./build.sh loader --spl-new --rollback-index-uboot 1

編譯Kernel

./build.sh kernel

生成安全Ramdisk

./build.sh security-ramboot

處理Debian系統(tǒng)

./build.sh security-system:debian/linaro-rootfs.img

打包完整固件

cd output/firmware && ./build.sh updateimg

熔斷OTP(量產)

./build.sh loader --spl-new --burn-key-hash

清理安全編譯產物

./build.sh clean:security

2.注意事項(實測踩坑總結)

1.密鑰備份u-boot/keys目錄下的dev.key務必離線備份,OTP熔斷后密鑰丟失將導致設備變磚;

2.調試階段不熔斷OTP:未確認固件穩(wěn)定性前,不要勾選“burn security key”,避免無法回滾;

3.Ramdisk日志調試:若系統(tǒng)跳轉失敗,需修改Ramdiskinit腳本,將MSG_OUTPUT=/dev/null改為/dev/kmsg,通過串口查看啟動日志(具體修改可私信獲?。?;

4.RPMBSecurity分區(qū)RK3588eMMC設備)默認用RPMB存儲密鑰,若為Flash設備,需在menuconfig中切換“Optee Storage”SECURITY,并添加4M大小的Security分區(qū);

5.指令依賴順序:必須先執(zhí)行makemenuconfig配置安全參數,再執(zhí)行security-createkeysloader等指令,否則參數不生效。

總結

RK3588的安全開發(fā)核心是圍繞官方build.sh指令集,構建配置密鑰編譯燒錄的完整鏈路。本文通過實測驗證,確認該流程可有效防止未簽名固件啟動,且適配Debian等第三方系統(tǒng)。需注意,量產前務必完成OTP熔斷與密鑰備份,同時根據硬件類型(eMMC/Flash)選擇合適的安全存儲方案。

若需Ramdisk調試腳本、Debian鏡像優(yōu)化等細節(jié),可私信交流,后續(xù)將推出專題文章深入講解。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5210

    文章

    20680

    瀏覽量

    337386
  • Linux
    +關注

    關注

    88

    文章

    11822

    瀏覽量

    219602
  • 固件
    +關注

    關注

    11

    文章

    573

    瀏覽量

    25326
  • 瑞芯微
    +關注

    關注

    27

    文章

    861

    瀏覽量

    54679
  • RK3588
    +關注

    關注

    8

    文章

    592

    瀏覽量

    7597
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    技術分享 | RK3588如何搭建preempt_rt+ethercat

    說明:使用的RK3588的分支版本是linux-6.1-stan-rkr6內核版本是6.1.99,文件系統(tǒng)是DebianGNU/Linux12,把瑞芯微的SDK更新
    的頭像 發(fā)表于 04-02 17:31 ?873次閱讀
    技術分享 | <b class='flag-5'>RK3588</b>如何搭建preempt_rt+ethercat

    RK3588的GMAC 時鐘怎么一直沒有?

    使用RK3588芯片,linux6.6內核,將自己設計的phy芯片驅動起來后,ifconfig 查看有eth0,phy 芯片驅動正常,但是RK3588芯片一直沒有產生GMAC時鐘信號,其他配置均正確,通過命令查看時鐘配置也都正確
    發(fā)表于 03-26 22:47

    RK3588操控終端

    RK3588操控終端全國產化無人裝備手持操控終端,搭載工業(yè)級瑞芯微RK3588J芯片,適配麒麟等自主操作系統(tǒng),從硬件核心到軟件應用實現(xiàn) 100% 國產化,徹底擺脫外部技術依賴。設備標配16G
    發(fā)表于 02-28 09:42

    RK3588 CPU?隔離:AB/非?AB?系統(tǒng)雙方案適配實戰(zhàn)

    RK3588嵌入式產品開發(fā)中,CPU隔離是提升系統(tǒng)實時性的核心手段,能讓關鍵任務獨占核心資源,規(guī)避系統(tǒng)調度與中斷干擾。本次基于RK3588
    的頭像 發(fā)表于 02-09 07:12 ?571次閱讀
    <b class='flag-5'>RK3588</b> CPU?隔離:AB/非?AB?<b class='flag-5'>系統(tǒng)</b>雙方案適配實戰(zhàn)

    保姆級教程!RK3588 Linux6.1?固件簽名完整實現(xiàn)方案(不含rootfs)

    ? ? ? 在嵌入式 Linux 開發(fā)中,固件簽名是保障設備安全的關鍵環(huán)節(jié) —— 它能有效防止惡意固件
    的頭像 發(fā)表于 01-14 17:21 ?2323次閱讀
    保姆級教程!<b class='flag-5'>RK3588</b> <b class='flag-5'>Linux</b>6.1?<b class='flag-5'>固件</b><b class='flag-5'>簽名</b>完整實現(xiàn)方案(不含rootfs)

    RK3588采集Cameralink圖像快速搭建系統(tǒng)辦法

    : CL-U3,便攜式應用。 瑞芯微的RK3588開發(fā)板很多,種類各式各樣。如何快速搭建一套自己的基于RK3588的嵌入式Cameralink圖像采集處理方案呢。下面推薦一下。 快速原型機的搭建方案如下: (1
    發(fā)表于 12-19 10:07

    釋放多屏潛能:迅為RK3588開發(fā)板Android多屏同顯開發(fā)完全指南

    釋放多屏潛能:迅為RK3588開發(fā)板Android多屏同顯開發(fā)完全指南
    的頭像 發(fā)表于 12-16 16:11 ?1132次閱讀
    釋放多屏潛能:迅為<b class='flag-5'>RK3588</b><b class='flag-5'>開發(fā)</b>板Android多屏同顯<b class='flag-5'>開發(fā)</b>完全<b class='flag-5'>指南</b>

    【技術分享】RK3588如何搭建xenomai3+ethercat

    說明使用的RK3588的分支版本是linux-6.1-stan-rkr6內核版本是6.1.99把瑞芯微的SDK更新到linux-6.1-stan-rkr6這個版本即可。編譯xenomai3的內核請參考上一篇技術分享:技術分享|
    的頭像 發(fā)表于 12-11 17:26 ?1423次閱讀
    【技術分享】<b class='flag-5'>RK3588</b>如何搭建xenomai3+ethercat

    迅為RK3588開發(fā)板Android系統(tǒng)燒寫及注意事項

    迅為RK3588開發(fā)板Android系統(tǒng)燒寫及注意事項
    的頭像 發(fā)表于 12-03 15:17 ?7450次閱讀
    迅為<b class='flag-5'>RK3588</b><b class='flag-5'>開發(fā)</b>板Android<b class='flag-5'>系統(tǒng)</b>燒寫及注意事項

    RK3588核心板/開發(fā)板RT-Linux系統(tǒng)實時性及硬件中斷延遲測試

    本文介紹瑞芯微RK3588芯片平臺RT-Linux系統(tǒng)實時性及硬件中斷延遲測試,基于觸覺智能RK3588核心板/開發(fā)板演示。
    的頭像 發(fā)表于 11-28 18:57 ?1055次閱讀
    <b class='flag-5'>RK3588</b>核心板/<b class='flag-5'>開發(fā)</b>板RT-<b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b>實時性及硬件中斷延遲測試

    RK3588數據手冊

    RK3588的資料
    發(fā)表于 08-01 16:08 ?54次下載

    RK這2款旗艦芯片RK3588 PK RK3576,誰是最優(yōu)選

    ,推出了很多智能應用處理器芯片,在嵌入式系統(tǒng)領域得到大規(guī)模的應用。RK3588RK3576 系列作為瑞芯微(Rockchip)高性能處理器的代表,在性能、價格等方面存在差異。對于硬件產品
    發(fā)表于 07-10 18:24

    干貨分享 | RK3588 Ubuntu系統(tǒng)Docker容器使用指南

    前言:在瑞芯微RK3588高性能AIoT平臺上運行Ubuntu系統(tǒng)時,Docker容器技術能極大提升開發(fā)部署效率。通過輕量級虛擬化實現(xiàn)環(huán)境隔離與快速遷移,本文將從零開始詳解RK3588
    的頭像 發(fā)表于 06-27 12:01 ?4272次閱讀
    干貨分享 | <b class='flag-5'>RK3588</b> Ubuntu<b class='flag-5'>系統(tǒng)</b>Docker容器使用<b class='flag-5'>指南</b>

    RK3588參數與主要特性 RK3588數據手冊解讀

    RK3588參數與主要特性 RK3588數據手冊解讀
    的頭像 發(fā)表于 05-19 18:34 ?1.5w次閱讀
    <b class='flag-5'>RK3588</b>參數與主要特性  <b class='flag-5'>RK3588</b>數據手冊解讀

    RK3588S和RK3588S2差異說明

    RK3588S2?較?RK3588S少了一組?MIPI D/C-PHY CSI_RX PORT0,新增一組?MIPI DPHY CSI_RX PORT1,同時接口位置除?MIPI D/C-PHY
    的頭像 發(fā)表于 05-13 14:23 ?3258次閱讀
    <b class='flag-5'>RK3588</b>S和<b class='flag-5'>RK3588</b>S2差異說明
    湾仔区| 玉溪市| 邛崃市| 临夏县| 林甸县| 赤城县| 股票| 富顺县| 林州市| 阜新| 定远县| 景德镇市| 纳雍县| 东方市| 遂川县| 汽车| 文水县| 墨脱县| 江门市| 长寿区| 长泰县| 共和县| 巴彦淖尔市| 巍山| 通州区| 和静县| 特克斯县| 于都县| 昌邑市| 寿光市| 昌宁县| 乌恰县| 彭阳县| 巴南区| 遂昌县| 文登市| 汉沽区| 唐山市| 慈利县| 姚安县| 淮北市|