CN100349399C - 一种基于加密算法技术的软件防盗版方法 - Google Patents

一种基于加密算法技术的软件防盗版方法 Download PDF

Info

Publication number
CN100349399C
CN100349399C CNB200410039182XA CN200410039182A CN100349399C CN 100349399 C CN100349399 C CN 100349399C CN B200410039182X A CNB200410039182X A CN B200410039182XA CN 200410039182 A CN200410039182 A CN 200410039182A CN 100349399 C CN100349399 C CN 100349399C
Authority
CN
China
Prior art keywords
software
computer
fingerprint
close
key
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.)
Expired - Fee Related
Application number
CNB200410039182XA
Other languages
English (en)
Other versions
CN1561026A (zh
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.)
Beijing branch information technology Limited by Share Ltd
Original Assignee
胡祥义
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 胡祥义 filed Critical 胡祥义
Priority to CNB200410039182XA priority Critical patent/CN100349399C/zh
Publication of CN1561026A publication Critical patent/CN1561026A/zh
Application granted granted Critical
Publication of CN100349399C publication Critical patent/CN100349399C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种基于加密算法技术的软件防盗版方法,是运用密码和网络技术,在软件厂商的网络服务器端和各用户的计算机端,分别设置一对相同的密码机,其加密算法使用对称密码算法,用户计算机端的加密系统与软件商品结合成一体,并将软件中的部分常用程序加密成密文,当用户在计算机上安装软件或从计算机上将软件卸载时,均在软件厂商的网络服务器上登记,将用户计算机的硬件“指纹”加密成“密指纹”,分别在用户的计算机和软件厂商的网络服务器上备份,软件安装成功后,每次软件运行初始,取用户的计算机硬件“指纹”,将其备份的“密指纹”解密成明文,经过对比两组“指纹”,来确定软件是否能继续运行,从而,达到软件商品的防盗版目的。

Description

