System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及程序验证,具体涉及一种物联电能表的程序合法性验证方法、装置、设备及介质。
技术介绍
1、目前国网物联电能表的程序包含负责启动操作系统并使操作系统运行的启动引导程序,然而,当前没有能验证物联电能表启动引导程序合法性的技术手段,使物联电能表在面对恶意篡改启动引导程序的行为时不能做出有效防护,因此,对于物联电能表这种安全级别高的设备,亟需一种能验证其启动引导程序合法性的技术方案。
技术实现思路
1、鉴于以上问题,本申请提供一种物联电能表的程序合法性验证方法,以解决上述技术问题。
2、第一方面,本申请提供一种物联电能表的程序合法性验证方法,应用于物联电能表操作系统的启动层,包括:
3、获取启动引导程序,利用sm3算法,根据所述启动引导程序和所述启动引导程序的字节长度获得所述启动引导程序的hash值;
4、将所述hash值和所述启动引导程序中预设的验证数据写入所述物联电能表的esam芯片,以通过所述esam芯片验证所述启动引导程序的合法性。
5、在一些实施例中,所述获取启动引导程序的步骤,包括:
6、从所述启动引导程序的初始地址开始读取i次所述启动引导程序,每次读取64字节的所述启动引导程序,所述i≥1;
7、使用二进制数将第i次读取的所述启动引导程序填充至64字节。
8、在一些实施例中,所述启动引导程序中预设的验证数据包括:
9、所述启动引导程序的数字签名和所述启动引导程序的证书序列号
10、在一些实施例中,所述将所述hash值和所述启动引导程序中预设的验证数据写入所述物联电能表的esam芯片,以通过所述esam芯片验证所述启动引导程序的合法性的步骤之后,包括:
11、判断所述启动引导程序的合法性,若所述启动引导程序合法,则运行所述启动引导程序;
12、若所述启动引导程序不合法,则获取并运行备份的启动引导程序。
13、在一些实施例中,所述判断所述启动引导程序的合法性的步骤,还包括:
14、若所述启动引导程序合法,则备份所述启动引导程序。
15、在一些实施例中,所述获取启动引导程序,利用sm3算法,根据所述启动引导程序和所述启动引导程序的字节长度获得所述启动引导程序的hash值的步骤之前,还包括:
16、获取所述启动引导程序的字节长度;
17、判断所述启动引导程序的字节长度是否符合预设的字节长度,若所述启动引导程序的字节长度符合预设的字节长度,则执行步骤:获取启动引导程序,利用sm3算法,根据所述启动引导程序和所述启动引导程序的字节长度获得所述启动引导程序的hash值;
18、若所述启动引导程序的字节长度不符合预设的字节长度,则获取并运行备份的启动引导程序。
19、在一些实施例中,所述获取所述启动引导程序的字节长度的步骤之前,还包括:
20、编译所述启动引导程序以生成.bin格式的所述启动引导程序,将所述.bin格式的所述启动引导程序烧写至所述物联电能表的flash存储单元。
21、第二方面,本申请提供一种物联电能表的程序合法性验证装置,包括:
22、读取模块,用于获取启动引导程序,利用sm3算法,根据所述启动引导程序和所述启动引导程序的字节长度,获得所述启动引导程序的hash值;
23、验证模块,用于将所述hash值和所述启动引导程序中预设的验证数据写入所述物联电能表的esam芯片,以通过所述esam芯片验证所述启动引导程序的合法性。
24、第三方面,本申请提供一种电子设备,包括存储器和处理器,其中:
25、所述存储器用于存储计算机程序;
26、所述处理器用于读取所述存储器中的程序并执行如上述第一方面提供的物联电能表的程序合法性验证方法的步骤。
27、第四方面,本申请提供一种计算机可读存储介质,其上存储有可读的计算机程序,该程序被处理器执行时实现如上述第一方面提供的物联电能表的程序合法性验证方法的步骤。
28、本申请提供的一种物联电能表的程序合法性验证方法、装置、设备及介质,包括:获取启动引导程序,利用sm3算法,根据启动引导程序和启动引导程序的字节长度获得启动引导程序的hash值;将hash值和启动引导程序中预设的验证数据写入物联电能表的esam芯片,以通过esam芯片验证启动引导程序的合法性。本申请提供的物联电能表的程序合法性验证方法,将启动引导程序和启动引导程序的字节长度代入sm3算法,计算出启动引导程序的哈希值,并通过物联电能表的esam芯片验证启动引导程序的哈希值和启动引导程序中预设的验证数据,实现验证启动引导程序的合法性,解决了物联电能表启动引导程序能被恶意篡改的问题,提高了物联电能表安全性和可靠性。
29、本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
本文档来自技高网...【技术保护点】
1.一种物联电能表的程序合法性验证方法,其特征在于,应用于物联电能表操作系统的启动层,包括:
2.如权利要求1所述的物联电能表的程序合法性验证方法,其特征在于,所述获取启动引导程序的步骤,包括:
3.如权利要求1所述的物联电能表的程序合法性验证方法,其特征在于,所述启动引导程序中预设的验证数据包括:
4.如权利要求1所述的物联电能表的程序合法性验证方法,其特征在于,所述将所述HASH值和所述启动引导程序中预设的验证数据写入所述物联电能表的ESAM芯片,以通过所述ESAM芯片验证所述启动引导程序的合法性的步骤之后,包括:
5.如权利要求4所述的物联电能表的程序合法性验证方法,其特征在于,所述判断所述启动引导程序的合法性的步骤,还包括:
6.如权利要求1所述的物联电能表的程序合法性验证方法,其特征在于,所述获取启动引导程序,利用SM3算法,根据所述启动引导程序和所述启动引导程序的字节长度获得所述启动引导程序的HASH值的步骤之前,还包括:
7.如权利要求6所述的物联电能表的程序合法性验证方法,其特征在于,所述获取
8.一种物联电能表的程序合法性验证装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
10.一种计算机可读存储介质,其特征在于,其上存储有可读的计算机程序,该程序被处理器执行时实现如权利要求1~7任一所述的物联电能表的程序合法性验证方法的步骤。
...【技术特征摘要】
1.一种物联电能表的程序合法性验证方法,其特征在于,应用于物联电能表操作系统的启动层,包括:
2.如权利要求1所述的物联电能表的程序合法性验证方法,其特征在于,所述获取启动引导程序的步骤,包括:
3.如权利要求1所述的物联电能表的程序合法性验证方法,其特征在于,所述启动引导程序中预设的验证数据包括:
4.如权利要求1所述的物联电能表的程序合法性验证方法,其特征在于,所述将所述hash值和所述启动引导程序中预设的验证数据写入所述物联电能表的esam芯片,以通过所述esam芯片验证所述启动引导程序的合法性的步骤之后,包括:
5.如权利要求4所述的物联电能表的程序合法性验证方法,其特征在于,所述判断所述启动引导程序的合法性的步骤...
【专利技术属性】
技术研发人员:邓晖,刘鑫,何建能,李志勇,
申请(专利权)人:深圳市科陆电子科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。