软件授权方法、装置及电子设备的制造方法

文档序号:9274828阅读:295来源:国知局
软件授权方法、装置及电子设备的制造方法
【技术领域】
[0001]本发明涉及软件保护技术领域,更具体地说,涉及一种软件授权方法、装置及电子设备。
【背景技术】
[0002]为了防止软件被盗版使用,较常用的软件授权方法是通过本地注册码或网络认证的方式对软件进行授权。然而,发明人在实现本发明的过程中发现,目前,软件通常是基于单系统(或单运行环境)进行授权,因此,当终端的运行环境受到攻击时,软件仍然很容易被破解,从而被盗用。
[0003]因此,如何提高软件被破解的难度成为亟待解决的问题。

【发明内容】

[0004]本发明的目的是提供一种软件授权方法、装置及电子设备,以提高软件被破解的难度。
[0005]为实现上述目的,本发明提供了如下技术方案:
[0006]一种软件授权方法,应用于具有双系统的电子设备,其中,所述双系统中的第一系统的安全性高于所述双系统中的第二系统的安全性,所述第一系统和所述第二系统逻辑隔离;所述方法包括:
[0007]所述第二系统下载所述软件的第一代码;
[0008]所述第二系统运行所述第一代码,所述第一代码的运行的过程包括:
[0009]下载加密后的第二代码和加密后的第三代码,所述第一代码和所述第二代码组成所述软件的业务逻辑;
[0010]向所述第一系统发送第一请求消息,以使所述第一系统对所述加密后的第三代码进行解密;
[0011]在所述第一系统对所述加密后的第三代码解密并启动成功后,向所述第一系统发送第二请求消息,以使所述第一系统对所述加密后的第二代码进行解密;
[0012]所述第一系统对所述加密后的第二代码解密成功后,将所述第二代码拷贝到所述第一系统和所述第二系统的共享内存中;
[0013]其中,所述第二代码由所述第一系统运行所述第三代码而得到,所述第三代码的运行过程包括:接收到所述第二请求消息后,在检测出所述第一系统和所述第二系统均安全时,发起认证过程,当认证通过时,对所述加密后的第二代码进行解密得到所述第二代码。
[0014]上述方法,优选的,所述第一系统对所述加密后的第三代码进行解密包括:
[0015]所述第一系统使用所述电子设备绑定的第一密钥对所述加密后的第三代码进行解密。
[0016]上述方法,优选的,所述第一系统对所述加密后的第二代码进行解密包括:
[0017]所述第一系统使用所述第三代码中携带的第二密钥对所述加密后的第二代码进行解密。
[0018]上述方法,优选的,检测所述第一系统和所述第二系统的安全性的过程包括:
[0019]分别获取所述第一系统和所述第二系统的状态列表;
[0020]将所述第一系统的状态列表中的各个状态值与所述第一系统的预期状态值进行比较,并将所述第二系统的状态列表中的各个状态值与所述第二系统的预期状态值进行比较;
[0021]当所述第一系统的状态列表中的各个状态值均与所述第一系统的预期状态值一致,且所述第二系统的状态列表中的各个状态值均与所述第二系统的预期状态值一致时,确定所述第一系统和所述第二系统均安全。
[0022]上述方法,优选的,所述认证过程包括:
[0023]所述第一系统显示用户认证界面;
[0024]接收用户输入的认证码;
[0025]向所述第二系统发送第一认证请求,所述认证请求中携带有安全性报告,所述认证码和所述第一系统生成的随机数;
[0026]所述第二系统接收到所述第一认证请求后,向网络侧的授权服务器发送第二认证请求,所述第二认证请求中携带有所述安全性报告,所述电子设备的身份识别信息,所述认证码和所述随机数;
[0027]所述第二系统接收到所述授权服务器发送的授权凭证后,向所述第一系统发送所述授权凭证,所述授权凭证由所述授权服务器对所述电子设备的身份识别信息、所述安全性报告和所述认证码进行校验,校验通过后基于所述随机数生成;
[0028]所述第一系统对所述授权凭证进行校验,根据校验结果判断是否认证通过。
[0029]一种软件授权装置,应用于具有双系统的电子设备,其中,所述双系统中的第一系统的安全性高于所述双系统中的第二系统的安全性,所述第一系统和所述第二系统逻辑隔离;所述装置包括:运行在所述第二系统下的下载模块,第一运行模块,以及,运行在所述第一系统下的解密模块,第二运行模块和加载模块;其中,
[0030]所述下载模块用于下载所述软件的第一代码;
[0031 ] 所述第一运行模块用于运行所述第一代码,包括:下载单元,用于下载加密后的第二代码和加密后的第三代码,所述第二代码为所述软件的核心业务代码,所述第一代码和所述第二代码组成所述软件的业务逻辑;第一发送单元,用于向所述解密模块发送第一请求消息,以使所述解密模块对所述加密后的第三代码进行解密;第二发送单元,用于在所述解密模块对所述加密后的第三代码解密并启动成功后,向所述第二运行模块发送第二请求消息,以使所述第二运行模块对所述加密后的第二代码进行解密;
[0032]所述第二运行模块用于运行所述第三代码,包括:检测单元,用于在收到所述第二请求消息后,检测所述第一系统和所述第二系统的安全性;认证单元,用于在所述检测单元在检测出所述第一系统和所述第二系统均安全时,发起认证过程;第一解密单元,用于在所述认证单元确定认证通过时,对所述加密后的第二代码进行解密得到所述第二代码
[0033]所述加载模块用于在所述第二运行模块对所述加密后的第二代码解密成功后,将所述第二代码拷贝到所述第一系统与所述第二系统的共享内存中;。
[0034]上述装置,优选的,所述解密模块包括:
[0035]第二解密单元,用于使用所述电子设备绑定的第一密钥对所述加密后的第三代码进行解密。
[0036]上述装置,优选的,所述第一解密单元包括:
[0037]解密子单元,用于使用所述第三代码中携带的第二密钥对所述加密后的第二代码进行解密。
[0038]上述装置,优选的,所述检测单元包括:
[0039]获取子单元,用于分别获取所述第一系统和所述第二系统的状态列表;
[0040]比较子单元,用于将所述第一系统的状态列表中的各个状态值与所述第一系统的预期状态值进行比较,并将所述第二系统的状态列表中的各个状态值与所述第二系统的预期状态值进行比较;
[0041]确定子单元,用于当所述第一系统的状态列表中的各个状态值均与所述第一系统的预期状态值一致,且所述第二系统的状态列表中的各个状态值均与所述第二系统的预期状态值一致时,确定所述第一系统和所述第二系统均安全。
[0042]上述装置,优选的,所述认证单元包括:
[0043]显示子单元,用于显示用户认证界面;
[0044]第一接收子单元,用于接收用户输入的认证码;
[0045]发送子单元,用于向所述第一运行模块发送认证请求,所述认证请求中携带有安全性报告,及所述认证码和所述第一系统生成的随机数;
[0046]第二接收子单元,用于接收所述第一运行模块发送的授权凭证;
[0047]校正子单元,用于对所述授权凭证进行校验,根据校验结果判断是否认证通过;
[0048]相应的,所述第一运行模块还包括:
[0049]第一接收单元,用于接收所述发送子单元发送的认证请求;
[0050]第三发送单元,用于向网络侧的授权服务器发送所述安全性报告,所述电子设备的身份识别信息,所述认证码和所述随机数;
[0051]第二接收单元,用于接收所述授权服务器发送所述的授权凭证,所述授权凭证由所述授权服务器对所述电子设备的身份识别信息、所述安全性报告和所述认证码进行校验,校验通过后基于所述随机数生成;
[0052]第四发送单元,用于向所述第二接收子单元发送所述授权凭证。
[0053]一种电子设备,该电子设备具有双系统,其中,所述双系统中的第一系统的安全性高于所述双系统中的第二系统的安全性,所述第一系统和所述第二系统逻辑隔离;该电子设备包括如上任意一项所述的软件授权装置。
[0054]通过以上方案可知,本申请提供的一种软件授权方法、装置及电子设备,将软件解密过程和认证授权的过程都放置在安全环境(即第一系统)下运行,普通环境下的攻击不影响安全环境下的安全,而且,本发明实施例提供的软件授权方法包括两次解密过程,第二次解密过程是在双系统均安全,且认证通过的情况下进行的,在保证电子设备安全的情况下,保证软件的运行是在授权许可下进行,提高了软件被破解的难度,提高了软件的安全性。
【附图说明】
[0055]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0056]图1为本申请实施例提供的软件授权方法的一种实现流程图;
[0057]图2为本申请实施例提供的检测第一系统和第二系统的安全性的一种实现流程图;
[0058]图3为本申请实施例提供的进行网络认证的认证过程的一种实现流程图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1