存储控制芯片的固件加密加载与回滚防护方法和系统与流程

摘要: 本申请涉及存储控制芯片,尤其涉及一种存储控制芯片的固件加密加载与回滚防护方法和系统。背景技术:1、存储控制芯片作为固态硬盘、嵌入式存储设备及工业控制系统的核心部...
存储控制芯片的固件加密加载与回滚防护方法和系统与流程

本申请涉及存储控制芯片,尤其涉及一种存储控制芯片的固件加密加载与回滚防护方法和系统。

背景技术:

1、存储控制芯片作为固态硬盘、嵌入式存储设备及工业控制系统的核心部件,其固件的安全性和可靠性直接关系到整个系统的稳定运行。随着攻击手段的日益复杂化,固件面临的安全威胁已从传统的篡改攻击演变为更隐蔽的版本回滚攻击。攻击者通过将固件降级到存在已知漏洞的旧版本,绕过新版本中已修复的安全机制,从而获取系统控制权。

2、现有的固件保护方案多侧重于单一维度的防护,例如通过数字签名验证固件完整性,或依赖版本号比对来阻止回滚。然而,这些方案在实际部署中暴露出明显的不足:非易失性存储介质在长期擦写操作后会出现物理磨损,导致记录版本信息的存储区域可能无法可靠读写;系统异常掉电时,正在更新的固件副本可能处于不完整状态,而现有方案难以在多个版本不一致的副本中选择可信且可用的版本;固件通常以多副本形式存储以提高可靠性,但不同副本因写入时间差异可能版本不一致,简单的版本号判断无法区分哪个副本真正经过完整验证。更深层的问题在于,防回滚机制依赖的不可逆状态记录介质本身也可能被磨损。当记录“已加载最高版本”的存储单元损坏时,攻击者可利用这一物理缺陷让系统误认为从未加载过新版本,从而接受旧版本的回滚请求。与此同时,固件加密密钥需要与设备硬件深度绑定以防止固件被复制到其他设备,但又必须适应同一设备上不同存储位置的物理变化,如坏块重映射,否则存储在其他位置的备份固件将因密钥不匹配而无法解密。

3、因此,如何在存储介质持续老化、断电风险随时存在、多副本状态不一致的复杂环境下,既确保版本单向升级无法降级,又能根据存储健康状况动态选择最可靠的加载路径,同时使加密密钥既绑定设备又适应存储位置变化,成为存储控制芯片固件安全加载领域亟待解决的技术难题。

技术实现思路

1、为解决上述技术问题,本申请提供了一种存储控制芯片的固件加密加载与回滚防护方法和系统,实现了固件版本的单向升级保护和智能加载路径选择,有效防止固件回滚攻击,提升了存储控制芯片在复杂物理环境下的固件安全防护能力和系统启动可靠性。

2、第一方面,本申请提供了一种存储控制芯片的固件加密加载与回滚防护方法,所述方法包括:

3、步骤s1:获取待加载控制程序的数据包,提取程序可信清单向量,获得程序安全版本号和物理块组信息,结合硬件根密钥和设备标识,派生待加载控制程序各分段的加载密钥;

4、步骤s2:获取一次性可编程存储器的计数状态和非易失性存储介质的物理状态信息,构建包含版本磨损和位置信息的约束张量,生成候选版本状态图并执行约束裁决,确定允许加载版本集合和最低可信安全版本;

5、步骤s3:采用所述加载密钥对所述允许加载版本集合内的程序分段执行认证解密,生成认证分段有向无环图,根据所述认证分段有向无环图,存储映射初始化依赖和通道复位顺序,生成控制程序启动拓扑序列;

6、步骤s4:按照所述控制程序启动拓扑序列完成加载后,对所述最低可信安全版本进行校验,若校验通过,则执行一次性可编程存储器预提交和非易失性存储介质镜像确认的双相提交,否则执行回滚阻断或降级启动。

7、第二方面,本申请提供了一种存储控制芯片的固件加密加载与回滚防护系统,所述系统包括:

8、获取模块,用于获取待加载控制程序的数据包,提取程序可信清单向量,获得程序安全版本号和物理块组信息,结合硬件根密钥和设备标识,派生待加载控制程序各分段的加载密钥;

9、确定模块,用于获取一次性可编程存储器的计数状态和非易失性存储介质的物理状态信息,构建包含版本磨损和位置信息的约束张量,生成候选版本状态图并执行约束裁决,确定允许加载版本集合和最低可信安全版本;

10、生成模块,用于采用所述加载密钥对所述允许加载版本集合内的程序分段执行认证解密,生成认证分段有向无环图,根据所述认证分段有向无环图,存储映射初始化依赖和通道复位顺序,生成控制程序启动拓扑序列;

11、校验模块,用于按照所述控制程序启动拓扑序列完成加载后,对所述最低可信安全版本进行校验,若校验通过,则执行一次性可编程存储器预提交和非易失性存储介质镜像确认的双相提交,否则执行回滚阻断或降级启动。

12、与现有技术相比,本发明的有益效果至少如下所述:

13、本申请通过将硬件根密钥、设备标识、程序安全版本号、物理块组信息及纠错余量等级共同输入密钥派生函数,为各程序分段生成相互独立的加载密钥,实现了密钥与设备身份、物理位置及介质健康状态的深度绑定,有效抵御了固件克隆攻击并避免了因坏块重映射导致备份固件无法解密的困境。

14、本申请通过读取一次性可编程存储器的位计数确定最低允许版本号,结合镜像版本副本、坏块表、块擦写次数、掉电日志和纠错余量构建约束张量生成候选版本状态图,综合版本单调权重、多副本一致权重和状态转移权重执行约束裁决,既确保了版本升级的单向性和不可回退性,又能够根据存储介质的实际物理健康状况动态选择最优加载路径。

15、本申请通过一次性可编程存储器预提交和非易失性存储介质镜像确认的双相提交机制利用物理单向特性确保版本记录不可逆,结合安全类与介质类失败的差异化处置策略及坏块黑名单动态更新,有效防止了固件回滚攻击,提升了存储控制芯片在复杂物理环境下的固件安全防护能力和系统启动可靠性。

1.一种存储控制芯片的固件加密加载与回滚防护方法,其特征在于,所述方法包括:

2.根据权利要求1所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,步骤s1包括:

3.根据权利要求1所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,步骤s2中生成候选版本状态图,包括:

4.根据权利要求3所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,步骤s2中确定允许加载版本集合和最低可信安全版本包括:

5.根据权利要求1所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,步骤s3中生成认证分段有向无环图,包括:

6.根据权利要求1所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,步骤s3中生成控制程序启动拓扑序列,包括:

7.根据权利要求1所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,步骤s4中对所述最低可信安全版本进行校验,包括:

8.根据权利要求1所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,步骤s4中执行回滚阻断或降级启动,包括:

9.根据权利要求8所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,根据失败原因类型选择加载预置的备用控制程序或进入只读维护模式,包括:

10.一种存储控制芯片的固件加密加载与回滚防护系统,用于实现如权利要求1-9中任一项所述的存储控制芯片的固件加密加载与回滚防护方法,其特征在于,所述系统包括: