软件启动方法、软件授权验证方法、设备和存储介质技术

技术编号:20993012 阅读:28 留言:0更新日期:2019-04-29 22:52
本申请涉及一种软件启动方法,包括:向授权服务器发起授权验证请求,授权验证请求携带:待授权软件的软件标识、机器特征码、加密密码;获取授权服务器基于授权验证请求返回的授权响应,授权响应携带:授权服务器在基于软件标识、机器特征码确定授权有效时,对加密密码进行解密得到的密码;通过密码解密待授权软件的加密文件得到解密数据后,基于解密数据启动待授权软件。上述软件启动方法,客户端在启动软件前,需向授权服务器发起授权验证请求,获取授权服务器在授权有效时返回的密码时,通过密码解密待授权软件的加密文件,才可以启动软件,从而通过上述方法可以起到对软件代码的保护作用。本申请还提供一种软件授权验证方法、设备和存储介质。

Software startup method, software authorization verification method, equipment and storage medium

This application involves a software startup method, which includes: initiating authorization authentication request to authorized server, carrying authorization authentication request: software identification, machine signature, encrypted password of the software to be authorized; obtaining authorization response returned by authorized server based on authorization verification request, and carrying authorization response: authorized server determines authorization based on software identification and machine signature. In time, the password obtained by decrypting the encrypted password; after decrypting the encrypted file of the software to be authorized by decrypting the password, the software to be authorized is started based on the decrypted data. Before starting the software, the client needs to initiate authorization validation request to the authorized server, obtain the password returned by the authorized server when the authorization is valid, and decrypt the encrypted file of the software to be authorized through the password, so that the software can be started. Thus, the above-mentioned method can play a protective role to the software code. The application also provides a software authorization verification method, equipment and storage medium.

