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

文档序号:9888009阅读:来源:国知局
的MD5值。当然,也可以通过其他现有技术使网络服务器获取该授权文件的MD5值。例如,如果检测到的授权文件的MD5值和保存的MD5值相同,则判定MD5值正确,进行步骤S90;否则,进行步骤S130,网络服务器拒绝用户的软件升级请求。
[0099]步骤S90:如果该授权文件的MD5值正确,则查询授权允许的升级时间是否到期。
[0100]例如,升级允许的时间为从激活该软件之日起一年内,则查询出请求升级的时间距激活该软件之日起是否超过一年,如果没有超过,则进行步骤SlOO;否则,进行步骤S130,网络服务器拒绝用户的软件升级请求。本发明查询授权允许的升级时间的方式并不以此为限,还可以是其他方式,例如,授权允许的时间通过限定具体的日期来确定,如果查询出该具体日期已经过了,则拒绝升级请求;如果该具体日期还没有到,则进行步骤SlOO。
[0101]步骤S100:如果升级时间未到期,则查询授权允许的升级次数是否超过限制。
[0102]例如,可将升级次数设置为9999次,以便防止恶意攻击。如果查询出该授权允许的升级次数没有超过9999次,则进行步骤S110;否则,进行步骤S130,网络服务器拒绝用户的软件升级请求。
[0103]步骤S110:如果该软件升级次数未超过限制,则查询该软件的序列号是否被禁用。
[0104]如果该软件的序列号未被禁用,则进行步骤S120;否则,进行步骤S130,网络服务器拒绝用户的软件升级请求。
[0105]步骤S120:如果该软件的序列号未被禁用,则升级该软件。
[0106]步骤SI 30:拒绝升级该软件。
[0107]本发明的软件升级验证的方法,在软件升级验证过程中,可以很方便实现基于标识的安全身份认证,结合硬件ID信息以及授权文件MD5信息,可以抵抗木马、口令字典等大部分攻击。
[0108]本发明实施例还提供了一种软件升级验证的装置。如图3所示,为本发明实施例的软件升级验证的装置的结构示意图。该装置可以是网络无服务器,例如云服务平台。该软件升级验证的装置可实现上述的软件升级验证的方法。该软件升级验证的装置包括如下的结构:
[0109]第一模块101,用于检测软件的序列号是否正确。
[0110]第二模块102,用于如果软件的序列号正确,则检测安装软件的硬件的硬件ID是否正确。
[0111]第三模块103,用于如果硬件ID正确,则检测授权文件的MD5值是否正确。
[0112]第四模块104,用于如果授权文件的MD5值正确,则查询授权允许的升级时间是否到期。
[0113]第五模块105,用于如果升级时间未到期,则查询授权允许的升级次数是否超过限制。
[0114]第六模块106,用于如果软件升级次数未超过限制,则查询软件的序列号是否被禁用。
[0115]第七模块107,用于如果软件的序列号未被禁用,则升级该软件。
[0116]优选的,该装置还包括:
[0117]第八模块108,用于生成授权文件。
[0118]第九模块109,用于获取并保存授权文件的MD5值。
[0119]第十模块110,用于存储软件的序列号。
[0120]第十一模块111,用于激活该软件,保存安装该软件的硬件的硬件ID,并将软件的序列号、授权密码和硬件ID绑定。
[0121]本发明实施例的软件升级验证的装置,在软件升级验证过程中,可以很方便实现基于标识的安全身份认证,结合硬件ID信息以及授权文件MD5信息,可以抵抗木马、口令字典等大部分攻击。
[0122]本发明提供了一种以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本发明的保护范围之内。
【主权项】
1.一种软件升级验证的方法,其特征在于,包括: 检测软件的序列号是否正确; 如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确; 如果所述硬件ID正确,则检测授权文件的MD5值是否正确; 如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期; 如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制; 如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用; 如果所述软件的序列号未被禁用,则升级所述软件。2.如权利要求1所述的软件升级验证的方法,其特征在于,还包括:生成所述授权文件的步骤,所述生成所述授权文件的步骤包括: 根据所述软件的序列号获取软件信息; 将所述软件信息、所述软件的序列号和所述软件的版本信息生成第一字符串; 从所述第一字符串的第一个字符开始截取部分所述第一字符串; 用第二字符串替换截取的部分所述第一字符串得到第三字符串,所述第二字符串的长度为N字节,所述第二字符串的长度和截取的部分所述第一字符串的长度相等; 将所述第三字符串中的第N+1位字符A到最后一个字符中的所述第三字符串的字符依次替换为新的字符,得到第四字符串; 将所述第四字符串保存为授权文件。3.如权利要求2所述的软件升级验证的方法,其特征在于,所述得到第四字符串的过程包括: 将所述第三字符串中的第N+1位字符A的下标取模所述第二字符串的长度N,得到第一数值η; 获得所述第二字符串的第n+1位字符B; 将所述字符B转换为二进制数b; 将所述字符A转换为二进制数a; 将所述二进制数b和所述二进制数a进行按位异或操作,得到数值c; 将所述数值c替换所述第三字符串的第N+1位字符A; 循环上述过程直到所述第三字符串中的最后一个字符被替换。4.如权利要求1所述的软件升级验证的方法,其特征在于,还包括:生成所述硬件ID,所述生成所述硬件ID的过程包括: 获取磁盘序列号,所述磁盘序列号为由字符组成的第一字符组; 将所述第一字符组中相邻的两个字符的位置调换形成第二字符组; 将所述第二字符组的部分字符进行字符过滤; 将过滤后的部分字符作为所述硬件ID。5.如权利要求4所述的软件升级验证的方法,其特征在于: 所述获取磁盘序列号的过程中,所述第一字符组的长度为m字节; 所述将所述第一字符组中相邻的两个字符的位置调换形成第二字符组的过程包括:从所述第一字符组的第一个字符开始,以相邻的两个字符为一组,将所述一组内的所述两个字符的位置进行调换; 所述将所述第二字符组的部分字节进行字符过滤的过程包括:逐一判断所述第二字符组的前X个字符是否为标准字符组中的字符,其中,0〈x Sm;将所述第二字符组的前X个字符中不属于所述标准字符组中的字符用预设字符替换形成所述过滤后的部分字符。6.如权利要求5所述的软件升级验证的方法,其特征在于,所述标准字符组中的字符包括:a?z、A?Z和O?9。7.如权利要求2所述的软件升级验证的方法,其特征在于,在所述软件升级验证之前,还包括:获取并保存所述授权文件的MD5值,所述授权文件的MD5值为所述第四字符串的MD5值。8.如权利要求1所述的软件升级验证的方法,其特征在于,在所述软件升级验证之前,还包括: 存储所述软件的序列号; 激活该软件,保存安装该软件的硬件的硬件ID,并将所述软件的序列号、授权密码和所述硬件ID绑定。9.一种软件升级验证的装置,其特征在于,包括: 第一模块,用于检测软件的序列号是否正确; 第二模块,用于如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确; 第三模块,用于如果所述硬件ID正确,则检测授权文件的MD5值是否正确; 第四模块,用于如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期; 第五模块,用于如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;第六模块,用于如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用; 第七模块,用于如果所述软件的序列号未被禁用,则升级所述软件。10.如权利要求9所述的软件升级验证的装置,其特征在于,还包括: 第八模块,用于生成所述授权文件; 第九模块,用于获取并保存所述授权文件的MD5值; 第十模块,用于存储所述软件的序列号; 第十一模块,用于激活该软件,保存安装该软件的硬件的硬件ID,并将所述软件的序列号、授权密码和所述硬件ID绑定。
【专利摘要】本发明公开了一种软件升级验证的方法,包括:检测软件的序列号是否正确;如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确;如果所述硬件ID正确,则检测授权文件的MD5值是否正确;如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;如果所述软件的序列号未被禁用,则升级所述软件。本发明还公开一种软件升级验证的装置。该方法和装置提高软件升级验证的安全性。
【IPC分类】G06F21/12, G06F21/51
【公开号】CN105653932
【申请号】
【发明人】丘一婷, 唐周标
【申请人】北京金山安全管理系统技术有限公司
【公开日】2016年6月8日
【申请日】2015年12月30日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1