面向CRA与IEC 62443的四层防线-米尔基于RV 1126 B核心板
一台装在输电铁塔上的监拍装置,外壳上只有四颗防拆螺丝。谁把它拆下来带回实验室,eMMC 焊下来就是一份完整的固件副本——算法、模型、标定参数、辛苦调出来的图像参数,全在里面。
这是安防与电力行业二十年的老问题,过去靠"抄了也没用"糊过去。2026 年 9 月 11 日起,欧盟《网络韧性法案》的漏洞与事件报告义务已经生效;2027 年 12 月 11 日全面适用之后,"固件能不能被读出来"从商业风险变成了监管问题。
米尔 基于 RV1126B核心板 在这件事上有一张别人少提的牌:OTP 里预留了 16 字节 固件加密密钥 。配合签名启动与分区加密,一台设备可以做到——固件既改不了,也读不出。
核 心 结 论
一条链 BootROM 读 OTP 里的公钥哈希 → 验 Loader → 验 OP-TEE 与 U-Boot → 验 Kernel 与 DTB → ramdisk 校验系统分区。任何一级被替换,设备起不来。
两把锁 签名解决"改不了",固件加密解决"读不出"。前者是标配,后者是 RV1126B 相对同代平台多出来的那一把。
一条通道 CMS 签名 OTA,升级包被改一个字节就装不进去——这是"支持期内能修漏洞"的技术前提。
CRA 把含数字元素的产品分成三档,合规成本差一个量级。这一档定错,后面所有工作都白做。
类别
典型产品
合规路径
普通产品
工业相机、电力监拍装置、机器人视觉模组、边缘分析盒
自我评定,技术文档 + EU 符合性声明 + CE
重要产品
Class I
具备安全功能的智能家居产品,明确包括智能门锁、安防摄像头、婴儿监视器、报警系统
完整适用协调标准时才可自评,否则走公告机构(模块 B+C 或 H)
关键产品
硬件安全模块、安全芯片、智能卡、智能电表网关
按欧洲网络安全认证框架(EUCC)取得认证
表 1 CRA 三档分类。摄像头是否落入 Class I,看的是产品主要用途,不是某一项功能。
这里有个容易被忽略的细节:同样是摄像头,命运不同。家用安防摄像头、可视门铃、婴儿监视器被 CRA 附件三第 17 项明确点名,属于 Class I;而装在变电站、风机、产线上的工业监拍设备,走普通产品路径。但两条路的技术底座是同一套——证明固件可信、系统未篡改、数据有保护、漏洞修得进去,差别只在证据多严、由谁来看。
时间表:2024-12-10 生效 → 2026-09-11 第 14 条报告义务适用(24 小时预警、72 小时通知、补救后 14 天最终报告,已上市产品同样受管)→ 2027-12-11 全面适用。罚则上限 1500 万欧元或全球年营业额 2.5%。
RV1126B 的安全体系不是"有没有加密"这种单点问题,而是四层叠加、一条链贯穿。下图是这套体系的整体结构:底层是 OTP 与安全硬件,往上依次是安全存储、安全启动、系统完整性保护。
图 1 四层安全架构。从 OTP 根信任出发,逐级向上建立信任,最终由 dm-verity / dm-crypt 保护系统分区。 装在野外、车里、产线边上的设备,威胁一大半来自物理接触。机房里的设备怕网络攻击,无人值守的设备怕的是"被拆开":
威胁
现实场景
靠什么防
固件被读出
设备被带回,eMMC 焊下来直接读,算法与标定参数全暴露
固件加密
固件被替换
换成带后门的镜像,设备成为内网跳板
签名启动
版本降级
刷回带已知漏洞的旧固件,绕过已修复的问题
防回滚版本号
密钥被提取
从文件系统或分区里翻出加密密钥、设备证书
TEE 与安全存储
表 2 四类典型威胁与对应手段。前两类必须"签名 + 加密"同时做,缺一个都留着口子。
注意第一行和第四行的区别:签名能拦住"换固件",拦不住"读固件"。很多方案只做了签名,客户把设备拆开一看,算法和参数照样一览无余。这就是固件加密存在的意义。
Rockchip SDK 支持 FIT 与 AVB 两种方案。RV1126B 走 FIT——U-Boot 原生格式,把 Kernel、DTB、Ramdisk 打进一个包,用 RSA 签名保证完整性,结构清晰、调试直观。
图 2 安全启动流程。从 Maskrom 到 Kernel 统一用同一把 RSA 公钥完成校验,公钥哈希存在 OTP / eFuse 里。 整条链是串起来的,每一级只信上一级交给它的公钥:BootROM 用 OTP 里的哈希验证 Loader 的公钥,再用公钥验签名;Loader 用自带公钥验 OP-TEE 与 U-Boot;U-Boot 验 Kernel 与 DTB;最后 ramdisk 校验系统分区。中间任何一环被换掉,链就断在那一级。
验证不靠猜,启动日志会逐项打印结果。下面几行是关键:
## Checking uboot 0x40200000 ... sha256(145e7e73bc...) + OK
## Checking optee 0x48400000 ... sha256(3d874a02ad...) + OK
rollback index: 10 >= 0(min), OK
前两行说明固件验签通过,最后一行 rollback index 就是防回滚的证据:当前固件版本 10,设备允许的最低版本 0,通过。设备刷过新版后最低版本会抬升,再塞旧镜像进来就在这一行失败。
两个必须提前知道的坑
① 烧写公钥哈希到 OTP 不可撤销。默认关闭烧 key 功能,此时 loader 可被替换;一旦烧录成功,安全启动永久使能。烧没烧成,看 bootargs 里有没有 fuse.programmed=1。
② 开启签名校验会连带关闭 U-Boot 命令行,量产固件按 Ctrl+C 也进不去。调试阶段务必先跑通再烧 key。
"一机一密"这句话经常被滥用。在 Rockchip 的体系里它有精确的三档定义,由 OTP 里的安全等级决定,核心差别在于用哪把密钥去派生 RPMB Key 与安全存储密钥。