【技术实现步骤摘要】
软件启动方法、软件授权验证方法、设备和存储介质
本申请涉及计算机
,特别是涉及一种软件启动方法、软件授权验证方法、计算机设备和存储介质。
技术介绍
对于翻译型语言(包括java、.net等使用中间码的语言)以及规则引擎或工作流来说,软件执行码就是软件代码或中间码,这部分代码是可以被反编译或直接暴露在用户和其他人员面前的。只要其获得执行码,则系统就没有秘密可言。因此一直以来,保护软件不被非法拷贝和破解是较大的问题,传统的激活码和联机激活方案对软件的代码没有起到保护作用。
技术实现思路
基于此,有必要针对上述技术问题,提供一种软件授权验证方法、软件授权验证处理方法、计算机设备和存储介质。一种软件启动方法,所述方法包括:向授权服务器发起授权验证请求,所述授权验证请求携带:待授权软件的软件标识、机器特征码、加密密码;获取所述授权服务器基于所述授权验证请求返回的授权响应,所述授权响应携带:所述授权服务器在基于所述软件标识、机器特征码确定授权有效时,对所述加密密码进行解密得到的密码;通过所述密码解密所述待授权软件的加密文件得到解密数据后,基于所述解密数据启动所述待授权软件。上述软件启动方法,客户端在启动软件前,需向授权服务器发起授权验证请求,将加密密码和软件标识、机器特征码发送给授权服务器,通过获取授权服务器的授权响应,授权响应在授权有效时会携带授权服务器对加密密码解密后得到的密码时,然后通过密码解密待授权软件的加密文件,才可以启动软件,从而通过上述方法可以起到对软件代码的保护作用。在其中一个实施例中,在向授权服务器发起授权验证请求之前,还包括步骤:随机生成客户端密钥对;所述授权验证请求还携带:所述客户端密钥对中的客户端公钥;所述客户端公钥用于所述授权服务器在返回授权响应之前,加密所述密码;所述授权响应携带的密码为:所述授权服务器用所述客户端公钥加密后的所述密码。在其中一个实施例中,所述授权验证响应还携带:所述授权服务器在基于所述软件标识、机器特征码确定授权有效时,获取的所述待授权软件的第一哈希值;在基于所述解密数据启动所述待授权软件之前,还包括步骤:对所述解密数据进行哈希运算得到第二哈希值,在所述第一哈希值和第二哈希值一致时,启动所述待授权软件。在其中一个实施例中,在向授权服务器发起授权验证请求之前,还包括步骤:随机生成客户端密钥对;获取当前时刻客户端的第一时间,用所述客户端密钥对中的客户端公钥加密所述第一时间,得到加密后的第一时间;所述授权验证请求还携带所述加密后的第一时间;所述授权响应还携带:所述加密后的第一时间;在基于所述解密数据启动所述待授权软件之前,还包括步骤:用所述客户端密钥对中的客户端私钥解密所述加密后的第一时间,得到第二时间;当所述第一时间和所述第二时间一致时,基于所述解密数据启动所述待授权软件。在其中一个实施例中,基于所述解密数据启动所述待授权软件,包括:将所述解密数据加载至内存,跳转至所述解密数据的代码入口处,启动所述待授权软件。在其中一个实施例中,所述授权验证响应还携带:所述授权服务器在基于所述软件标识、机器特征码确定授权有效时,生成的新密码;通过所述密码解密所述待授权软件的加密文件得到解密数据之后,还包括步骤:用所述新密码加密所述解密数据,得到新加密文件;加密所述新密码得到新加密密码;将所述新加密文件和所述新加密密码替换所述加密文件和所述加密密码。一种软件授权验证方法,所述方法包括:接收授权验证请求,所述授权验证请求携带:待授权软件的软件标识、机器特征码、加密密码;在基于所述软件标识和所述机器特征码确定授权有效时,用服务器私钥解密所述加密密码,得到密码;向客户端发送授权响应;所述授权响应携带所述密码,所述密码用于客户端解密所述待授权软件的加密文件。在其中一个实施例中,所述授权验证请求还携带:客户端公钥;在得到密码之后,还包括步骤:用所述客户端公钥加密所述密码;向所述客户端发送授权响应时携带的密码为客户端公钥加密后的密码。在其中一个实施例中,所述授权验证请求还携带:当前时刻客户端加密后的第一时间;所述授权验证响应还携带:所述加密后的第一时间;所述加密后的第一时间用于所述客户端确定授权验证响应的安全性。在其中一个实施例中,在确定授权有效后,还包括步骤:基于所述软件标识获取所述待授权软件的哈希值;所述授权响应还携带:所述待授权软件的哈希值;所述待授权软件的哈希值用于所述客户端在基于所述密码解密所述待授权软件的加密文件后得到解密数据后,确定所述解密数据的哈希值与所述待授权软件的哈希值是否一致。在其中一个实施例中,在确定授权有效后,还包括步骤:随机生成新密码;所述授权验证响应还携带:所述新密码;所述新密码用于所述客户端在通过所述密码解密所述待授权软件的加密文件后得到解密数据后,重新加密所述解密数据。在其中一个实施例中,在接收验证授权请求之前,还包括步骤:接收授权登记请求,所述授权登记请求携带机器特征码;将所述机器特征码、待登记软件的软件标识、待登记软件的授权有效期添加至授权数据库中;随机生成密码,基于所述密码确定加密密码;用所述密码加密所述待登记软件的代码,得到加密文件;将所述加密密码、加密文件、启动器和所述待登记软件的软件标识发送至终端。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。附图说明图1为一个实施例中软件启动方法的应用环境图;图2为一个实施例中软件启动方法的流程示意图;图3为另一个实施例中软件启动方法的流程示意图;图4为一个实施例中软件授权验证方法的流程示意图;图5为另一个实施例中软件授权验证方法的流程示意图;图6为另一个实施例中软件授权验证方法的流程示意图;图7为一个实施例中客户端的结构示意图;图8为一个实施例中登记授权流程示意图;图9为一个实施例中客户端请求授权的流程示意图;图10为一个实施例中授权服务器验证授权的流程示意图;图11为一个实施例中客户端处理服务器返回授权响应的流程示意图;图12为一个实施例中客户端验证软件代码合法性的流程示意图;图13为一个实施例中客户端重新加密数据文件的流程示意图;图14为一个实施例中客户端向授权服务器请求授权验证并启动软件的过程示意图;图15为一个实施例中客户端软件启动的流程示意图;图16为一个实施例中授权服务器进行软件授权验证的流程示意图;图17为一个实施例中计算机设备的内部结构图;图18为另一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的软件启动方法,可以应用于如图1所示的应用环境中。其中,客户终端110通过网络与授权服务器120通过网络进行通信。客户终端110在启动软件之前,需要向授权服务器发起授权验证请求,将软件标识、机器特征码和加密密码发送至授权服务器,授权服务器在基于软件标识、机器特征码确定授权有效时,将加密密码解密之后与授权响应一起返回给客户终端,客户终端才能根据密码解密软件的加密文本文档来自技高网...