一种基于加密算法技术的软件防盗版方法
技术领域:
本发明涉及信息安全领域,是利用密码和网络技术来解决软件商品的盗版问题,该技术方法能够严格对软件商品的安装、卸载和运行等过程进行防止盗版的认证管理,能全面阻止软件的盗版活动,同时,杜绝网络游戏行业的游戏“私服”现象,本发明适用于各软件开发商。
背景技术:
目前,国内外能完全解决软件商品盗版的技术方法和产品还没有,一些厂商生产的使用软件狗模式的硬卡或基于USB接口的智能卡等硬件设备,来进行软件防盗产品,还有一些软件厂商用网络授权的方式来防止其软件商品被盗用,这两类产品都是采用安装号的软件安装模式,都具有易破解的特点,盗版者可通过盗用软件安装号,或经过分析已安装在计算机硬盘里软件的各个程序来盗版,另外,采用每套软件都增加硬件设备来防盗版成本太高,总之,现有的防盗版软件的方法和产品都不能满足市场的需求。
发明内容:
本软件防盗版方法是利用密码和网络技术来组建软件商品的防盗版体系,在软件厂商的网络服务器端和各用户的计算机端,分别设置一对相同的密码机,其加密算法使用对称密码算法,用户计算机端的加密系统与软件商品结合成一体,并将软件中的部分常用程序加密成密文,当用户在计算机上安装软件或从计算机上将软件卸载时,均在软件厂商的网络服务器上登记,将用户计算机的硬件“指纹”加密成“密指纹”,分别在用户的计算机和软件厂商的网络服务器上备份,软件安装成功后,每次软件运行初始,取用户的计算机硬件“指纹”,将其备份的“密指纹”解密成明文,经过对比两组“指纹”,来确定软件是否能继续运行,从而,解决软件商品的防盗版问题,全部过程用软、硬件结合方式实现,具体方法如下:
1、软件厂商的网络服务器端和用户的计算机端的密码机用硬件实现或用软件实现,各用户计算机端存放一套专用密钥,并将其全部在软件厂商的网络服务器端备份,服务器端也使用一套密钥。
2、每套密钥各自不同,软件厂商网络服务器端的一套密钥也与各套密钥不同,每套密钥由K组“子密钥”组成,K=80~120,每组“子密钥”的长度为L,L=1~2字节,即:L=8~16bit,加密系统在加解密过程中,是根据随机码选出对应的“子密钥”合成一组密钥,随机码是由计算机系统中的随机函数产生,由S位数字组成,其中:S=8~12,每位随机码对应10组“子密钥”。
3、每套软件有一组出厂号,出厂号由N位数字或英文字母组成,其中:N=8~12。
4、加密系统为每套软件设置一组软件安装号和一组软件卸载号,安装号由F位数字或英文字母组成,其中:F=30~36;卸载号由U位数字或英文字母组成,其中:U=30~36。
5、每套软件与一套密码机、一套专用密钥、软件的出厂号、“密安装号”和“密卸载号”等结合成一套软件商品,每套加密系统事先将一套软件的安装号和卸载号加密成“密安装号”和“密卸载号”,其加密密钥是根据产生的随机码选出的“子
密钥”合成,将该组随机码、“密安装号”和“密卸载号”与软件存放在一起,软件的安装号和卸载号不与软件存放在一起。
6、在软件厂商的网络服务器端也将该软件的安装号和卸载号用该套密钥进行加密,生成另一组“密安装号”和“密卸载号”,由于加密时产生的随机码与前者不同,则使用的一组密钥也不同,并将该“密安装号”和“密卸载号”存放在服务器端的数据库中。
7、在各用户计算机端存储一套用户的专用密钥,是用于软件安装和运行时,对计算机硬件“指纹”进行加解密,其中:计算机的硬件“指纹”包含CPU主板、内存储器、硬盘等计算机组件的型号和规格等,同时,该套专用密钥还用于软件安装时,对网络服务器端传来的软件“密安装号”进行解密,当运行软件时,对全部被加密成密文的程序进行解密。
8、将密码机与一套专用密钥组成的加密系统与一套软件实现无缝结合,用加密系统将软件的部分常用程序加密成密文,将这些密文即:“密程序”与未加密的程序存放在软件商品的介质中,如:存放在光盘里,这一套专用密钥与密码机存放在一起,若密码机的加密算法用纯软件实现,该套密钥与加密算法一起作为程序编译成目标程序,该密钥也可存放在一支内置CPU智能芯片具有智能卡功能的USB硬件设备中。
9、在进行软件安装时,先取计算机的硬件“指纹”并将其加密成“密指纹”M1,再发送给软件厂商的网络服务器;服务器端收到该安装信息后,将“密指纹”M1解密生成“指纹”,并确认该软件出厂号对应的计算机硬件“指纹”没有注册过,即:服务器端没有收到同样的“指纹”,再用服务器端的密钥重新将其加密成“密指纹”M2,将软件“密指纹”M2等安装参数进行登记,并将软件的“密安装号”发送给用户计算机,计算机端将两组“密安装号”分别解密后,经比较两组安装号是否相同,来确定该软件能否在计算机上安装。
10、软件厂商可以在其网络服务器上对每套软件进行授权,一套软件只能在一台计算机上安装,也可以在多台计算机上安装,若授权只能在一台计算机上安装时,网络服务器在收到用户计算机发来的“密指纹”M1后,先将其解密成“指纹”,再确认服务器端是否已收到与该“指纹”相同的“指纹”,若相同,则软件安装失败;若授权可以在多台计算机上安装时,网络服务器将比较已经登记了多少组相同的“指纹”,若相同的“指纹”数量超过了服务器的授权,则软件安装失败,否则,软件可以继续安装。
11、在软件卸载时,先清除用户计算机硬盘中的部分程序和“密指纹”M1,再将软件“密卸载号”发送给网络服务器,厂商的网络服务器将该组“密卸载号”和服务器端备份的一组“密卸载号”分别解密,经比较,若两者相同,则登记软件已卸载,否则,不登记软件卸载,并将结果反馈给用户的计算机。
12、软件每次运行时,先取计算机的硬件“指纹”,再将安装该软件时加密成密文的计算机硬件“密指纹”进行解密,通过比较二者是否相同,来确定该软件能否正常运行,以便来控制软件被非法使用。
13、软件中的部分常用程序被加密成密文即:“密程序”,是以密文形式存储在用户的计算机里,运行时先全部在内存中进行解密,再运行,程序终止运行后,在内存中被解密的程序自动消失。
附图说明:
图1:软件运行初始阶段的认证流程图
图2:软件授权安装流程图
图3:软件卸载登记流程图
具体实施方式:
以下结合附图说明软件防盗版方法的实现步骤:
图1:说明软件安装成功后,用户在每次运行软件时,先取用户计算机的硬件“指纹”,再将计算机硬盘中存储的该软件安装时的“密指纹”M1取出并解密,对比这两组“指纹”是否相同,若不相同,则软件停止运行;若相同,则将软件中的已被加密的常用程序进行解密,最后实现软件正常运行。
图2:说明在用户的计算机上安装软件,首先取用户的计算机硬件“指纹”并将其加密成“密指纹”M1,再将该软件的出厂号、“密指纹”MI、软件安装时的时间戳和选取密钥的随机码等参数一并发送给软件厂商的网络服务器,服务器在收到这些参数后,对“密指纹”M1进行解密,生成“指纹”,再确认该软件出厂号对应的计算机硬件“指纹”没有注册过,即:服务器端没有收到同样的“指纹”,若已注册过,则软件安装失败,若未注册过,则使用服务器端的一套密钥对该“指纹”进行加密生成“密指纹”M2,将软件的出厂号、时间戳、“密指纹”M2和加密M2选用密钥的随机码等参数存放在服务器的数据库里,接下来服务器取该软件商品对应的“密安装号”,并将该软件的“密安装号”与出厂号一并发送给用户计算机,用户计算机将收到的“密安装号”解密,同时,将计算机中已备份的一组“密安装号”解密成明文,再将两组软件安装号进行对比,若不相同,则软件安装失败,若相同,则软件安装成功。
图3:说明将前期在用户的计算机上安装的软件卸载下来,软件卸载是先清除部分程序和“密指纹”,再将该软件的出厂号、“密卸载号”、选取密钥产生的随机码以及卸载时的时间戳等参数发送给软件厂商的网络服务器,服务器将接收到的“密卸载号”用其专用密钥解密,同时,将服务器里已备份的该软件的“密卸载号”解密,经过对比两组软件卸载号是否相同,若不相同,则软件停止卸载,若相同,则服务器对软件的卸载时间进行登记,即:将时间戳加密成密文与软件的出厂号一并存放在服务器的数据库中,并反馈给计算机软件卸载登记完毕,计算机收到软件卸载登记确认后,将剩下的程序全部删除,至此,软件卸载完毕。

