服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-09-17 更新于 2026-09-17 简米科技 4,123 字 10 分钟阅读

物联网边缘节点安全启动怎么做?固件完整性校验方法

导读物联网边缘节点的安全启动与固件完整性,核心不是单次校验,而是建立一条从硬件信任根到应用层的不可篡改启动链,配合固件签名和防回滚机制,才能在被拆机、被替换固件、被植入后门时仍守住设备身份,物联网边缘节点安全启动怎么做:从信任根到启动链边缘节点和云服务器最大的不同,是它往往孤身待在路灯杆、工厂配电柜、地下管廊这些无……

物联网边缘节点的安全启动与固件完整性,核心不是单次校验,而是建立一条从硬件信任根到应用层的不可篡改启动链,配合固件签名和防回滚机制,才能在被拆机、被替换固件、被植入后门时仍守住设备身份。

物联网边缘节点安全启动怎么做:从信任根到启动链

边缘节点和云服务器最大的不同,是它往往孤身待在路灯杆、工厂配电柜、地下管廊这些无人看管的地方,攻击者可以直接拧开螺丝,拆下Flash芯片,或者插入恶意U盘,如果设备上电时对加载的代码不做任何来源验证,替换一个uboot、一个内核、一个动态库,整套系统就会变成攻击者的探针。

安全启动要解决的就是这个问题:每一级固件在被加载前,必须先证明自己没有被篡改,而且证明来源可信任。

为什么边缘节点比云端更容易被篡改

  • 物理暴露:设备外壳无法像数据中心那样限制接触,攻击者有时间拆解。
  • 无人值守:没有管理员实时盯着启动过程,异常启动不容易被发现。
  • 算力与存储有限:很多边缘网关跑的是裁剪后的嵌入式Linux,缺少完整的TPM驱动和证书管理。
  • 供应链复杂:ODM、OEM、集成商多层交付,固件可能在某个环节被植入后门。

安全启动的四个典型阶段

以工业物联网边缘网关常用的启动链为例:

  1. ROM/BootROM阶段
    SoC上电后首先执行芯片内部固化的BootROM代码,它读取外部存储中的第一阶段引导加载程序,并用芯片内部不可篡改的公钥哈希进行验签。

  2. SPL/U-Boot阶段
    SPL或U-Boot拿到控制权后,进一步验证完整U-Boot环境、设备树以及后续引导所需的内核镜像。

  3. 内核阶段
    内核启动后,挂载根文件系统时启用dm-verity,这个模块按数据块计算哈希,任何运行时篡改都会导致读取失败,而不是默默执行恶意文件。

  4. 应用加载阶段
    关键业务进程启动前,由用户态可信代理检查可执行文件签名或IMA(完整性测量架构)记录,防止动态库被替换。

具体到操作层面,可以在U-Boot中使用FIT镜像格式,生成命令大致如下:

mkimage -f kernel_fdt.its signed_kernel.itb

其中.its文件里指定内核、设备树、ramdisk的哈希和签名信息,设备启动时执行bootm时,U-Boot会自动验签,验签不通过,则拒绝启动并进入恢复模式。

边缘计算网关固件完整性校验方法:签名、哈希与dm-verity对比

物联网边缘节点安全启动怎么做?固件完整性校验方法

很多项目在做边缘计算网关固件完整性校验时,把“上电时算一次哈希”误认为完整方案,单纯哈希只能回答“文件是否被动过”,不能回答“文件是否由合法发布者提供”,如果攻击者同时替换固件和哈希值,普通哈希校验就失效了。

三种主流校验方式对比

校验方式 能防什么 不能防什么 适用场景
哈希校验 意外损坏、随机比特翻转 恶意替换固件并重写哈希 仅用于传输完整性检查
数字签名 固件被伪造或篡改 私钥泄露后的伪造签名 启动链各阶段固件
dm-verity 运行时根文件系统篡改 不保护内核本身被替换 根文件系统只读保护
远程证明 向管理平台证明设备状态 需要云端可信验证服务配合 高安全等级边缘代理

数字签名是安全启动的核心,它使用非对称算法,发布方持有私钥对固件哈希签名,设备只保存公钥或公钥哈希,攻击者即使彻底替换固件,也无法生成对应私钥的签名。

实操上,可以用OpenSSL生成密钥并签名:

openssl genpkey -algorithm RSA -out firmware_priv.pem
openssl pkey -in firmware_priv.pem -pubout -out firmware_pub.pem
openssl dgst -sha256 -sign firmware_priv.pem -out firmware.sig firmware.bin

设备端验签:

openssl dgst -sha256 -verify firmware_pub.pem -signature firmware.sig firmware.bin

这里有一个细节:设备上保存的不应是公钥原文,而是公钥的SHA-256哈希,写入eFuse或OTP,这样即使攻击者读取了外部存储,也无法替换公钥。

嵌入式Linux安全启动与固件签名对比:TPM和软件信任根哪个更适合边缘节点

在嵌入式Linux平台上做安全启动,行业里常见两条路线:软件信任根和硬件TPM,它们不是一个非黑即白的选择,而是取决于设备被物理攻击的概率和成本承受能力。

软件信任根与硬件TPM的差别

  • 软件信任根
    通常把公钥、签名验证逻辑、防回滚计数器都放在普通Flash或eMMC中,成本几乎不增加,但攻击者如果能直接读写存储芯片,就能替换公钥或回滚到旧版本,多数消费级边缘盒子、家用摄像头采用这种方式。

  • 硬件TPM/安全元件
    TPM芯片内部有独立存储和执行环境,私钥不出芯片,PCR寄存器记录启动过程,攻击者即使拆下主控,也无法提取TPM内的私钥,但代价是BOM成本增加,开发复杂度上升。

    物联网边缘节点安全启动怎么做?固件完整性校验方法

  • SoC内置OTP/eFuse折中方案
    许多中端物联网SoC自带一次性可编程存储,将公钥哈希、安全启动使能位、防回滚版本号写入OTP后,外部无法修改,这种方式没有独立TPM那么强的密钥保护,但已足够应对大多数物理攻击场景。

哪种更适合边缘节点

如果边缘节点部署在室外路灯、无人值守配电房,且批量大、成本敏感,建议优先使用SoC内置安全启动加软件签名,业内专家指出,多数被攻破的边缘设备不是因为缺少TPM,而是因为厂商根本没启用芯片自带的安全启动,甚至把验签逻辑放在可改写的分区里。

如果边缘节点用于电力调度、车路协同、城市级视频分析等高价值场景,应当选择带TPM或国密安全模块的硬件方案,国内一些工业物联网边缘计算网关已经集成国密安全芯片,可同时满足合规与启动完整性要求。

工业物联网边缘设备安全启动方案价格与落地考量

工业物联网边缘设备安全启动方案价格差异较大,主要来自四个方面:

  • 芯片平台授权费:部分SoC的安全启动、加密引擎需要额外license。
  • 安全元件成本:TPM、SE芯片、国密模块从几元到几十元不等。
  • 工程开发成本:配置U-Boot、内核、构建签名流水线、对接管理平台。
  • 长期维护成本:密钥轮换、证书吊销、固件应急恢复。

不同预算下的选型建议

  • 低成本批量场景,如智慧路灯、农业传感器边缘网关,可优先选择自带BootROM验签和eFuse的SoC,如全志、瑞芯微、恩智浦部分型号,软件签名配合A/B分区,能把单台安全启动附加成本控制在很低的水平。
  • 中高安全场景,如变电站边缘物联代理、城市管廊监测节点,应增加一颗独立安全芯片,并启用LUKS加密配合TPM解锁系统分区。
  • 跨地域部署场景,例如华东地区某工业园区需要多地远程管理,边缘计算盒子安全启动费用不应只算硬件,还要考虑证书签发平台,多数物联网云平台提供设备身份与固件签名服务,按设备数量或按年订阅。

一个容易忽略的成本是应急恢复,没有设计恢复通道的安全启动,一旦验签失败,设备就变砖,量产前必须规划好UART恢复模式、TF卡烧录镜像或者云端触发回滚。

边缘节点固件更新失败怎么恢复:回滚与A/B分区

物联网边缘节点安全启动怎么做?固件完整性校验方法

固件更新和完整性校验是一对矛盾,更新意味着旧固件要被新固件替换,而安全启动要求任何新镜像必须有合法签名,如果更新过程中掉电,或者新固件签名正确但运行不稳定,设备可能卡在半更新状态。

用A/B分区实现安全回滚

主流做法是把存储划分成两个独立槽位,A和B,当前设备从A启动,收到新固件时,只写入B分区,校验通过后设置下次从B启动,如果B启动失败,BootROM或U-Boot检测到启动计数归零,自动切回A分区。

恢复操作的关键点:

  • 在OTP中维护一个防回滚计数器,防止攻击者把含有已知漏洞的旧固件重新刷入。
  • 新固件签名时携带版本号,设备验签后比较版本号是否大于当前OTP值,大于才允许更新。
  • 保留一个独立于A/B的恢复分区,只包含最小网络栈和下载工具,用于极端情况下的固件重刷。

实际操作中,U-Boot的环境变量可以这样配置:

setenv bootcount 0
saveenv

每次启动时bootcount递增,如果超过阈值则从备份槽启动,不同SoC厂商的实现命令略有差异,但思路一致:把启动次数和分区状态持久化到非易失存储。

物联网边缘节点安全启动常见问题Q&A

边缘节点固件被篡改通常有什么现象?

多数情况下,设备不会立刻表现出明显异常,而是持续向外部C2服务器回传数据、参与DDoS攻击,或者间歇性重启,一些攻击会替换系统内的证书文件,使管理平台无法远程连接,如果启用了dm-verity,根文件系统被篡改后,进程读写相关区块会直接返回EIO错误,设备日志里会出现大量I/O异常。

软件信任根一定不安全吗?

不一定,软件信任根的风险主要在于公钥和验签逻辑存储位置是否可被外部改写,如果公钥哈希烧写入eFuse,且验签代码在芯片ROM中执行,它实际上已经接近硬件信任根,行业共识认为,软件信任根的安全强度取决于不可篡改存储的隔离程度,而不是代码本身是用软件还是硬件实现。

物联网边缘节点安全启动和云服务器安全启动有什么区别?

云服务器通常有完整的UEFI Secure Boot、远程管理芯片和机房物理安全,边缘节点受体积、功耗、成本限制,很多没有标准UEFI,而是依赖U-Boot或轻量级Bootloader,云服务器可以方便地轮换证书、接收集中式审计,边缘节点则必须内置端到端的恢复机制,当前主流SoC的BootROM多数支持公钥哈希写入eFuse,一旦写入不可更改,这成为安全启动的硬件锚点。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