[发明专利]一种提高软件保护装置安全性的方法有效
| 申请号: | 200810111991.5 | 申请日: | 2008-05-20 |
| 公开(公告)号: | CN101339594A | 公开(公告)日: | 2009-01-07 |
| 发明(设计)人: | 孙吉平;韩勇 | 申请(专利权)人: | 北京深思洛克数据保护中心 |
| 主分类号: | G06F21/22 | 分类号: | G06F21/22 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100086北京市海淀区中*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提高 软件 保护装置 安全性 方法 | ||
技术领域
本发明涉及软件保护领域,特别是一种提高软件保护装置安全性的方 法。
背景技术
功能模块:软件开发商中从软件产品中提取出来的可以或者已经放在软 件保护设备中的供外部调用代码,数据或者代码和数据。
功能模块升级包:用于升级软件保护设备中的功能模块的数据包。
随着经济技术的飞速发展,软件作为辅助工具已经深入到了各行各业当 中。软件产品是软件设计者和软件编程人员智慧的结晶,软件开发商的生存 和发展是软件产品充足供应的基础,因而,保护软件产品的版权,防止软件 产品被盗版,具有很重要的现实意义。
在软件开发商已有的保护软件产品的众多策略中,多数采用了这样一种 方式:提炼出软件产品中的核心算法或密钥作为关键程序代码,将所述关键 程序代码及该程序代码所需要的数据放在软件保护设备中。作为软件保护设 备的功能模块,供外部软件调用。采用这种方式以后当用户使用软件产品时, 必须要有软件保护设备同时运行,否则将无法使用该软件产品。
这种策略的优势是,软件产品的关键代码是放在软件保护设备中的,破 解者很难得到软件产品的关键程序代码,也很难克隆软件保护设备,也就很 难破解该软件产品。当然所述的软件保护设备的处理芯片是一个具有一定安 全认证等级的智能卡芯片才可以防止被硬克隆。正因为有这种优势,国内外 越来越多的软件开发商都采用了这种策咯保护自己的软件产品。
现有的软件保护装置的安全性,完全依赖于软件保护的开发商密钥。如 果软件开商的开发商密钥泄露,则软件保护装置中功能模块就很容易被读 出,当然软件开发商可以把功能模块设置为任何情况下都不可读。但破解者 还是可以利用开发商密钥通过下载一小段代码到该功能模块中,并通过这小 段代码来攻击该功能模块中未被覆盖掉的代码。
发明内容
有鉴于此,本发明提供了一种增强软件保护装置安全性的方法。本发明 通过控制功能模块的写入流程,保证功能模块中的代码和数据的安全性。
本发明的技术方案是:功能模块初始状态为活动状态,此时功能模块为 不可写状态,但可以被使用;通过外部命令可以设置功能模块为不活动状态, 同时清空功能模块内的代码和数据之后,功能模块变为可写状态。然后再通 过外部命令把功能模块设置成活动状态,功能模块恢复成活动状态。为了提 高安全性,可以限制这些命令的使用条件为开发商密钥被校验通过。
所述的功能模块,在软件保护装置中表现为存储区中可用于执行某些功 能的数据,例如保存在文件中的可执行代码。所述的活动状态,指的是对保 存功能模块的数据区区域例如文件,不能进行写入操作,也就是处于不可写 状态。所述的不活动状态,指的是可以对保存功能模块的数据区域进行写入 操作,即可写,但功能模块的其它功能被禁用,包括不能被执行。在由活动 状态转变为不活动状态的过程中,保存功能模块的数据区域中的内容必须被 强制擦除。
根据本发明的一个方面,提供一种提高软件保护装置安全性的方法,所 述软件保护装置具有用于安全认证的处理芯片;所述软件保护装置中保存有 功能模块,所述功能模块是从软件中提取出来的保存在所述软件保护装置中 的供外部调用的代码、数据、或者代码及数据,其特征在于,该方法包括步 骤:
(1)当使用软件时,所述软件保护装置同时运行;所述功能模块的初 始状态为活动状态;
所述软件保护装置接收来自外部的设置功能模块为不活动状态的命令, 清空所述功能模块内的所述数据和/或代码,同时将所述功能模块设置为不 活动状态;
其中,所述活动状态是指对保存所述功能模块的数据区域不能进行写入 操作;所述不活动状态是指对保存所述功能模块的数据区域进行写入操作, 但所述功能模块的其它功能被禁用;
(2)所述软件保护装置接收外部输入的所述功能模块的数据和/或代 码,并检查指定的所述功能模块是否处于活动状态;
如果指定的所述功能模块处于活动状态,则终止写入功能模块过程;
如果指定的所述功能模块处于不活动状态,则将所述数据和/或代码写 入到所述功能模块中;
(3)将所述功能模块设置为活动状态;
其中,在所述步骤(1)和/或(2)和/或(3)中,检查开发商密钥的校 验状态,如果所述开发商密钥未被校验通过,则终止写入所述功能模块的过 程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思洛克数据保护中心,未经北京深思洛克数据保护中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810111991.5/2.html,转载请声明来源钻瓜专利网。