【技术保护点】
1.一种启动软件的方法,所述方法包括:向授权服务器发起授权验证请求,所述授权验证请求携带:待授权软件的软件标识、机器特征码、加密密码;获取所述授权服务器基于所述授权验证请求返回的授权响应,所述授权响应携带:所述授权服务器在基于所述软件标识、机器特征码确定授权有效时,对所述加密密码进行解密得到的密码;通过所述密码解密所述待授权软件的加密文件得到解密数据后,基于所述解密数据启动所述待授权软件。

【技术特征摘要】
1.一种启动软件的方法,所述方法包括:向授权服务器发起授权验证请求,所述授权验证请求携带:待授权软件的软件标识、机器特征码、加密密码;获取所述授权服务器基于所述授权验证请求返回的授权响应,所述授权响应携带:所述授权服务器在基于所述软件标识、机器特征码确定授权有效时,对所述加密密码进行解密得到的密码;通过所述密码解密所述待授权软件的加密文件得到解密数据后,基于所述解密数据启动所述待授权软件。2.根据权利要求1所述的方法,其特征在于,在向授权服务器发起授权验证请求之前,还包括步骤:随机生成客户端密钥对;所述授权验证请求还携带:所述客户端密钥对中的客户端公钥;所述客户端公钥用于所述授权服务器在返回授权响应之前,加密所述密码;所述授权响应携带的密码为:所述授权服务器用所述客户端公钥加密后的密码。3.根据权利要求1所述的方法,其特征在于,包括以下至少一项:第一项,在向授权服务器发起授权验证请求之前,还包括步骤:随机生成客户端密钥对;获取当前时刻客户端的第一时间,用所述客户端密钥对中的客户端公钥加密所述第一时间,得到加密后的第一时间;所述授权验证请求还携带所述加密后的第一时间;所述授权响应还携带:所述加密后的第一时间;在基于所述解密数据启动所述待授权软件之前,还包括步骤:用所述客户端密钥对中的客户端私钥解密所述加密后的第一时间,得到第二时间;当所述第一时间和所述第二时间一致时,基于所述解密数据启动所述待授权软件;第二项,所述授权验证响应还携带:所述授权服务器在基于所述软件标识、机器特征码确定授权有效时,获取的所述待授权软件的第一哈希值;在基于所述解密数据启动所述待授权软件之前,还包括步骤:对所述解密数据进行哈希运算得到第二哈希值,在所述第一哈希值和第二哈希值一致时,启动所述待授权软件。4.根据权利要求1所述的方法,其特征在于,包括以下至少一项:第一项,基于所述解密数据启动所述待授权软件,包括:将所述解密数据加载至内存,跳转至所述解密数据的代码入口处,启动所述待授权软件;第二项,所述授权验证响应还携带:所述授权服务器在基于所述软件标识、机器特征码确定授权有效时,生成的新密码;通过所述密码解密所述待授权软件的加密文件得到解密数据之后,还包括步骤:用所述新密码加密所述解密数据,得到新加密文件;加密所述新密码得到新加密密码...

【专利技术属性】
技术研发人员:王启玖何启正
申请(专利权)人:佛山市瑞德物联科技有限公司
类型:发明
国别省市:广东,44

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

1