用于执行保护软件代码的方法及装置制造方法及图纸

技术编号:2824182 阅读:131 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种执行保护软件代码的方法,该方法包括:当软件执行单元需要执行保护的软件代码时,从外部获取保护软件代码并存储在安全硬件设备中;安全硬件设备解密并执行解密后的保护软件代码,同时存储执行结果;在执行完所有保软件代码后,安全硬件设备将保护软件代码的执行结果返回给软件执行单元。同时本发明专利技术还公开了一种执行保护软件代码的装置。本发明专利技术中的安全硬件设备自身采用具有高安全强度的安全芯片,确保了安全硬件设备内部的密钥的保密性。另外,将保护软件代码存储在独立于安全硬件设备的外部设备中,大大降低了对软件代码的保护的实现成本。

【技术实现步骤摘要】

本专利技术涉及软件代码保密技术,特别涉及一种用于执行保护软件代码的 方法及装置。
技术介绍
软件由软件代码组成的,软件代码凝聚了软件开发人员的智慧,特别是 核心代码, 一旦被恶意获取,将泄漏软件开发人员的智力成果,降低软件的 价值。当软件在软件执行单元如公知的操作系统中运行时,如果软件代码在软 件中以明文的方式存在,非常容易通过静态反汇编以及动态调试等方法对软 件代码进行分析,获取软件代码的执行逻辑或算法。为了有效地保护软件, 通常会对软件中需要保护的软件代码如核心代码等进行加密等保护,本专利技术 将这种经过加密等保护手段处理的软件代码称为保护软件代码。目前,通常将需要保护的代码存储到安全硬件设备如安全芯片中,以达 到对软件代码的保护。在运行保护软件代码时,安全硬件设备通过重新编译 的方式将该保护软件代码编译成明文,并一次性全部写入安全硬件设备的永久存储介质中,如闪存(Flash)或可电擦除只读存储器(EEPROM)中。可 以看出,由于保护代码在自身存储的安全硬件设备中运行,而不在操作系统 中运行,实现了对软件代码的保护。现有运行保护软件代码的方法,需要将大量的保护软件代码存放在安全 硬件设备的永久存储介质中,这样才能由安全硬件设备的处理器对保护软件 代码进行处理和计算。为了有效安全地运行保护软件代码,不仅要求安全硬 件设备具备相当的运算处理能力,而且安全硬件设备本身必须是一种安全芯片。目前,安全芯片内部的永久存储介质的存储容量都非常小, 一般只有几 十千字节大小,远远不能满足保护软件代码的存储和运行要求,而且安全芯 片价格昂贵,严重影响了对软件代码的保护。
技术实现思路
本专利技术的主要目的在于提供一种用于执行保护软件代码的方法和装置, 从而能够有效安全地保证保护软件代码的运行。根据本专利技术的一个方面,提供一种用于执行保护软件代码的方法,其特征在于,该方法包括以下步骤(A)从外部设备获取所述保护软件代码;(B )将所述保护4欠件代码存储在安全硬件设备(20 )中;(C) 所述安全硬件设备(20)对其中已存储的所述保护软件代码进行解密;(D) 执行解密后的软件代码,同时存储执行结果;(E) 在执行完所有所述保护软件代码后,所述安全硬件设备(20)返回 所述保护软件代码的执行结果。 '根据本专利技术的一个方面,其特征还在于,所述保护软件代码在加密时所采用的密钥与所述安全硬件设备(20)--对应,只有与密钥相对应的所述安全硬件设备(20)才能对其内部所存储的已加密的保护软件代码进行解密。根据本专利技术的一个方面,其特征还在于,在步骤(D)中执行解密后的软 件代码之前,还包括步骤在解密所述保护软件代码后直接执行所述保护软件 代码。根据本专利技术的一个方面,其特征还在于,在步骤(D)中执行解密后的软 件代码之前,还包括步骤通过所述安全硬件设备(20)内部的已有代码解释 引擎将所述软件代码解析成所述安全硬件设备(20 )能识别的指令格式。'根据本专利技术的一个方面,其特征还在于,在所述安全硬件设备(20 )中执行完成所述保护软件代码。根据本专利技术的一个方面,其特征还在于,在步骤(D)中执行已解密的所述保护软件代码之前或之后,还包括步骤对所述保护软件代码进行安全鉴别。 根据本专利技术的一个方面,其特征还在于,在步骤(A)之前,还包括步骤 对需要保护的软件代码加密后存储在独立于所述安全硬件设备(20 )的其他设 备中。根据本专利技术的一个方面,其特征还在于,还包括步骤对所述加密后的保 护软件代码进^f于i人i正。根据本专利技术的一个方面,其特征还在于,还包括步骤对需要保护的软件 代码进行认证后再执行加密。根据本专利技术的另一个方面,提供一种用于执行保护软件代码的装置,其特征 在于,该装置包括安全硬件设备(20),用于解密其中已存储的所述保护软件代码,执行 解密后的软件代码,并返回执行结果。根据本专利技术的另一个方面,其特征还在于,按照分段的形式执行所述保护软 件代码的各分段代码。根据本专利技术的另一个方面,其特征还在于,所述保护软件代码在加密时所采 用的密钥与所述安全硬件设备(20)——对应,只有与密钥相对应的所述安全 硬件设备(20)才能对其内部所存储的已加密的保护软件代码进行解密。根据本专利技术的另一个方面,其特征还在于,所述安全硬件设备(20)包括硬件控制模块(200)、解密模块(201)和存储模块(202),其中,硬件控制模块(200)用于接收解密通知,向解密模块(201 )发送解密控制 指令;接收来自解密模块(201)的解密完成通知,发送获取保护软件代码通知 或获取执行结果通知,执行解密的软件代码并存储执行结果在存储单元(202);解密模块(201)用于接收来自硬件控制模块(200)的解密控制指令,从存 储模块(202)中读取保护软件代码,并进行解密后将解密后的软件代码存储在 存储模块(202)中,向硬件控制模块(200)发送解密完成通知。根据本专利技术的另一个方面,其特征还在于,所述安全硬件设备(20)还包括 验证模块(203 ),用于接收来自硬件控制模块(200)的验证控制指令,对存储在存储4莫块(202 )中的保护软件代码进行安全验证,并在通过验证后向硬件控制模块(200)发送验证完成通知,将解密控制指令转发给解密模块(210 )。 根据本专利技术的另一个方面,其特征还在于,所述硬件控制模块(200)接收来自验证模块(203)的验证完成通知,向所述解密模块(201)发送解密控制指令。根据本专利技术的另一个方面,其特征还在于,所迷硬件控制才莫块(200)接收 来自解密模块(201 )的解密完成通知,向l^正模块(203 )发送验证控制指令, 接收来自验证模块(203)的验证完成通知,发送获取保护软件代码通知或获取 执行结果通知。根据本专利技术的另一个方面,其特征还在于,其特征在于,所述安全硬件设备 为安全芯片。附图说明图l是本专利技术执行保护软件代码的方法的流程图; 图2是本专利技术软件代码运行单元实施例的组成结构示意图; 图3a是本专利技术软件代码处理单元实施例一的组成结构示意图; 图3b是本专利技术软件代码处理单元实施例二的组成结构示意图。具体实施方式本专利技术的核心思想是当软件执行单元需要执行保护软件代码时,从外 部获取保护软件代码并存储在安全硬件设备中;安全硬件设备解密并执行解 密后的软件代码,同时存储执行结果;在执行完所有保护软件代码后,安全 硬件设备将保护软件代码的执行结果返回给软件执行单元。为使本专利技术的目的、技术方案及其优点更加清楚明白,以下参照附图并 例举较佳实施例,对本专利技术进一步详细说明。图1是本专利技术执行软件代码的方法的流程图。当软件执行单元即公知的操作系统需要执行保护软件代码时,进行以下步骤步骤100:从外部获取保护软件代码并存储在安全硬件设备中。 在步骤100中,软件执行单元直接从独立于软件执行单元的存储了保护 软件代码的外部设备中读取所需的保护软件代码,这种读取方法的具体实现 技术属于本领域的公知常识,不再赘述。步骤100所强调的是,第一,本专利技术的保护软件代码存储在与软件执行 单元所在设备不同的其它设备上,比如移动硬盘(或者U盘)中,如果保 护软件代码比较大,则可以按分段形式存储在移动硬盘中,并为每段保护软 件代码设置标识,以便识别;第二,在软件执行单元获得保本文档来自技高网
...

