CN101404053B - 一种防止重复发放软件许可的方法 - Google Patents

一种防止重复发放软件许可的方法 Download PDF

Info

Publication number
CN101404053B
CN101404053B CN2008101058748A CN200810105874A CN101404053B CN 101404053 B CN101404053 B CN 101404053B CN 2008101058748 A CN2008101058748 A CN 2008101058748A CN 200810105874 A CN200810105874 A CN 200810105874A CN 101404053 B CN101404053 B CN 101404053B
Authority
CN
China
Prior art keywords
license info
sequence number
license
software
installation kit
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.)
Active
Application number
CN2008101058748A
Other languages
English (en)
Other versions
CN101404053A (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 Senseshield Technology Co Ltd
Original Assignee
Beijing Senselock Software 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 Beijing Senselock Software Technology Co Ltd filed Critical Beijing Senselock Software Technology Co Ltd
Priority to CN2008101058748A priority Critical patent/CN101404053B/zh
Publication of CN101404053A publication Critical patent/CN101404053A/zh
Application granted granted Critical
Publication of CN101404053B publication Critical patent/CN101404053B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种防止重复发放许可信息的方法,用于保证许可信息的一次有效性。本发明通过在每个许可信息中加入许可信息序号实现许可信息的一次有效性。许可信息序号是一种有序的数据,许可信息序号的大小是指许可信息序号在这组有序数据里的先后顺序。许可信息序号在这种有序数据中的位置越靠后则认为该许可信息序号越大。通过在软件保护装置保存已经被安装的最大的许可信息序号,并只允许许可信息序号大于软件保护装置中保存的许可信息序号的许可信息才能被安装,从而实现许可信息的一次有效性。

Description

一种防止重复发放软件许可的方法
技术领域
本法明涉及软件保护技术,特别是软件使用许可控制技术,尤其涉及一种防止重复发放软件许可的方法。
背景技术
功能模块:软件开发商中从软件产品中提取出来的可以或者已经放在软件保护装置中的供外部调用代码,数据或者代码和数据。
随着经济技术的飞速发展,软件作为辅助工具已经深入到了各行各业当中。软件产品是软件设计者和软件编程人员智慧的结晶,软件开发商的生存和发展是软件产品充足供应的基础,因而,保护软件产品的版权,防止软件产品被盗版,具有很重要的现实意义。
在软件开发商已有的保护软件产品的众多策略中,多数采用了这样一种方式:提炼出软件产品中的核心算法或密钥作为关键程序代码,将所述关键程序代码及该程序代码所需要的数据放在软件保护装置中。这些关键程序代码作为软件保护装置的功能模块,供外部软件调用。采用这种方式以后当用户使用软件产品时,必须要有软件保护装置同时运行,否则将无法使用该软件产品。
这种策略的优势是,软件产品的关键代码是放在软件保护装置中的,破解者很难得到软件产品的关键程序代码,也很难克隆软件保护装置,也就很难破解该软件产品。当然所述的软件保护装置的处理芯片是一个具有一定安全认证等级的智能卡芯片才可以防止被硬克隆。正因为有这种优势,国内外越来越多的软件开发商都采用了这种策略保护自己的软件产品。
由于市场营销策略的原因,软件开发商经常为用户提供各种使用限制的软件产品,其中一种方案是,开发商为用户提供软件产品及其配套的软件保护装置。然后通过许可信息控制软件保护装置的功能模块的使用,从而达到控制软件使用的目的。为了适应各种限制需求,软件开发商有时需要发布限制软件使用次数或者软件的使用得时间间隔的许可信息。这种许可信息往往是一次有效的。例如:开发商发布了一个允许软件使用30次的许可信息。用户安装该许可信息后软件可以使用30次,但必须保证该许可信息只能被使用一次,否则用户可以多次安装该许可信息,从而获得多个30次的使用权。
发明内容
有鉴于此,本发明提供了一种防止重复发放许可信息的方法,用于保证许可信息的一次有效性。本发明通过在每个许可信息中加入许可信息序号实现许可信息的一次有效性。技术方案如下:
许可信息序号是一种有序的数据,许可信息序号的大小是指许可信息序号在这组有序数据里的先后顺序。许可信息序号在这种有序数据中的位置越靠后则认为该许可信息序号越大。
许可信息序号用于标示许可信息的先后顺序,软件开发商端在发布许可信息时在许可信息中加入许可信息序号。后发布的许可信息的序号总是大于先发布的许可信息序号。
软件保护装置在成功的安装许可信息时检查许可信息序号,并只允许序号大于软件保护装置中保存的许可信息序号的许可信息被安装。安装成功后,使用被安装的许可信息的许可信息序号更新软件保护装置中保存的许可信息序号,从而实现了许可信息的一次有效性。
许可信息序号,可以是递增或递减的数列、许可信息的发布时间或者一组按照某种规则变换的数列。
根据本发明的一个方面,提供一种防止重复发放软件许可的方法,用于通过在每个许可信息中加入许可信息序号保证许可信息的一次有效性,该方法包括步骤:
A、软件开发商端设置许可信息的适用范围、许可信息的目标软件保护装置、许可信息的许可内容,计算并设置许可信息的许可信息序号,计算所述许可信息的校验码,生成带有许可信息序号的许可信息安装包;
其中,所述计算并设置许可信息的许可信息序号包括:根据预先设置的许可信息序号变换规则,计算新的许可信息的许可信息序号,并设置所述许可信息的许可信息序号;
B、将许可信息安装包发送给软件保护装置;
C、软件保护装置接收并安装许可信息安装包;
D、软件保护装置在安装许可信息时检查许可信息安装包的校验码,在检查校验码之后,软件保护装置检查许可信息安装包中的许可信息序号,如果许可信息安装包中的许可信息序号大于软件保护装置中保存的许可信息序号,则允许该许可信息安装,否则不允许安装所述许可信息安装包;
E、在软件保护装置成功安装许可信息后,使用已安装的许可信息的许可信息序号更新软件保护装置中保存的许可信息序号。
根据本发明的一个方面,使用MAC算法、HMAC算法或者非对称签名算法计算许可信息内容、许可信息序号的校验码。
根据本发明的一个方面,软件保护装置使用和软件开发商端计算许可信息校验码相对应的算法和密钥校验许可信息安装包的校验码。
根据本发明的一个方面,许可信息序号是递增或递减的数列、或者是许可信息的发布时间、或者是一组规则变换的数列。
根据本发明的一个方面,许可信息安装包包括许可信息发布时间、许可信息内容、以及DES MAC校验码。。
附图说明
图1:本发明流程示意图。
图2:许可信息安装包的结构示意图。
具体实施方式
图1为本发明的流程示意图,如图1所示本发明的流程包括以下步骤:
软件开发商端生成并发送带有许可信息序号的许可信息安装包。
步骤101,软件开发商端设置许可信息的内容。
本步骤中,软件开发商端设置许可信息的适用范围、许可信息的目标软件保护装置、许可信息的许可内容。
步骤102,软件开发商端计算并设置许可信息的许可信息序号。
本步骤中,软件开发商端根据预先设置的许可信息序号变换规则计算新的许可信息的许可信息序号,并设置该许可信息的许可信息序号。
步骤103,软件开发商端计算该许可信息的校验码。
本步骤中,软件开发商端使用MAC算法、HMAC算法或者非对称签名算法计算许可信息内容、许可信息序号的校验码。
然后,软件保护装置接收并安装许可信息安装包。
步骤104,软件保护装置检查许可信息安装包的校验码。
本步骤中,软件保护装置使用和软件开发商端计算许可信息校验码相对应的算法和密钥校验许可信息安装包的校验码。
步骤105,软件保护装置检查许可信息安装包中的许可信息序号。
本步骤中,软件保护装置检查许可信息安装序号。如果许可信息安装包中的许可信息序号大于软件保护装置中保存的许可信息序号,则允许该许可信息安装,否则认为该许可信息安装包已经被安装过,不允许该许可信息安装包安装。
步骤106,软件保护装置安装该许可信息。
步骤107,软件保护装置使用许可信息安装包中携带的许可信息序号更新该软件保护装置中保存的许可信息序号。
许可信息安装包结构如图2所示,使用许可信息发布时间作为许可信息序号,使用DES MAC算法计算校验码。具体工作流程是:
软件开发商端发布许可信息:
软件开发商端设置许可信息内容,取当前时间作为许可信息序号。软件开发商端使用DES MAC算法计算许可信息序号和许可信息内容的校验码。将许可信息序号,许可信息内容和校验码组合为许可信息安装包。
软件保护装置接收并安装许可信息安装包:
软件保护装置使用DES MAC算法计算许可信息安装包中的许可信息序号和许可信息内容的校验码。比较新计算出来校验码和许可信息安装包中携带的校验码。如果不是完全一致,则认为该许可信息不合法,停止许可信息安装过程;如果完全一致,则比较许可信息安装包中的许可信息序号和软件保护装置中保存的许可信息序号。如果许可信息安装包中携带的许可信息序号大于软件保护装置中保存的许可信息序号,则认为该许可信息有效,安装该许可信息,并使用许可信息安装包中携带的许可信息序号更新软件保护装置中保存的许可信息序号;否则认为该许可信息无效。
终止许可信息的安装过程。

Claims (5)

1.一种防止重复发放软件许可的方法,用于通过在每个许可信息中加入许可信息序号保证许可信息的一次有效性,其特征在于,该方法包括步骤:
A、软件开发商端设置许可信息的适用范围、许可信息的目标软件保护装置、许可信息的许可内容,计算并设置许可信息的许可信息序号,计算所述许可信息的校验码,生成带有许可信息序号的许可信息安装包;
其中,所述计算并设置许可信息的许可信息序号包括:根据预先设置的许可信息序号变换规则,计算新的许可信息的许可信息序号,并设置所述许可信息的许可信息序号;
B、将许可信息安装包发送给软件保护装置;
C、软件保护装置接收并安装许可信息安装包;
D、软件保护装置在安装许可信息时检查许可信息安装包的校验码,在检查校验码之后,软件保护装置检查许可信息安装包中的许可信息序号,如果许可信息安装包中的许可信息序号大于软件保护装置中保存的许可信息序号,则允许该许可信息安装,否则不允许安装所述许可信息安装包;
E、在软件保护装置成功安装许可信息后,使用已安装的许可信息的许可信息序号更新软件保护装置中保存的许可信息序号。
2.根据权利要求1所述的方法,其特征在于,使用MAC算法、HMAC算法或者非对称签名算法计算许可信息内容、许可信息序号的校验码。
3.根据权利要求1所述的方法,其特征在于,软件保护装置使用和软件开发商端计算许可信息校验码相对应的算法和密钥校验许可信息安装包的校验码。
4.根据权利要求1-3所述的任一方法,其特征在于,许可信息序号是递增或递减的数列、或者是许可信息的发布时间、或者是一组规则变换的数列。
5.根据权利要求4所述的方法,其特征在于,许可信息安装包包括许可信息发布时间、许可信息内容、以及DES MAC校验码。
CN2008101058748A 2008-05-04 2008-05-04 一种防止重复发放软件许可的方法 Active CN101404053B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101058748A CN101404053B (zh) 2008-05-04 2008-05-04 一种防止重复发放软件许可的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101058748A CN101404053B (zh) 2008-05-04 2008-05-04 一种防止重复发放软件许可的方法

Publications (2)

Publication Number Publication Date
CN101404053A CN101404053A (zh) 2009-04-08
CN101404053B true CN101404053B (zh) 2010-10-27

Family

ID=40538064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101058748A Active CN101404053B (zh) 2008-05-04 2008-05-04 一种防止重复发放软件许可的方法

Country Status (1)

Country Link
CN (1) CN101404053B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065077B (zh) * 2010-11-11 2013-12-18 中国联合网络通信集团有限公司 终端应用软件分发方法及系统
CN102479305A (zh) * 2010-11-29 2012-05-30 金蝶软件(中国)有限公司 软件许可验证的方法及系统
CN105978865B (zh) * 2016-04-29 2019-12-13 北京小米移动软件有限公司 应用包名验证方法及装置

Also Published As

Publication number Publication date
CN101404053A (zh) 2009-04-08

Similar Documents

Publication Publication Date Title
CN101339595B (zh) 一种通过使用许可控制软件使用的装置
WO2004062164A3 (en) Methods and apparatus for managing secured software for a wireless device
MX2008016112A (es) Metodo y aparato para administracion segura de procesos de depuracion dentro de dispositivos de comunicacion.
CN102855446A (zh) 资源管理系统及相应方法
TW200630885A (en) System and method for programming an isolated computing environment
CN101344906A (zh) 一种分块式的远程更新方法
WO2005079467A3 (en) Secure, real-time application execution control system and methods
TWI365654B (en) Method and system for verifying binding of an initial trusted device to a secured processing system
CN101256607B (zh) 一种对软件保护装置进行远程更新和使用控制的方法
WO2006065956A3 (en) Protecting computing systems from unauthorized programs
ATE252742T1 (de) Verwaltungsprotokoll, verifikationsverfahren und transformierung eines ferngeladenen programmfragments und korrespondierende systeme
MY147383A (en) A method and system for enforcing a security policy via a security virtual machine
MXPA06002811A (es) Metodos y aparato para proteccion de contenido en una red inalambrica.
CN101404053B (zh) 一种防止重复发放软件许可的方法
WO2013044192A3 (en) Securing transactions against cyberattacks
CN103413070A (zh) 一种本地时钟校准的方法及装置
CN101404052B (zh) 一种远程激活软件的方法
GB2458426A (en) Password protection system and method
CN103440441A (zh) 软件保护的方法及系统
WO2007056665A3 (en) Student athlete scheduling and data storage software system and method
US20070204328A1 (en) Production security control apparatus for software products and control method thereof
WO2014129922A1 (ru) Способ управлениями лицензиями в drm-системе
EP3001341B1 (en) NFC device, software installation method, software uninstallation method, computer program and article of manufacture
CN108388439A (zh) 一种车载软件的更新方法、系统、装置及可读存储介质
CN104537282A (zh) 一种基于加密闪盘和大数据运算技术的授权使用方法

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
ASS Succession or assignment of patent right

Owner name: BEIJING SHENSI SHUDUN SCIENCE + TECHNOLOGY CO., LT

Free format text: FORMER OWNER: BEIJING SENSELOCK SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150120

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100086 HAIDIAN, BEIJING TO: 100872 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20150120

Address after: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee after: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201

Patentee before: Beijing Senselock Software Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder