首页> 中国专利> 软件保护方法、硬件加密设备以及包括其的软件保护系统

软件保护方法、硬件加密设备以及包括其的软件保护系统

摘要

本发明公开了一种软件保护方法、硬件加密设备以及包括该硬件加密设备的软件保护系统。软件保护方法包括:硬件加密设备接收来自终端设备的通过编译生成的并经加密的软件的受保护代码段以及执行所述代码段所需的参数;所述硬件加密设备利用其内部存储的密钥对其接收到的所述代码段进行解密;所述硬件加密设备根据所述参数执行所述代码段;以及所述硬件加密设备将执行结果返回给所述软件,其中,所述代码段和所述参数仅存储在所述硬件加密设备的内存中。本发明能够降低硬件加密设备的制造成本,并且使得软件升级更加便利。

著录项

  • 公开/公告号CN104462882A

    专利类型发明专利

  • 公开/公告日2015-03-25

    原文格式PDF

  • 申请/专利权人 北京深思数盾科技有限公司;

    申请/专利号CN201410795919.4

  • 发明设计人 孙吉平;韩勇;

    申请日2014-12-18

  • 分类号G06F21/12(20130101);G06F21/34(20130101);

  • 代理机构北京金信知识产权代理有限公司;

  • 代理人黄威;邓玉婷

  • 地址 100872 北京市海淀区中关村大街甲59号文化大厦1706室

  • 入库时间 2023-12-18 08:05:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-24

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F21/12 专利号:ZL2014107959194 变更事项:专利权人 变更前:北京深思数盾科技股份有限公司 变更后:北京深盾科技股份有限公司 变更事项:地址 变更前:100193 北京市海淀区西北旺东路10号院东区5号楼5层510 变更后:100193 北京市海淀区西北旺东路10号院东区5号楼5层510

    专利权人的姓名或者名称、地址的变更

  • 2018-07-06

    授权

    授权

  • 2016-11-16

    著录事项变更 IPC(主分类):G06F21/12 变更前: 变更后: 申请日:20141218

    著录事项变更

  • 2016-04-27

    著录事项变更 IPC(主分类):G06F21/12 变更前: 变更后: 申请日:20141218

    著录事项变更

  • 2015-04-22

    实质审查的生效 IPC(主分类):G06F21/12 申请日:20141218

    实质审查的生效

  • 2015-03-25

    公开

    公开

查看全部

说明书

技术领域

本发明属于软件保护领域,具体涉及一种软件保护方法、硬件加 密设备以及包括其的软件保护系统。

背景技术

用于软件保护的硬件加密设备典型地包括硬件加密锁(或称加密 狗)。在软件保护过程中,常常将软件的部分代码移植到具有执行或 解释功能的硬件加密设备(如,硬件加密锁)中,由硬件加密设备执 行该部分代码并向安装该软件的客户端返回执行结果,只有在客户端 收到执行结果后才能继续进行软件的安装和/或使用,由此实现对软 件与数据的保护,防止知识产权被滥用。

然而,传统的保护方式具有一定的弊端:1、硬件加密设备中的 存储空间有限,不能存储足够多的算法或保护文件;2、在软件升级 时,当在传统加密方式下需要将新的加密算法(受保护的代码段,即 受保护的执行过程)升级到已经发布的设备中时,其方式是复杂的: 首先需要专门制作升级文件;然后将升级文件植入到硬件加密设备 中;最后硬件加密设备执行升级。这种升级方式给管理带来了不小的 开销。

发明内容

本发明的目的在于提供一种软件保护方法、硬件加密设备以及包 括该硬件加密设备的软件保护系统,其能够解决上述问题之中的至少 一个问题。

为了实现上述目的,本发明一方面提供了一种软件保护方法,包 括:硬件加密设备接收来自终端设备的通过编译生成的并经加密的软 件的受保护代码段以及执行所述代码段所需的参数;所述硬件加密设 备利用其内部存储的密钥对其接收到的所述代码段进行解密;所述硬 件加密设备根据所述参数执行所述代码段;以及所述硬件加密设备将 执行结果返回给所述软件,所述代码段和所述参数仅存储在所述硬件 加密设备的内存中。

优选地,在执行完所述代码段之后,所述硬件加密设备清除本次 执行所占用的内存空间。

优选地,利用对称加密算法或非对称加密算法对所述软件的受保 护代码段进行加密。

本发明另一方面提供一种硬件加密设备,所述硬件加密设备设置 有数据传输接口和内存,所述数据传输接口接收来自终端设备的通过 编译生成的且经加密的软件的受保护代码段以及执行所述代码段所 需的参数并且该代码段和参数仅存储在所述内存中,所述硬件加密设 备在执行该代码段后将执行结果返回给所述软件;所述硬件加密设备 还包括:存储模块,其存储对所述代码段进行解密的密钥;以及执行 模块,其配置为利用所述密钥对接收到的所述代码段进行解密并执行 解密后的代码段以生成执行结果。

优选地,所述执行模块还配置为在执行完所述代码段之后,清除 本次执行所占用的内存空间。

优选地,所述硬件加密设备是加密锁。

本发明再一个方面还提供一种软件保护系统,包括上述的硬件加 密设备和终端设备。

优选地,所述终端设备是装载有所述软件的客户端,其配置为通 过网络连接从服务器获取通过编译生成的并且经加密的所述软件的 受保护代码段。

