软件激活方法及装置和软件激活系统与流程

文档序号:12467429阅读:337来源:国知局
软件激活方法及装置和软件激活系统与流程

本发明涉及软件激活技术领域,具体而言,涉及一种软件激活方法及装置,还涉及一种软件激活系统。



背景技术:

在目前的大环境下,互联网已经成为一个基础设施,支撑着各种业务的开展。网络开放的广泛性和交互的便捷性为资源的获取提供了便利条件,然而也促进了盗版及侵权行为的产生,使得软件产品的版权保护随着讯息的传播速度和广度的加剧,变得越来越困难,破解手段越来越多样。

因此,如何提供一种软件激活和持续验证的流程,在联网交互环节保障信息的合法性和一致性,成为目前亟待解决的问题。



技术实现要素:

本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。

为此,本发明的一个目的在于提出了一种软件激活方法,用于客户端及一种软件激活方法,用于服务器。

本发明的另一个目的在于提出了一种软件激活装置,用于客户端及一种软件激活装置,用于服务器。

本发明的又一个目的在于提出了一种软件激活系统。

有鉴于此,本发明提出了一种软件激活方法,用于客户端,该软件激活方法包括:检测软件是否具有RSA数字证书;在软件具有RSA数字证书的情况下,获取软件的激活认证信息,并将激活认证信息通过RSA数字证书中的公钥加密后发送至服务器;接收并保存服务器发送的签名激活信息;通过公钥验证激活信息;根据激活信息激活软件。

根据本发明的软件激活方法,通过将软件的激活认证信息使用公钥加密后发送至服务器,能够保证激活认证信息只有服务器能接收到;接收并保存服务器发送的签名激活信息,并通过公钥验证激活信息,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

另外,根据本发明上述的软件激活方法,用于客户端,还可以具有如下附加的技术特征:

在上述技术方案中,优选地,在软件不具有RSA数字证书的情况下,向服务器发送RSA数字证书的申请请求;接收服务器发送的RSA数字证书。

在该技术方案中,通过服务器发送RSA数字证书的申请请求并接收服务器发送的RSA数字证书,保证了用户的身份认证与信息安全。

在上述技术方案中,优选地,验证激活信息是否有效,具体包括:将激活信息发送至服务器,并发送验证请求至服务器;接收并显示验证结果,通过公钥验证验证结果。

在该技术方案中,通过将激活信息发送至服务器并发送验证请求,接收服务器发送的验证结果,并通过公钥验证验证结果,实现了软件激活和持续验证的流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

在上述任一技术方案中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

在该技术方案中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

本发明还提出一种软件激活方法,用于服务器,与上述任一技术方案的软件激活方法,用于客户端,配合使用,该软件激活方法包括:接收客户端发送的软件的激活认证信息;通过私钥解密激活认证信息;判断激活认证信息是否符合激活条件;在激活认证信息符合激活条件的情况下,生成一个预设长度的随机数做为激活信息并覆盖原有激活信息,并根据当前时间生成发布时间;将激活信息及发布时间通过私钥签名后发送至客户端,以供客户端激活软件。

根据本发明的软件激活方法,通过私钥解密客户端发送的激活认证信息,判断激活认证信息是否符合激活条件,能够保证激活信息来源于客户端,通过将激活信息及发布时间通过私钥签名后发送至客户端,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

另外,根据本发明上述的软件激活方法,用于服务器,还可以具有如下附加的技术特征:

在上述技术方案中,优选地,在软件不具有RSA数字证书的情况下,接收客户端发送的RSA数字证书的申请请求;根据申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书;将RSA数字证书发送至客户端。

在该技术方案中,通过根据客户端的申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书,保证了用户的身份认证与信息安全。

在上述技术方案中,优选地,验证激活信息是否有效,具体包括:接收客户端发送的验证请求;通过公钥验证激活信息,并判断是否成功解密;在成功解密后判断发布时间是否在预定时间范围内;当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录;并在判断结果为是的情况下,再次生成一个预设长度的随机数做为激活验证信息,并根据当前时间生成发布时间;将激活验证信息及发布时间通过私钥签名后发送至客户端。

