System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机安全,尤其涉及一种启动验证方法及相关装置。
技术介绍
1、为了确保电子设备在启动过程中的安全性,通常采用安全启动技术进行启动。安全启动技术是通过密码学的方法来保护电子设备在启动过程中启动代码的完整性。在安全启动过程中,芯片内部的安全引导代码先基于密码算法对待加载的程序的镜像文件进行验证,验证通过后才加载该程序的镜像文件。这样,基于安全启动技术,能够确保电子设备在启动过程中所加载的程序的镜像文件的完整性和合法性。
2、目前,电子设备内通常只使用一种密码算法来执行安全启动。然而,随着密码算法的快速发展,未来将会推出安全性更高的新的密码算法,例如后量子密码算法。
3、因此,基于现有的安全启动方式,电子设备只能够通过一种密码算法来执行安全启动,无法应用其他的密码算法来执行安全启动,导致电子设备难以满足更高的安全性需求。
技术实现思路
1、本申请提供了一种启动验证方法,通过在电子设备中设置算法选择标识来指示电子设备在启动过程中所采用的算法,使得电子设备在支持多种算法的基础上能够基于算法选择标识来选择相应的算法来执行启动,提高电子设备在启动过程中的灵活性,保证电子设备能够满足密码算法的安全性演进需求。
2、本申请第一方面提供一种启动验证方法,应用于具有安全启动功能的电子设备,例如具体应用于电子设备中的soc。以启动验证方法应用于电子设备中的soc为例,该方法具体包括:在电子设备上电后,soc获取算法选择标识,以确定在启动过程中用于验证启动固件
3、然后,基于算法选择标识,soc采用目标算法对启动固件进行验证,其中目标算法是多种算法中与算法选择标识对应的算法。即,soc基于算法选择标识,从电子设备所支持的多种算法中选择其中的目标算法来对启动固件进行验证。
4、本方案中,通过在电子设备中设置算法选择标识来指示电子设备在启动过程中所采用的算法,使得电子设备在支持多种算法的基础上能够基于算法选择标识来选择相应的算法来执行启动,提高电子设备在启动过程中的灵活性,保证电子设备能够满足密码算法的安全性演进需求。
5、在一种可能的实现方式中,算法选择标识通过至少一个比特位来表示,至少一个比特位的值用于指示电子设备在启动阶段所采用的算法。也就是说,至少一个比特位通过不同的值来表示不同的算法。基于预设存储介质中至少一个比特位的值,soc能够唯一地确定一种算法,即目标算法。
6、本方案中,通过比特位来表示算法选择标识,能够尽可能在减少对现有技术的改动的情况下,简单有效地实现启动过程中验证算法的选择,提高了方案的可实现性。
7、在一种可能的实现方式中,至少一个比特位位于预设存储介质中,预设存储介质为以下存储介质中的任意一种或多种:电熔丝efuse、带电可擦可编程只读存储器eeprom或闪存flash。
8、在一种可能的实现方式中,在电子设备的运行阶段,soc接收标识更新请求并对标识更新请求进行验证,其中标识更新请求用于请求更新预设存储介质中的算法选择标识。在标识更新请求验证通过时,soc执行标识更新请求,以更新至少一个比特位的值。
9、本方案中,通过设计soc接收标识更新请求来更改算法选择标识的方式,能够有效地切换电子设备在启动过程中所使用的验证算法,提高方案的灵活性。
10、在一种可能的实现方式中,用于表示算法选择标识的至少一个比特位位于启动固件中的预设位置。即,启动固件中的一部分比特位用于表示算法选择标识,以指示对该启动固件进行验证的算法。
11、在一种可能的实现方式中,soc接收固件更新请求,该固件更新请求用于请求更新启动固件。在固件更新请求通过验证时,soc执行固件更新请求,以更新启动固件以及启动固件中的算法选择标识。
12、在一种可能的实现方式中,soc获取soc中的至少一个管脚的电平值,并根据预设的映射关系,获取电平值对应的算法选择标识,其中该映射关系用于指示管脚的电平值与算法选择标识的值之间的关系。例如,在预设的映射关系中,每个管脚对应于算法选择标识中的一个比特位;并且,当管脚的电平值为低电平时,该管脚在算法选择标识中对应的比特位的值为0;当管脚的电平值为高电平时,该管脚在算法选择标识中对应的比特位的值为1。这样,soc通过读取管脚的电平值,则能够获取到算法选择标识,从而确定对启动固件进行验证的算法。
13、本方案中,通过soc的至少一个管脚的电平值来确定对应的算法选择标识,能够实现由soc以外的其他器件来确定启动过程中的验证算法,提高方案的灵活性。
14、在一种可能的实现方式中,电子设备包括soc和可编程逻辑控制单元。soc中的至少一个管脚连接可编程逻辑控制单元,可编程逻辑控制单元用于控制输出至至少一个管脚的输出信号的电平值。
15、在一种可能的实现方式中,电子设备获取代码更新请求,该代码更新请求用于请求更新可编程逻辑控制单元所运行的代码;在代码更新请求验证通过时,电子设备执行代码更新请求,以更新可编程逻辑控制单元所运行的代码;其中,可编程逻辑控制单元用于通过运行代码来控制输出至至少一个管脚的输出信号的电平值。
16、在一种可能的实现方式中,目标算法包括后量子密码算法、rsa密码算法、椭圆曲线密码算法、sm2密码算法、哈希算法或对称分组密码算法。
17、本申请第二方面提供一种电子设备,包括:获取模块,用于在电子设备上电后,获取算法选择标识,算法选择标识用于指示电子设备在启动阶段所采用的算法,电子设备支持应用于启动阶段的多种算法;处理模块,用于基于算法选择标识,采用目标算法对启动固件进行验证,目标算法是多种算法中与算法选择标识对应的算法。
18、在一种可能的实现方式中,算法选择标识通过至少一个比特位来表示,至少一个比特位的值用于指示电子设备在启动阶段所采用的算法。
19、在一种可能的实现方式中,至少一个比特位位于预设存储介质中,预设存储介质为以下存储介质中的任意一种或多种:电熔丝efuse、带电可擦可编程只读存储器eeprom或闪存flash。
20、在一种可能的实现方式中,在电子设备的运行阶段,获取模块,还用于接收标识更新请求,标识更新请求用于请求更新预设存储介质中的算法选择标识;处理模块,还用于在标识更新请求验证通过时,执行标识更新请求,以更新至少一个比特位的值。
21、在一种可能的实现方式中,至少一个比特位位于启动固件中的预设位置。
22、在一种可能的实现方式中,获取模块,还用于接收固件更新请求,固件更新请求用于请求更新启动固件;处理模块,还用于在固件更新请本文档来自技高网...
【技术保护点】
1.一种启动验证方法,其特征在于,所述方法应用于电子设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述算法选择标识通过至少一个比特位来表示,所述至少一个比特位的值用于指示所述电子设备在启动阶段所采用的算法。
3.根据权利要求2所述的方法,其特征在于,所述至少一个比特位位于预设存储介质中,所述预设存储介质为以下存储介质中的任意一种或多种:电熔丝efuse、带电可擦可编程只读存储器EEPROM或闪存flash。
4.根据权利要求3所述的方法,其特征在于,在所述电子设备的运行阶段,所述方法还包括:
5.根据权利要求2所述的方法,其特征在于,所述至少一个比特位位于所述启动固件中的预设位置。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述获取算法选择标识,包括:
8.根据权利要求7所述的方法,其特征在于,所述电子设备包括所述SoC和可编程逻辑控制单元;
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
...【技术特征摘要】
1.一种启动验证方法,其特征在于,所述方法应用于电子设备,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述算法选择标识通过至少一个比特位来表示,所述至少一个比特位的值用于指示所述电子设备在启动阶段所采用的算法。
3.根据权利要求2所述的方法,其特征在于,所述至少一个比特位位于预设存储介质中,所述预设存储介质为以下存储介质中的任意一种或多种:电熔丝efuse、带电可擦可编程只读存储器eeprom或闪存flash。
4.根据权利要求3所述的方法,其特征在于,在所述电子设备的运行阶段,所述方法还包括:
5.根据权利要求2所述的方法,其特征在于,所述至少一个比特位位于所述启动固件中的预设位置。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述获取算法选择标识,包括:
8.根据权利要求7所述的方法,其特征在于,所述电子设备包括所述soc和可编程逻辑控制单元;
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1-9任意一项所述的方法,其特征在于,所述目标算法包括后量子密码算法、rsa密码算法、椭圆曲线密码算法、sm2密码算法、哈希算法或对称分组密码算法。
11.一种电子设备,其特征在于,包括:
12.根据权利要求11所述的电子设备,其特征在于,所述算法选择标识通过至少一个比...
【专利技术属性】
技术研发人员:陈诗平,邱兴盛,乔立忠,朱江波,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。