技术领域
[0001] 本发明涉及网络安全技术,更具体地说,涉及一种程序加密方法与程序加密系统。
相关背景技术
[0002] 在信息时代,软件程序作为一种无形的资产,对企业起着重要的作用,一些大型企业拥有本企业内部的专属软件程序,这些软件程序一旦遭到恶意盗用,将会给企业带来巨大损失。当前的软件程序加密方法大部分都是采用在终端注册,将注册密码回传给服务器,使用时,在终端再次输入注册密码进行对比验证。但是这种加密方式中仅使用一组注册密码,注册密码比较容易被盗用或破解;且用户每次开启程序都要输入密码进行验证,严重降低了软件程序的用户体验。
具体实施方式
[0017] 下面结合附图及实施例对本发明作进一步说明。
[0018] 如图1所示,为本发明较佳实施例的程序加密系统的功能模块图。
[0019] 本发明较佳实施例的程序加密系统1包括:一创建模块11,用于创建用于对目标程序进行加密的验证程序,并将所述验证程序与目标程序相关联,还用于创建用于记录加密算法、被允许使用目标程序的各网络终的物理地址、网际协议地址与加密码的密码数据包。一烧录模块12,用于将所述密码数据包烧录到终端的闪存中;一获取模块13,用于获取该终端的物理地址与网际协议地址,还用于获取烧录到该终端闪存中的加密码;一加密模块14,用于对获取到的所述物理地址与网际协议进行加密运算;一验证模块15,用于验证所述加密模块对获取到的所述物理地址与网际协议进行加密运算的结果是否与所述密码数据包中的加密码之一符合。
[0020] 如图2所示,为本发明较佳实施例的程序加密方法的总体软件结构图。本发明较佳实施例的程序加密方法中,如图1所示的创建模块11将目标程序22与验证程序21相关联。验证程序21中设有被允许使用目标程序22的终端的物理地址与网际协议地址,验证程序21还设有加密算法,验证程序21根据所述加密算法对可使用目标程序22的各终端的物理地址与网际协议地址进行运算,得到各终端相应的第一加密码,所述第一加密码包括多组子加密码,每组子加密码均由一所述网络终端对应的物理地址和对应网际协议地址经所述算法计算得到;如图1所示的创建模块11生成用于记录所述算法、物理地址、网际协议地址与第一加密码的密码数据包211,验证程序21包括密码数据包211。
[0021] 如图3所示,为本发明较佳实施例的程序加密系统的硬件结构图。
[0022] 本发明较佳实施例的程序加密系统的硬件结构包括:主机X、网络Y、终端Z;主机X通过网络Y与终端Z互联。终端Z的各终端均具有唯一的物理地址与网际协议地址。主机X创建验如图2所示的验证程序21以及目标程序22,并将验证程序21以及目标程序22与网络Y互联,终端Z的终端均可通过网络Y下载验证程序21以及目标程序22。
[0023] 如图4所示,为本发明较佳实施例的程序加密方法在如图3所示的终端Z的使用流程图。
[0024] 步骤30,在终端Z安装如图2所示的目标程序22与验证程序21,并将如图2所示的密码数据包211烧录到终端的闪存中;
[0025] 步骤31,在终端Z执行打开目标程序22指令;
[0026] 步骤32,触发验证程序21;
[0027] 步骤33,如图1所示的获取模块13控制终端Z的CPU根据闪存中预烧录的密码数据包211,读取密码数据包211中的第一加密码;
[0028] 步骤34,如图1所示的获取模块13控制终端Z的CPU读取的本终端的物理地址与网际协议地址,如图1所示的加密模块14控制终端Z的CPU采用改良过的MD5算法进行加密运算,生成第二加密码;
[0029] 步骤35,如图1所示的验证模块15控制终端Z的CPU比较第二加密码与第一加密码;
[0030] 步骤36,若第二加密码与第一加密码中的任一组子加密码完全一致,则启动目标程序22;
[0031] 步骤37,若第二加密码不满足与第一加密码中的任一组子加密码完全一致,则结束目标程序22。
[0032] 作为优选实施方式,主机X可由个人电脑、服务器或工作站组成,网络Y可由无线局域网或有线局域网组成,终端Z可由个人电脑组成,终端Z的闪存由NOR FLASH(NOR闪存)组成。
[0033] 本发明较佳实施例的程序加密方法与程序加密系统具有较高的安全性。具体地,若程序被盗用,在非法终端(未获得使用目标程序许可的终端)烧录后,由于烧录到非法终端的密码数据包中不包括非法终端的物理地址与网际协议地址,因此验证程序在读取非法终端的物理地址与网际协议地址并进行加密运算后生成的第二加密码不可能与第一加密码中的任一组子加密码完全一致,导致验证失败,自动退出程序。非法用户势必会私自更改非法终端的物理地址与网际协议地址,而加密算法是不可逆的,无法破解,也就是在不知道加密算法的情况下,无法得到第一加密码指定的被允许使用目标程序的物理地址与网际协议地址。因此,非法用户无法使用目标程序,从而达到良好的保密效果。