在该技术方案中,通过判断公钥是否成功解密激活信息,在成功解密后判断发布时间是否在预定时间范围内,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录,能够准确确认用户的身份信息,避免未经授权的客户端冒充已经授权的客户端申请验证,保证软件的安全性;将激活验证信息及发布时间通过私钥签名后发送至客户端,能够保证激活验证信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性。

在上述技术方案中,优选地,当不能成功解密时,向客户端发送错误提示,并结束验证;当发布时间不在预定时间范围内时,向客户端发送错误提示,并结束验证;当激活信息在服务器没有记录时,向客户端发送错误提示,并结束验证。

在该技术方案中,当不能成功解密时,说明激活信息不是来源于已授权的客户端,当发布时间不在预定时间范围内时,说明软件授权已不在有效期范围内,当激活信息在服务器没有记录时,说明激活信息不是服务器所发送的,当这样的情况发生时,服务器向客户端发送错误提示,并终止验证,避免软件被恶意破解,保证了软件的安全性、合法性、一致性。

在上述技术方案中,优选地,所述将所述激活验证信息及所述发布时间通过所述私钥签名后发送至所述客户端之前,还包括:记录预定次数的激活验证信息,根据激活验证信息进行容错验证。

在该技术方案中,通过记录预定次数的激活验证信息,为激活验证信息提供了容错验证,以利于软件的激活与持续验证的顺利进行,节省时间,方便用户快速通过验证。

在上述任一技术方案中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址;

在该技术方案中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

本发明还提出一种软件激活装置,用于客户端,该软件激活装置包括:检测单元,用于检测软件是否具有RSA数字证书;加密单元,用于在软件具有RSA数字证书的情况下,获取软件的激活认证信息,并将激活认证信息通过RSA数字证书中的公钥加密;发送单元,用于将激活认证信息通过RSA数字证书中的公钥加密后发送至服务器;接收单元,用于接收并保存服务器发送的签名激活信息;加密单元,还用于通过公钥验证激活信息;激活单元,用于根据激活信息激活软件。

根据本发明的软件激活装置,通过将软件的激活认证信息使用公钥加密后发送至服务器,能够保证激活认证信息只有服务器能接收到;接收并保存服务器发送的签名激活信息,并通过公钥验证激活信息,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

另外,根据本发明上述的软件激活装置,用于客户端,还可以具有如下附加的技术特征:

在上述技术方案中,优选地,发送单元,用于在软件不具有RSA数字证书的情况下,向服务器发送RSA数字证书的申请请求;接收单元,还接收服务器发送的RSA数字证书。

在该技术方案中,通过服务器发送RSA数字证书的申请请求并接收服务器发送的RSA数字证书,保证了用户的身份认证与信息安全。

在上述技术方案中,优选地,还包括:验证激活信息是否有效,具体包括:发送单元,还用于将激活信息发送至服务器,并发送验证请求至服务器;接收单元,用于接收并显示验证结果;加密单元,用于通过公钥验证验证结果。

在该技术方案中,通过将激活信息发送至服务器并发送验证请求,接收服务器发送的验证结果,并通过公钥验证验证结果,实现了软件激活和持续验证的流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

在上述任一技术方案中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

在该技术方案中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

本发明还提出一种软件激活装置,用于服务器,与上述任一技术方案的软件激活装置,用于客户端,配合使用,该软件激活装置包括:接收单元,接收客户端发送的软件的激活认证信息;加密单元,通过私钥解密激活认证信息;第一判断单元,判断激活认证信息是否符合激活条件;第一生成单元,在激活认证信息符合激活条件的情况下,生成一个足够长的随机数做为激活信息并覆盖原有激活信息,并根据当前时间生成发布时间;发送单元,将激活信息及发布时间通过私钥签名后发送至客户端,以供客户端激活软件。

根据本发明的软件激活装置,通过私钥解密客户端发送的激活认证信息,判断激活认证信息是否符合激活条件,能够保证激活信息来源于客户端,通过将激活信息及发布时间通过私钥签名后发送至客户端,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

另外,根据本发明上述的软件激活装置,用于服务器,还可以具有如下附加的技术特征:

在上述技术方案中,优选地,接收单元,在软件不具有RSA数字证书的情况下,接收客户端发送的RSA数字证书的申请请求;第二生成单元,根据申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书;发送单元,将RSA数字证书发送至客户端。

