System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及边界安全,具体而言,涉及一种安全增量升级方法、装置、电子设备及存储介质。
技术介绍
1、网络安全设备或嵌入式设备使用存储卡、硬盘存储系统版本等文件,通常被压缩、加密成一个或多个版本包,在linux系统启动时,将解密、解压版本包,并拷贝到虚拟内存盘中,供设备系统使用。
2、但是在设备系统集成测试阶段、运维阶段,处理紧急故障时,需要重新生成版本包并升级设备系统,耗费较长时间。特别地,在解决一些用户特殊需求时,例如调整web管理页面字符的大小等问题时,也需要进行全系统升级,从而不利于快速实现升级。
技术实现思路
1、本申请实施例的目的在于提供一种安全增量升级方法、装置、电子设备及存储介质,将升级包直接存储至子目录中,并利用开链哈希表对子目录进行管理,无需重新生成升级包,可实现快速升级,解决了现有方法需要重新生成升级包导致升级效率低的问题。
2、本申请实施例提供了一种安全增量升级方法,所述方法包括:
3、读取增量升级目录中的子目录,每个子目录中存储一个增量升级包;
4、将所述子目录按照优先级顺序存储至预先建立的开链哈希表中;
5、获取所述开链哈希表中优先级最高的可升级增量升级包;
6、对所述可升级增量升级包的证书和签名进行合法验证;
7、验证合法后,对所述可升级增量升级包进行加载运行。
8、在上述实现过程中,将升级包直接存储至子目录中,并利用开链哈希表对子目录进行管理,无需重新生成升级
9、进一步地,在所述读取增量升级目录中的子目录的步骤之前,所述方法还包括:
10、对子目录按照类别、优先级、时间和升级信息进行命名:
11、所述类别包括0和1,0表示不升级当前目录,1表示升级当前目录;
12、所述优先级包括0-9,其中,0表示最高级、最先加载,9表示最低优先级、最后加载。
13、在上述实现过程中,对子目录按照类别、优先级、时间和升级信息进行命名,以便在开链哈希表中进行分类存储。
14、进一步地,所述将所述子目录按照优先级顺序存储至预先建立的开链哈希表中,包括:
15、将不升级子目录存储至所述开链哈希表中的第一个节点中;
16、按照优先级从高到低对应的key值将子目录排序存储至开链哈希表剩余各个节点中,每个节点包含一个链表数组,所述链表数组中存储key值相同的多个子目录,且所述多个子目录按照时间排序存储。
17、在上述实现过程中,将升级包按照按分类、优先级、时间等对子目录进行分类存储,以便快速确定可升级增量包和不升级增量包。
18、进一步地,所述对所述可升级增量升级包的证书和签名进行合法验证,包括:
19、验证可升级增量升级包中的证书的有效期、是否被吊销、是否为信任的ca以及数字证书的签名;
20、获得可升级增量升级包中的增量升级脚本、升级文件和公钥证书的第一哈希值;
21、利用公钥解密签名文件获得第二哈希值;
22、对所述第一哈希值和第二哈希值进行对比验证。
23、在上述实现过程中,通过对证书和签名进行验证,保证了升级包来源的合法性。
24、本申请实施例还提供一种安全增量升级装置,所述装置包括:
25、读取模块,用于读取增量升级目录中的子目录,每个子目录中存储一个增量升级包;
26、升级目录信息管理模块,用于将所述子目录按照优先级顺序存储至预先建立的开链哈希表中;
27、升级包获取模块,用于获取所述开链哈希表中优先级最高的可升级增量升级包;
28、检验模块,用于对所述可升级增量升级包的证书和签名进行合法验证;
29、加载模块,用于验证合法后,对所述可升级增量升级包进行加载运行。
30、在上述实现过程中,将升级包直接存储至子目录中,并利用开链哈希表对子目录进行管理,无需重新生成升级包,并可通过开链哈希表快速获得可升级增量包和不升级增量包,实现快速升级,解决了现有方法需要重新生成升级包导致升级效率低的问题。
31、进一步地,所述装置还包括命名模块,用于:
32、对子目录按照类别、优先级、时间和升级信息进行命名:
33、所述类别包括0和1,0表示不升级当前目录,1表示升级当前目录;
34、所述优先级包括0-9,其中,0表示最高级、最先加载,9表示最低优先级、最后加载。
35、在上述实现过程中,对子目录按照类别、优先级、时间和升级信息进行命名,以便在开链哈希表中进行分类存储。
36、进一步地,所述升级目录信息管理模块包括:
37、存储模块,用于将不升级子目录存储至所述开链哈希表中的第一个节点中;
38、开链哈希表建立模块,用于按照优先级从高到低对应的key值将子目录排序存储至开链哈希表剩余各个节点中,每个节点包含一个链表数组,所述链表数组中存储key值相同的多个子目录,且所述多个子目录按照时间排序存储。
39、在上述实现过程中,将升级包按照按分类(不升级子目录和可升级子目录)、优先级、时间等对子目录进行分类存储,以便快速确定可升级增量包和不升级增量包。
40、进一步地,所述检验模块包括:
41、证书验证模块,用于验证可升级增量升级包中的证书的有效期、是否被吊销、是否为信任的ca以及数字证书的签名;
42、第一哈希值获取模块,用于获得可升级增量升级包中的增量升级脚本、升级文件和公钥证书的第一哈希值;
43、第二哈希值获取模块,用于利用公钥解密签名文件获得第二哈希值;
44、哈希值验证模块,用于对所述第一哈希值和第二哈希值进行对比验证。
45、在上述实现过程中,通过对证书和签名进行验证,保证了升级包来源的合法性。
46、本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行上述中任一项所述的安全增量升级方法。
47、本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的安全增量升级方法。
本文档来自技高网...【技术保护点】
1.一种安全增量升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的安全增量升级方法,其特征在于,在所述读取增量升级目录中的子目录的步骤之前,所述方法还包括:
3.根据权利要求2所述的安全增量升级方法,其特征在于,所述将所述子目录按照优先级顺序存储至预先建立的开链哈希表中,包括:
4.根据权利要求1所述的安全增量升级方法,其特征在于,所述对所述可升级增量升级包的证书和签名进行合法验证,包括:
5.一种安全增量升级装置,其特征在于,所述装置包括:
6.根据权利要求5所述的安全增量升级装置,其特征在于,所述装置还包括命名模块,用于:
7.根据权利要求6所述的安全增量升级装置,其特征在于,所述升级目录信息管理模块包括:
8.根据权利要求5所述的安全增量升级装置,其特征在于,所述检验模块包括:
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行根据权利要求1至4中任一项所述的安全增量升级方法。
...【技术特征摘要】
1.一种安全增量升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的安全增量升级方法,其特征在于,在所述读取增量升级目录中的子目录的步骤之前,所述方法还包括:
3.根据权利要求2所述的安全增量升级方法,其特征在于,所述将所述子目录按照优先级顺序存储至预先建立的开链哈希表中,包括:
4.根据权利要求1所述的安全增量升级方法,其特征在于,所述对所述可升级增量升级包的证书和签名进行合法验证,包括:
5.一种安全增量升级装置,其特征在于,所述装置包括:
6.根据权利要求5所述的安全增量升级装置,其特征在于,所述装置还包...
【专利技术属性】
技术研发人员:李仁江,杨斌,
申请(专利权)人:北京天融信网络安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。