防止软件被盗用的方法技术

技术编号:7287122 阅读:556 留言:0更新日期:2012-04-21 19:19
一种防止软件被盗用的方法,在软件中加入解密子程序。软件提供者对具体用户授权时,将针对具体授权用户所特有的标志信息用加密子程序加密后编制到加密文件中,然后将所述软件及加密文件拷贝到授权用户的计算机系统中,用户计算机系统中必须存放合法的加密文件才能正常地运行软件。软件运行过程中对所述加密文件中经过加密的授权用户所特有的标志信息数据进行解密还原,并将这些授权用户所特有的标志信息随软件运行成果数据输出。由于非授权用户无法获得合法的加密文件,因此无法使用被保护软件,即使从其他授权用户处非法获得了加密文件,但运行软件时将导致所输出的成果数据无效,并且暴露了非法使用软件的法律证据,从而可以在不增加成木的前提下,从根木上防止了软件被盗用。

【技术实现步骤摘要】

本专利技术涉及计算机软件保护,尤其是指通过数据加密来防止软件在未被许可的情祝下被使用的方法。
技术介绍
盗版是软件业发展和知识创新的最大障碍,对计算机软件进行加密处理是防止非法A用的有效方法.目前,软件厂商用于对付盗版的加密方法主要分为两大类软件加密和硬件加密.软件加密一般是采用序列号和联网注册激活等方法对被保护软件进行加密保护,其优点是成木低,但很容易被通过破译密码、非法修改程序文件或通过共享系列号等方法被盗用。硬件加密技术需要一定的硬件成本,而且仍然可以通过模拟加密器或者仿造加密器的方式m用。另外,这些现有的加密方法会使软件的合法用户感到不方便。现有的某些通用类软件如工程设计绘图软件、财务软件V,在软件运行输出的成果数据中所必须标明的用户特征标志信息(如打印到上程图纸卜或财务报表上的用户名称、 相关业务管理人员姓名、企业代码等),是由用户自己在操作过程中输入的。这些软件采用现有的保护方法都一些共同的缺点,一旦出现某种软件被破除保护功能的拷贝,这种拷贝便被迅速复制传播,造成被广泛盗用的后果。
技术实现思路
本专利技术的目的是解决上述现有技术中存在的问题,利用针对具体授权用户所特有的标志信息进行软件保护的方法。本专利技术的软件保护是通过如下方法实现的软件开发者在设计软件的同时运用一种加密变换方案,在所设计的软件中加入解密子程序。究成软件产品开发后,软件提供者对具体用户授权时,将针对具体授权用户所特有的标志信息用加密子程序加密后编制到独立于软件主要功能执行模块以外的加密文件中,然后将所述软件及加密文件拷贝到授权用户的计算机系统存储器中.软件运行时首先检测所述加密文件是否存在及是否合法,用户的计算机系统中必须存放合法的所述加密文件才能正常地运行软件。软件运行过程中对所述加密文件中经过加密的授权用户所特有的标志信息数据进行解密还原,并将这些授权用户所特有的标志信息随软件运行成果数据输出。由于非授权用户无法获得合法的所述加密文件,因此无法使用被保护软件,即使从其他授权用户处非法地获得了加密文件,但运行软件时所输出的成果数据中将包含原授权用户所特有的标志信息,导致所输出的成果数据无效,并且暴露了非法使用软件的法律证据,从而达到保护软件的目的。被保护软件主要功能执行模块是对所有该款软件的用户通用的,这样,软件升级维护时只需要制作一个相同的主要功能执行模块升级拷贝就可以分发给所有用户使用 而所述加密文件是针对每个具体授权用户所特有的,这样可以保证每个用户必须经过授权才能使用。附图说明图1是本专利技术一种实施例的流程图。图2是实施例二中制作加密文件流程图。图3是实施例二中检测加密文件流程图。具体实施例方式本专利技术在描述电引用了各种加密技术和加密算法,因此,先简单介绍幕本的加密技术和加密算法。加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文).其逆过程就是解码(解密)。加密技术的贾点是加密算法.加密算法可以分为对称加密、不对称加密和不可逆加密三类算法。对称加密、不对称加密算法变换数据通常使用了两种茎本元素加密算法和密钥。加密算法包括对致据编码和译妈的子程序,这些编码和译码子程序通常是一致的.也可以包括按相反次序执行的相同步脚。密钥是山加密者选择的.由数字成宁符的序列姐成.被密码算法用来对数据进行编码和译码。在下面详细描述中,讨论实施例中所用到的对称加密、不对称加密两类加密算法。第一类算法是对称加密算法(单密钥算法).在这类算法中单个密钥同时用于数据的编码和译码。因此,为了确保安全.这个密明必须保密。在这里的描述中.引用了傲据加密标摧(DEQ单密钥技术。这是一种己经被美国国家标准周接受为标准的教据加密技术,并且对于掌钾密码技术的人来说是很熟悉的。另一类算法是不对称加密算法(公用密钥算法),在这类算法中,在数据编码和译码时不是使用网一个密钥.而是便用两个密钥,其中一个用来对数据编码,而另一个用来对效据译码。通常一个密钥被公开,而另一个则为专用的,称为私钥。如果私钥用来对数据编码,则公钥用来对数据译码,或反之。这类算法重要的一点是由公钥推断山私钥是不可能的。不对称加密林法对于掌捉密码技术的人来说也是熟悉的。这里所描述的数据加密和解密技术只是用于说明问题,因此,也可以用儿他的橄据加密和解密技术来替代而不脱离本专利技术的范围和原理。图1说明了本专利技术一种实施例的流程图。软件开发者在编制软件的同时,确定加密变换方案(步骤101),采用不对称加密算法,加密子程序Pl,对应的解密子程序P2,私钥 Kl用于加密,公钥K2用于解密。然后软件开发者将负责解密功能的解密子程序P2编入软件中,解密公钥为K2 (步骤102),以备在软件运行需要时调用该解密子程序P2。完成软件开发任务(步骤103),再将软件主要功能执行模块制作为可在用户计算机存储器中安装的产品(步骤104)。当软件提供者需要对用户授权时登记该用户特有的标志信息(步骤105), 然后软件提供者运行加密子程序P1,用私钥Kl对该用户特有的标志信息进行加密,加密后的数据以计算机存储文件的形式保存得到加密文件(步骤106),再将软件安装到用户计算机系统中,并将所述加密文件复制到用户计算机系统中(步骤107)。当用户使用软件时,程序将检测所述加密文件是否存在(步骤108),如果所述加密文件不存在,程序将拒绝执行后面的任务直接结束。如果所述加密文件存在则正常运行程序,并在需要的时候调用解密子程序P2,用公钥K2为所述加密文件解密,还原取得用户标志信息(步骤109)。如果是授权用户使用软件,还原取得的用户标志信息为授权用户的正确信息,则软件运行将输出正确的成果数据,如在输出的工程图纸上或财务报表上需要的地方正确地打印用户的各种信息(步骤110),如果非授权用户从其他授权用户处非法拷贝所述加密文件,则还原取得的用户标志信息为原授权用户的信息,则软件运行将输出错误的成果数据,如在输出的工程图纸上或财务报表上错误地打印原授权用户的各种信息,导致盗用软件行为的失败(步骤 110)。在使用本专利技术的方法保护软件时,一种可能的被盗用者试图攻击的方法是伪造、 篡改加密文件,因此在下面第二个实施例中增加了检测所述加密文件是否合法的功能。在描述第二个实施例时将引用到一种数据校验技术,就是能够检测文件或数据在传输过程中是否被篡改的技术,一种常用的数据校验方法就是CRC校验。用CRC校验对某个数据文件校验,将得到一个CRC校验值,当这个数据文件被篡改后再次进行CRC校验,会得到另一个不同的校验值,比较两次CRC校验值是否一致就可以确定数据文件是否被修改过。CRC校验是一种公知的数据校验算法,对于掌握数据校验技术的人来说是熟悉的。这里所描述的 CRC数据校验技术只是用于说明问题,因此,也可以用其他的数据校验技术来替代而不脱离本专利技术的范围和原理。第二个实施例中主要流程和第一个实施例相同,不再重复描述,仅描述与第一个实施例不同的改进之处。在设计加密方案时(步骤101),同时设计一个CRC数据校验子程序 P3。如附图2所示,在制作加密文件(步骤106)时,用虚线框内的流程来替代原步骤106。 加密子程序Pl用私钥Kl加密用户登记的标志信息,得到加密文件Fl (步骤201)。再用CRC 数据校验本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:任平
申请(专利权)人:苏州铭星科技股份有限公司
类型:发明
国别省市:

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

1
相关领域技术