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

技术编号:14958052 阅读:47 留言:0更新日期:2017-04-02 11:52
本发明专利技术公开了一种软件升级验证的方法,包括:检测软件的序列号是否正确;如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确;如果所述硬件ID正确,则检测授权文件的MD5值是否正确;如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;如果所述软件的序列号未被禁用,则升级所述软件。本发明专利技术还公开一种软件升级验证的装置。该方法和装置提高软件升级验证的安全性。

【技术实现步骤摘要】

本专利技术涉及软件升级
,具体涉及一种软件升级验证的方法和装置
技术介绍
软件升级,是指在软件发行后,通过对程序的修改或加入新的功能后,使软件不断完善,将完善后的软件发布后,用户下载更新软件即完成软件升级。为了保护软件的版权、开发商及用户的权益,软件升级时往往需要升级验证。目前大部分软件产品的升级验证都采用账号密码这种比较单一的验证方式。这种验证方式存在账号被盗或者被篡改从而影响升级的风险。
技术实现思路
本专利技术实施例的目的在于克服现有技术的上述不足,提供一种软件升级验证的方法,可以提高软件升级验证过程的安全性。本专利技术实施例的另一目的在于克服现有技术的上述不足,提供一种软件升级验证的装置,可以提高软件升级验证过程的安全性。为了实现上述专利技术目的,本专利技术实施例的技术方案如下:一种软件升级验证的方法,包括:检测软件的序列号是否正确;如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确;如果所述硬件ID正确,则检测授权文件的MD5值是否正确;如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;如果所述软件的序列号未被禁用,则升级所述软件。进一步,还包括:生成所述授权文件的步骤,所述生成所述授权文件的步骤包括:根据所述软件的序列号获取软件信息;将所述软件信息、所述软件的序列号和所述软件的版本信息生成第一字符串;从所述第一字符串的第一个字符开始截取部分所述第一字符串;用第二字符串替换截取的部分所述第一字符串得到第三字符串,所述第二字符串的长度为N字节,所述第二字符串的长度和截取的部分所述第一字符串的长度相等;将所述第三字符串中的第N+1位字符A到最后一个字符中的所述第三字符串的字符依次替换为新的字符,得到第四字符串;将所述第四字符串保存为授权文件。进一步,所述得到第四字符串的过程包括:将所述第三字符串中的第N+1位字符A的下标取模所述第二字符串的长度N,得到第一数值n;获得所述第二字符串的第n+1位字符B;将所述字符B转换为二进制数b;将所述字符A转换为二进制数a;将所述二进制数b和所述二进制数a进行按位异或操作,得到数值c;将所述数值c替换所述第三字符串的第N+1位字符A;循环上述过程直到所述第三字符串中的最后一个字符被替换。进一步,还包括:生成所述硬件ID,所述生成所述硬件ID的过程包括:获取磁盘序列号,所述磁盘序列号为由字符组成的第一字符组;将所述第一字符组中相邻的两个字符的位置调换形成第二字符组;将所述第二字符组的部分字符进行字符过滤;将过滤后的部分字符作为所述硬件ID。进一步:所述获取磁盘序列号的过程中,所述第一字符组的长度为m字节;所述将所述第一字符组中相邻的两个字符的位置调换形成第二字符组的过程包括:从所述第一字符组的第一个字符开始,以相邻的两个字符为一组,将所述一组内的所述两个字符的位置进行调换;所述将所述第二字符组的部分字节进行字符过滤的过程包括:逐一判断所述第二字符组的前x个字符是否为标准字符组中的字符,其中,o<x≤m;将所述第二字符组的前x个字符中不属于所述标准字符组中的字符用预设字符替换形成所述过滤后的部分字符。进一步,所述标准字符组中的字符包括:a~z、A~Z和0~9。进一步,在所述软件升级验证之前,还包括:获取并保存所述授权文件的MD5值,所述授权文件的MD5值为所述第四字符串的MD5值。进一步,在所述软件升级验证之前,还包括:存储所述软件的序列号;激活该软件,保存安装该软件的硬件的硬件ID,并将所述软件的序列号、授权密码和所述硬件ID绑定。以及,一种软件升级验证的装置,包括:第一模块,用于检测软件的序列号是否正确;第二模块,用于如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确;第三模块,用于如果所述硬件ID正确,则检测授权文件的MD5值是否正确;第四模块,用于如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;第五模块,用于如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;第六模块,用于如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;第七模块,用于如果所述软件的序列号未被禁用,则升级所述软件。进一步,还包括:第八模块,用于生成所述授权文件;第九模块,用于获取并保存所述授权文件的MD5值;第十模块,用于存储所述软件的序列号;第十一模块,用于激活该软件,保存安装该软件的硬件的硬件ID,并将所述软件的序列号、授权密码和所述硬件ID绑定。本专利技术实施例的有益效果如下:1、本专利技术实施例的软件升级验证的方法,在软件升级验证过程中,可以很方便实现基于标识的安全身份认证,结合硬件ID信息以及授权文件MD5信息,可以抵抗木马、口令字典等大部分攻击。2、本专利技术实施例的软件升级验证的装置,在软件升级验证过程中,可以很方便实现基于标识的安全身份认证,结合硬件ID信息以及授权文件MD5信息,可以抵抗木马、口令字典等大部分攻击。附图说明图1是本专利技术实施例的软件升级验证的方法的流程图;图2是本专利技术实施例的生成授权文件的方法的流程图;图3是本专利技术实施例的软件升级验证的装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例提供了一种软件升级验证的方法。该软件升级验证的方法用于网络服务器侧。如图1所示,为本专利技术实施例的软件升级验证的方法的流程图。该方法的具体过程如下:在升级验证该软件之前,该方法包括如下的过程:步骤S10:存储该软件的序列号。一般来说,在制作完成搭载该软件的产品(例如光盘、闪存等)后,网络服务器会预先存储该软件的序列号,以便后续可检测用户输入的软件的序列号是否正确。每一产品上搭载的软件具有不同的序列号,并且该软件的序列号和每一产品上搭载的软件唯一对应。该软件的序列号可以通过贴在产品的包装或者记载在说明书等方式以供用户获知该软件的序列号。步骤S20:激活该软件,保存安装该软件的硬件的硬件ID,并将软件的序列号、授权密码和硬件ID绑定。用户将该软件安装在硬件上后,可通过在网页上输入的方式将软件的序列本文档来自技高网...