在该技术方案中,通过根据客户端的申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书,保证了用户的身份认证与信息安全。

在上述技术方案中,优选地,验证激活信息是否有效,具体包括:接收单元,接收客户端发送的验证请求;第二判断单元,通过公钥验证相关信息,并判断是否成功解密;第三判断单元,在成功解密后判断发布时间是否在预定时间范围内;第四判断单元,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录;第三生成单元,在判断结果为是的情况下,再次生成一个足够长的随机数做为激活验证信息,并根据当前时间生成发布时间;发送单元,将激活验证信息及发布时间通过私钥签名后发送至客户端。

在该技术方案中,通过判断公钥是否成功解密激活信息,在成功解密后判断发布时间是否在预定时间范围内,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录,能够准确确认用户的身份信息,避免未经授权的客户端冒充已经授权的客户端申请验证,保证软件的安全性;将激活验证信息及发布时间通过私钥签名后发送至客户端,能够保证激活验证信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性。

在上述技术方案中,优选地,当不能成功解密时,向客户端发送错误提示,并结束验证;当发布时间不在预定时间范围内时,向客户端发送错误提示,并结束验证;当激活信息在服务器没有记录时,向客户端发送错误提示,并结束验证。

在该技术方案中,当不能成功解密时,说明激活信息不是来源于已授权的客户端,当发布时间不在预定时间范围内时,说明软件授权已不在有效期范围内,当激活信息在服务器没有记录时,说明激活信息不是服务器所发送的,当这样的情况发生时,服务器向客户端发送错误提示,并终止验证,避免软件被恶意破解,保证了软件的安全性、合法性、一致性。

在上述技术方案中,优选地,所述发送单元将所述激活验证信息及所述发布时间通过所述私钥签名后发送至所述客户端之前,还包括:容错单元,用于记录预定次数的激活验证信息,根据激活验证信息进行容错验证。

在该技术方案中,通过记录预定次数的激活验证信息,为激活验证信息提供了容错验证,以利于软件的激活与持续验证的顺利进行,节省时间,方便用户快速通过验证。

在上述任一技术方案中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址;

在该技术方案中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

本发明还提出一种软件激活系统,包括上述任一技术方案的软件激活装置,用于客户端,以及上述任一技术方案的软件激活装置,用于服务器。该软件激活系统具有客户端软件激活装置和服务器端软件激活装置的任一技术效果,再次不在赘述。

本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1a示出了根据本发明的一个实施例的客户端软件激活方法的流程示意图;

图1b示出了根据本发明的再一个实施例的客户端软件激活方法的流程示意图;

图2示出了根据本发明的又一个实施例的客户端软件激活方法的流程示意图;

图3示出了根据本发明的一个实施例的服务器端软件激活方法的流程示意图;

图4示出了根据本发明的另一个实施例的服务器端软件激活方法的流程示意图;

图5a示出了根据本发明的再一个实施例的服务器端软件激活方法的流程示意图;

图5b示出了根据本发明的又一个实施例的服务器端软件激活方法的流程示意图;

图5c示出了根据本发明的又一个实施例的服务器端软件激活方法的流程示意图;

图6示出了根据本发明的一个实施例的客户端向服务器申请RSA数字证书的交互流程示意图;

图7示出了根据本发明的一个实施例的客户端与服务器交互的软件激活方法的流程示意图;

图8示出了根据本发明的再一个实施例的客户端与服务器交互的软件激活方法的流程示意图;

图9示出了根据本发明的一个实施例的客户端软件激活装置的示意框图;

图10a示出了根据本发明的一个实施例的服务器软件激活装置的示意框图;

图10b示出了根据本发明的一个实施例的服务器软件激活装置的示意框图;

图10c示出了根据本发明的一个实施例的服务器软件激活装置的示意框图;

图10d示出了根据本发明的一个实施例的服务器软件激活装置的示意框图;

图11示出了根据本发明的一个实施例的软件激活系统的示意框图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

如图1a所示,根据本发明的一个实施例的客户端软件激活方法的流程示意图:

步骤102,检测软件是否具有RSA数字证书;

步骤104,在软件具有RSA数字证书的情况下,获取软件的激活认证信息,并将激活认证信息通过RSA数字证书中的公钥加密后发送至服务器;

