软件升级验证的方法和装置的制造方法

文档序号:9888009阅读:402来源:国知局
软件升级验证的方法和装置的制造方法
【技术领域】
[0001]本发明涉及软件升级技术领域,具体涉及一种软件升级验证的方法和装置。
【背景技术】
[0002]软件升级,是指在软件发行后,通过对程序的修改或加入新的功能后,使软件不断完善,将完善后的软件发布后,用户下载更新软件即完成软件升级。为了保护软件的版权、开发商及用户的权益,软件升级时往往需要升级验证。目前大部分软件产品的升级验证都采用账号密码这种比较单一的验证方式。这种验证方式存在账号被盗或者被篡改从而影响升级的风险。

【发明内容】

[0003]本发明实施例的目的在于克服现有技术的上述不足,提供一种软件升级验证的方法,可以提高软件升级验证过程的安全性。
[0004]本发明实施例的另一目的在于克服现有技术的上述不足,提供一种软件升级验证的装置,可以提高软件升级验证过程的安全性。
[0005]为了实现上述发明目的,本发明实施例的技术方案如下:
[0006]—种软件升级验证的方法,包括:检测软件的序列号是否正确;如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确;如果所述硬件ID正确,则检测授权文件的MD5值是否正确;如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;如果所述软件的序列号未被禁用,则升级所述软件。
[0007]进一步,还包括:生成所述授权文件的步骤,所述生成所述授权文件的步骤包括:根据所述软件的序列号获取软件信息;将所述软件信息、所述软件的序列号和所述软件的版本信息生成第一字符串;从所述第一字符串的第一个字符开始截取部分所述第一字符串;用第二字符串替换截取的部分所述第一字符串得到第三字符串,所述第二字符串的长度为N字节,所述第二字符串的长度和截取的部分所述第一字符串的长度相等;将所述第三字符串中的第N+1位字符A到最后一个字符中的所述第三字符串的字符依次替换为新的字符,得到第四字符串;将所述第四字符串保存为授权文件。
[0008]进一步,所述得到第四字符串的过程包括:将所述第三字符串中的第N+1位字符A的下标取模所述第二字符串的长度N,得到第一数值η;获得所述第二字符串的第n+1位字符B;将所述字符B转换为二进制数b;将所述字符A转换为二进制数a;将所述二进制数b和所述二进制数a进行按位异或操作,得到数值c;将所述数值c替换所述第三字符串的第N+1位字符A;循环上述过程直到所述第三字符串中的最后一个字符被替换。
[0009]进一步,还包括:生成所述硬件ID,所述生成所述硬件ID的过程包括:获取磁盘序列号,所述磁盘序列号为由字符组成的第一字符组;将所述第一字符组中相邻的两个字符的位置调换形成第二字符组;将所述第二字符组的部分字符进行字符过滤;将过滤后的部分字符作为所述硬件ID。
[0010]进一步:所述获取磁盘序列号的过程中,所述第一字符组的长度为m字节;所述将所述第一字符组中相邻的两个字符的位置调换形成第二字符组的过程包括:从所述第一字符组的第一个字符开始,以相邻的两个字符为一组,将所述一组内的所述两个字符的位置进行调换;所述将所述第二字符组的部分字节进行字符过滤的过程包括:逐一判断所述第二字符组的前X个字符是否为标准字符组中的字符,其中,o〈x Sm;将所述第二字符组的前X个字符中不属于所述标准字符组中的字符用预设字符替换形成所述过滤后的部分字符。
[0011]进一步,所述标准字符组中的字符包括:a?z、A?Z和O?9。
[0012]进一步,在所述软件升级验证之前,还包括:获取并保存所述授权文件的MD5值,所述授权文件的MD5值为所述第四字符串的MD5值。
[0013]进一步,在所述软件升级验证之前,还包括:存储所述软件的序列号;激活该软件,保存安装该软件的硬件的硬件ID,并将所述软件的序列号、授权密码和所述硬件ID绑定。
[0014]以及,一种软件升级验证的装置,包括:第一模块,用于检测软件的序列号是否正确;第二模块,用于如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确;第三模块,用于如果所述硬件ID正确,则检测授权文件的MD5值是否正确;第四模块,用于如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;第五模块,用于如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;第六模块,用于如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;第七模块,用于如果所述软件的序列号未被禁用,则升级所述软件。
[0015]进一步,还包括:第八模块,用于生成所述授权文件;第九模块,用于获取并保存所述授权文件的MD5值;第十模块,用于存储所述软件的序列号;第十一模块,用于激活该软件,保存安装该软件的硬件的硬件ID,并将所述软件的序列号、授权密码和所述硬件ID绑定。
[0016]本发明实施例的有益效果如下:
[0017]1、本发明实施例的软件升级验证的方法,在软件升级验证过程中,可以很方便实现基于标识的安全身份认证,结合硬件ID信息以及授权文件MD5信息,可以抵抗木马、口令字典等大部分攻击。
[0018]2、本发明实施例的软件升级验证的装置,在软件升级验证过程中,可以很方便实现基于标识的安全身份认证,结合硬件ID信息以及授权文件MD5信息,可以抵抗木马、口令字典等大部分攻击。
【附图说明】
[0019]图1是本发明实施例的软件升级验证的方法的流程图;
[0020]图2是本发明实施例的生成授权文件的方法的流程图;
[0021]图3是本发明实施例的软件升级验证的装置的结构示意图。
【具体实施方式】
[0022]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0023]本发明实施例提供了一种软件升级验证的方法。该软件升级验证的方法用于网络服务器侧。如图1所示,为本发明实施例的软件升级验证的方法的流程图。该方法的具体过程如下:
[0024]在升级验证该软件之前,该方法包括如下的过程:
[0025]步骤S10:存储该软件的序列号。
[0026]—般来说,在制作完成搭载该软件的产品(例如光盘、闪存等)后,网络服务器会预先存储该软件的序列号,以便后续可检测用户输入的软件的序列号是否正确。每一产品上搭载的软件具有不同的序列号,并且该软件的序列号和每一产品上搭载的软件唯一对应。该软件的序列号可以通过贴在产品的包装或者记载在说明书等方式以供用户获知该软件的序列号。
[0027]步骤S20:激活该软件,保存安装该软件的硬件的硬件ID,并将软件的序列号、授权密码和硬件ID绑定。
[0028]用户将该软件安装在硬件上后,可通过在网页上输入的方式将软件的序列号、授权密码、硬件ID等发送给网络服务器,以便网络服务器激活该硬件上的软件并保存该硬件的硬件ID等信息。激活的过程中,网络服务器还可以记录激活该软件的时间。
[0029]硬件ID是能唯一标识一台机器的ID号。软件中包括系统中心、服务器客户端、普通客户端三个模块,本发明的技术方案中所述的硬件ID指的是安装了系统中心模块的机器的ID号。
[0030]当用户在购买软件后,可通过在包装上查找或者阅读说明书等方式获取软件的序列号。
[0031]授权密码为用户自定义的字符串。该字符串中的字符可以为大写字母、小写字母、数字和符号等等。一般情况下,网络服务器可限定授权密码的长度和定义其字符的组成规贝1J,例如,可限定授权密码的长度为6位,组成授权密码的字符只能是I?9的数字。
[0032]该硬件ID按如下的过程生成:
[0033](I)获取磁盘序列号。
[0034]该磁盘序列号为由字符组成的第一字符组。该磁盘序列号一般选择系统盘或者安装该软件的磁盘的序列号。该字符可以是大写字母、小写字母、数字和符号等等。优选的,第一字符组的长度为X字节。例如,第一字符组的长度为20字节,第一字符组为#123456789abcdeABCDE。
[0035](2)将第一字符组中相邻的两个字符的位置调换形成第二字符组。
[0036]该步骤可以将任意两个相邻的字符的位置调换。优选的,该位置调换规则为:从第一字符组的第一个字符开始,以相邻的两个字符为一组,将一组内的两个字符的位置进行调换。例如,采用该优选的调换规则后,第一字符组#123456789abcdeAB⑶E变为第二字符组l#32547698badcAeCBED。
[0037](3)将第二字符组的部分字符进行字符过滤。
[0038]字符过滤可以按照一定的规则进行过滤,从而将不符合规则的字符替换为其他字符以实现字符的过滤过程。
[0039]优选的,该字符过滤的步骤可以按照如下的过程进行:
[0040](a)
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1