System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及固件安全,尤其涉及一种固件安全防护及升级方法、系统、设备及介质。
技术介绍
1、安全存储设备是一类用于存储重要安全信息的嵌入式设备,如密码钥匙、涉密专用u盘、密码卡、加密卡等,这些设备需要确保数据的真实性、机密性、完整性、可用性和可靠性。安全存储设备在正常工作前会经过固件加载的动作,只有将设备所需的固件加载后设备才能正常工作;在运行过程或关机时还会涉及升级新固件的操作。
2、现有技术方案在固件加载时通常不会做任何处理,直接boot引导加载存储在flash中的固件,将固件加载到ram中运行。在升级新固件时,通常会重新烧写芯片或者采用升级工具,将明文固件直接烧录到特定区域。
3、但是,如果存储flash的固件内容被恶意篡改,设备加载恶意篡改后的固件后运行会导致未知错误发生,如信息泄露、信息破坏、信息丢失等,会造成非常严重的存储安全问题。另外,在升级新固件时,如果设备在客户手中就需要返厂烧写,这就会增加升级的成本。采用特殊升级工具可极大的节省升级成本,但现有方案不能确保固件传输的准确性。新固件的分发也存在一定的被篡改风险。
技术实现思路
1、针对现有技术的上述不足,本申请提供一种固件安全防护及升级方法、系统、设备及介质,以解决现有的固件防护存在被恶意篡改的问题、固件升级成本较高或存在准确性难以保证以及被篡改的风险。
2、第一方面,本申请提供了一种固件安全防护及升级方法,方法包括:在固件对应预设加载设备的boot中加入预设认证校验算法,在加载固
3、进一步地,对固件进行预设认证校验算法的校验,具体包括:将固件对应的固件版本信息输入预设认证校验算法,获得输出的第一校验值;读取固件存储在预设区域的第二校验值;当第一校验值与第二校验值一致时,校验成功;否则,校验失败。
4、进一步地,加密数据还包括明文文件头、明文文件校验值;通过加密工具对新版固件文件进行加密处理,获得预设加密文件格式的加密数据,具体包括:获取新版固件文件的配置信息;其中,配置信息至少包括:固件版本信息、匹配产品信息;将配置信息作为加密数据的明文文件头;利用预设加密算法,对新版固件文件进行加密处理,获得密文固件文件;将新版固件文件输入预设校验算法,获得密文固件文件校验值;将明文文件头、密文固件文件、密文固件文件校验值作为整体输入预设校验算法,获得明文文件校验值。
5、进一步地,通过升级工具对加密数据进行校验,具体包括:读取加密数据中的明文文件头、明文文件校验值;确定当前固件对应的版本信息是否低于明文文件头中的固件版本信息;确定当前固件对应的产品是否属于明文文件头中的匹配产品信息;当低于明文文件头中的固件版本信息且属于明文文件头中的匹配产品信息时,初步匹配成功;否则,初步匹配失败,结束流程;在初步匹配成功后,将加密数据中非明文文件校验值部分输入预设校验算法,获得第一校验码;当第一校验码与明文文件校验值一致时,确定校验成功;否则,校验失败。
6、进一步地,升级工具与原固件对应的硬件设备进行双向认证,具体包括:升级工具生成随机数,随第一条指令下发至硬件设备;当硬件设备接收到rb时,产生随机数ra,获得字符串ra||rb;通过第一预设认证密钥对字符串ra||rb进行加密,获得;其中,||表示连接;将返回升级工具,升级工具通过第一预设认证密钥解密获得第一解密字符串;当第一解密字符串中不包含rb时,再次生成随机数,随第一条指令下发至硬件设备;当解密字符串中包含rb时,升级工具获得ra⊕rb;其中,⊕表示xor运算;并通过第二预设认证密钥对ra⊕rb进行加密,获得;随第二条指令下发至硬件设备;硬件设备通过第二预设认证密钥对进行解密获得第二解密字符串;当硬件设备确定第二解密字符串为ra⊕rb时,双向认证成功;否则,双向认证失败。
7、进一步地,通过预设升级程序解密密文固件文件,获得新版固件文件,将新版固件文件写入预设备份区,回读写入的新版固件文件,生成二次校验码,具体包括:预设升级程序调用预设加密算法对应的解密算法,解密密文固件文件,获得新版固件文件;将新版固件文件写入预设备份区,回读写入的新版固件文件;将回读的新版固件文件输入预设校验算法,获得二次校验码。
8、第二方面,本申请提供了一种固件安全防护及升级系统,系统包括:加载校验组件,用于在固件对应预设加载设备的boot中加入预设认证校验算法,在加载固件运行前,对固件进行预设认证校验算法的校验;上位机软件,且上位机软件包括加密工具和升级工具;加密工具,用于当校验成功且进行新版固件文件加密时,预设加载设备运行上位机软件中的加密工具,通过加密工具对新版固件文件进行加密处理,获得预设加密文件格式的加密数据;升级工具,用于当校验成功且进行新版固件文件安装时,预设加载设备运行上位机软件中的升级工具,通过升级工具对加密数据进行校验,当校验成功后,升级工具与原固件对应的硬件设备进行双向认证,当认证成功后,升级工具将加密数据中的密文固件文件校验值、密文固件文件下发至预设升级组件;预设升级组件,用于解密密文固件文件,获得新版固件文件,将新版固件文件写入预设备份区,回读写入的新版固件文件,生成二次校验码;当二次校验码与密文固件文件校验值一致时,反馈校验成功至升级工具;同时改写标志位,完成升级。
9、进一步地,升级工具包括双向认证单元,用于生成随机数,随第一条指令下发至硬件设备;当硬件设备接收到rb时,产生随机数ra,获得字符串ra||rb;通过第一预设认证密钥对字符串ra||rb进行加密,获得;其中,||表示连接;获得返回的,通过第一预设认证密钥解密获得第一解密字符串;当第一解密字符串中不包含rb时,再次生成随机数,随第一条指令下发至硬件设备;当解密字符串中包含rb时,获得ra⊕rb;其中,⊕表示xor运算;并通过第二预设认证密钥对ra⊕rb进行加密,获得;随第二条指令下发至硬件设备;硬件设备通过第二预设认证密钥对进行解密获得第二解密字符串;当硬件设备确定第二解密字符串为ra⊕rb时,双向认证成功;否则,双向认证失败。
10、第三方面,本申请提供了一种固件安全防护及升级设备,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述本文档来自技高网...
【技术保护点】
1.一种固件安全防护及升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的固件安全防护及升级方法,其特征在于,对固件进行预设认证校验算法的校验,具体包括:
3.根据权利要求1所述的固件安全防护及升级方法,其特征在于,加密数据还包括明文文件头、明文文件校验值;
4.根据权利要求1所述的固件安全防护及升级方法,其特征在于,通过升级工具对加密数据进行校验,具体包括:
5.根据权利要求1所述的固件安全防护及升级方法,其特征在于,升级工具与原固件对应的硬件设备进行双向认证,具体包括:
6.根据权利要求1所述的固件安全防护及升级方法,其特征在于,通过预设升级程序解密密文固件文件,获得新版固件文件,将新版固件文件写入预设备份区,回读写入的新版固件文件,生成二次校验码,具体包括:
7.一种固件安全防护及升级系统,其特征在于,所述系统包括:
8.根据权利要求7所述的固件安全防护及升级系统,其特征在于,升级工具包括双向认证单元,
9.一种固件安全防护及升级设备,其特征在于,所述设备包括:
...【技术特征摘要】
1.一种固件安全防护及升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的固件安全防护及升级方法,其特征在于,对固件进行预设认证校验算法的校验,具体包括:
3.根据权利要求1所述的固件安全防护及升级方法,其特征在于,加密数据还包括明文文件头、明文文件校验值;
4.根据权利要求1所述的固件安全防护及升级方法,其特征在于,通过升级工具对加密数据进行校验,具体包括:
5.根据权利要求1所述的固件安全防护及升级方法,其特征在于,升级工具与原固件对应的硬件设备进行双向认证,具体包括:
6.根据权利要求1所述的固...
【专利技术属性】
技术研发人员:鲁法利,苗功勋,牛余晓,侯勇勇,张智成,张雷,徐宁,
申请(专利权)人:中孚信息股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。