著录项信息
专利名称 | 一种防止重复发放软件许可的方法 |
申请号 | CN200810105874.8 | 申请日期 | 2008-05-04 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2009-04-08 | 公开/公告号 | CN101404053 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/00 | IPC分类号 | G;0;6;F;2;1;/;0;0查看分类表>
|
申请人 | 北京深思洛克软件技术股份有限公司 | 申请人地址 | 北京市海淀区西北旺东路10号院东区5号楼5层510
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京深思数盾科技股份有限公司 | 当前权利人 | 北京深思数盾科技股份有限公司 |
发明人 | 孙吉平;韩勇 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
一种防止重复发放许可信息的方法,用于保证许可信息的一次有效性。本发明通过在每个许可信息中加入许可信息序号实现许可信息的一次有效性。许可信息序号是一种有序的数据,许可信息序号的大小是指许可信息序号在这组有序数据里的先后顺序。许可信息序号在这种有序数据中的位置越靠后则认为该许可信息序号越大。通过在软件保护装置保存已经被安装的最大的许可信息序号,并只允许许可信息序号大于软件保护装置中保存的许可信息序号的许可信息才能被安装,从而实现许可信息的一次有效性。
一种防止重复发放软件许可的方法\n技术领域\n[0001] 本法明涉及软件保护技术,特别是软件使用许可控制技术,尤其涉及一种防止重复发放软件许可的方法。\n背景技术\n[0002] 功能模块:软件开发商中从软件产品中提取出来的可以或者已经放在软件保护装置中的供外部调用代码,数据或者代码和数据。\n[0003] 随着经济技术的飞速发展,软件作为辅助工具已经深入到了各行各业当中。软件产品是软件设计者和软件编程人员智慧的结晶,软件开发商的生存和发展是软件产品充足供应的基础,因而,保护软件产品的版权,防止软件产品被盗版,具有很重要的现实意义。\n[0004] 在软件开发商已有的保护软件产品的众多策略中,多数采用了这样一种方式:提炼出软件产品中的核心算法或密钥作为关键程序代码,将所述关键程序代码及该程序代码所需要的数据放在软件保护装置中。这些关键程序代码作为软件保护装置的功能模块,供外部软件调用。采用这种方式以后当用户使用软件产品时,必须要有软件保护装置同时运行,否则将无法使用该软件产品。\n[0005] 这种策略的优势是,软件产品的关键代码是放在软件保护装置中的,破解者很难得到软件产品的关键程序代码,也很难克隆软件保护装置,也就很难破解该软件产品。当然所述的软件保护装置的处理芯片是一个具有一定安全认证等级的智能卡芯片才可以防止被硬克隆。正因为有这种优势,国内外越来越多的软件开发商都采用了这种策略保护自己的软件产品。\n[0006] 由于市场营销策略的原因,软件开发商经常为用户提供各种使用限制的软件产品,其中一种方案是,开发商为用户提供软件产品及其配套的软件保护装置。然后通过许可信息控制软件保护装置的功能模块的使用,从而达到控制软件使用的目的。为了适应各种限制需求,软件开发商有时需要发布限制软件使用次数或者软件的使用得时间间隔的许可信息。这种许可信息往往是一次有效的。例如:开发商发布了一个允许软件使用30次的许可信息。用户安装该许可信息后软件可以使用30次,但必须保证该许可信息只能被使用一次,否则用户可以多次安装该许可信息,从而获得多个30次的使用权。\n发明内容\n[0007] 有鉴于此,本发明提供了一种防止重复发放许可信息的方法,用于保证许可信息的一次有效性。本发明通过在每个许可信息中加入许可信息序号实现许可信息的一次有效性。技术方案如下:\n[0008] 许可信息序号是一种有序的数据,许可信息序号的大小是指许可信息序号在这组有序数据里的先后顺序。许可信息序号在这种有序数据中的位置越靠后则认为该许可信息序号越大。\n[0009] 许可信息序号用于标示许可信息的先后顺序,软件开发商端在发布许可信息时在许可信息中加入许可信息序号。后发布的许可信息的序号总是大于先发布的许可信息序号。\n[0010] 软件保护装置在成功的安装许可信息时检查许可信息序号,并只允许序号大于软件保护装置中保存的许可信息序号的许可信息被安装。安装成功后,使用被安装的许可信息的许可信息序号更新软件保护装置中保存的许可信息序号,从而实现了许可信息的一次有效性。\n[0011] 许可信息序号,可以是递增或递减的数列、许可信息的发布时间或者一组按照某种规则变换的数列。\n[0012] 根据本发明的一个方面,提供一种防止重复发放软件许可的方法,用于通过在每个许可信息中加入许可信息序号保证许可信息的一次有效性,该方法包括步骤:\n[0013] A、软件开发商端设置许可信息的适用范围、许可信息的目标软件保护装置、许可信息的许可内容,计算并设置许可信息的许可信息序号,计算所述许可信息的校验码,生成带有许可信息序号的许可信息安装包;\n[0014] 其中,所述计算并设置许可信息的许可信息序号包括:根据预先设置的许可信息序号变换规则,计算新的许可信息的许可信息序号,并设置所述许可信息的许可信息序号;\n[0015] B、将许可信息安装包发送给软件保护装置;\n[0016] C、软件保护装置接收并安装许可信息安装包;\n[0017] D、软件保护装置在安装许可信息时检查许可信息安装包的校验码,在检查校验码之后,软件保护装置检查许可信息安装包中的许可信息序号,如果许可信息安装包中的许可信息序号大于软件保护装置中保存的许可信息序号,则允许该许可信息安装,否则不允许安装所述许可信息安装包;\n[0018] E、在软件保护装置成功安装许可信息后,使用已安装的许可信息的许可信息序号更新软件保护装置中保存的许可信息序号。\n[0019] 根据本发明的一个方面,使用MAC算法、HMAC算法或者非对称签名算法计算许可信息内容、许可信息序号的校验码。\n[0020] 根据本发明的一个方面,软件保护装置使用和软件开发商端计算许可信息校验码相对应的算法和密钥校验许可信息安装包的校验码。\n[0021] 根据本发明的一个方面,许可信息序号是递增或递减的数列、或者是许可信息的发布时间、或者是一组规则变换的数列。\n[0022] 根据本发明的一个方面,许可信息安装包包括许可信息发布时间、许可信息内容、以及DES MAC校验码。。\n附图说明\n[0023] 图1:本发明流程示意图。\n[0024] 图2:许可信息安装包的结构示意图。\n具体实施方式\n[0025] 图1为本发明的流程示意图,如图1所示本发明的流程包括以下步骤:\n[0026] 软件开发商端生成并发送带有许可信息序号的许可信息安装包。\n[0027] 步骤101,软件开发商端设置许可信息的内容。\n[0028] 本步骤中,软件开发商端设置许可信息的适用范围、许可信息的目标软件保护装置、许可信息的许可内容。\n[0029] 步骤102,软件开发商端计算并设置许可信息的许可信息序号。\n[0030] 本步骤中,软件开发商端根据预先设置的许可信息序号变换规则计算新的许可信息的许可信息序号,并设置该许可信息的许可信息序号。\n[0031] 步骤103,软件开发商端计算该许可信息的校验码。\n[0032] 本步骤中,软件开发商端使用MAC算法、HMAC算法或者非对称签名算法计算许可信息内容、许可信息序号的校验码。\n[0033] 然后,软件保护装置接收并安装许可信息安装包。\n[0034] 步骤104,软件保护装置检查许可信息安装包的校验码。\n[0035] 本步骤中,软件保护装置使用和软件开发商端计算许可信息校验码相对应的算法和密钥校验许可信息安装包的校验码。\n[0036] 步骤105,软件保护装置检查许可信息安装包中的许可信息序号。\n[0037] 本步骤中,软件保护装置检查许可信息安装序号。如果许可信息安装包中的许可信息序号大于软件保护装置中保存的许可信息序号,则允许该许可信息安装,否则认为该许可信息安装包已经被安装过,不允许该许可信息安装包安装。\n[0038] 步骤106,软件保护装置安装该许可信息。\n[0039] 步骤107,软件保护装置使用许可信息安装包中携带的许可信息序号更新该软件保护装置中保存的许可信息序号。\n[0040] 许可信息安装包结构如图2所示,使用许可信息发布时间作为许可信息序号,使用DES MAC算法计算校验码。具体工作流程是:\n[0041] 软件开发商端发布许可信息:\n[0042] 软件开发商端设置许可信息内容,取当前时间作为许可信息序号。软件开发商端使用DES MAC算法计算许可信息序号和许可信息内容的校验码。将许可信息序号,许可信息内容和校验码组合为许可信息安装包。\n[0043] 软件保护装置接收并安装许可信息安装包:\n[0044] 软件保护装置使用DES MAC算法计算许可信息安装包中的许可信息序号和许可信息内容的校验码。比较新计算出来校验码和许可信息安装包中携带的校验码。如果不是完全一致,则认为该许可信息不合法,停止许可信息安装过程;如果完全一致,则比较许可信息安装包中的许可信息序号和软件保护装置中保存的许可信息序号。如果许可信息安装包中携带的许可信息序号大于软件保护装置中保存的许可信息序号,则认为该许可信息有效,安装该许可信息,并使用许可信息安装包中携带的许可信息序号更新软件保护装置中保存的许可信息序号;否则认为该许可信息无效。\n[0045] 终止许可信息的安装过程。
法律信息
- 2023-01-20
专利权人的姓名或者名称、地址的变更
专利权人由北京深思数盾科技股份有限公司变更为北京深盾科技股份有限公司
地址由100193 北京市海淀区西北旺东路10号院东区5号楼5层510变更为100193 北京市海淀区西北旺东路10号院东区5号楼5层510
- 2016-11-16
专利权人的姓名或者名称、地址的变更
专利权人由北京深思数盾科技有限公司变更为北京深思数盾科技股份有限公司
地址由100872 北京市海淀区中关村大街甲59号文化大厦1706室变更为100193 北京市海淀区西北旺东路10号院东区5号楼5层510
- 2015-02-11
专利权的转移
登记生效日: 2015.01.20
专利权人由北京深思洛克软件技术股份有限公司变更为北京深思数盾科技有限公司
地址由100086 北京市海淀区中关村南大街甲6号铸诚大厦B座1201室变更为100872 北京市海淀区中关村大街甲59号文化大厦1706室
- 2010-10-27
- 2009-06-03
- 2009-04-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |