
在物联网设备生命周期中,固件升级(Firmware Update)是修复漏洞、增强功能的关键手段。然而,若升级过程缺乏安全保障,反而会成为攻击者植入后门、窃取数据或瘫痪设备的入口。正因如此,欧盟强制标准 EN 18031 将“安全固件升级”列为网络安全(EN 18031-1)的核心要求之一。
根据ETSI EN 18031-1:2024第6.3条:“设备应支持通过安全机制接收和安装软件或固件更新,确保更新内容的真实性、完整性与不可回滚性。”
这意味着,仅提供OTA(空中下载)功能远远不够——升级过程本身必须防篡改、可验证、抗中断。
一、EN 18031对固件升级的三大核心要求
标准从真实性、完整性与可靠性三个维度设定了强制性安全控制:
1. 固件真实性验证(Authentication)
- 所有固件包必须由制造商使用私钥进行数字签名(如RSA-2048、ECDSA)
- 设备端必须内置对应的公钥证书,并在安装前验证签名有效性
- 禁止接受无签名或签名无效的固件,即使来自“可信”服务器
2. 传输与存储完整性(Integrity)
- 固件下载必须通过加密通道(如TLS 1.2或更高版本)进行,防止中间人篡改
- 固件在本地存储期间不得被未授权修改(例如通过只读分区或安全存储区保护)
3. 防回滚与可靠安装(Reliability)
- 系统必须拒绝安装版本号低于当前运行版本的固件,防止降级攻击
- 支持断电恢复机制(如A/B双分区、备份镜像),避免更新失败导致设备变砖
- 更新完成后应记录日志,并可选向用户或管理平台发送成功通知
二、典型安全固件架构对比
为满足EN 18031,制造商可采用以下主流方案:
| 架构类型 | 安全特性 | 适用场景 |
|---|---|---|
| 单分区 + 签名验证 | 基础签名校验,成本低 | 资源受限设备(如BLE传感器) |
| A/B 双分区冗余 | 支持无缝回滚,高可用性 | 智能家居、车载设备 |
| Secure Boot + 加密存储 | 启动链验证 + 固件加密 | 医疗设备、支付终端 |
| 基于安全元件(SE)的密钥管理 | 私钥永不暴露于主处理器 | 高安全等级产品 |
✅ 推荐组合:Secure Boot + 数字签名 + A/B分区,构成纵深防御体系。
三、认证测试中的关键验证点
在EN 18031实验室测试中,公告机构或认可实验室将重点检查以下项目:
- 签名伪造攻击测试:尝试用伪造签名固件刷机,设备应拒绝安装
- 降级安装拦截测试:推送旧版本固件,系统应自动阻断
- 中间人篡改测试:在传输过程中修改固件内容,设备应检测到完整性破坏
- 断电恢复测试:在更新中途断电,重启后设备应能正常启动或回滚至原版本
任何一项失败,均可能导致EN 18031-1认证不通过。
四、常见不合规情形与风险
| 问题行为 | 合规风险 |
|---|---|
| 固件未签名或使用弱哈希(如MD5) | 被认定为可篡改,存在高危漏洞 |
| 仅依赖HTTPS传输但无本地签名验证 | 无法防御服务器被攻破后的恶意推送 |
| 无版本号比对机制 | 易遭降级攻击,绕过安全补丁 |
| 更新失败后设备无法启动 | 违反“服务完整性”原则,影响可用性 |
实际案例显示,超过30%的EN 18031预测试失败源于固件升级机制设计缺陷。
五、合规实施建议
- 早期集成安全启动链:从芯片选型阶段即选择支持Secure Boot的SoC
- 使用标准加密库:如mbed TLS、OpenSSL,避免自研加密逻辑
- 建立密钥管理体系:私钥应由硬件安全模块(HSM)生成并保管
- 提供用户透明度:在APP或设备界面显示当前固件版本与更新状态
- 保留更新日志:至少存储最近3次更新记录,支持审计追溯
总结
EN 18031将“安全固件升级”从可选优化项提升为法定安全义务。它不仅是技术实现问题,更是产品可信度的基石。对于计划进入欧盟市场的无线设备制造商而言,构建一个真实、完整、可靠且不可篡改的固件升级机制,已不再是“加分项”,而是CE标志合法性的必要条件。
唯有将安全内生于更新流程,才能真正实现“持续防护、终身可信”的产品承诺。