Claims (8)

1、一种基于加密算法技术的软件防盗版方法,是利用密码和网络技术来实现,其实施步骤如下:
在软件厂商的网络服务器端和各用户的计算机端,分别设置一对相同的密码机,其加密算法使用对称密码算法,用户计算机端的加密系统与软件商品结合成一体,并将软件中的部分常用程序加密成密文,当用户在计算机上安装软件或从计算机上将软件卸载时,均在软件厂商的网络服务器上登记,将用户计算机的硬件“指纹”加密成“密指纹”,分别在用户的计算机和软件厂商的网络服务器上备份,软件安装成功后,每次软件运行初始,用户计算机端的加密系统取用户的计算机硬件“指纹”,将其备份的“密指纹”解密成明文,经过对比两组“指纹”,来确定软件是否能继续运行,密钥管理采用自动组合生成密钥技术,由随机码从K组“子密钥”中选取S组“子密钥”并合成密钥,在软件商品里还存放经加密后的“密安装号”和“密卸载号”,对软件被安装和卸载进行登记,并用对称密码算法将软件的部分常用程序加密成密文,每次运行软件时,将该部分常用程序解密后再运行,在软件厂商的网络服务器和各用户的计算机两端的加密系统中,将指纹、安装号、卸载号和部分常用程序加密的密钥,或将“密指纹”、“密安装号”、“密卸载号”和部分常用程序密文解密的密钥,不是直接存放在两端的加密系统中,而是根据随机数和存放在两端加密系统中的K组“子密钥”通过算法临时生成,能够防止黑客直接获取密钥来破译“密指纹”、“密安装号”、“密卸载号”和部分常用程序密文,进行随意安装软件商品。
2、根据权利要求1的方法,其特征在于:
(1)密钥是根据计算机的随机函数产生的随机码从K组“子密钥”中选取S组“子密钥”并合成,在加密系统中不是直接存放密钥,而是存放K组“子密钥”;
(2)客户机和网络服务器两端的加密系统若采用硬件设备——一支内置CPU智能芯片具有智能卡功能的USB硬件,则将密钥存放在硬件设备里,来加密或解密“指纹”数据以及安装或卸载时的注册数据,从而,防止黑客盗取密钥。
3、根据权利要求1的方法,其特征在于:
用对称密码算法将软件的部分常用程序加密成密文,每次运行软件时,将该部分常用程序解密后再运行,使得软件的部分常用程序是以密文形式存储在软件商品的存储介质里,并且是以密文形式存放在用户计算机的硬盘里,以防止盗版者对软件的各个程序进行分析。
4、根据权利要求1的方法,其特征在于:
服务器将接收到用户计算机发来的其计算机硬件的“密指纹”后,其中:“密指纹”包含计算机组件的型号和规格密文数据,先用该用户的一套密钥进行解密,再对比是否已收到同样的计算机硬件“指纹”,该“指纹”经确认后,用服务器端的一套密钥将其加密成密文后,存储在服务器的数据库里,从而,防止黑客篡改或盗取用户计算机的硬件指纹信息。
5、根据权利要求4的方法,其特征在于:
软件厂商的网络服务器对软件商品设置的授权数量为多个情况下,可以在多台计算机上安装同一套软件,否则,用户只能在一台计算机上安装一套软件。
6、根据权利要求1的方法,其特征在于:
网络服务器在收到用户计算机发来的“密卸载号”和时间戳——软件卸载参数后,若该“密卸载号”经核实正确,软件能从该用户的计算机上卸载,服务器对软件的卸载时间进行登记,否则,软件停止卸载。
7、根据权利要求1的方法,其特征在于:
服务器在收到用户计算机发来的软件安装参数后,确认该计算机硬件“指纹”没有注册过,若已注册过,则软件安装失败,若未注册过,将“指纹”加密成“密指纹”后存放在服务器的数据库里,并将对应的“密安装号”发送给用户计算机,用户计算机在收“密安装号”后,若该“密安装号”经核实正确,在用户计算机里软件安装成功,否则,软件安装失败。
8、根据权利要求6和7的方法,其特征在于:
在软件商品里和厂商网络服务器里存放的都是经加密后的“密安装号”和“密卸载号”,该服务器端与计算机端相互传输的“密安装号”或“密卸载号”,先各自对其进行解密,再进行对比,从而,防止盗版者篡改或盗用软件安装号或卸载号。
CNB200410039182XA 2004-02-20 2004-02-20 一种基于加密算法技术的软件防盗版方法 Expired - Fee Related CN100349399C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200410039182XA CN100349399C (zh) 2004-02-20 2004-02-20 一种基于加密算法技术的软件防盗版方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200410039182XA CN100349399C (zh) 2004-02-20 2004-02-20 一种基于加密算法技术的软件防盗版方法