步骤106,接收并保存服务器发送的加密激活信息;

步骤108,通过公钥验证激活信息;

步骤110,根据激活信息激活软件。

在该实施例中,通过将软件的激活认证信息使用公钥加密后发送至服务器,能够保证激活认证信息只有服务器能接收到;接收并保存服务器发送的加密激活信息,并通过公钥验证激活信息,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

如图1b所示,根据本发明的再一个实施例的客户端软件激活方法的流程示意图:

步骤102,检测软件是否具有RSA数字证书;若是,执行步骤104,否则,执行步骤112;

步骤104,在软件具有RSA数字证书的情况下,获取软件的激活认证信息,并将激活认证信息通过RSA数字证书中的公钥加密后发送至服务器;

步骤106,接收并保存服务器发送的加密激活信息;

步骤108,通过公钥验证激活信息;

步骤110,根据激活信息激活软件;

步骤112,在软件不具有RSA数字证书的情况下,向服务器发送RSA数字证书的申请请求;

步骤114,接收服务器发送的RSA数字证书。

在该实施例中,通过服务器发送RSA数字证书的申请请求并接收服务器发送的RSA数字证书,保证了用户的身份认证与信息安全。

如图2所示,根据本发明的又一个实施例的客户端软件激活方法的流程示意图:该软件激活方法,用于客户端,还包括:验证激活信息是否有效,具体包括:

步骤202,将激活信息发送至服务器,并发送验证请求至服务器;

步骤204,接收并显示验证结果,通过公钥验证验证结果。

在该实施例中,通过将激活信息发送至服务器并发送验证请求,接收服务器发送的验证结果,并通过公钥验证验证结果,实现了软件激活和持续验证的流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

在上述任一实施例中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

在该实施例中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

如图3所示,根据本发明的一个实施例的服务器软件激活方法的流程示意图:

步骤302,接收客户端发送的软件的激活认证信息;

步骤304,通过私钥解密激活认证信息;

步骤306,判断激活认证信息是否符合激活条件;

步骤308,在激活认证信息符合激活条件的情况下,生成一个预设长度的随机数做为激活信息并覆盖原有激活信息,并根据当前时间生成发布时间;

步骤310,将激活信息及发布时间通过私钥签名后发送至客户端,以供客户端激活软件。

在该实施例中,通过私钥解密客户端发送的激活认证信息,判断激活认证信息是否符合激活条件,能够保证激活信息来源于客户端,通过将激活信息及发布时间通过私钥签名后发送至客户端,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

如图4所示,根据本发明的另一个实施例的服务器软件激活方法的流程示意图:

步骤402,在软件不具有RSA数字证书的情况下,接收客户端发送的RSA数字证书的申请请求;

步骤404,根据申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书;

步骤406,将RSA数字证书发送至客户端。

在该实施例中,通过根据客户端的申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书,保证了用户的身份认证与信息安全。

如图5a所示,根据本发明的再一个实施例的服务器软件激活方法的流程示意图:该软件激活方法,用于服务器,还包括:验证激活信息是否有效,具体包括:

步骤502,接收客户端发送的验证请求;

步骤504,通过公钥验证激活信息,并判断是否成功解密;

步骤506,在成功解密后判断发布时间是否在预定时间范围内;

步骤508,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录;

步骤510,并在判断结果为是的情况下,再次生成一个预设长度的随机数做为激活验证信息,并根据当前时间生成发布时间;

步骤512,将激活验证信息及发布时间通过私钥签名后发送至客户端。

在该实施例中,通过判断公钥是否成功解密激活信息,在成功解密后判断发布时间是否在预定时间范围内,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录,能够准确确认用户的身份信息,避免未经授权的客户端冒充已经授权的客户端申请验证,保证软件的安全性;将激活验证信息及发布时间通过私钥签名后发送至客户端,能够保证激活验证信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性。

如图5b所示,根据本发明的又一个实施例的服务器软件激活方法的流程示意图:

步骤502,接收客户端发送的验证请求;

步骤504,通过公钥验证激活信息,并判断是否成功解密;

步骤506,在成功解密后判断发布时间是否在预定时间范围内;

步骤508,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录;

