CN102402671A - 防止软件被盗用的方法 - Google Patents

防止软件被盗用的方法 Download PDF

Info

Publication number
CN102402671A
CN102402671A CN2011104456630A CN201110445663A CN102402671A CN 102402671 A CN102402671 A CN 102402671A CN 2011104456630 A CN2011104456630 A CN 2011104456630A CN 201110445663 A CN201110445663 A CN 201110445663A CN 102402671 A CN102402671 A CN 102402671A
Authority
CN
China
Prior art keywords
software
user
encrypt file
data
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN2011104456630A
Other languages
English (en)
Inventor
任平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SUZHOU MINGXING TECHNOLOGY CO LTD
Original Assignee
SUZHOU MINGXING TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SUZHOU MINGXING TECHNOLOGY CO LTD filed Critical SUZHOU MINGXING TECHNOLOGY CO LTD
Priority to CN2011104456630A priority Critical patent/CN102402671A/zh
Publication of CN102402671A publication Critical patent/CN102402671A/zh
Withdrawn legal-status Critical Current

Links

Images

Abstract

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

Description

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

Claims (4)

1.一种防止软件被盗用的方法,其特征在于采用下列步骤:
1)软件开发者确定加密变换方案,加密子程序用于对数据加密,对应的解密子程序用于对数据解密;
2)将负责解密功能的解密子程序编入软件中;
3)完成软件开发任务;将软件主要功能执行模块制作为可在用户计算机存储器中安装的产品;
4)软件提供者登记授权用户特有的标志信息,这些标志信息将出现在用户使用被保护软件所输出的成果数据中:
5)软件提供者将授权用户特有的标志信息用加密子程序进行加密,加密后的数据以计算机存储文件的形式保存得到加密文件;
6)将被保护软件安装到用户计算机系统中,并将所述加密文件复制到用户计算机系统中;
7)软件启用时,程序检测所述加密文件,只有加密文件存在时才会正常运行;
8)被保护软件调用解密子程序对所述加密文件解密,还原取得授权用户特有的标志信息;
9)当还原取得的用户标志信息为授权用户的正确信息时,则软件运行将输出正确的用户标志信息出现在成果数据中;
10)当还原取得的用户标志信息与实际使用者信息不一致时,则软件运行将输出与实际使用者不一致的标志信息出现在成果数据中。
2.权利要求1项所述的方法其特征在于,被保护软件主要功能执行模块是对所有该款软件的用户通用的;而所述加密文件是针对侮个具体授权用户所特有的,且所述加密文件是独立于软件主要功能执行模块以外单独存放和复制的。
3.权利要求2项所述的方法其特征在于,所述加密变换方案采用不对称加密算法,其中私钥用于加密,公钥用于解密。
4.权利要求2项或3项所述的方法其特征在于,软件提供者制作所述加密文件的方法进一步包括以下步骤:
1)加密子程序用私钥加密用户登记的标志信息保存为加密文件F1:
2)用数据校验子程序校验加密文件F1,得到校验值T1;
3)将校验值T1与加密文件F1封装到一起,得到加密文件F2.
5.权利要求4项所述的方法其特征在于,被保护软件启动时程序对所述加密文件进行检测的方法进一步包括以下步骤:
1)判断加密文件 F2是否存在,如不存在,拒绝执行其他任务,直接结束;
2)如果加密文件F2存在,将加密文件F2解除封装得校验值T1及加密文件F1;
3)用数据校验子程序校验F1得校验值T2;
4)判断T1是否等于T2,如不相等,拒绝执行其他任务,直接结束,反之继续执行下面的任务。
CN2011104456630A 2011-12-28 2011-12-28 防止软件被盗用的方法 Withdrawn CN102402671A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104456630A CN102402671A (zh) 2011-12-28 2011-12-28 防止软件被盗用的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104456630A CN102402671A (zh) 2011-12-28 2011-12-28 防止软件被盗用的方法

Publications (1)

Publication Number Publication Date
CN102402671A true CN102402671A (zh) 2012-04-04

Family

