一种控制器启动方法、装置、电子设备及储存介质与流程

文档序号:33767631发布日期:2023-04-18 20:11阅读:32来源:国知局
一种控制器启动方法、装置、电子设备及储存介质与流程

本技术涉及控制器,具体涉及一种控制器启动方法、装置、电子设备及储存介质。


背景技术:

1、目前,主流的嵌入式设备都采用soc(system on a chip,可编程片上系统)作为其嵌入式系统。在soc启动过程中存在一定的安全风险,恶意软件有可能会修改引导加载程序等固件。比如,使soc受到木马攻击。木马等恶意软件通过修改系统的启动过程,安装到系统内以达到持久驻留系统的目的,soc一旦受到木马等恶意代码感染,即使重新安装系统也无法清除。因此有必要对soc进行安全保护,防止在启动过程中固件被恶意篡改。

2、相关技术中,通过采用tpm(trusted platform module,外接可信平台模块)实现可信启动,但是采用tpm增加了硬件成本且系统集成度低,并且对控制器启动过程无法进行校验,因此安全性较低。


技术实现思路

1、本技术针对现有的问题,提出了一种控制器启动方法、装置、电子设备及储存介质,具体技术方案如下:

2、在本技术实施例的第一方面,提供一种控制器启动方法,所述方法包括:

3、按照加载运行顺序,对安全启动信任链上各级固件的启动镜像文件逐级进行安全校验;

4、在所述逐级安全校验通过的情况下,逐级加载运行所述各级固件的启动镜像文件,以引导所述控制器完成启动;

5、在所述逐级安全校验未通过的情况下,禁止加载运行不安全固件的启动镜像文件,并终止启动所述控制器。

6、可选地,对安全启动信任链上各级固件的启动镜像文件逐级进行安全校验的步骤包括:

7、对所述安全启动信任链上第一等级固件的启动镜像文件进行合法性校验和完整性校验;

8、在所述第一等级固件的启动镜像文件通过所述合法性校验和完整性校验的情况下,再对所述安全启动信任链上的多个第二等级固件的启动镜像文件进行合法性校验和完整性校验;其中,所述第一等级固件的执行权限高于所述第二等级固件的执行权限。

9、可选地,对所述安全启动信任链上第一等级固件的启动镜像文件进行合法性校验和完整性校验的步骤包括:

10、读取所述第一等级固件的启动镜像文件、所述启动镜像文件对应的目标签名文件和启动校验公钥;

11、根据所述启动校验公钥对所述目标签名文件进行解密,获得第一哈希值,并对所述启动镜像文件进行哈希运算,获得第二哈希值:

12、比较所述第一哈希值和所述第二哈希值;

13、在所述第一哈希值和所述第二哈希值相同的情况下,确定所述第一等级固件的启动镜像文件通过合法性校验;

14、在所述第一哈希值和所述第二哈希值不同的情况下,确定所述第一等级固件的启动镜像文件未通过合法性校验;

15、读取公钥摘要,并根据所述公钥摘要对所述第一等级固件的启动镜像文件进行完整性校验。

16、可选地,所述第一等级固件的启动镜像文件对应的目标签名文件和启动校验公钥是通过以下步骤获得的;

17、对所述第一等级固件的启动镜像文件,采用非对称加密算法和启动校验私钥进行加密,生成所述第一等级固件的启动镜像文件对应的目标签名文件;

18、在所述非对称加密算法中输入的所述启动校验私钥,生成所述启动校验公钥。

19、可选地,所述启动校验私钥是通过以下步骤获得的:

20、生成工厂安全密钥配置私钥;

21、输入所述工厂安全密钥配置私钥的二进制数据和纯文本熔断机制数据,并进行整理和排列,获得目标密钥数据;

22、对所述目标密钥数据进行加密,生成所述启动校验私钥。

23、可选地,在对所述目标密钥数据进行加密,生成所述启动校验私钥的步骤之后,所述方法还包括:

24、将所述启动校验私钥、所述第一等级固件的启动镜像文件对应的目标签名文件以及所述启动校验公钥写入熔断保护区域中进行储存,并同时向所述熔断保护区域写入熔断指令,其中,所述熔断保护区域位于所述第一等级固件的一次性可编程区域中。

25、可选地,所述方法还包括:

26、所述熔断保护区域在接收到所述熔断指令之后,变更其标志位的状态,并且只响应数据读取请求,不响应数据写入请求。

