当前位置:首页 > 工业控制 > 工业控制
[导读]签名校验成功,只能证明镜像来自受信密钥,不能证明它足够新;关闭一个调试引脚,也不等于所有入口都消失。SoC安全还要约束版本与生命周期。

签名校验成功,只能证明镜像来自受信密钥,不能证明它足够新;关闭一个调试引脚,也不等于所有入口都消失。SoC安全还要约束版本与生命周期。

旧固件若仍由合法密钥签名,普通安全启动会接受它。攻击者把设备回滚到含已知漏洞的版本,就能绕过后来修复;因此镜像头中的版本号必须与设备内不可回退的安全状态比较。这个状态可由一次性熔丝、受保护单调计数器或安全存储维护,但不能放在可被同一旧固件改写的普通闪存中,否则比较链本身不可信。

版本状态更新必须具备原子性。若先提高最低版本再写入新镜像,掉电可能让设备没有任何可启动版本;若先激活镜像、很久以后才更新计数器,攻击窗口又会存在。A/B槽流程应先完整写入并验签候选镜像,试启动通过关键自检后,再以可恢复事务提交活动槽和最低版本。恢复镜像也要受版本规则约束,否则维护入口会成为合法回滚通道。

防回滚还要为密钥吊销留出空间。签名密钥泄露后,只提高软件版本不够,启动ROM需要能拒绝受损密钥并转向新根;熔丝位数量有限,吊销编码应在设计时规划。验证要覆盖断电发生在下载、验签、计数更新和槽位切换的每个阶段,确认设备要么运行旧的允许版本,要么运行新版本,不会停在既无法恢复又可降级攻击的中间态。

最低版本也不能无条件随每次试装提高。候选固件可能通过启动自检,却在特定外设或温度下暴露严重回归;若计数器已经不可逆推进,现场便失去回到最后稳定版本的能力。发布策略应设置验证期,在受保护状态中区分“候选可启动”和“正式最低版本”,只有健康指标与人工批准满足后才提交。安全状态延后提交期间仍要限制攻击者反复切换槽位,并保留完整审计序号与批准记录,供现场异常恢复时逐项核对追溯使用。

调试接口属于另一条信任链。JTAG、串行线调试、追踪宏单元和测试访问端口能读写内存、控制处理器或绕过软件权限,量产后若保持开放,安全启动再完整也挡不住物理接入。生命周期控制应区分晶圆测试、封装测试、开发、量产和返修状态,每个状态只开放必要功能,并由硬件在早期启动阶段执行,不能等普通固件起来后再关闭。

SoC使用熔丝锁定调试时,要处理不可逆操作的制造风险。烧写顺序错误会直接报废器件,因此量产流程应先验证安全启动、器件身份和测试结果,再执行锁定并回读确认。返修若确需调试,可使用基于设备密钥的挑战响应临时授权,限制时间、命令和可访问区域;通用后门口令一旦泄露,会影响整批产品。高安全场景还应在异常电压、时钟或复位下保持关闭状态。

安全验证不能只读取一个“调试已关”状态位。应从外部实际尝试扫描链枚举、处理器停机、内存访问和追踪输出,并在冷启动、热复位、恢复模式与故障注入后重复。还要确认量产测试凭据和临时证书已清除,锁定位无法被普通软件覆盖。版本回滚测试则使用合法旧签名镜像,验证拒绝原因和恢复路径可诊断,而不是笼统返回启动失败。

因此,可信启动要证明镜像合法且不倒退,调试锁定要随生命周期收紧。两道状态都由硬件守住,SoC才不会从旧版本或维护入口绕开信任链。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