优选地,所述终端设备是装载有所述软件的客户端,其配置为通 过输入装置或数据传输接口获取外部存储设备中存储的通过编译生 成的并且经加密的所述软件的受保护代码段。

优选地,所述输入装置包括光驱;所述数据传输接口包括USB 接口、红外数据接口;所述外部存储设备包括光盘、U盘或移动硬盘。

根据本发明提供的方案可知,通过将软件的受保护代码段及参数 传输到硬件加密设备中,硬件加密设备执行代码段,并将执行结果返 回给软件,使得装载在终端设备上的软件无论升级与否,都不会对硬 件加密设备产生影响,省去了传统方式下专门对硬件加密设备制作升 级文件以及随后的植入步骤和操作升级步骤,提升了用户体验度;并 且,代码段和参数仅存储在硬件加密设备的内存中,节省了存储空间, 降低了其制造成本。

附图说明

图1为本发明实施例的软件保护方法的流程示意图;

图2为本发明实施例的硬件加密设备的结构示意图。

具体实施方式

为使本领域技术人员更好地理解本发明,下面参照附图对本发明 的实施例进行详细说明。

本发明实施例提供一种软件保护方法,包括:硬件加密设备接收 来自终端设备的通过编译生成的并经加密的软件的受保护代码段以 及执行代码段所需的参数;硬件加密设备利用其内部存储的密钥对其 接收到的代码段进行解密;硬件加密设备根据参数执行代码段;以及 硬件加密设备将执行结果返回给软件,其中,代码段和参数仅存储在 硬件加密设备的内存中。

根据本实施例,通过将软件的受保护代码段及参数传输到硬件加 密设备中,代码段和参数仅存储在硬件加密设备的内存(RAM)中, 硬件加密设备执行代码段后即返回执行结果,使得无需在该硬件加密 设备中进行升级,节省了管理上的开销;并且,硬件加密设备的存储 空间可以设置得更小,降低了其制造成本。

在本发明一优选实施例中,硬件加密设备是加密锁,终端设备是 装载有软件的客户端,通过例如USB接口等数据接口与加密锁建立 数据连接。

客户端可以通过网络连接从服务器获取已经加密的代码段。或 者,客户端也可以通过输入装置(例如,光驱)或数据传输接口(例 如,USB接口、红外数据接口等)从外部存储设备(例如,光盘、U 盘或移动硬盘等)中获取加密后的代码段。

下面,参照图2,将描述本发明实施例的硬件加密设备10的结 构。本实施例的硬件加密设备10设置有数据传输接口101和内存 (RAM)104,数据传输接口101接收来自终端设备的通过编译生成 的并经加密的软件的受保护代码段以及执行代码段所需的参数并且 该代码段和参数仅存储在RAM 104中,硬件加密设备10在执行该代 码段后将执行结果返回给软件;硬件加密设备10还包括:存储模块 103,其存储对该经加密的代码段进行解密的密钥;以及执行模块102, 其配置为利用密钥对接收到的代码段进行解密并执行解密后的代码 段以生成执行结果。

根据本实施例,由于代码段和参数仅存储在RAM中,供执行模 块102执行并返回执行结果,因此无论软件升级多少次,都不必增大 硬件加密设备的内部存储空间(非易失性存储单元),从而降低了硬 件加密设备的成本;此外,软件升级不会对硬件加密设备带来繁琐的 制作并植入升级文件、操作升级等步骤,增强了使用的便利性。

在一优选实施例中,执行模块还配置为在执行完代码段之后,清 除本次执行所占用的内存空间,以备下次使用。

本发明另一实施例提供了一种软件保护系统,包括本发明的硬件 加密设备和终端设备。在一优选实施例中,硬件加密设备是加密锁; 终端设备是装载有软件的客户端,其配置为通过网络连接获取服务器 发布的软件以及通过编译生成的并且经加密的软件的受保护代码段。

根据本发明实施例的软件保护系统,对于软件升级非常便利。具 体而言,客户端通过网络连接获取服务器发布的新版本软件(或者软 件升级包也可)以及通过编译生成的并且经加密的受保护代码段(即, 受保护的执行过程,该执行过程可以是二进制文件),在客户端安装 该新版本软件,当客户端需要使用到软件的某些受保护功能时,其将 经加密的相应的受保护代码段传输给与之建立了数据连接的硬件加 密设备,接收硬件加密设备返回的执行结果,客户端软件只有接收到 来自硬件加密设备的执行结果,才能实现软件的相应的受保护功能。

通过上述描述,可以明确得知,本发明的软件保护系统,对于软 件升级非常便利,无需制作升级文件、将升级文件植入加密设备,以 及加密设备操作执行升级。

在上述各实施例中,可以使用动态代码执行技术来实现本发明。 具体而言,客户端(安装有受保护的软件)将锁或者设备作为代码、 文件、输入的执行引擎(例如java有自己的编译器和执行环境,这里 是将锁或设备作为执行引擎),动态代码执行技术通过编译器或开发 环境(现有的就可以,比如keil,keil中集成了编译器)编译生成受 保护代码段(可能是二进制文件),引擎接收到输入后完成相应运算 逻辑处理过程,最后将输出结果返回给客户端。而客户端的代码、文 件及输入在产品发布后完全不受引擎的限制,可以随时修改升级,达 到了动态解释的目的。

本发明不局限于上述特定实施例,在不背离本发明精神及其实质 情况下,熟悉本领域的技术人员可根据本发明作出各种相应改变和变 形,但这些相应改变和变形都应属于本发明所附权利要求的保护范围 之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号