3. 安全镜像生成¶
本章概述 CV184x Spinor 安全启动场景下,FIP、FIT(内核/设备树)、SquashFS RootFS、DATA(userdata) 四层签名或加密与验签的关系。具体操作、命令与密钥生成请分章阅读:
FIP 签名与加密及 eFuse — FIP 签名与加密、eFuse 与 FIP 分区烧录顺序
FIT 镜像安全启动 — FIT 验签与可选加密(boot.spinor、U-Boot)
SquashFS RootFS 签名与内核验签 — RootFS(SquashFS)签名与内核挂载前验签
DATA 分区(userdata)签名与验签 — DATA 分区(JFFS2)签名与启动时验签、挂载策略
3.1. 四层保护对照¶
对象 |
典型镜像/分区 |
说明 |
|---|---|---|
FIP |
|
ROM/BL1 对 FIP 验签与解密(可选);需 |
内核(FIT) |
|
U-Boot 对 FIT 验签与可选解密;与 Enable kernel secure boot、U-Boot Security 等选项相关,详见 FIT 镜像安全启动 |
RootFS |
rootfs.spinor(SquashFS) |
构建时追加签名块,内核挂载前验签,详见 SquashFS RootFS 签名与内核验签 |
userdata(DATA) |
data.spinor(JFFS2) |
构建时追加 trailer,启动脚本调用 |
注解
注意事项
为避免量产密钥被窃,建议量产密钥单独保管,并在安全环境下进行签名与加密操作。
3.2. 密钥与工具(速查)¶
FIP 侧常用私钥与密钥文件包括:rsa_hash0.pem、bl_priv.pem、loader_ek.key、bl_ek.key;FIT 与 RootFS、DATA 签名常与 ramdisk/keys/test_reeos.key 及 linux_5.10/certs/cert.pem 配合使用。fipsign.py 与 eFuse 见 FIP 签名与加密及 eFuse;FIT 密钥与菜单项见 FIT 镜像安全启动。FIP 签名工具路径示例:
python3 fsbl/plat/cvitek/cv184x/common/fipsign.py sign-enc --help
仅签名不加密时可使用 sign 子命令(参数见工具 --help 输出)。U-Boot 镜像生成仍参考《U-boot 移植应用开发指南》等文档得到原始 fip.bin 后再做签名或加密。