一种软件保护方法和系统的制作方法

文档序号:8259363阅读:197来源:国知局
一种软件保护方法和系统的制作方法
【技术领域】
[0001]本申请涉及信息安全技术领域,特别涉及一种软件保护方法和系统。
【背景技术】
[0002]对于软件保护来说,其核心理念是防止软件被盗版;而软件授权的目标就是让软件按照购买的授权许可来使用软件,所述授权许可涉及软件的安装数量、使用时间、应用范围以及功能模块等内容。其中,所述授权许可一般用License表示,一个License通常包括许可证书、许可号、许可文件等信息。
[0003]目前,这种软件保护方式很容易遭受黑客的破解,并仿真算法,导致盗版泛滥。例如,对于某些典型的办公软件,通过在本地运行一个私服KMS就可以破解并永久使用。
[0004]可见,如何提高软件的安全性,是当前需要解决的技术问题

【发明内容】

[0005]为解决上述技术问题,本发明提供了一种软件保护方法和系统,能够提高软件的安全性。
[0006]本发明提供的技术方案是这样的:
[0007]一种软件保护方法,该方法包括:
[0008]在安全设备中,存储软件的许可信息与算法信息的对应关系、以及所述算法信息对应的算法内容;
[0009]所述安全设备接收所述软件客户端在接收到运行命令时发送的许可验证请求,所述许可验证请求包括用户信息和许可信息;
[0010]所述安全设备根据所述许可验证请求验证是否允许所述用户使用所述软件;
[0011]在允许所述用户使用所述软件时,所述安全设备接收所述软件客户端在接收到操作命令时发送的操作执行请求;
[0012]所述安全设备根据所述操作执行请求查找匹配的算法内容,执行查找到的算法内容,返回执行结果。
[0013]一种软件保护系统,该系统包括软件客户端和安全设备,
[0014]所述安全设备,用于存储软件的许可信息与算法信息的对应关系、以及所述算法信息对应的算法内容,接收所述软件客户端在接收到运行命令时发送的许可验证请求,根据所述许可验证请求验证是否允许所述用户使用所述软件,在允许所述用户使用所述软件时,接收所述软件客户端在接收到操作命令时发送的操作执行请求,根据所述操作执行请求查找匹配的算法内容,执行查找到的算法内容,返回执行结果;
[0015]所述软件客户端,用于在接收到运行命令时向所述安全设备发送许可验证请求,所述许可验证请求包括用户信息和许可信息,在接收到操作命令时向所述安全设备发送操作执行请求,接收所述安全设备返回的执行结果。
[0016]由上述方案可见,本发明实施例中,将软件的许可信息与算法信息的对应关系、以及所述算法信息对应的算法内容,存储在与软件客户端相分离的安全设备中,所述软件客户端在接收到运行命令时,需要向所述安全设备发送许可验证请求,在得到所述安全设备的许可后,方可使用所述软件客户端,并且,所述软件客户端所需要执行的具体的算法内容,也与许可信息绑定地存储在所述安全设备中,软件客户端在接收到操作命令时,需要向所述安全设备发送操作执行请求,由所述安全设备查找相应的算法内容,并负责具体算法内容的执行,在执行完成后,向所述软件客户端返回执行结果。
[0017]可见,由于具体的算法内容与软件的许可信息一起绑定地存储在安全设备中,该安全设备与软件客户端相互分离,因此,能够提高在软件客户端本地运行破解软件来破解所述软件客户端的难度,从而提高软件的安全性。
【附图说明】
[0018]图1是本发明实施例提供的软件保护方法流程图。
[0019]图2是本发明实施例提供的基于授权许可与算法绑定的软件保护方法的详细流程图。
[0020]图3是本发明实施例提供的软件保护系统组成示意图。
[0021]图4是本发明实施例提供的软件保护系统中软件客户端的结构示意图。
[0022]图5是本发明实施例提供的软件保护系统中安全设备的结构示意图。
【具体实施方式】
[0023]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
[0024]图1是本发明实施例提供的软件保护方法流程图。
[0025]如图1所示,该流程包括:
[0026]步骤101,在安全设备中,存储软件的许可信息与算法信息的对应关系、以及所述算法?目息对应的算法内容。
[0027]步骤102,所述安全设备接收所述软件客户端在接收到运行命令时发送的许可验证请求,所述许可验证请求包括用户信息和许可信息。
[0028]根据本发明的一个实施方式,所述用户信息包括但不限于用户ID,所述许可信息包括但不限于许可号或许可ID等信息。
[0029]步骤103,所述安全设备根据所述许可验证请求验证是否允许所述用户使用所述软件,如果是,执行步骤104,否则,执行步骤106。
[0030]本步骤中,具体可以根据用户信息和许可信息从所述安全设备中存储的授权用户的许可信息查找是否有匹配项,如果有,则验证通过,否则,验证不通过。
[0031]步骤104,所述安全设备接收所述软件客户端在接收到操作命令时发送的操作执行请求。
[0032]其中,所述操作执行请求可以包括:操作对应的算法的许可(license)信息、以及执行的算法参数信息和/或算法标识。所述操作执行请求还可以包括软件客户端的基础信息,例如,软件的版本号信息等。其中,所述算法标识可以包括但不限于算法的名称、和/或算法ID。
[0033]步骤105,所述安全设备根据所述操作执行请求查找匹配的算法内容,执行查找到的算法内容,返回执行结果,如果所述软件客户端接收到关闭命令,结束本流程,否则,返回步骤104。
[0034]步骤106,返回禁止使用所述软件客户端的消息,结束本流程。
[0035]可见,通过图1所示的方法,由于具体的算法内容与软件的许可信息一起绑定地存储在安全设备中,并且,该安全设备与软件客户端相互分离,因此,能够提高所述软件客户端的破解难度,从而提高软件的安全性。
[0036]在一实施例中,所述步骤105中,所述安全设备根据所述操作执行请求查找匹配的算法内容具体可以包括:
[0037]所述安全设备根据所述操作执行请求中携带的算法标识,直接查找该算法标识对应的算法内容。
[0038]当所述安全设备直接根据所述操作执行请求中携带的算法标识查找对应的算法内容时,可以实现只要确定出当前用户是当前软件客户端被授权的用户,就允许该用户使用该软件客户端的所有功能。
[0039]其中,所述算法标识包括算法的名称、和/或算法ID ;所述操作执行请求中还包括算法的参数信息。
[0040]在另一实施例中,所述步骤105中,所述安全设备根据所述操作执行请求查找匹配的算法内容具体可以包括:
[0041]所述安全设备根据所述操作执行请求中携带的用户信息和算法标识,查找该用户信息对应的许可信息,根据所述许可信息和所述算法标识,确定是否允许所述用户使用所述算法标识对应的算法内容,如果是,查找所述算法标识对应的算法内容,否则,返回无权使用所述算法内容的消息。
[0042]在该实施例中,通过进一步根据所述操作执行请求中携带的用户信息和算法标识,查找该用户信息对应的许可信息,根据所述许可信息和所述算法标识,确定是否允许所述用户使用所述算法标识对应的算法内容,可以实现对软件客户端中某些特定的功能模块进行进一步的强化保护,只有该功能模
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1