软件的网络认证绑定方法和系统的制作方法

文档序号:10515566阅读:284来源:国知局
软件的网络认证绑定方法和系统的制作方法
【专利摘要】本发明提供一种软件的网络认证绑定方法和系统,是由客户端和网络服务器配合执行的:软件在客户端运行时,向网络服务器发送验证请求;根据验证请求,网络服务器随机生成第一随机字符串,并加密后反馈回客户端;客户端进行第一次解密处理,并对解密结果、用户信息和客户端的机器码加密处理生成第一认证码,并将第一认证码发送至网络服务器;网络服务器对第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证,并将验证结果反馈至客户端,客户端根据验证结果判断允许或停止在用户信息下通过客户端运行软件。本发明既保护了网络服务器不受盗版软件的攻击,又保护了软件不受伪造服务器的攻击,提高了软件合法认证的可靠性。
【专利说明】
软件的网络认证绑定方法和系统
技术领域
[0001]本发明涉及一种网络数据处理技术,特别是涉及应用于音乐教学领域的一种软件的网络认证绑定方法和系统。
【背景技术】
[0002]网络软件发行商为了保证其版权利益,通常是使用注册用户名和密码、或者注册序列号作为软件的标志进行认证,以防止不具备使用资格的人盗用软件。
[0003]在软件和电脑间采用用户名和密码进行认证使用比较普遍,可以在一定程度上防止软件被盗用,而且使用相对比较方便,并且,只要用户名和密码正确,其可以在不同的电脑上使用该软件。但是,用户名和密码容易被盗用,而且,在不同的电脑上均可使用该软件,也导致了数据比较容易泄露。
[0004]通过对软件或信息产品分配唯一的标识来防止软件被盗用也是目前比较常用的一种方式。目前,多采用软件注册序列号作为软件或信息产品的标识信息。软件注册序列号分为网络标识信息和本地标识信息两部分,分别存放在网络中心和承载软件的独立介质上。合法的用户将拥有此唯一的标识信息。当用户安装软件的时候,则将本地标识信息向网络中心传输。网络中心运行认证应用服务,能够通过用户传来的本地标识信息判断该用户是否合法,并向判断为合法的用户传送所需的网络标识信息。用户可以基于此网络标识信息完成软件的安装。这使得软件的内容不易被非法复制,从而有效地制止盗版,甚至杜绝盗版,可用于市面上的应用软件或信息产品,也可适用于网络下载软件的合法性认证。但是,通过非法复制的盗版软件,可以破解正版软件的注册序列号,即网络标识信息,而后保存在安装信息中实现认证。

【发明内容】