步骤510,并在判断结果为是的情况下,再次生成一个预设长度的随机数做为激活验证信息,并根据当前时间生成发布时间;

步骤512,将激活验证信息及发布时间通过私钥签名后发送至客户端;

步骤514,向客户端发送错误提示,并结束验证。

在该实施例中,当不能成功解密时,说明激活信息不是来源于已授权的客户端,当发布时间不在预定时间范围内时,说明软件授权已不在有效期范围内,当激活信息在服务器没有记录时,说明激活信息不是服务器所发送的,当这样的情况发生时,服务器向客户端发送错误提示,并终止验证,避免软件被恶意破解,保证了软件的安全性、合法性、一致性。

如图5c所示,根据本发明的又一个实施例的服务器软件激活方法的流程示意图:

步骤502,接收客户端发送的验证请求;

步骤504,通过公钥验证激活信息,并判断是否成功解密;

步骤506,在成功解密后判断发布时间是否在预定时间范围内;

步骤508,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录;

步骤510,并在判断结果为是的情况下,再次生成一个预设长度的随机数做为激活验证信息,并根据当前时间生成发布时间;

步骤512,记录预定次数的激活验证信息,根据激活验证信息进行容错验证;

步骤514,将激活验证信息及发布时间通过私钥签名后发送至客户端;

步骤516,向客户端发送错误提示,并结束验证。

在该实施例中,通过记录预定次数的激活验证信息,为激活验证信息提供了容错验证,以利于软件的激活与持续验证的顺利进行,节省时间,方便用户快速通过验证。

在上述任一实施例中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址;

在该实施例中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

如图6所示,根据本发明的一个实施例的客户端向服务器申请RSA数字证书的交互流程示意图:

步骤602包括:步骤6022,向服务器发送RSA数字证书的申请请求;步骤6024,接收服务器发送的RSA数字证书;

步骤604包括:步骤6042,接收客户端发送的RSA数字证书的申请请求;步骤6044,根据申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书;步骤6046,将RSA数字证书发送至客户端。

在该实施例中,通过客户端与服务器交互,客户端获得了RSA数字证书,保证了用户的身份认证与信息安全。

如图7所示,根据本发明的一个实施例的客户端与服务器交互的软件激活方法的流程示意图:

步骤702包括:步骤7022,向服务器发起激活请求,提交产品激活认证信息并通过可靠方式发送至服务器;步骤7024,接收并保存服务器发送的加密激活信息;通过公钥验证激活信息;根据激活信息激活所述软件;

步骤704包括:步骤7042,接收激活请求验证产品信息步骤;步骤7043,检查激活认证信息是否符合激活条件;步骤7044,根据当前时间做为issueTime,并生成一个足够长的随机数做为activationCode,带着产品信息,生成激活信息,并用私钥签名;步骤7045,向客户端发送错误代码,结束激活;步骤7046,清除之前验证保留的activationCode,并记录新的activationCode;步骤7047,将加密的激活信息发送至客户端。

在该实施例中,通过将软件的激活认证信息使用公钥加密后发送至服务器,能够保证激活认证信息只有服务器能接收到;接收并保存服务器发送的加密激活信息,并通过公钥验证激活信息,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

如图8所示,根据本发明的再一个实施例的客户端与服务器交互的软件激活方法的流程示意图:

步骤802包括:步骤8022,向服务器发起验证请求,加载产品信息和之前激活或验证信息并发送至服务器;步骤8024,接收并显示验证结果,通过所述公钥验证所述验证结果;

步骤804包括:步骤8042,接收验证请求并验证产品信息;步骤8043,公钥验证激活信息,判断是否成功解密;步骤8044,发布时间是否在预定时间范围内;步骤8045,激活信息是否在服务器有所记录;步骤8046,生成一个预设长度的随机数做为激活验证信息,并根据当前时间生成发布时间;步骤8047,向客户端发送错误代码,结束验证;步骤8048,记录预定次数的激活验证信息,根据激活验证信息进行容错验证;步骤8049,将激活验证信息及发布时间通过私钥签名后发送至客户端。

在该实施例中,通过判断公钥是否成功解密激活信息,在成功解密后判断发布时间是否在预定时间范围内,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录,能够准确确认用户的身份信息,避免未经授权的客户端冒充已经授权的客户端申请验证,保证软件的安全性;将激活验证信息及发布时间通过私钥签名后发送至客户端,能够保证激活验证信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性。