【技术保护点】
一种用于执行保护软件代码的方法,其特征在于,该方法包括以下步骤:(A)从外部设备获取所述保护软件代码;(B)将所述保护软件代码存储在安全硬件设备(20)中;(C)所述安全硬件设备(20)对其中已存储的所述保护软件代码进行解密;(D)执行解密后的软件代码,同时存储执行结果;(E)在执行完所有所述保护软件代码后,所述安全硬件设备(20)返回所述保护软件代码的执行结果。

【技术特征摘要】
1. 一种用于执行保护软件代码的方法,其特征在于,该方法包括以下步骤(A)从外部设备获取所述保护软件代码;(B)将所述保护软件代码存储在安全硬件设备(20)中;(C)所述安全硬件设备(20)对其中已存储的所述保护软件代码进行解密;(D)执行解密后的软件代码,同时存储执行结果;(E)在执行完所有所述保护软件代码后,所述安全硬件设备(20)返回所述保护软件代码的执行结果。2、 根据权利要求1所述的方法,其特征在于,在步骤(D)中执行解密后 的软件代码之前,还包括步骤在解密所述保护软件代码后直接执行所述保护 软件代码。3、 根据权利要求1所述的方法,其特征在于,在步骤(D)中执行解密后 的软件代码之前,还包括步骤通过所述安全硬件设备(20 )内部的已有代码 解释引擎将所述软件代码解析成所述安全硬件设备(20)能识别的指令格式。4、 根据权利要求1所述的方法,其特征在于,在所述安全硬件设备(20 ) 中执行完成所述保护软件代码。5、 根据权利要求1所述的方法,其特征在于,在步骤(D)中执行已解密 的所述保护软件代码之前或之后,还包括步骤对所述保护软件代码进行安全 鉴别。6、 根据权利要求1所述的方法,其特征在于,所述保护软件代码在加密时 所釆用的密钥与所述安全石更件设备(20)——对应,只有与密钥相对应的所述 安全硬件设备(20)才能对其内部所存储的已加密的保护软件代码进行解密。7、 根据权利要求l-6所述的任一方法,其特征在于,在步骤(A)之前, 还包括步骤对需要保护的软件代码加密后存储在独立于所述安全硬件设备(20)的其他设备中。8、 根据权利要求7所述的方法,其特征在于,还包括步骤对所述加密后 的保护软件代码进行认证。9、 根据权利要求7所述的方法,其特征在于,还包括步骤对需要保护的 软件代码进行认证后再执行加密。10、 一种用于执行保护软件代码的装置,其特征在于,该装置包括 安全硬件设备(20),用于解密其中已存储的所述保护软件代码,执行解密后的软件代码,并返回执行结果。11、 ...

【专利技术属性】
技术研发人员:孙吉平韩勇
申请(专利权)人:北京深思洛克数据保护中心
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利