ID=45884866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104456630A Withdrawn CN102402671A (zh) 2011-12-28 2011-12-28 防止软件被盗用的方法

Country Status (1)

Country Link
CN (1) CN102402671A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184181A (zh) * 2015-06-15 2015-12-23 北京天诚同创电气有限公司 文件的加密方法、解密方法及装置
CN105229604A (zh) * 2013-06-03 2016-01-06 株式会社理光 信息处理设备、信息处理方法、以及程序
CN105447403A (zh) * 2015-11-05 2016-03-30 天津津航计算技术研究所 一种适用于嵌入式实时信息处理单元的加密方法
CN109033762A (zh) * 2018-07-05 2018-12-18 南京云信达科技有限公司 一种用于解决复杂检验对象软件授权的方法
CN112199641A (zh) * 2020-07-16 2021-01-08 北京北方华创微电子装备有限公司 一种机台软件的启动方法、装置及机台设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105229604A (zh) * 2013-06-03 2016-01-06 株式会社理光 信息处理设备、信息处理方法、以及程序
CN105229604B (zh) * 2013-06-03 2018-08-24 株式会社理光 信息处理设备、信息处理方法、以及程序
CN105184181A (zh) * 2015-06-15 2015-12-23 北京天诚同创电气有限公司 文件的加密方法、解密方法及装置
CN105184181B (zh) * 2015-06-15 2018-11-13 北京天诚同创电气有限公司 文件的加密方法、解密方法及装置
CN105447403A (zh) * 2015-11-05 2016-03-30 天津津航计算技术研究所 一种适用于嵌入式实时信息处理单元的加密方法
CN105447403B (zh) * 2015-11-05 2018-05-25 天津津航计算技术研究所 一种适用于嵌入式实时信息处理单元的加密方法
CN109033762A (zh) * 2018-07-05 2018-12-18 南京云信达科技有限公司 一种用于解决复杂检验对象软件授权的方法
CN112199641A (zh) * 2020-07-16 2021-01-08 北京北方华创微电子装备有限公司 一种机台软件的启动方法、装置及机台设备

Similar Documents

Publication Publication Date Title
CN100452075C (zh) 软件保护装置数据传输过程的安全控制方法及其设备
JP4764639B2 (ja) ファイルの暗号化・復号化プログラム、プログラム格納媒体
CN102129532B (zh) 一种数字版权保护方法和系统
CN105740725B (zh) 一种文件保护方法与系统
JPH10508438A (ja) キー・エスクローおよびデータ・エスクロー暗号化のためのシステムおよび方法
CN103198344A (zh) 税控安全二维码编码、解码处理方法
CN106888080A (zh) 保护白盒feistel网络实施方案以防错误攻击
CN104322003A (zh) 借助实时加密进行的密码认证和识别方法
CN102402671A (zh) 防止软件被盗用的方法
CN200993803Y (zh) 网上银行系统安全终端
CN100583174C (zh) 使用网上银行系统安全终端实现数据安全的处理方法
CN106656471B (zh) 一种用户敏感信息的保护方法和系统
CN102811124A (zh) 基于两卡三码技术的系统验证方法
Hu Study of file encryption and decryption system using security key
CN107682156A (zh) 一种基于sm9算法的加密通信方法及装置
CN109150505A (zh) 一种用于sap系统的信息传输方法及装置
CN100580686C (zh) 防止软件被盗用的方法
CN101547098B (zh) 公共网络数据传输安全认证方法及系统
CN101286987A (zh) 一种转移软件授权许可的方法
CN1271525C (zh) 一种计算机系统登录认证的方法
Pawar et al. Survey of cryptography techniques for data security
Zhu et al. Study on security of electronic commerce information system
JP2001203687A (ja) データ伝送方法
CN102724043B (zh) 对数字版权保护的单一用户授权方法
JP2762470B2 (ja) 暗号化処理方法およびその方法を用いたicカード装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C04 Withdrawal of patent application after publication (patent law 2001)
WW01 Invention patent application withdrawn after publication

Application publication date: 20120404