如图9所示,根据本发明的一个实施例的客户端软件激活装置的示意框图:

检测单元902,用于检测软件是否具有RSA数字证书;还用于通过公钥验证激活信息;

加密单元904,用于在软件具有RSA数字证书的情况下,获取软件的激活认证信息,并将激活认证信息通过RSA数字证书中的公钥加密;

发送单元906,用于将激活认证信息通过RSA数字证书中的公钥加密后发送至服务器;

接收单元908,用于接收并保存服务器发送的加密激活信息;

激活单元910,用于根据激活信息激活软件。

在该实施例中,通过将软件的激活认证信息使用公钥加密后发送至服务器,能够保证激活认证信息只有服务器能接收到;接收并保存服务器发送的加密激活信息,并通过公钥验证激活信息,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

在上述实施例中,优选地,发送单元906,用于在软件不具有RSA数字证书的情况下,向服务器发送RSA数字证书的申请请求;接收单元908,还接收服务器发送的RSA数字证书。

在该实施例中,通过服务器发送RSA数字证书的申请请求并接收服务器发送的RSA数字证书,保证了用户的身份认证与信息安全。

在上述实施例中,优选地,还包括:验证激活信息是否有效,具体包括:发送单元906,还用于将激活信息发送至服务器,并发送验证请求至服务器;接收单元908,用于接收并显示验证结果;加密单元904,用于通过公钥验证验证结果。

在该实施例中,通过将激活信息发送至服务器并发送验证请求,接收服务器发送的验证结果,并通过公钥验证验证结果,实现了软件激活和持续验证的流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

在上述任一实施例中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

在该实施例中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

如图10a所示,根据本发明的一个实施例的服务器软件激活装置的示意框图:

接收单元1002,接收客户端发送的软件的激活认证信息;

加密单元1004,通过私钥解密激活认证信息;

第一判断单元1006,判断激活认证信息是否符合激活条件;

第一生成单元1008,在激活认证信息符合激活条件的情况下,生成一个足够长的随机数做为激活信息并覆盖原有激活信息,并根据当前时间生成发布时间;

发送单元1010,将激活信息及发布时间通过私钥签名后发送至客户端,以供客户端激活软件。

在该实施例中,通过私钥解密客户端发送的激活认证信息,判断激活认证信息是否符合激活条件,能够保证激活信息来源于客户端,通过将激活信息及发布时间通过私钥签名后发送至客户端,能够保证激活信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性,并且,增加了软件破解难度,有效地保护软件数据,防止监听和攻击,从而避免了用户数据泄露,提升了软件使用安全性。

如图10b所示,根据本发明的另一个实施例的服务器软件激活装置的示意框图:

接收单元1002,用于接收客户端发送的软件的激活认证信息;还用于在软件不具有RSA数字证书的情况下,接收客户端发送的RSA数字证书的申请请求;

加密单元1004,用于通过私钥解密激活认证信息;

第一判断单元1006,用于判断激活认证信息是否符合激活条件;

第一生成单元1008,用于在激活认证信息符合激活条件的情况下,生成一个足够长的随机数做为激活信息并覆盖原有激活信息,并根据当前时间生成发布时间;

发送单元1010,用于将激活信息及发布时间通过私钥签名后发送至客户端,以供客户端激活软件;还用于将RSA数字证书发送至客户端;

第二生成单元1012,根据申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书。

在该实施例中,通过根据客户端的申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书,保证了用户的身份认证与信息安全。

如图10c所示,根据本发明的再一个实施例的服务器软件激活装置的示意框图:

接收单元1002,用于接收客户端发送的软件的激活认证信息;还用于在软件不具有RSA数字证书的情况下,接收客户端发送的RSA数字证书的申请请求;还用于接收客户端发送的验证请求;

加密单元1004,用于通过私钥解密激活认证信息;

第一判断单元1006,用于判断激活认证信息是否符合激活条件;

第一生成单元1008,用于在激活认证信息符合激活条件的情况下,生成一个足够长的随机数做为激活信息并覆盖原有激活信息,并根据当前时间生成发布时间;

