程序执行设备制造技术

技术编号:3934152 阅读:150 留言:0更新日期:2012-04-11 18:40
提出了一种程序执行设备,该程序执行设备能够防止程序被未授权地分析或更改。该程序执行设备包括执行单元、第一保护单元和第二保护单元。执行单元执行第一程序和第二程序,并且与能够控制执行的外部设备相连接。当执行单元执行第一程序时,第一保护单元将执行单元从外部设备断开。当执行单元执行第二程序时,第二保护单元保护第一程序。

【技术实现步骤摘要】

本专利技术涉及防止程序被未授权更改和分析的技术。
技术介绍
近年来,个人电脑和因特网的广泛使用使得可以容易地复制或编辑例如软件这样 的数字内容。因此,需要使用抗篡改技术来防止软件被未授权更改和分析。已对抗篡改技术进行了多年的研究。例如,日经电子(NikkeiElectronics)1998 ¥ 1 月 5 日白勺 209 M g 220 M 白勺 t M "ProtectingSoftware against Inverse Analysis and Falsification”描述了防止未授权的软件分析的基本原理和具体方 法。而且,富士施乐(Fuji Xerox)技术报告13号的20至28页中的文章“Software Tamper-resistantTechniques”涉及关于防止未授权的软件分析的技术问题和方法。尽管已有这些研究,但是仍需要更多各种用于保护程序对抗恶意用户的技术。
技术实现思路
鉴于存在以上问题,本专利技术的目的是提供一种程序执行设备,该设备能够通过防 止未授权的更改和分析来安全地执行程序。可以通过执行第一安全程序和第二安全程序的程序执行设备来实现上述目的,所 述第一安全程序在第一安全级中运行,所述第二安全程序在低于所述第一安全级的第二安 全级中运行,所述程序执行设备包括执行单元,用于通过在第一模式和第二模式之间进行 切换来进行操作,所述第一模式在所述第一安全级中,所述第二模式在所述第二安全级中; 外部设备断开单元,用于根据所述第一安全程序的指令,将所述执行单元从外部设备断开; 以及保护单元,用于保护所述第二安全程序。根据这种结构,可以保护程序免受使用硬件的外部攻击和使用软件的攻击。而且, 通过断开外部设备可以获得高级别的安全性。这里,程序执行设备还包括中断检测单元,用于检测中断,其中,所述保护单元包 括存储区域,当所述执行单元根据所述第二安全程序进行操作时,所述执行单元将数据写 入所述存储区域,以及如果所述中断检测单元在所述执行单元根据所述第二安全程序进行 操作时检测到中断,则所述保护单元加密写入所述存储区域中的所述数据,并且,在所述执 行单元完成处理所述中断后,在所述执行单元重新开始根据所述第二安全程序进行操作之 前,解密所述存储区域中的所述加密的数据。根据这种结构,在控制从第二安全程序转移到另一个程序之前,加密存储区域中 的数据。因此,由于能够防止使用软件对第二安全程序进行未授权的分析,所以能够保护第 二安全程序使用的数据免受其它程序的分析和影响。而且,通过仅加密存储区域中的数据可以减少存储器的使用。这使得例如移动电话或PDA这样的、CPU处理速度和存储容量等 资源有限的设备能够保持较高的安全性。这里,第二安全程序可以包含用于调用所述第一安全程序的调用指令,其中,所述 执行单元根据所述调用指令将所述第二篡改检测值、所述至少一部分所述第二安全程序的 开始地址以及所述至少一部分所述第二安全程序的大小传递给所述第一安全程序。这里,在所述执行单元执行所述调用指令之前,所述保护单元可以禁止由所述执 行单元执行中断处理,其中所述执行单元,(a)根据所述调用指令,将加密的程序密钥传递 给所述第一安全程序,(b)如果所述第一篡改检测值与所述第二篡改检测值相同,则根据 所述第一安全程序,使用包含在所述第一安全程序中的主密钥解密从所述第二安全程序接 收的所述加密的程序密钥,并将所述解密过的程序密钥传递给所述第二安全程序,以及(c) 根据所述第二安全程序,使用从所述第一安全程序接收的所述解密过的程序密钥来解密所 述第二安全程序的加密的部分,然后删除所述解密过的程序密钥,以及在所述执行单元删 除所述解密过的程序密钥后,所述保护单元允许由所述执行单元执行所述中断处理。根据这些结构,在删除用于解密加密的程序的程序密钥之前不接受任何中断。因 此,由于能够防止第二安全程序的未授权的分析,所以可以防止程序密钥遭受通过中断而 执行的未授权的分析。这里,所述执行单元根据所述第一安全程序,可以使用密钥对至少一部分所述第 二安全程序执行散列运算,以计算第一篡改检测值;所述执行单元将所述第一篡改检测值 与第二篡改检测值进行比较,其中,已经在生成所述第二安全程序时基于所述至少一部分 所述第二安全程序计算出所述第二篡改检测值;以及如果所述第一篡改检测值与所述第二 篡改检测值不同,则所述执行单元终止所述操作,如果所述第一篡改检测值与所述第二篡 改检测值相同,则所述执行单元继续所述操作。根据这种结构,如果所述第二安全程序被判断为已被篡改,则所述执行单元终止 所述操作。这减小了当第二安全程序已被篡改时的危害。而且,所述第二安全程序包含基于至少一部分第二安全程序生成的篡改检测值。 因此,当所述第二安全程序需要被改变时,例如当第二安全程序已被篡改时,可以只对第二 安全程序进行改变,而不改变程序执行设备的其它处理模块。根据本专利技术的另一方面,提供一种程序执行设备,其执行(i)判断另一程序是否 被篡改的第一程序和(ii)与所述第一程序不同的第二程序,所述程序执行设备包括执行单元,用于执行所述第一程序和第二程序;以及断开单元,用于当所述第一程序判断所述第二程序已经被篡改时将所述执行单元 从外部设备断开,其中在所述执行单元被所述断开单元从所述外部设备断开后,所述第一 程序对所述第二程序执行篡改检测处理,以及当作为篡改检测处理的结果没有检测到篡改 时执行所述第二程序的一部分。根据本专利技术的另一方面,提供一种用于程序执行设备的程序执行方法,所述程序 执行设备执行(i)判断另一程序是否被篡改的第一程序和(ii)与所述第一程序不同的第 二程序,所述程序执行设备包括用于执行所述第一程序和第二程序的执行单元;所述程序 执行方法包括在所述执行单元执行所述第一程序时,保护用 运行所述第一程序的存储器免于从外部看到;当所述第一程序判断所述第二程序已经被篡改时从外部设备断开所述执行单 元;在所述执行单元通过所述断开从所述外部设备断开后执行对所述第二程序的篡 改检测处理;以及仅当作为篡改检测处理的结果没有检测到篡改时,执行所述第二程序的一部分。根据本专利技术的另一方面,提供一种信息处理设备,包括存储单元,存储包括用于检测篡改的一个或多个程序指令的第一组程序指令,以 及第二组程序指令;以及控制单元,用于(i)通过使用受保护的存储器执行所述第一组程序指令中的一个 或多个程序指令,判断所述第二组程序指令的至少一部分是否被篡改,所述受保护的存储 器被保护成外部设备不能看到所述存储器的内容,以及(ii)在判断为否的情况下执行所 述第二组程序指令中的一个或多个程序指令。根据本专利技术的另一方面,提供一种用于信息处理设备的方法,所述信息处理设备 存储包括用于检测篡改的一个或多个程序指令的第一组程序指令以及第二组程序指令;以 及所述方法包括如下步骤通过使用受保护的存储器执行所述第一组程序指令中的一个或多个程序指令,判 断所述第二组程序指令的至少一部分是否被篡改,所述受保护的存储器被保护成外部设备 不能看到所述存储器的内容;以及在判断为否的情况下执行所述第二组程序指令中的一个或多个程序指令。附图说明图1显示了本专利技术的实施例所涉及的安全处理系统的整体结构; 图2是显示图1所示的认证机构本文档来自技高网...

【技术保护点】
一种程序执行设备,其执行(i)判断另一程序是否被篡改的第一程序和(ii)与所述第一程序不同的第二程序,所述程序执行设备包括:执行单元,用于执行所述第一程序和第二程序;以及断开单元,用于当所述第一程序判断所述第二程序已经被篡改时将所述执行单元从外部设备断开,其中在所述执行单元被所述断开单元从所述外部设备断开后,所述第一程序对所述第二程序执行篡改检测处理,以及当作为篡改检测处理的结果没有检测到篡改时执行所述第二程序的一部分。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:松岛秀树广田照人庄田幸惠原田俊治
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

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

1