[0005]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种软件的网络认证绑定方法和系统,用于解决现有技术中软件的认证不可靠,容易被非法盗用的问题。
[0006]为实现上述目的及其他相关目的,本发明提供一种软件的网络认证绑定方法,所述软件在客户端运行,所述软件的网络认证绑定方法包括:步骤Sll,接收到所述软件的运行指令后,向所述软件对应的网络服务器发送验证请求;步骤S12,接收所述网络服务器反馈的经过加密的第一随机字符串,并进行第一次解密处理;其中,所述第一随机字符串是所述网络服务器根据所述验证请求自动生成的;步骤S13,打开所述软件,输入用户信息,并对第一次解密处理的结果、所述用户信息和所述客户端的相关信息进行加密处理生成第一认证码;步骤S14,向所述网络服务器发送所述第一认证码;步骤S15,接收所述网络服务器反馈的验证结果,并根据所述验证结果判断允许或停止在所述用户信息下通过所述客户端运行所述软件;其中,所述验证结果是所述网络服务器对所述第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证后获得的。
[0007]于本发明的一实施例中,所述客户端的相关信息为对所述客户端的硬件码进行处理而获得的机器码;其中,所述硬件码用于唯一地标识所述客户端,所述硬件码包括机器序列号、网卡MAC地址或软件下载时间戳。
[0008]于本发明的一实施例中,所述网络服务器对第二次解密处理的结果的验证包括:第二次解密处理获得的第一随机字符串与所述网络服务器根据所述验证请求随机生成的第一随机字符串相同,则验证结果为所述软件为正版的;否则验证结果为所述软件为盗版的;第二次解密处理获得的所述用户信息与所述网络服务器中保存的已认证的用户信息相同,则验证结果为所述用户信息通过网络认证;第二次解密处理获得的所述机器码与所述网络服务器中保存的所述用户信息对应绑定的机器码相匹配,则验证结果为所述客户端与所述用户信息通过网络绑定。
[0009]于本发明的一实施例中,所述步骤SI5包括:接收所述验证结果;根据所述验证结果进行判断:当验证结果为所述软件是盗版的,则停止运行所述软件;当所述验证结果为所述软件是正版的、所述用户信息未通过网络认证,则停止所述客户端运行该软件,并提示进行所述用户信息的网络认证;当所述验证结果为所述软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息未通过网络绑定,则自动提示进行所述客户端与所述用户信息的网络绑定;当所述验证结果为所述软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息通过网络绑定,则允许在所述用户信息下通过所述客户端运行所述软件。
[0010]于本发明的一实施例中,所述步骤S13中,所述第一认证码是通过对第一次解密处理的结果、所述用户信息、所述客户端的相关信息、和所述客户端生成的第二随机字符串进行加密处理生成的。
[0011]于本发明的一实施例中,所述步骤S15还包括:当所述验证结果为所述软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息通过网络绑定时,接收第二认证码;其中,所述第二认证码是所述网络服务器对第二次解密处理的结果中关于所述第二随机字符串的部分进行加密处理而生成的;对所述第二认证码进行解密处理,并依据所述第二随机字符串进行判断:当解密结果与所述第二随机字符串不同时,则表示所述网络服务器为伪造服务器,停止运行所述软件;当解密结果与所述第二随机字符串相同时,则允许在所述用户信息下通过所述客户端运行所述软件。
[0012]于本发明的一实施例中,自动提示进行所述客户端的网络绑定的步骤包括:复制所述客户端所对应的机器码,并发送至所述网络服务器;所述网络服务器检测与已认证的所述用户信息绑定的机器码的数量:若未超过预设数量,则直接将所述客户端对应的机器码与所述用户信息绑定并保存,从而实现所述客户端的网络绑定;若超过预设数量,则将所述客户端对应的机器码选择性地替换一个已与所述用户信息绑定的机器码并保存,从而实现所述客户端的网络绑定。
[0013]本发明还公开了一种软件的网络认证绑定方法,所述软件在客户端运行,所述软件的网络认证绑定方法包括:步骤S61,接收所述客户端的软件验证请求;步骤S62,生成第一随机字符串,并对所述第一随机字符串进行加密处理;步骤S63,向所述客户端发送加密的所述第一随机字符串;步骤S64,接收所述客户端发出的第一认证码,并对加密的所述第一认证码进行第二次解密处理;步骤S65,对第二次解密处理的结果进行验证,并将验证结果反馈至所述客户端。
[0014]于本发明的一实施例中,所述第一认证码是所述客户端对第一次解密处理的结果、用户信息和所述客户端的相关信息进行加密处理生成的;所述第一次解密处理是所述客户端对加密的所述第一随机字符串进行的解密处理;其中,所述客户端的相关信息包括机器码。
[0015]于本发明的一实施例中,所述步骤S65中对第二次解密处理的结果进行验证包括:第二次解密处理获得的第一随机字符串与所述网络服务器根据所述验证请求随机生成的第一随机字符串相同,则验证结果为所述软件为正版的;否则,验证结果为所述软件为盗版的;第二次解密处理获得的所述用户信息与所述网络服务器中保存的已认证的用户信息相同,则验证结果为所述用户信息通过网络认证;第二次解密处理获得的所述机器码与所述网络服务器中保存的所述用户信息对应绑定的机器码相匹配,则验证结果为所述客户端与所述用户信息通过网络绑定。
[0016]于本发明的一实施例中,所述第一认证码是第一次解密处理的结果、用户信息、所述客户端的相关信息以及由所述客户端随机生成的第二随机字符串进行加密处理生成的。
[0017]于本发明的一实施例中,所述步骤S65还包括:当验证结果为软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息通过网络绑定时,对第二次解密获得的第二随机字符串进行加密处理生成第二认证码,并将第二认证码连同对应的验证结果反馈给所述客户端;当验证结果不是软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息通过网络绑定时,则将对应的验证结果直接反馈至所述客户端。
[0018]本发明还公开了一种终端侧的软件认证绑定系统,所述软件在客户端运行,所述终端侧的软件认证绑定系统包括:验证请求发送模块,用于在接收到所述软件的运行指令后,向所述软件对应的网络服务器发送验证请求;接收模块,用于接收从所述网络服务器反馈的反馈信息;所述反馈信息包括加密的所述网络服务器生成的第一随机字符串和验证结果;处理模块,用于对接收的加密的第一随机字符串进行第一次解密处理,并生成第一认证码;发送模块,用于向所述网络服务器发送所述第一认证码;判断模块,用于根据所述验证结果判断允许或停止在所述用户信息下运行所述软件;其中,所述验证结果是所述网络服务器对所述第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证后获得的。
[0019]于本发明的一实施例中,所述终端侧的软件认证绑定系统还包括:机器码生成模块,包括用于读取唯一标识所述客户端的硬件码的硬件码读取子模块,以及用于根据所述硬件码生成机器码的机器码生成子模块;字符串生成模块,用于随机生成第二随机字符串。
[0020]于本发明的一实施例中,所述第一认证码是对第一次解密处理的结果、所述用户信息和所述客户端的机器码进行加密处理生成的;或,所述第一认证码是对第一次解密处理的结果、所述用户信息、所述客户端的机器码和所述第二随机字符串进行加密处理生成的。
[0021]本发明还公开了一种网络侧的软件认证绑定系统,所述软件在客户端运行,所述网络侧的软件认证绑定系统包括:接收模块,用于接收客户端的验证请求和第一认证码;字符串生成模块,用于根据接收的所述验证请求随机生成第一随机字符串;处理模块,用于对所述第一随机字符串进行加密处理,且对第一认证码进行第二次解密处理;验证模块,用于对所述处理模块进行的第二次解密处理的结果进行验证:验证所述软件是否为正版;验证用户信息是否通过网络认证,以及验证所述客户端与所述用户信息是否通过网络绑定;发送模块,用于向所述客户端发送加密的第一随机字符串和所述验证模块的验证结果。
[0022]于本发明的一实施例中,所述第一认证码是所述客户端对第一次解密处理的结果、用户信息和所述客户端的相关信息进行加密处理生成的;
[0023]于本发明的一实施例中,所述第一认证码是所述客户端对第一次解密处理的结果、用户信息、所述客户端的相关信息和所述客户端生成的第二随机字符串进行加密处理生成的。
[0024]于本发明的一实施例中,所述处理模块还用于对第二次解密处理获得的第二随机字符串进行加密处理,生成第二认证码;所述发送模块还用于将所述第二认证码发送至所述客户端。
[0025]如上所述,本发明的一种软件的网络认证绑定方法和系统,通过用户信息(用户名和密码)和机器码来共同实现软件的网络认证和绑定。首先,用户信息需要在网络服务器进行认证;其次,用户还需要绑定使用软件的客户端所对应的机器码,只有用户信息和机器码均在网络服务器被认证绑定的情况下,用户才可在该客户端运行软件。并且,如果更换客户端,还可以依据用户信息对绑定的机器码进行更新,从而保证软件可以运行在不同的客户端。此外,本发明为了防止软件被盗用,分别在网络服务器侧和客户端侧分别增加了随机字符串和相应地加密处理,既保护了网络服务器不受盗版软件的攻击,同时又保护了软件不受伪造服务器的攻击。本发明提高了软件合法性认证的可靠性,有效保护了正版软件,防止了软件的盗用。
【附图说明】
[0026]图1显示为本发明实施例公开的一种软件的网络认证绑定方法的流程示意图。
[0027]图2显示为本发明实施例公开的一种软件的网络认证绑定方法中软件的登陆界面示意图。
[0028]图3显示为本发明实施例公开的一种软件的网络认证绑定方法中客户端自动提示界面示意图。
[0029]图4显示为本发明实施例公开的一种软件的网络认证绑定方法中网络侧的客户端与用户信息的绑定界面示意图。
[0030]图5显示为本发明实施例3公开的终端侧的软件认证绑定系统的原理示意图。
[0031]图6显示为本发明实施例4公开的一种软件的网络认证绑定方法的流程示意图。
[0032]图7显示为本发明实施例5公开的一种网络侧的软件认证绑定系统的原理示意图。
[0033]元件标号说明
[0034]Sll ?S15 步骤
[0035]S61 ?S65 步骤
[0036]100网络服务器
[0037]200客户端
[0038]500终端侧的软件认证绑定系统
[0039]510验证请求发送模块
[0040]520接收模块[0041 ]530处理模块
[0042]540发送模块
[0043]550判断模块
[0044]560机器码生成模块
[0045]561硬件码读取子模块
[0046]562机器码生成子模块
[0047]700网络侧的软件认证绑定系统
[0048]570字符串生成模块
[0049]710接收模块
[0050]720字符串生成模块[0051 ]730处理模块
[0052]740验证模块
[0053]750发送模块
【具体实施方式】
[0054]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0055]请参阅附图。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0056]本发明的软件的网络认证绑定方法和系统是在软件运行的时候进行的,是由客户端和网络服务器配合执行的:软件在客户端被运行时,在网络侧的网络服务器会对在客户端使用该软件的用户的合法性进行认证,并对客户端是否可运行软件进行控制。
[0057]在客户端,终端侧的软件认证绑定系统以程序的形式预置在软件中,从而实现终端侧的软件的网络认证绑定。在网络服务器侧,通过在网络服务器中的网络侧的软件认证绑定系统实现软件的认证绑定。
[0058]其中,客户端是包括存储器、存储器控制器、一个或多个处理器(CPU)、接口电路、音频电路、扬声器、输入/输出(I/o)子系统、显示屏、其他输出或控制设备、以及外部端口的电子设备。这些组件通过一条或多条通信总线或信号线进行通信。并且,本发明的客户端既可以是便携式的电子设备,也可以是非便携式的电子设备,其包括但不限于PC、苹果MAC电脑、笔记本电脑、平板电脑、手机、多媒体播放器等等,还可能包括其中两项或多项的组合。应当理解,本发明的实施例中列举的客户端只是其中一个实例。
[0059]此外,本发明的软件既可存储在客户端的存储器中,也可存储于外置存储器中,例如光盘或移动闪存盘中。并且,在软件存储在外置存储器中时,也可以通过客户端运行该软件。
[0060]实施例1
[0061]如图1所示,本实施例公开了在客户端运行软件时的软件的网络认证绑定方法,其是通过终端侧的软件认证绑定系统来实现的,具体包括:
[0062]步骤Sll,接收到所述软件的运行指令后,向所述软件对应的网络服务器发送验证请求:
[0063]当终端侧的软件认证绑定系统接收到源自客户端的软件运行指令后,会自动读取运行软件的客户端的机器码;并通过所述客户端向网络服务器发送验证请求。
[0064]其中,机器码是对客户端的硬件码进行处理而获得的;而硬件码可以唯一地标识客户端,其包括但不限于机器序列号、网卡MAC地址或软件下载时间戳等等。在本实施中,机器码是对硬件码采用散列处理而获得的。散列处理是比较成熟的数据处理的方法,且其处理的方法有很多种,在此就不再一一赘述。
[0065]步骤S12,接收所述网络服务器根据所述验证请求反馈的加密的第一随机字符串,并进行第一次解密处理;
[0066]终端侧的软件认证绑定系统接收加密的第一随机字符串。其中,第一随机字符串是网络服务器接收到验证请求后随机生成的,并且,网络服务器还会将第一随机字符串基于第一秘钥进行加密处理后反馈回客户端。对于数据的加密处理方法包括但不限于:AES处理、DES处理、3DES处理、RSA处理、ECC处理等等。
[0067]终端侧的软件认证绑定系统对接收的加密的第一随机字符串进行相应的第一次解密处理。
[0068]步骤S13,打开所述软件,输入用户信息,并对第一次解密处理的结果、所述用户信息和所述客户端的相关信息进行加密处理生成第一认证码;
[0069]终端侧的软件认证绑定系统在进行了第一次解密处理后会打开软件,进入软件的登陆界面,用于输入用户的用户信息,如图2所示。用户在登陆界面输入用户信息,终端侧的软件认证绑定系统将第一次解密处理的结果、输入的用户信息和机器码进行基于第二秘钥加密处理生成第一认证码。其中,加密处理的方法包括但不限于AES处理、DES处理、3DES处理、RSA处理、ECC处理等等。
[0070]步骤S14,向所述网络服务器发送所述第一认证码:
[0071 ]终端侧的软件认证绑定系统将第一认证码发送至网络服务器。
[0072]步骤S15,接收所述网络服务器反馈的验证结果,并根据所述验证结果判断允许或停止在所述用户信息下通过所述客户端运行所述软件;其中,所述验证结果是所述网络服务器对所述第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证后获得的。
[0073]终端侧的软件认证绑定系统接收网络服务器根据第一认证码反馈的验证结果。其中,所述验证结果是网络服务器根据接收的第一认证码进行第二次解密处理并验证后反馈的,并且验证结果包括以下几种情况:
[0074]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串不相同,则验证结果为:软件是盗版的;
[0075]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串相同,第二次解密处理后获得的用户信息与网络服务器中的已认证用户信息不同,则验证结果为:软件是正版的,但用户信息未通过网络认证;
[0076]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串相同,第二次解密处理后获得的用户信息与网络服务器中的已认证用户信息相同,第二次解密处理后获得的机器码与网络服务器中的该用户信息绑定的机器码不匹配,则验证结果为:软件是正版的,用户信息通过网络认证,客户端与用户信息未通过网络绑定;
[0077]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串相同,第二次解密处理后获得的用户信息与网络服务器中的已认证用户信息相同,第二次解密处理后获得的机器码与网络服务器中的该用户信息绑定的机器码相匹配,则验证结果为:软件是正版的,用户信息通过网络认证,客户端与用户信息通过网络绑定。
[0078]终端侧的软件认证绑定系统对接收的验证结果进行判断:
[0079]当验证结果为软件是盗版的,则停止运行所述软件;
[0080]当验证结果为软件是正版的,用户信息未通过网络认证;那么,停止在该用户信息下通过客户端运行软件,并自动提示用户进行网络认证。软件可以自动弹出一个界面,提供跳转至网络服务器的网络链接,从而可以进行用户信息的认证,包括注册新的账号。
[0081]当验证结果为软件是正版的,用户信息通过网络认证,客户端与用户信息未通过网络绑定,那么,停止该用户信息下通过客户端运行软件,并自动提示进行客户端的网络绑定。
[0082]当验证结果为软件是正版的,用户信息通过网络认证,客户端与用户信息通过网络绑定,那么,允许在该用户信息下通过客户端运行软件。
[0083]此外,自动提示进行客户端的网络绑定包括:
[0084]终端侧的软件认证绑定系统复制客户端所对应的机器码,并发送至所述网络服务器;
[0085]网络服务器检测与已认证的用户信息绑定的机器码的数量:
[0086]若未超过预设数量,则直接将客户端对应的机器码与该用户信息绑定并保存,从而实现客户端的网络绑定;
[0087]若超过预设数量,则将客户端对应的机器码选择性地替换一个已与该用户信息绑定的机器码并保存,从而实现客户端的网络绑定。
[0088]其中,为了满足软件在一个用户信息下可以在多台客户端上进行使用,因此,通常情况下,一个用户信息下可以与预设数量的客户端进行网络绑定。
[0089]终端侧的软件认证绑定系统在检测到验证结果为软件是正版的,用户信息通过网络认证,客户端与用户信息未通过网络绑定时,则自动跳出如图3所示的界面,提示该账号需要绑定电脑,并显示机器码:77506429B443430C7186367960236FA5。程序会自动复制机器码,用户只需点击下方的“立即绑定”链接,即可链接至网络服务器侧的绑定页面,如图4所示,并且,机器码会自动粘贴至绑定页面的对应位置,用户可以轻松地实现客户端的网络绑定。此外,为了保证绑定时的用户信息的正确性,点击图3所示的“立即绑定”链接,链接至网络服务器侧的用户信息登陆页面,在准确输入了相应的用户信息后才可进行如图4所示的绑定页面。
[0090]实施例2
[0091]本实施例同样公开了一种在客户端运行软件时的软件的网络认证绑定方法,其是通过终端侧的软件认证绑定系统来实现的。本实施例的软件的网络认证绑定方法与实施例1的网络认证绑定方法的步骤Sll和步骤S12是完全相同的,只是为了进一步保证软件和客户端不受伪造服务器的攻击,在步骤S13?步骤S15做了略微的变化。
[0092]步骤S13,打开所述软件,输入用户信息,并对第一次解密处理的结果、用户信息、客户端的相关信息(机器码)、和客户端随机生成的第二随机字符串进行加密处理生成第一认证码;
[0093]其中,第二随机字符串是终端侧的软件认证绑定系统在进行第一次解密处理后随机生成的。并且,第一认证码是对第一次解密处理的结果、用户信息、机器码和第二随机字符串进行基于第二秘钥的加密处理而获得的。
[0094]步骤S14,向所述网络服务器发送所述第一认证码;
[0095]步骤S15,接收所述网络服务器反馈的验证结果,并根据所述验证结果判断允许或停止在所述用户信息下通过所述客户端运行所述软件;其中,所述验证结果是所述网络服务器对所述第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证后获得的:
[0096]本实施例中,网络服务器会对第一随机字符串、用户信息和机器码采用如实施例1所述的步骤进行验证,并将验证结果反馈至客户端。
[0097]此外,在验证结果为软件是正版的,用户信息通过网络认证,客户端与用户信息通过网络绑定的情况下,对第二次解密获得的第二随机字符串的进行基于第一秘钥的加密处理获得第二认证码,并将第二认证码反馈给客户端的终端侧的软件认证绑定系统。
[0098]终端侧的软件认证绑定系统进一步地对第二认证码进行解密处理,并判断解密结果:
[0099]当解密结果与客户端生成的第二随机字符串不同,则表示所述网络服务器是伪造服务器,则停止运行该软件;
[0100]当解密结果与客户端生成的第二随机字符串相同,则允许在用户信息下通过客户端运行该软件。
[0101]上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0102]实施例3
[0103]本实施例公开了一种终端侧的软件认证绑定系统500,如图5所示,包括:
[0104]验证请求发送模块510,用于在接收到软件的运行指令后,向软件对应的网络服务器100发送验证请求;
[0105]接收模块520,用于接收从网络服务器100反馈的反馈信息;反馈信息包括加密的网络服务器100生成的第一随机字符串和验证结果;
[0106]处理模块530,用于对接收的加密的第一随机字符串进行第一次解密处理,并生成第一认证码。
[0107]其中,所述第一认证码是对第一次解密处理的结果、用户信息和所述客户端的相关信息进行加密处理生成的;
[0108]第一认证码是对第一次解密处理的结果、用户信息、所述客户端的相关信息和客户端随机生成的第二随机字符串进行加密处理生成的。
[0109]所述客户端相关信息为机器码;
[0110]发送模块540,用于向所述网络服务器100发送所述第一认证码;
[0111]判断模块550,用于根据所述验证结果判断允许或停止在用户信息下运行所述软件;其中,所述验证结果是所述网络服务器100对所述第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证后获得的;
[0112]机器码生成模块560,用于在接收到软件的运行指令后,自动生成客户端的机器码;包括用于读取唯一标识客户端的硬件码的硬件码读取子模块561,以及用于根据所述硬件码生成机器码的机器码生成子模块562;
[0113]字符串生成模块570,用于随机生成第二随机字符串。
[0114]不难发现,本实施例为与第一实施例或者第二实施例相对应的系统实施例,本实施例可与第一实施例或者第二实施例互相配合实施。第一实施例或者第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例或者第二实施例中。
[0115]此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,但这并不表明本实施例中不存在其它的模块。
[0116]实施例4
[0117]本实施例公开了软件在客户端运行时,在网络侧的认证绑定方法,其是通过网络侧的软件认证绑定系统来实现的,如图6所示,具体包括:
[0118]步骤S61,网络侧的软件认证绑定系统接收所述客户端的软件验证请求;
[0119]步骤S62,根据验证请求,网络侧的软件认证绑定系统随机生成第一随机字符串,并对所述第一随机字符串进行加密处理;
[0120]步骤S63,网络侧的软件认证绑定系统向所述客户端发送加密的所述第一随机字符串;
[0121]步骤S64,网络侧的软件认证绑定系统接收所述客户端发出的第一认证码,并对加密的所述第一认证码进行第二次解密处理;
[0122]其中,所述第一认证码分为两种情况:
[0123]其一,第一认证码是客户端对第一次解密处理的结果、用户信息和客户端的相关信息进行加密处理生成的;第一次解密处理是客户端对加密的第一随机字符串进行的解密处理;并且,客户端的相关信息为机器码;
[0124]其二,第一认证码是客户端对第一次解密处理的结果、用户信息、客户端的相关信息和客户端随机生成的第二随机字符串进行加密处理生成的;第一次解密处理是客户端对加密的第一随机字符串进行的解密处理,并且,客户端的相关信息为机器码;
[0125]步骤S65,网络侧的软件认证绑定系统对第二次解密处理的结果进行验证,并将验证结果反馈至所述客户端。
[0126]无论第一认证码是何种情况,对第二次解密处理的结果进行的验证是相同的,具体包括:
[0127]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串不相同,则验证结果为:软件是盗版的;
[0128]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串相同,第二次解密处理后获得的用户信息与网络服务器中的已认证用户信息不同,则验证结果为:软件是正版的,但用户信息未通过网络认证;
[0129]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串相同,第二次解密处理后获得的用户信息与网络服务器中的已认证用户信息相同,第二次解密处理后获得的机器码与网络服务器中的该用户信息绑定的机器码不匹配,则验证结果为:软件是正版的,用户信息通过网络认证,客户端与用户信息未通过网络绑定;
[0130]当第二次解密处理后获得的第一随机字符串与网络服务器随机生成的第一随机字符串相同,第二次解密处理后获得的用户信息与网络服务器中的已认证用户信息相同,第二次解密处理后获得的机器码与网络服务器中的该用户信息绑定的机器码相匹配,则验证结果为:软件是正版的,用户信息通过网络认证,客户端与用户信息通过网络绑定。
[0131]当第一认证码为第一种情况时,网络侧的软件认证绑定系统直接将验证结果反馈给客户端。
[0132]进一步地,当第一认证码为第二种情况:
[0133]在验证结果为软件是正版的,用户信息通过网络认证,客户端与用户信息通过网络绑定时,网络侧的软件认证绑定系统对第二次解密获得的第二随机字符串进行基于第一秘钥的加密处理获得第二认证码;并将第二认证码连同该验证结果反馈给客户端;
[0134]在验证结果不是软件是正版的,用户信息通过网络认证,客户端与用户信息通过网络绑定时,网络侧的软件认证绑定系统直接将对应的验证结果直接反馈给客户端,或者是将第二认证码连同对应的验证结果反馈给客户端。
[0135]并且,客户端根据第二验证码和验证结果判断允许或停止在该用户信息下通过客户端运行软件,或绑定客户端。
[0136]上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0137]实施例5
[0138]本实施例公开了一种网络侧的软件认证绑定系统700,如图7所示,包括:
[0139]接收模块710,用于接收客户端200的软件验证请求和第一认证码,其中,第一认证码是客户端200对第一次解密处理的结果、用户信息和客户端200的相关信息进行加密处理生成的;并且,客户端200的相关信息为机器码。
[0140]字符串生成模块720,用于根据接收的验证请求随机生成第一随机字符串;
[0141]处理模块730,用于对第一随机字符串进行加密处理,且对第一认证码进行第二次解密处理;
[0142]验证模块740,用于对处理模块730进行的第二次解密处理的结果进行验证:验证软件是否是正版;验证用户信息是否通过网络认证;以及客户端200与用户信息是否通过网络绑定;
[0143]发送模块750,用于向所述客户端200发送加密的第一随机字符串和所述验证模块的验证结果。
[0144]进一步地,第一认证码还可以是客户端200对第一次解密处理的结果、用户信息、客户端200的相关信息和客户端200随机生成的第二随机字符串进行加密处理生成的。
[0145]处理模块730还用于对第二次解密处理获得的第二随机字符串进行加密处理,生成第二认证码;发送模块750还用于将第二认证码发送至客户端。
[0146]不难发现,本实施例为与第四实施例相对应的系统实施例,本实施例可与第四实施例互相配合实施。第四实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第四实施例中。
[0147]此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,但这并不表明本实施例中不存在其它的模块。
[0148]综上所述,本发明的一种软件的网络认证绑定方法和系统,通过用户信息(用户名和密码)和机器码来共同实现软件的网络认证和绑定。首先,用户信息需要在网络服务器进行认证;其次,用户还需要绑定使用软件的客户端所对应的机器码,只有用户信息和机器码均在网络服务器被认证绑定的情况下,用户才可在该客户端运行软件。并且,如果更换客户端,还可以依据用户信息对绑定的机器码进行更新,从而保证软件可以运行在不同的客户端。此外,本发明为了防止软件被盗用,分别在网络服务器侧和客户端侧分别增加了随机字符串和相应地加密处理,既保护了网络服务器不受盗版软件的攻击,同时又保护了软件不受伪造服务器的攻击。本发明提高了软件合法性认证的可靠性,有效保护了正版软件,防止了软件的盗用。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0149]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种软件的网络认证绑定方法,所述软件在客户端运行,其特征在于,所述软件的网络认证绑定方法包括:步骤Sll,接收到所述软件的运行指令后,向所述软件对应的网络服务器发送验证请求; 步骤S12,接收所述网络服务器反馈的经过加密的第一随机字符串,并进行第一次解密处理;其中,所述第一随机字符串是所述网络服务器根据所述验证请求随机生成的; 步骤S13,打开所述软件,输入用户信息,并对第一次解密处理的结果、所述用户信息和所述客户端的相关信息进行加密处理生成第一认证码; 步骤S14,向所述网络服务器发送所述第一认证码; 步骤S15,接收所述网络服务器反馈的验证结果,并根据所述验证结果判断允许或停止在所述用户信息下通过所述客户端运行所述软件;其中,所述验证结果是所述网络服务器对所述第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证后获得的。2.根据权利要求1所述的软件的网络认证绑定方法,其特征在于:所述客户端的相关信息为对所述客户端的硬件码进行处理而获得的机器码;其中,所述硬件码用于唯一地标识所述客户端,所述硬件码包括机器序列号、网卡MAC地址或软件下载时间戳。3.根据权利要求2所述的软件的网络认证绑定方法,其特征在于:所述网络服务器对第二次解密处理的结果的验证包括: 第二次解密处理获得的第一随机字符串与所述网络服务器根据所述验证请求随机生成的第一随机字符串相同,则验证结果为所述软件为正版的;否则验证结果为所述软件为盗版的; 第二次解密处理获得的所述用户信息与所述网络服务器中保存的已认证的用户信息相同,则验证结果为所述用户信息通过网络认证; 第二次解密处理获得的所述机器码与所述网络服务器中保存的所述用户信息对应绑定的机器码相匹配,则验证结果为所述客户端与所述用户信息通过网络绑定。4.根据权利要求3所述的软件的网络认证绑定方法,其特征在于:所述步骤S15包括: 接收所述验证结果; 根据所述验证结果进行判断: 当验证结果为所述软件是盗版的,则停止运行所述软件; 当所述验证结果为所述软件是正版的、所述用户信息未通过网络认证,则停止所述客户端运行该软件,并提示进行所述用户信息的网络认证; 当所述验证结果为所述软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息未通过网络绑定,则自动提示进行所述客户端与所述用户信息的网络绑定; 当所述验证结果为所述软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息通过网络绑定,则允许在所述用户信息下通过所述客户端运行所述软件。5.根据权利要求4所述的软件的网络认证绑定方法,其特征在于:所述步骤S13中,所述第一认证码是通过对第一次解密处理的结果、所述用户信息、所述客户端的相关信息、和所述客户端生成的第二随机字符串进行加密处理生成的。6.根据权利要求5所述的软件的网络认证绑定方法,其特征在于:所述步骤S15还包括: 当所述验证结果为所述软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息通过网络绑定时,接收第二认证码;其中,所述第二认证码是所述网络服务器对第二次解密处理的结果中关于所述第二随机字符串的部分进行加密处理而生成的; 对所述第二认证码进行解密处理,并依据所述第二随机字符串进行判断: 当解密结果与所述第二随机字符串不同时,则表示所述网络服务器为伪造服务器,停止运行所述软件; 当解密结果与所述第二随机字符串相同时,则允许在所述用户信息下通过所述客户端运行所述软件。7.根据权利要求4所述的软件的网络认证绑定方法,其特征在于:自动提示进行所述客户端的网络绑定的步骤包括: 复制所述客户端所对应的机器码,并发送至所述网络服务器; 所述网络服务器检测与已认证的所述用户信息绑定的机器码的数量: 若未超过预设数量,则直接将所述客户端对应的机器码与所述用户信息绑定并保存,从而实现所述客户端的网络绑定; 若超过预设数量,则将所述客户端对应的机器码选择性地替换一个已与所述用户信息绑定的机器码并保存,从而实现所述客户端的网络绑定。8.一种软件的网络认证绑定方法,所述软件在客户端运行,其特征在于:所述软件的网络认证绑定方法包括: 步骤S61,接收所述客户端的软件验证请求; 步骤S62,生成第一随机字符串,并对所述第一随机字符串进行加密处理; 步骤S63,向所述客户端发送加密的所述第一随机字符串; 步骤S64,接收所述客户端发出的第一认证码,并对加密的所述第一认证码进行第二次解密处理; 步骤S65,对第二次解密处理的结果进行验证,并将验证结果反馈至所述客户端。9.根据权利要求8所述的软件的网络认证绑定方法,其特征在于:所述第一认证码是所述客户端对第一次解密处理的结果、用户信息和所述客户端的相关信息进行加密处理生成的;所述第一次解密处理是所述客户端对加密的所述第一随机字符串进行的解密处理; 其中,所述客户端的相关信息包括机器码。10.根据权利要求9所述的软件的网络认证绑定方法,其特征在于:所述步骤S65中对第二次解密处理的结果进行验证包括: 第二次解密处理获得的第一随机字符串与所述网络服务器根据所述验证请求随机生成的第一随机字符串相同,则验证结果为所述软件为正版的;否则,验证结果为所述软件为盗版的; 第二次解密处理获得的所述用户信息与所述网络服务器中保存的已认证的用户信息相同,则验证结果为所述用户信息通过网络认证; 第二次解密处理获得的所述机器码与所述网络服务器中保存的所述用户信息对应绑定的机器码相匹配,则验证结果为所述客户端与所述用户信息通过网络绑定。11.根据权利要求10所述的软件的网络认证绑定方法,其特征在于:所述第一认证码是第一次解密处理的结果、用户信息、所述客户端的相关信息以及由所述客户端随机生成的第二随机字符串进行加密处理生成的。12.根据权利要求11所述的软件的网络认证绑定方法,其特征在于:所述步骤S65还包括: 当验证结果为软件是正版的,所述用户信息通过网络认证,所述客户端与所述用户信息通过网络绑定时,对第二次解密获得的第二随机字符串进行加密处理生成第二认证码,并将第二认证码连同对应的验证结果反馈给所述客户端。13.—种终端侧的软件认证绑定系统,所述软件在客户端运行,其特征在于:所述终端侧的软件认证绑定系统包括: 验证请求发送模块,用于在接收到所述软件的运行指令后,向所述软件对应的网络服务器发送验证请求; 接收模块,用于接收从所述网络服务器反馈的反馈信息;所述反馈信息包括加密的所述网络服务器生成的第一随机字符串和验证结果; 处理模块,用于对接收的加密的第一随机字符串进行第一次解密处理,并生成第一认证码; 发送模块,用于向所述网络服务器发送所述第一认证码; 判断模块,用于根据所述验证结果判断允许或停止在所述用户信息下运行所述软件,;其中,所述验证结果是所述网络服务器对所述第一认证码进行第二次解密处理,并对第二次解密处理的结果进行验证后获得的。14.根据权利要求13所述的终端侧的认证绑定系统,其特征在于:所述终端侧的软件认证绑定系统还包括: 机器码生成模块,包括用于读取唯一标识所述客户端的硬件码的硬件码读取子模块,以及用于根据所述硬件码生成机器码的机器码生成子模块; 字符串生成模块,用于随机生成第二随机字符串。15.根据权利要求14所述的终端侧的认证绑定系统,其特征在于:所述第一认证码是对第一次解密处理的结果、所述用户信息和所述客户端的机器码进行加密处理生成的; 或,所述第一认证码是对第一次解密处理的结果、所述用户信息、所述客户端的机器码和所述第二随机字符串进行加密处理生成的。16.—种网络侧的软件认证绑定系统,所述软件在客户端运行,其特征在于:所述网络侧的软件认证绑定系统包括: 接收模块,用于接收客户端的验证请求和第一认证码; 字符串生成模块,用于根据接收的所述验证请求随机生成第一随机字符串; 处理模块,用于对所述第一随机字符串进行加密处理,且对第一认证码进行第二次解密处理; 验证模块,用于对所述处理模块进行的第二次解密处理的结果进行验证:验证所述软件是否为正版;验证用户信息是否通过网络认证,以及验证所述客户端与所述用户信息是否通过网络绑定; 发送模块,用于向所述客户端发送加密的第一随机字符串和所述验证模块的验证结果O17.根据权利要求16所述的网络侧的软件认证绑定系统,其特征在于:所述第一认证码是所述客户端对第一次解密处理的结果、用户信息和所述客户端的相关信息进行加密处理生成的。18.根据权利要求16所述的网络侧的软件认证绑定系统,其特征在于:所述第一认证码是所述客户端对第一次解密处理的结果、用户信息、所述客户端的相关信息和所述客户端生成的第二随机字符串进行加密处理生成的。19.根据权利要求18所述的网络侧的软件认证绑定系统,其特征在于:所述处理模块还用于对第二次解密处理获得的第二随机字符串进行加密处理,生成第二认证码;所述发送模块还用于将所述第二认证码发送至所述客户端。
【文档编号】H04L29/06GK105871915SQ201610399162
【公开日】2016年8月17日
【申请日】2016年6月7日
【发明人】郑文筠, 周昊来
【申请人】得理电子(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1