发送单元1010,用于将激活信息及发布时间通过私钥签名后发送至客户端,以供客户端激活软件;还用于将RSA数字证书发送至客户端;还用于将激活验证信息及发布时间通过私钥签名后发送至客户端

第二生成单元1012,根据申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书;

第二判断单元1014,通过公钥验证相关信息,并判断是否成功解密;

第三判断单元1016,在成功解密后判断发布时间是否在预定时间范围内;

第四判断单元1018,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录;

第三生成单元1020,在判断结果为是的情况下,再次生成一个足够长的随数做为激活验证信息,并根据当前时间生成发布时间。

在该实施例中,通过判断公钥是否成功解密激活信息,在成功解密后判断发布时间是否在预定时间范围内,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录,能够准确确认用户的身份信息,避免未经授权的客户端冒充已经授权的客户端申请验证,保证软件的安全性;将激活验证信息及发布时间通过私钥签名后发送至客户端,能够保证激活验证信息是服务器发送的原始信息,而没有受到篡改,实现了基于RSA非对称加密算法的软件激活和持续验证流程,在联网交互环节保障信息的合法性和一致性。

在上述实施例中,优选地,当不能成功解密时,向客户端发送错误提示,并结束验证;当发布时间不在预定时间范围内时,向客户端发送错误提示,并结束验证;当激活信息在服务器没有记录时,向客户端发送错误提示,并结束验证。

在该实施例中,当不能成功解密时,说明激活信息不是来源于已授权的客户端,当发布时间不在预定时间范围内时,说明软件授权已不在有效期范围内,当激活信息在服务器没有记录时,说明激活信息不是服务器所发送的,当这样的情况发生时,服务器向客户端发送错误提示,并终止验证,避免软件被恶意破解,保证了软件的安全性、合法性、一致性。

如图10d所示,根据本发明的再一个实施例的服务器软件激活装置的示意框图:

接收单元1002,用于接收客户端发送的软件的激活认证信息;还用于在软件不具有RSA数字证书的情况下,接收客户端发送的RSA数字证书的申请请求;还用于接收客户端发送的验证请求;

加密单元1004,用于通过私钥解密激活认证信息;

第一判断单元1006,用于判断激活认证信息是否符合激活条件;

第一生成单元1008,用于在激活认证信息符合激活条件的情况下,生成一个足够长的随机数做为激活信息并覆盖原有激活信息,并根据当前时间生成发布时间;

发送单元1010,用于将激活信息及发布时间通过私钥签名后发送至客户端,以供客户端激活软件;还用于将RSA数字证书发送至客户端;还用于将激活验证信息及发布时间通过私钥签名后发送至客户端

第二生成单元1014,根据申请请求生成RSA密钥对,并对应生成包含公钥的RSA数字证书;

第二判断单元1018,通过公钥验证相关信息,并判断是否成功解密;

第三判断单元1020,在成功解密后判断发布时间是否在预定时间范围内;

第四判断单元1022,当发布时间在预定时间范围内时,进一步判断激活信息是否在服务器有所记录;

第三生成单元1024,在判断结果为是的情况下,再次生成一个足够长的随机数做为激活验证信息,并根据当前时间生成发布时间;

容错单元1026,用于记录预定次数的激活验证信息,根据激活验证信息进行容错验证。

在该实施例中,通过记录预定次数的激活验证信息,为激活验证信息提供了容错验证,以利于软件的激活与持续验证的顺利进行,节省时间,方便用户快速通过验证。

在上述任一实施例中,优选地,RSA数字证书包括以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

在该实施例中,通过RSA数字证书保证了用户的身份认证与信息安全;通过激活认证信息进一步保证了用户的身份认证与信息安全。

本领域技术人员应该理解,RSA数字证书包括但不限于以下至少一项或其组合:ID、公钥、发布机构、所有者、有效期;激活认证信息包括但不限于以下至少一项或其组合:软件的卡号及对应的密码、客户端的IP地址。

如图11所示,根据本发明的一个实施例的软件激活系统的示意框图:包括客户端软件激活装置1102和服务器端软件激活装置1104。该软件激活系统1100具有客户端软件激活装置1102和服务器端软件激活装置1104的任一技术效果,再次不在赘述。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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