一种软件保护、授权和注册的方法

文档序号:8381261阅读:592来源:国知局
一种软件保护、授权和注册的方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体而言,涉及一种软件保护、授权和注册的方法。
【背景技术】
[0002]对于软件供应商,若想在日益严峻的竞争中快速发展业务,需要有一种有效的手段保护市场收入及其核心技术,确保自己的竞争优势,同时也需要借助灵活的软件授权与交付模式来获得最高的市场利润和客户满意度。让客户可以根据自己的需求来付款,可以选购哪些真正需要的功能和产品特性。同时可以让潜在的试用客户转变为新客户。
[0003]现在常见的软件保护技术主要分为:硬加密、软加密两类。
[0004]硬加密技术,即加密锁或加密狗。优点是安全,缺点是对硬件设备及操作系统的依赖,额外的生产、初始化、物流、安装和维护的成本。
[0005]软加密在客户端没有硬件,可实现软件的电子化发行,为开发商节省大量的软件保护和发行成本,缺点是安全性不够高,市场上流行的一些软加密工具和厂商基本都有相应的注册机破解。

【发明内容】

[0006]本发明提供一种软件保护、授权和注册的方法,用以提高软件保护的安全性。
[0007]为达到上述目的,本发明提供了一种软件保护、授权和注册的方法,包括以下步骤:
[0008]接收用户注册时发送的验证信息并进行验证;
[0009]如果验证通过则获取用户的客户关键信息和硬件特征码;
[0010]根据客户关键信息和硬件特征码、产品ID (IDentity,身份标识号码)、产品授权、MD5 (Message Digest Algorithm5,消息摘要算法第五版)校验码按照自定义算法进行组合编码,将得到的编码通过非对称加密算法生成授权信息并发送至相应的用户端。
[0011]可选的,在用户启动软件产品时对授权信息进行解密,并进行MD5校验,校验通过后将提取到的客户关键信息与数据库中的信息进行比对,将提取到的硬件特征码与服务器实际硬件特征进行比对,如果校验成功则将授权信息加载到一块受保护的内存中,否则软件启动失败。
[0012]可选的,对软件保护控制部分的代码按设定规则进行混淆,同时定时对软件保护控制部分的代码和受保护内存进行防篡改校验。
[0013]可选的,授权信息保存在用户端的硬盘或加密锁中。
[0014]可选的,客户关键信息包括客户名称、税号,硬件特征码包括CPU (中央处理器)编号、硬盘编号、MAC (Media Access Control,介质访问控制)地址。
[0015]可选的,针对不同版本的软件产品,非对称加密算法采用不同的公钥-私钥对。
[0016]可选的,根据软件销售订单或生产订单,自动生成软件授权信息,并将授权信息、产品标识、产品密码、二维码在产品标签中打印。
[0017]可选的,在软件产品启动后自动维护软件产品的当前运行情况,具体包括:正在访问系统的用户、每个用户正在访问的模块、每个模块正在访问的用户、每个模块当前的业务日期,并在用户使用具体的软件功能时,自动将当前运行情况与授权信息进行比对,以此决定是否允许用户的访问,其中授权信息包括系统站点数、模块、模块并发数、模块期限。
[0018]本发明的对软件产品进行加密保护、授权和注册的方法,可以保护软件产品的知识产权,限制对软件产品的未授权使用,有效防止盗版,避免商业损失,同时支持丰富灵活的授权打包以及定价机制,高效低成本的软件分发交付,同时基于软件注册信息可以对软件产品销售、市场、客户情况进行全面分析。
【附图说明】
[0019]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本发明一个实施例的软件保护、授权和注册的方法流程图;
[0021]图2为本发明一个实施例的软件保护授权注册的业务流程图;
[0022]图3为本发明一个实施例的软件产品注册流程图;
[0023]图4为本发明一个实施例的软件授权发行的界面图。
【具体实施方式】
[0024]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0025]图1为本发明一个实施例的软件保护、授权和注册的方法流程图;如图所示,该方法包括以下步骤:
[0026]S110,接收用户注册时发送的验证信息并进行验证;
[0027]其中,验证信息可以包括产品序列号、⑶KEY (产品密码)和验证码。
[0028]S120,如果验证通过则获取用户的客户关键信息和硬件特征码;
[0029]其中,客户关键信息可以包括客户名称、税号,硬件特征码可以包括CPU编号、硬盘编号、MAC地址。
[0030]S130,根据客户关键信息和硬件特征码、产品ID、产品授权、MD5 ()校验码按照自定义算法进行组合编码,将得到的编码通过非对称加密算法生成授权信息并发送至相应的用户端。
[0031]其中,在加密时,针对不同版本的软件产品,非对称加密算法可以采用不同的公钥-私钥对。
[0032]发送至用户端的授权信息可以保存在用户端的硬盘或加密锁中。
[0033]在用户启动软件产品时对授权信息进行解密,并进行MD5校验,校验通过后将提取到的客户关键信息与数据库中的信息进行比对,将提取到的硬件特征码与服务器实际硬件特征进行比对,如果校验成功则将授权信息加载到一块受保护的内存中,否则软件启动失败。
[0034]在软件产品启动后自动维护软件产品的当前运行情况,具体包括:正在访问系统的用户、每个用户正在访问的模块、每个模块正在访问的用户、每个模块当前的业务日期,并在用户使用具体的软件功能时,自动将当前运行情况与授权信息进行比对,以此决定是否允许用户的访问,其中授权信息包括系统站点数、模块、模块并发数、模块期限。
[0035]例如,还可以对软件保护控制部分的代码按设定规则进行混淆,同时定时对软件保护控制部分的代码和受保护内存进行防篡改校验。
[0036]此外,还可以根据软件销售订单或生产订单,自动生成软件授权信息,并将授权信息、产品标识、产品密码、二维码在产品标签中打印。
[0037]以下结合图2?图4从开发者及用户使用角度详细阐述本发明的具体实施例。
[0038]在图2中,说明了本发明一个实施例的软件保护授权注册的完整流程。在软件产品系统实现的过程中,首先在制定产品规格阶段,产品管理人员定义需要研发的产品模块及相应的授权策略。在产品开发阶段,开发人员不需要关注授权的控制,只需要将授权控制包加入到项目环境中,并按照预先规定的命名规则进行编码即可。产品研发完成并发布后,生产人员需要在生产发行系统中将产品模块预置进去,市场人员需要定义商务政策,生产
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1