27、在本技术实施例的第二方面,提供一种操作系统启动装置,所述装置包括:

28、校验模块,用于按照加载运行顺序,对安全启动信任链上各级固件的启动镜像文件逐级进行安全校验;

29、第一执行模块,用于在所述逐级安全校验通过的情况下,逐级加载运行所述各级固件的启动镜像文件,以引导所述控制器完成启动;

30、第二执行模块,用于在所述逐级安全校验未通过的情况下,禁止加载运行不安全固件的启动镜像文件,并终止启动所述控制器。

31、可选地,校验模块包括:

32、第一校验子模块,用于对所述安全启动信任链上第一等级固件的启动镜像文件进行合法性校验和完整性校验;

33、第二校验子模块,用于在所述第一等级固件的启动镜像文件通过所述合法性校验和完整性校验的情况下,再对所述安全启动信任链上的多个第二等级固件的启动镜像文件进行合法性校验和完整性校验;其中,所述第一等级固件的执行权限高于所述第二等级固件的执行权限。

34、可选地,第一校验子模块包括:

35、读取单元,用于读取所述第一等级固件的启动镜像文件、所述启动镜像文件对应的目标签名文件和启动校验公钥;

36、计算单元,用于根据所述启动校验公钥对所述目标签名文件进行解密,获得第一哈希值,并对所述启动镜像文件进行哈希运算,获得第二哈希值:

37、比较单元,用于比较所述第一哈希值和所述第二哈希值;

38、第一判断单元,用于在所述第一哈希值和所述第二哈希值相同的情况下,确定所述第一等级固件的启动镜像文件通过合法性校验;

39、第二判断单元,用于在所述第一哈希值和所述第二哈希值不同的情况下,确定所述第一等级固件的启动镜像文件未通过合法性校验;

40、第三判断单元,用于读取公钥摘要,并根据所述公钥摘要对所述第一等级固件的启动镜像文件进行完整性校验。

41、可选地,第一校验子模块还包括第一加密单元,第一加密单元包括:

42、第一加密子单元,用于对所述第一等级固件的启动镜像文件,采用非对称加密算法和启动校验私钥进行加密,生成所述第一等级固件的启动镜像文件对应的目标签名文件;

43、第二加密子单元,用于在所述非对称加密算法中输入的所述启动校验私钥,生成所述启动校验公钥。

44、可选地,第一校验子模块还包括第二加密单元,第二加密单元包括:

45、私钥生成子单元,用于生成工厂安全密钥配置私钥;

46、私钥整理子单元,用于输入所述工厂安全密钥配置私钥的二进制数据和纯文本熔断机制数据,并进行整理和排列,获得目标密钥数据;

47、私钥加密子单元,用于对所述目标密钥数据进行加密,生成所述启动校验私钥。

48、可选地,第一校验子模块还包括写入单元,写入单元包括:

49、信息发送子单元,用于将所述启动校验私钥、所述第一等级固件的启动镜像文件对应的目标签名文件以及所述启动校验公钥写入熔断保护区域中进行储存,并同时向所述熔断保护区域写入熔断指令,其中,所述熔断保护区域位于所述第一等级固件的一次性可编程区域中。

50、在本技术实施例的第三方面,提供一种电子设备,该设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现上述第一方面所述的方法。

51、在本技术实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现上述第一方面所述的方法。

52、本发明实施例包括以下优点:首先,按照加载运行顺序,对安全启动信任链上各级固件的启动镜像文件逐级进行安全校验,然后,在所述逐级安全校验通过的情况下,逐级加载运行所述各级固件的启动镜像文件,以引导所述控制器完成启动,或者在所述逐级安全校验未通过的情况下,禁止加载运行不安全固件的启动镜像文件,并终止启动所述控制器。在本技术中,通过构建信任链,每个固件在加载运行前都经过验证,只有当前阶段对后续待启动的固件进行验证通过后,才会加载和执行后续的模块,从而确保固件是可信的,并且保证了再控制器启动过程中的安全性。

53、在本技术的其他实施例中,通过将所述启动校验私钥、所述第一等级固件的启动镜像文件对应的目标签名文件以及所述启动校验公钥写入熔断保护区域中进行储存,保证了数据的唯一性,并且不可被破解。

54、在本技术的其他实施例中,通过使用安全可信的硬件加密模块生成公私钥对,保证私钥不出hsm模块,而是在模块内存储,仅开放了调用加密和解密的接口,从而保证了密钥的安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1