Publications (2)

Publication Number Publication Date
CN1561026A CN1561026A (zh) 2005-01-05
CN100349399C true CN100349399C (zh) 2007-11-14

Family

ID=34441293

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200410039182XA Expired - Fee Related CN100349399C (zh) 2004-02-20 2004-02-20 一种基于加密算法技术的软件防盗版方法

Country Status (1)

Country Link
CN (1) CN100349399C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891834A (zh) * 2011-07-21 2013-01-23 深圳市浪涛科技有限公司 基于本底噪声的防解密方法及其装置和防解密电子白板
CN103745164A (zh) * 2013-12-20 2014-04-23 中国科学院计算技术研究所 一种基于环境认证的文件安全存储方法与系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100410831C (zh) * 2005-04-22 2008-08-13 联想(北京)有限公司 随机捆绑软件安装方法
US7493494B2 (en) * 2005-11-03 2009-02-17 Prostor Systems, Inc. Secure data cartridge
CN101364872B (zh) * 2007-08-08 2011-09-21 精品科技股份有限公司 一种通过验证来执行指令的方法
CN101414263B (zh) * 2007-10-17 2013-06-05 鸿富锦精密工业(深圳)有限公司 软件安装方法及防盗版模块
CN101494658B (zh) * 2008-01-24 2013-04-17 华为技术有限公司 指纹技术的实现方法、装置及系统
CN101777106A (zh) * 2010-01-22 2010-07-14 中兴通讯股份有限公司 一种移动终端软件防盗用的方法和装置
US8522030B2 (en) * 2010-09-24 2013-08-27 Intel Corporation Verification and protection of genuine software installation using hardware super key
CN105224829B (zh) * 2014-06-11 2017-12-08 威纶科技股份有限公司 嵌入式系统及内容保护方法
CN104298522B (zh) * 2014-09-22 2018-08-31 联想(北京)有限公司 一种信息处理方法及第一电子设备
EP3001341B1 (en) * 2014-09-26 2020-01-15 Nxp B.V. NFC device, software installation method, software uninstallation method, computer program and article of manufacture
CN107526947A (zh) * 2017-09-26 2017-12-29 重庆市珞宾信息技术有限公司 一种嵌入式软件激活控制方法
CN111556012B (zh) * 2020-03-24 2023-08-29 福建星网视易信息系统有限公司 一种盗版检测与远程管控方法、装置、设备和介质
CN111709044B (zh) * 2020-06-19 2021-06-22 山东省计算中心(国家超级计算济南中心) 基于国密算法的硬件指纹信息生成方法及系统
CN111859311A (zh) * 2020-07-03 2020-10-30 青岛鼎信通讯股份有限公司 一种基于CPU IP Security Engine的终端设备软件防非法拷贝方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1338691A (zh) * 2001-09-29 2002-03-06 四川安盟科技有限责任公司 网络软件防盗版技术
US6523119B2 (en) * 1996-12-04 2003-02-18 Rainbow Technologies, Inc. Software protection device and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523119B2 (en) * 1996-12-04 2003-02-18 Rainbow Technologies, Inc. Software protection device and method
CN1338691A (zh) * 2001-09-29 2002-03-06 四川安盟科技有限责任公司 网络软件防盗版技术

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
利用加密技术和网卡进行软件保护 李涛,欧宗瑛.计算机应用,第20卷第1期 2000 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891834A (zh) * 2011-07-21 2013-01-23 深圳市浪涛科技有限公司 基于本底噪声的防解密方法及其装置和防解密电子白板
CN102891834B (zh) * 2011-07-21 2015-08-05 深圳市浪涛科技有限公司 基于本底噪声的防解密方法及其装置和防解密电子白板
CN103745164A (zh) * 2013-12-20 2014-04-23 中国科学院计算技术研究所 一种基于环境认证的文件安全存储方法与系统
CN103745164B (zh) * 2013-12-20 2016-08-17 中国科学院计算技术研究所 一种基于环境认证的文件安全存储方法与系统

Also Published As

Publication number Publication date
CN1561026A (zh) 2005-01-05

Similar Documents

Publication Publication Date Title
CN100349399C (zh) 一种基于加密算法技术的软件防盗版方法
EP0908810B1 (en) Secure processor with external memory using block chaining and block re-ordering
KR100889099B1 (ko) 데이터 저장 장치의 보안 방법 및 장치
US7434065B2 (en) Secure verification using a set-top-box chip
US7765600B2 (en) Methods and apparatuses for authorizing features of a computer program for use with a product
US20030046566A1 (en) Method and apparatus for protecting software against unauthorized use
US20030188162A1 (en) Locking a hard drive to a host
WO2006053304A9 (en) Volatile device keys and applications thereof
WO2006124564A9 (en) Apparatus for secure digital content distribution and methods therefor
WO2013002833A2 (en) Binding of cryptographic content using unique device characteristics with server heuristics
CN101742072A (zh) 机顶盒软件防拷贝方法
CN100596188C (zh) 机顶盒终端及其验证方法
CN101539977B (zh) 一种计算机软件保护方法
WO2010025318A2 (en) Encrypting a unique cryptographic entity
US7076666B2 (en) Hard disk drive authentication for personal video recorder
US20050246285A1 (en) Software licensing using mobile agents
JP2008287488A (ja) データ分散保存装置
CN101539978B (zh) 基于空间的软件保护方法
EP1519579B1 (en) Secure verification of an STB
CN111611602B (zh) 一种基于国密芯片的安全可控量产方法
CN101673328A (zh) 一种数字电影制作系统认证方法
CN114817956A (zh) 一种usb通信对象验证方法、系统、装置及存储介质
CN101345623B (zh) 具有认证功能的控制系统及方法
JP4989806B2 (ja) 遠隔装置登録のためのシステムと方法
WO1987005175A1 (en) Method and apparatus for distributing and protecting encryption key codes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Beijing jin'aobo Digital Information Technology Co., Ltd.

