一种软件版本签名机制的制作方法

文档序号:12491118阅读:来源:国知局

技术特征:

1.一种软件版本签名机制,其特征在于,所述机制包括如下步骤:

(1)每个项目的软件版本生成一个唯一的密钥对;

(2)项目软件版本生成验证信息;

(3)软件升级过程中版本文件验证。

2.根据权利要求1所述的签名机制,其特征在于,所述密钥对的生成步骤如下:步骤11,基于RSA算法生成一对公钥与私钥,即(n,e1)为公钥,(n,e2)为公钥;步骤12,将上述生成的密钥对与现有项目软件所用的密钥对做对比,确认是否已经存在,若存在,则重复步骤11,直到生成唯一的密钥对。

3.根据权利要求1所述的签名机制,其特征在于,所述软件版本生成的验证信息包括软件信息密文和硬件信息密文。

4.根据权利要求3所述的签名机制,其特征在于,所述软件信息密文生成步骤如下:

步骤21,读取软件版本中一个镜像文件一定长度的内容,通过所述密钥对读取的内容加密,产生该镜像文件相对应的密文;

步骤22,按照步骤21操作完成该镜像文件相应的密文。

5.根据权利要求3所述的签名机制,其特征在于,所述硬件信息密文生成步骤如下:

步骤23,配置项目的硬件信息;

步骤24,根据硬件信息组合成独有字符串信息;

步骤25,所述字符串信息经过MD5加密,产生硬件信息密文长度为32位。

6.根据权利要求1所述的签名机制,其特征在于,软件版本生成验证信息还包括验证信息文件安装一定数据格式的生成,其步骤如下:

步骤26,将所述生成的公钥写入验证信息文件,长度为8个字节,占16字节空间,剩余的8个字节作为保留空间;

步骤27,将所述生成的硬件信息密文按16进制写入验证信息文件;

步骤28,将所述生成所有的软件信息文件的密文按照flash分区表对应文件顺序写入验证信息文件。

7.根据权利要求6所述的签名机制,其特征在于,生成的验证信息文件整合软件版本一起分布,在flash上为其划分一个分区。

8.根据权利要求1所述的签名机制,其特征在于,所述签名版本文件验证包括设备中软件版本的验证、对升级软件版本的验证、设备硬件信息的验证和软件版本的验证。

9.根据权利要求8所述的签名机制,其特征在于,所述设备中软件版本的验证过程为:

步骤30,在升级流程中,先判断设备中版本是否是软件签名版本;

步骤31,设备现有软件是非签名版本,直接升级软件版本;

步骤32,设置现有软件是签名版本,然后进入签名版本验证流程。

10.根据权利要求8所述的签名机制,其特征在于,所述升级软件版本的验证过程为:

步骤33,将升级版本下载到设备内存;

步骤34,判断设备软件是签名版本;

步骤34,从升级版本解析出权利要求6生成验证信息文件;

步骤35,如果没有解析出验证信息文件文件,则升级版本验证失败,放弃升级;

步骤36,从rsa.bin文件中,解析出权利要求2生成公钥(n,e2);

步骤37,从设备flash解析出该项目公钥,与步骤36中得到的公钥对比,相同,则代码升级软件版本可以升级,否则放弃升级。

11.根据权利要求8所述的签名机制,其特征在于,所述设备硬件信息的验证的验证过程为:

步骤40,进入升级流程,读取设备硬件信息;

步骤41,根据硬件信息组合成独有字符串信息;

步骤42,字符串信息经过MD5加密;

步骤43,从rsa.bin文件中,读出硬件信息的密文,与步骤43得到的密文对比,若相等,则设备硬件信息检测通过,否则,退出升级流程。

12.根据权利要求8所述的签名机制,其特征在于,所述软件版本的验证过程;

步骤44,权利要求10,11,12验证通过后,获取该软件版本的公钥。可以从设备中验证信息文件在的分区读取,也可以从升级版本文件rsa.bin中读取;

步骤45,读取rsa.bin中对应版本文件特定的一段密文;

步骤46,用公钥解密出这段密文,得到相应的明文;

步骤47,明文与密文相对应的版本文件比较,若相同,则说明该版本文件验证通过,反之,该版本文件验证失败,升级失败,推出升级;

步骤48,按照步骤46,47逐个验证版本软件中所有文件,所有文件验证通过说明该版本软件可以在该设备上升级。

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