【技术保护点】
一种软件升级验证的方法,其特征在于,包括:检测软件的序列号是否正确;如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否正确;如果所述硬件ID正确,则检测授权文件的MD5值是否正确;如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;如果所述软件的序列号未被禁用,则升级所述软件。

【技术特征摘要】
1.一种软件升级验证的方法,其特征在于,包括:
检测软件的序列号是否正确;
如果所述软件的序列号正确,则检测安装所述软件的硬件的硬件ID是否
正确;
如果所述硬件ID正确,则检测授权文件的MD5值是否正确;
如果所述授权文件的MD5值正确,则查询授权允许的升级时间是否到期;
如果所述升级时间未到期,则查询授权允许的升级次数是否超过限制;
如果所述软件升级次数未超过限制,则查询所述软件的序列号是否被禁用;
如果所述软件的序列号未被禁用,则升级所述软件。
2.如权利要求1所述的软件升级验证的方法,其特征在于,还包括:生成
所述授权文件的步骤,所述生成所述授权文件的步骤包括:
根据所述软件的序列号获取软件信息;
将所述软件信息、所述软件的序列号和所述软件的版本信息生成第一字符
串;
从所述第一字符串的第一个字符开始截取部分所述第一字符串;
用第二字符串替换截取的部分所述第一字符串得到第三字符串,所述第二
字符串的长度为N字节,所述第二字符串的长度和截取的部分所述第一字符串
的长度相等;
将所述第三字符串中的第N+1位字符A到最后一个字符中的所述第三字符
串的字符依次替换为新的字符,得到第四字符串;
将所述第四字符串保存为授权文件。
3.如权利要求2所述的软件升级验证的方法,其特征在于,所述得到第四
字符串的过程包括:
将所述第三字符串中的第N+1位字符A的下标取模所述第二字符串的长度

\tN,得到第一数值n;
获得所述第二字符串的第n+1位字符B;
将所述字符B转换为二进制数b;
将所述字符A转换为二进制数a;
将所述二进制数b和所述二进制数a进行按位异或操作,得到数值c;
将所述数值c替换所述第三字符串的第N+1位字符A;
循环上述过程直到所述第三字符串中的最后一个字符被替换。
4.如权利要求1所述的软件升级验证的方法,其特征在于,还包括:生成
所述硬件ID,所述生成所述硬件ID的过程包括:
获取磁盘序列号,所述磁盘序列号为由字符组成的第一字符组;
将所述第一字符组中相邻的两个字符的位置调换形成第二字符组;
将所述第二字符组的部分字符进行字符过滤;
将过滤后的部分字符作为所述硬件ID。
5.如权利要求4所述的软件升级验证的方法,...

【专利技术属性】
技术研发人员:丘一婷唐周标
申请(专利权)人:北京金山安全管理系统技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1