Assignor: Hu Xiangyi

Contract fulfillment period: 2009.5.5 to 2015.5.5

Contract record no.: 2009990000679

Denomination of invention: Method for preventing pirate based on ciphered algorithmic technique

Granted publication date: 20071114

License type: Exclusive license

Record date: 20090619

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.5.5 TO 2015.5.5; CHANGE OF CONTRACT

Name of requester: BEIJING JIN OBO DIGITAL INFORMATION TECHNOLOGY CO

Effective date: 20090619

ASS Succession or assignment of patent right

Owner name: BEIJING KEJIANG INFORMATION TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: HU XIANGYI

Effective date: 20120111

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120111

Address after: 100044 Beijing, Xicheng District West Street, room 138, No. 620

Patentee after: Beijing branch information technology Limited by Share Ltd

Address before: 100044 Beijing city Xicheng District Xizhimen Street No. 138 room 602 Beijing Planetarium

Patentee before: Hu Xiangyi

C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 100080 Haidian District, North Fourth Ring Road West, Haidian, No. 65 new technology building, room 1563, No.

Patentee after: Beijing branch information technology Limited by Share Ltd

Address before: 100044 Beijing, Xicheng District West Street, room 138, No. 620

Patentee before: Beijing branch information technology Limited by Share Ltd

DD01 Delivery of document by public notice

Addressee: Beijing branch information technology Limited by Share Ltd

Document name: Notification of Termination of Patent Right

DD01 Delivery of document by public notice
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071114

Termination date: 20190220

CF01 Termination of patent right due to non-payment of annual fee