程序执行设备的制作方法

文档序号:6598658阅读:131来源:国知局
专利名称:程序执行设备的制作方法
技术领域
本发明涉及防止程序被未授权更改和分析的技术。
背景技术
近年来,个人电脑和因特网的广泛使用使得可以容易地复制或编辑例如软件这样 的数字内容。因此,需要使用抗篡改技术来防止软件被未授权更改和分析。已对抗篡改技术进行了多年的研究。例如,日经电子(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所示的认证机构设备的结构的框图; 图3是显示图2所示的编译器的操作的流程图; 图4是显示图1所示的存储卡的结构的框图; 图5是显示图1所示的便携终端的结构的框图; 图6显示存储在图5所示的存储器中的程序; 图7显示图6所示的第二安全处理程序的数据结构; 图8显示图7所示的调用程序的数据结构; 图9是显示图7所示的中断处理程序的执行过程的流程图; 图10显示图6所示的第一安全处理程序的数据结构; 图11显示图6所示的向量表的数据结构; 图12是显示图5所示的CPU的操作的流程图; 图13是显示音乐数据播放过程的流程图; 图14是显示音乐数据播放过程的流程图; 图15是显示音乐数据播放过程的流程图; 图16是显示音乐数据播放过程的流程图17是显示音乐数据播放过程的流程图;图18是显示认证过程的流程图;图19是显示当中断出现时CPU的操作的流程图。
具体实施例方式
下面参照附图详细描述本发明的实施例。1.安全处理系统1的结构图1显示了本发明的实施例所涉及的安全处理系统的整体结构。在图中,总体上, 安全处理系统1由认证机构(certificate authority)设备100、ROM写入器200、便携式 终端300以及存储卡400构成。安全处理系统1保护在便携式终端300中执行的程序免受未授权地分析和更改。 将被保护的程序是在认证机构设备100中生成的,并由ROM写入器200将其写入ROM。然后 将包含程序的ROM安装在便携式终端300中。在本实施例中,作为一个例子,将被保护的程序是用于解密记录在存储卡400上 的加密的音乐数据的加密音乐数据解密程序。1. 1.认证机构设备100认证机构设备100生成第二安全处理程序,该第二安全处理程序包含图7所示的 区域分配程序511、中断禁止程序512、调用程序513、密钥接收程序514、执行标记515、中断 处理程序518、解密程序516以及安全程序。安全程序包含需要被保护的加密音乐数据解密 程序524。通过ROM写入器200将生成的第二安全处理程序写入R0M,并将其安装在便携式 终端300中。后面详细描述每一个程序。图2显示了认证机构设备100的结构。在图中,证书机构设备100包括编译器101、 程序加密单元102、密钥加密单元103、散列值计算单元104、数据嵌入单元105、存储单元 106、以及传输单元107。实际上由包括微处理器、ROM、RAM、硬盘单元、显示单元以及键盘的计算机系统来 实现证书机构设备100。通过执行存储在RAM或硬盘单元中的计算机程序的微处理器来实 现认证机构设备100的功能。(1)编译器 101编译器101接收保护程序、调用程序513、解密程序516以及安全程序的源代码的 输入。保护程序由区域分配程序511、中断禁止程序512、密钥接收程序514、执行标记515 以及中断处理程序518构成。调用程序513用于发送检测第二安全处理程序是否已被篡改 所需的数据。调用程序513包含便携式终端300的存储器上的TRS区域程序的开始地址。 TRS区域程序对应于第二安全处理程序的解密程序516和加密的程序517。通过加密安全 程序生成加密的程序517。当接收到调用程序513、解密程序516、安全程序以及保护程序的源代码后,编译 器101编译这些程序中的每一个。图3是显示由编译器101编译程序的操作的流程图。编译器101执行词法分析(S621)和语法分析(S622)。最后,编译器101生成表示 可由计算机执行的程序的二进制数据(S623)。
编译器101将调用程序513的二进制数据和保护程序的二进制数据输出到数据嵌 入单元105。编译器101还将解密程序516的二进制数据和安全程序的二进制数据输出到 程序加密单元102。(2)程序加密单元102程序加密单元102接收解密程序516的二进制数据和安全程序的二进制数据。 程序加密单元102还接收程序密钥。程序加密单元102根据加密算法E1使用程序密钥 加密安全程序,以生成加密的程序517。作为一个例子,加密算法E1是AES(AdvanCed EncryptionStandard,高级加密标准)。在所述领域,AES是公知的,因此在此省略对其的说 明。除AES以外的其它算法也可以被用作加密算法E1。程序加密单元102将解密程序516和加密的程序517作为TRS区域程序输出到数 据嵌入单元105。程序加密单元102还将TRS区域程序输出至散列值计算单元104。(3)密钥加密单元103 密钥加密单元103接收程序密钥和主密钥。密钥加密单元103根据加密算法E1使用主密钥加密程序密钥,以生成加密的密 钥。密钥加密单元103将加密的密钥输出到数据嵌入单元105。(4)散列值计算单元104散列值计算单元104计算第二安全处理程序的至少一部分的散列值。在该实施例中,散列值计算单元104接收TRS区域程序和密钥,并根据散列函数使 用密钥计算TRS区域程序的散列值。例如,用于 HMAC(Keyed-Hashing for Message Authentication,用于消息认证的 密钥散列法)的算法可以被用于计算散列值。设H为散列函数,K为密钥,文本为将被散列的数据,opad是由重复64次的字节值 0x36构成的字符串,并且ipad是由重复64次的字节值0x5C构成的字符串。因此,用于计 算散列值的算法可以被表示为H(KX0R opad, H(KX0R ipad,text))。散列值计算单元104还计算TRS区域程序的二进制大小(binarysize)。散列值计算单元104将散列值和二进制大小输出到数据嵌入单元105。(5)数据嵌入单元105数据嵌入单元105从编译器101接收调用程序513的二进制数据和保护程序的二 进制数据,并从散列值计算单元104接收散列值和二进制大小。数据嵌入单元105还从密 钥加密单元103接收加密的密钥,并从程序加密单元102接收TRS区域程序。数据嵌入单元105将散列值作为篡改检测值 入调用程序513。数据嵌入单元105 还将二进制大小和加密的密钥嵌入调用程序513。数据嵌入单元105将生成的调用程序513 包含到保护程序中,并将保护程序和TRS区域程序进行组合以形成第二安全处理程序。数 据嵌入单元105将第二安全处理程序写入存储单元106。(6)存储单元106存储单元106存储由数据嵌入单元105写入的第二安全处理程序。(7)传输单元107传输单元107将存储在存储单元106中的第二安全处理程序输出到ROM写入器200。1. 2. ROM 写入器 200ROM写入器200与认证机构设备100相连。ROM写入器200从认证机构设备100 接收第二安全处理程序,并将第二安全处理程序写入ROM。然后,将由ROM写入器200写入 第二安全处理程序的ROM安装在便携式终端300中。13.存储卡 400图4显示了存储卡400的结构。在图中,存储卡400包括控制单元401、输入/输 出单元402、认证(authentication)单元403、信息存储单元404。(1)输入/输出单元402当存储卡400连接到便携式终端300上时,输入/输出单元402在控制单元401 和便携式终端300之间执行数据的传输。(2)信息存储单元404信息存储单元404包括数据区域410和安全区域420。数据区域410存储加密的音乐数据411。通过根据加密算法E1使用标题密钥421 加密MP3音乐数据从而生成加密的音乐数据411。安全区域420存储标题密钥421。只有当与认证单元403相互认证成功后,便携式 终端300才能访问安全区域420。这里,可以使用只有存储卡400才具有的信息来加密存储在信息存储单元404中 的数据。(3)认证单元403认证单元 403 基于 CPRM (Content Protection for RecordableMedia,可记录介质 内容保护)与便携式终端300执行相互认证。如果相互认证成功,则认证单元403与便携 式终端300建立共享密钥,并将该共享密钥输出到控制单元401。在本领域中,CPRM是公知 的,因此,在此不再对其进行说明。除CPRM以外的其它方法也可以被用于相互认证。(4)控制单元401控制单元401经由输入/输出单元402与便携式终端300执行数据的传输。只有 当便携式设备300与认证单元403的相互认证成功时,控制单元401才允许便携式终端300 访问存储在安全区域420中的数据。当输出存储在安全区域420中的数据时,控制单元401 使用从认证单元403接收的共享密钥加密数据。同时,控制单元401允许便携式终端300访问存储在数据区域410中的数据,而无 需相互认证。1.4 便携式终端300图5显示了便携式终端300的结构。在图中,便携式终端300包括CPU 301、调 试器接口 302、调试器禁止电路303、中断控制器304、存储器305、存储卡接口 306、输入单 元307、显示单元308、扬声器309、解码器310、麦克风312、转换单元313、无线电控制单元 314、无线电单元315以及天线316。便携式终端303的这些部件与总线317相连。而且,通 过中断线318,中断控制器304被连接到CPU 301。下面描述便携式终端300的这些部件中的每一个。(1)调试器禁止电路303和调试器接口 302
在CPU 301和调试器接口 302之间设置调试器禁止电路303,从而将CPU 301与调 试器接口 302连接/断开。从CPU 301接收到指示“允许”的调试器控制信号后,调试器禁止电路303将CPU 301连接到调试器接口 302。从CPU 301接收到指示“禁止”的调试器控制信号后,调试器 禁止电路303将CPU 301从调试器接口 302断开。当CPU 301和调试器接口 302彼此连接时,允许连接到调试器接口 302的外部调 试器设备工作。如果将CPU 301和调试器接口 302彼此断开,则禁止调试器设备工作。例 如,可以通过开关来实现调试器禁止电路303。这里,可以通过开关电路在CPU 301和调试 器接口 302之间进行物理地连接/断开,或者进行电气的连接/断开。调试器接口 302用于连接便携式终端300和调试器设备。(2)存储器 305如图6所示,存储器305存储第一安全处理程序501、第二安全处理程序502、向量 表503、音乐播放程序504、应用程序505。(A)第二安全处理程序502通过认证机构设备100生成第二安全处理程序502,并通过ROM写入器200将其存 储在ROM中。图7显示了第二安全处理程序502的数据结构。下面说明构成第二安全处理程序 502的每一个程序。(区域分配程序511)区域分配程序511在存储器305中分配存储空间,以便动态地分配当执行认证程 序523和加密音乐数据解密程序524时使用的存储区域。(中断禁止程序512)中断禁止程序512禁止(SP,屏蔽)中断。(调用程序513)调用程序513调用第一安全处理程序501。如图8所示,调用程序513包括篡改检测数据,该篡改检测数据包括篡改检测值 54UTRS区域开始地址542、二进制大小543、以及加密的密钥544。当调用第一安全处理程 序501时,调用程序513还将由认证机构设备100的数据嵌入单元105嵌入的篡改检测数 据传递给第一安全处理程序501。这里,篡改检测值541是由认证机构设备100的散列值计算单元104为第二安全 处理程序502中的TRS区域程序计算的散列值。TRS区域开始地址542是存储器305中的接受散列值计算的TRS区域程序的开始 地址。二进制大小543是TRS区域程序的二进制大小。加密的密钥544是由认证机构设备100的密钥加密单元103使用主密钥加密的程
序密钥。(密钥接收程序514)密钥接收程序514从第一安全处理程序501接收程序密钥,并将该程序密钥传递 给解密程序516。
(执行标记515)执行标记515显示是否正在执行安全程序。在解密程序516解密加密的程序517 之前,执行标记515被设置为“0N”,其指示正在执行安全程序。当完成执行通过解密加密的 程序517而获得的安全程序时,执行标记515被设置为“OFF”。(解密程序516)解密程序516从密钥接收程序514接收程序密钥,并根据解密算法D1使用程序密 钥解密加密的程序517,以获得安全程序。这里,解密算法D1是加密算法E1的逆。例如,在国际专利申请公开No. W0 04/013744(2004年2月12日公开)中公开的 技术可以被用于解密加密的程序517。根据该技术,加密的程序517被加载到存储器并且被 以小部分为单位进行解密。这可以防止全部安全程序都存在于存储器中。因此,即使当未 授权的用户访问存储器中的数据时,也不能获得全部安全程序。(加密的程序517)通过加密安全程序生成加密的程序517。如图7所示,安全程序包括中断允许程 序521、区域初始化程序522、认证程序523、加密音乐数据解密程序524、区域密钥525、区 域加密程序526、区域解密程序527、区域释放程序528。在加密的程序517中,中断允许程 序521、区域初始化程序522、认证程序523、区域密钥525、区域加密程序526、区域解密程序 527、区域释放程序528保护加密音乐数据解密程序524免受其它程序的分析或更改。(a)中断允许程序521中断允许程序521释放通过中断禁止程序512产生的中断禁止。(b)区域初始化程序区域初始化程序522对由区域分配程序511分配的存储空间进行初始化,以在存 储空间中分配将接受加密的存储区域。分配存储区域以将认证程序523和加密音乐数据解密程序524执行期间使用的数 据写入。(c)认证程序523认证程序523包含认证密钥531。认证程序523执行单向认证以判断第一安全处理程序501是否有效。(d)加密音乐数据解密程序524
加密音乐数据解密程序524根据解密算法D1,使用标题密钥421解密存储在存储 卡400上的加密的音乐数据411,以获得音乐数据。(e)区域密钥525由区域加密程序526使用区域密钥525以加密由区域初始化程序522分配的存储 区域中的数据,并由区域解密程序527使用以解密存储区域中的加密数据。(f)区域加密程序526区域加密程序526根据加密算法E2使用区域密钥525来加密存储区域中的数据。 这里,加密算法E2使得能够进行比加密算法E1更快速的处理。作为一个例子,加密算法E2 是X0R(异或)运算。或者,除X0R运算以外的其它算法也可以被用作加密算法E2,这是基 于所需的安全级别和CPU 301的处理能力来确定的。在第二安全处理程序502调用第一安全安全处理程序501以将控制传递给第一安全处理程序501之前,区域加密程序526加密存储区域中的数据。(g)区域解密程序527当控制从第一安全处理程序501返回到第二安全处理程序502时,区域解密程序 527根据解密算法D2使用区域密钥525来解密存储区域中的加密数据,以获得原始的明文 数据。(h)区域释放程序528区域释放程序528释放由区域初始化程序522分配的存储区域,并调用第一安全 处理程序501的退出函数以结束音乐数据播放过程。(中断处理程序518)当在第二安全处理程序502执行期间出现中断时,执行中断处理程序518。中断处 理程序518包含加密/解密密钥(未说明)。图9是显示中断处理程序518的执行过程的流程图。虽然中断处理程序518实际 上是计算机程序,但是图9以便于说明的流程图说明了中断处理程序518的执行过程。中断处理程序518读取执行标记515(S611),判断执行标记515是“ON”还是 “OFF” (S612)。如果执行标记是“ON” (S612 :0N),则中断处理程序518根据加密算法E2使 用加密/解密密钥来加密存储区域中的数据(S613)。之后,中断处理程序518处理中断。 如果执行标记是“OFF” (S612 :0FF),则中断处理程序518在不加密存储区域中的数据的情 况下处理中断。在处理中断之后,如果执行标记515是“ON” (S614 :0N),则在返回原始处理之前, 中断处理程序518根据解密算法D2使用加密/解密密钥来解密存储区域中的加密数据 (S615)。如果执行标记515是“OFF” (S614 :0FF),则中断处理程序518在不解密存储区域 中的数据的情况下返回到原始处理。(B)第一安全处理程序501图10显示了第一安全处理程序501的数据结构。在图中,第一安全处理程序501 包括断开程序551、篡改检测程序552、密钥解密程序553、密钥发送程序554、认证程序555、 数据读取程序556以及连接程序557。在CPU 301的安全处理模式中执行第一安全处理程 序501。后面详细说明安全处理模式。(断开程序551)当第一安全处理程序501起动时,断开程序551向调试器禁止电路303输出指示 “禁止”的调试器控制信号。(篡改检测程序552)篡改检测程序552包含密钥562、并检测第二安全处理程序502是否已被篡改。为 此,篡改检测程序552从第二安全处理程序502的调用程序513获取包含篡改检测值541、 TRS区域开始地址542、二进制大小543以及加密的密钥544的篡改检测数据。篡改检测程序552从由TRS区域开始地址指定的存储器305中的位置读取对应于 二进制大小543的数据量,作为TRS区域程序。篡改检测程序552根据散列函数使用密钥 562计算TRS区域程序的散列值。篡改检测程序552将计算的散列值与篡改检测值541进 行比较。如果两个值匹配,则篡改检测程序552判断第二安全处理程序502还未被篡改。如 果两个值不匹配,则篡改检测程序552判断第二安全处理程序502已被篡改,并且停止后续处理。(密钥解密程序553)密钥解密程序553包含主密钥563。如果篡改检测程序552判断第二安全处理程 序502还未被篡改,则密钥解密程序553根据解密算法D1使用主密钥563解密加密的密钥 544,以获得程序密钥。密钥解密程序553将程序密钥传递给密钥发送程序554。(密钥发送程序554)密钥发送程序554从密钥解密程序553接收程序密钥,并将程序密钥发送到第二 安全处理程序502。(认证程序555)认证程序555包含认证密钥565,并且接受由第二安全处理程序502使用认证密 钥565进行的认证。如果认证成功,则认证程序555与第二安全处理程序502建立共享会 话密钥。使用该会话密钥来加密接下来在第一安全处理程序501和第二安全处理程序502 之间传输的数据。(数据读取程序556)数据读取程序556基于CPRM与存储卡400执行相互认证。如果相互认证是成功 的,则数据读取程序556访问存储卡400的安全区域420并获取标题密钥421。(连接程序557)连接程序557向调试器禁止电路303输出指示“允许”的调试器控制信号。(c)向量表 503图11显示了向量表503的数据结构。如图所示,向量表503显示了当出现软件中 断、终止以及硬件中断时将被执行的指令的地址。(D)音乐播放程序504音乐播放程序504播放通过第二安全处理程序502解密的音乐数据。音乐播放程 序504向解码器310中的缓冲器311输出音乐数据。(E)应用程序505应用程序505接收用户操作的输入。如果用户操作将播放存储卡400中的音乐数 据,则应用程序505起动第二安全处理程序502。(3) CPU 301CPU 301根据存储在存储器305中的程序进行操作。通过从与调试器接口 302连 接的调试器设备发出的指令来控制CPU 301的操作。图12是显示CPU 301的操作的流程图。CPU 301提取存储在存储器305中的程序 的指令(S601),解码该指令(S602),然后执行该指令(S603)。然后CPU 301增加程序计数 器(S604)以提取下一条指令。这里,CPU 301工作在安全处理模式或常规处理模式。在常规处理模式中,CPU 301 执行常规处理。在安全处理模式中,CPU 301以高级别的安全性执行处理,从而使得不能从 外部访问存储器305中的数据。CPU 301在安全处理模式中执行第一安全处理程序501,在常规处理模式中执行 第二安全处理程序502。当出现中断时,中断控制器304通过中断线318输出中断信号。如果由中断禁止程序512禁止了中断,则CPU 301拒绝中断信号。如果未禁止中断,则CPU 301接受中断信 号,参考图11所示的向量表503,并读取对应于中断信号的地址。CPU 301根据位于读取地 址的中断处理程序处理中断。处理完中断之后,CPU 301返回原始处理。当在执行第二安全处理程序502期间接收到中断信号时,CPU301参考向量表503 并执行图9所示的中断处理程序518。(4)输入单元307输入单元307接收用户操作的输入。当接收到输入时,输入单元307向中断控制器304通知中断。(5)中断控制器304当输入单元307或无线电控制单元314向中断控制器304通知例如邮件接收、调 用接收或用户操作这样的中断时,中断控制器304经由中断线318向CPU 301输出中断信号。(6)扬声器309和解码器310解码器310包括缓冲器311。缓冲器311对从CPU 301接收的音乐数据进行缓冲。 扬声器309根据缓冲器311中的音乐数据生成音频信号,并输出音频信号。(7)存储卡接口 306存储卡接口 306用于连接便携式终端300和存储卡400。在CPU301的控制下,存 储卡接口 306将数据输出到存储卡400,并从存储卡400接收数据并将其输出到CPU 301。(8)无线电控制单元314,无线电单元315,天线316天线316、无线电单元315、无线电控制单元314与一个设备发送/接收声音或信 息,便携式终端300通过无线电基站和便携式终端网络连接到该设备。当经由天线316和无线电单元315接收到邮件或调用时,无线电控制单元314向 中断控制器304通知中断。(9)麦克风312和转换单元313转换单元313将从麦克风312接收到的声音转换为电子信号,并将其输出到无线 电控制单元314。2.安全处理系统1的操作2. 1.认证机构设备100的操作编译器101接收调用程序513的源代码和保护程序的源代码的输入,并将所述源 代码编译为调用程序513的二进制数据和保护程序的二进制数据。编译器101将二进制数 据输出到数据嵌入单元105。编译器101还接收解密程序516的源代码和安全程序的源代 码的输入,并将所述源代码编译为解密程序516的二进制数据和安全程序的二进制数据。 编译器101将所述二进制数据输出到程序加密单元102。程序加密单元102接收解密程序516的二进制数据和安全程序的二进制数据。程 序加密单元102还接收程序密钥。程序加密单元102使用所述程序密钥加密安全程序,以 生成加密的程序517。程序加密单元102将解密程序516和加密的程序517输出到数据嵌 入单元105和散列值计算单元104,作为TRS区域程序。散列值计算单元104接收TRS区域程序。散列值计算单元104还接收密钥。散列 值计算单元104根据散列函数使用密钥计算TRS区域程序的散列值。散列值计算单元104还计算TRS区域程序的二进制大小。散列值计算单元104将散列值和二进制大小输出到数 据嵌入单元105。密钥加密单元103接收程序密钥和主密钥,使用主密钥加密程序密钥以生成加密 的密钥。密钥加密单元103将加密的密钥输出到数据嵌入单元105。数据嵌入单元105从编译器101接收调用程序513的二进制数据,并从散列值计 算单元104接收散列值和二进制大小,并从密钥加密单元103接收加密的密钥。数据嵌入 单元105将散列值嵌入调用程序513作为篡改检测值541。数据嵌入单元105还将二进制 大小和加密的密钥嵌入调用程序513作为二进制大小543和加密的密钥544。数据嵌入单 元105还从编译器101接收保护程序的二进制数据,并从程序加密单元102接收TRS区域 程序。数据嵌入单元105将调用程序513包含进保护程序,并将保护程序和TRS区域程序 进行组合以形成第二安全处理程序502。数据嵌入单元105将第二安全处理程序502写入 存储单元106。 传输单元107从存储单元106读取第二安全处理程序502,并将第二安全处理程序 502输出到ROM写入器200。2. 2.便携式终端300的音乐数据播放操作(1)播放下面参考图13至17说明由便携式终端300通过执行程序来播放记录在存储卡 400上的音乐数据的操作。当经由输入单元307接收到播放存储卡400上的音乐数据的用户操作的输入时, 应用程序505起动第二安全处理程序502 (S701)。在第二安全处理程序502中,区域分配程序511在存储器305中分配虚拟的存储 空间,用于在安全程序的执行期间,动态地分配存储区域(S702)。并且,中断禁止程序512 禁止中断(S703)。因此,禁止了使用中断的未授权的程序分析和更改。中断的禁止一直有 效直到中断允许。接着,调用程序513调用第一安全处理程序501,并将由篡改检测值541、 TRS区域开始地址542、二进制大小543以及加密的密钥544构成的篡改检测数据传递给第 一安全处理程序501 (S704)。第一安全处理程序501从第二安全处理程序502接收篡改检测数据(S705)。在第 一安全处理程序501中,断开程序551将指示“禁止”的调试器控制信号输出到调试器禁止 电路303(S706)。因此,调试器禁止电路303断开调试器设备。因此,禁止使用调试器设备 进行未授权的程序分析和更改。接着,篡改检测程序552执行下列过程。篡改检测程序552从由TRS区域开始地址542指定的存储器305上的位置读取对 应于二进制大小543的数据量,作为TRS区域程序。篡改检测程序552使用密钥562计算 TRS区域程序的散列值(S709)。篡改检测程序552将所计算的散列值与篡改检测值541进行比较(S710)。如果 两个值不匹配(S710 否),则篡改检测程序552判断第二安全处理程序502已被篡改,并 且停止后续处理。连接程序557将指示“允许”的调试器控制信号输出到调试器禁止电路 303(S737),并终止操作。如果两个值匹配(S710 是),则篡改检测程序552判断第二安全处理程序502未被篡改。因此,密钥解密程序553使用主密钥563解密加密的密钥544,以得到程序密钥 (S711)。密钥解密程序553将程序密钥传递给密钥发送程序554。密钥发送程序554将程 序密钥传递给第二安全处理程序502 (S712)。在第二安全处理程序502中,密钥接收程序514接收程序密钥(S713)。并且,将执 行标记515设置为“0N”(S714)。之后,解密程序516使用程序密钥解密加密的程序517,以 得到安全程序(S715)。完成之后,解密程序516删除程序密钥(S716)。安全程序执行下列过程(S717)。在安全程序中,中断允许程序521释放在步骤S703执行的中断的禁止(S718)。其 后,如果出现中断,则挂起安全程序以处理中断。后面详细说明当出现中断时将被执行的过程。然后,区域初始化程序522在存储空间中分配存储区域(S719),在该存储区域中 将存储由认证程序523和加密音乐数据解密程序524使用的数据。认证程序523根据认证过程认证第一安全处理程序501 (随后描述)(S720)。第一 安全处理程序501中的认证程序555经受由认证程序523进行的认证。如果认证失败,则 第二安全处理程序502停止后续处理,并且在终止操作之前,第一安全处理程序501中的连 接程序557将指示“允许”的调试器控制信号输出到调试器禁止电路303 (S737)。如果认证成功,则第二安全处理程序502与第一安全处理程序501建立共享的会 话密钥。使用该会话密钥加密随后在第二安全处理程序502和第一安全处理程序501之间 传输的数据。如果认证成功,则第二安全处理程序502将控制传递给音乐播放程序504。音乐播放程序504从存储卡400读取加密的音乐数据411 (S721)。音乐播放程序 504还请求第二安全处理程序502解密加密的音乐数据411 (S722)。当接收到解密加密的音乐数据411的请求时,第二安全处理程序502调用区域 加密程序526。区域加密程序526使用区域密钥525加密在步骤S719分配的存储区域中 的数据(S723)。之后,第二安全处理程序502请求第一安全处理程序501获取标题密钥 421(S724)。 在第一安全处理程序501中,数据读取程序556与存储卡400中的认证单元403执 行相互认证(S725)。如果相互认证成功(S726 是),则数据读取程序556访问存储卡400 中的安全区域420并获取标题密钥421 (S727)。如果相互认证失败,则数据读取程序556不 能获取标题密钥421。在这种情况下,连接程序557在终止操作前将指示“允许”的调试器 控制信号输出到调试器禁止电路303(S737)。第一安全处理程序501使用会话密钥加密标题密钥421,以生成加密的标题密钥 (S728)。第一安全处理程序501将加密的标题密钥传递给第二安全处理程序502。在第二安全处理程序502中,区域解密程序527使用区域密钥525解密存储区域 中的加密的数据,以恢复原始数据(S729)。认证程序523使用会话密钥解密加密的标题密 钥,以获得标题密钥421 (S730)。之后,加密音乐数据解密程序524使用标题密钥421解密 由音乐播放程序504从存储卡400读取的加密的音乐数据411 (S731)。因此,获得音乐数 据。加密音乐数据解密程序524将音乐数据传递给音乐播放程序504。音乐播放程序504播放音乐数据(S732)。
一旦完成音乐数据的播放(S733),则音乐播放程序504将控制传递给第二安全处 理程序502。在第二安全处理程序502中,区域释放程序528释放在步骤S719中分配的存 储区域(S734),并调用第一安全处理程序501的退出函数(S735)。而且,将执行标记515 设置为 “OFF”(S736)。在第一安全处理程序501中,在终止操作前,连接程序557将指示“允许”的调试 器控制信号输出到调试器禁止电路303(S737)。(2)认证下面参照图18说明在步骤S720中由第二安全处理程序502对第一安全处理程序 501进行认证的过程。第二安全处理程序502生成随机数R0,并将随机数R0传递给第一安全处理程序 501(S751)。第一安全处理程序501接收随机数R0,并使用认证密钥565加密随机数R0以 生成认证值R1 (S752)。第一安全处理程序501将认证值R1传递给第二安全处理程序 502(S753)。第二安全处理程序502从第一安全处理程序501接收认证值R1。第二安全处理程 序502使用认证密钥531加密随机数R0,以生成认证值R2 (S754)。第二安全处理程序502 将认证值R1与认证值R2进行比较(S755)。如果两个值不匹配(S755:否),则第二安全处 理程序502将指示“不匹配”的判断结果传递给第一安全处理程序501 (S756),并终止过程。 如果两个值匹配(S755 是),则第二安全处理程序502将指示“匹配”的判断结果传递给第 一安全处理程序501 (S757)。然后,第二安全处理程序502使用单向函数根据随机数R0和 认证密钥531生成会话密钥(S759)。如果所接收的判断结果指示“不匹配”(S758 否),则第一安全处理程序501终止 过程。如果所接收的判断结果指示“匹配”(S758 是),则第一安全处理程序501使用单向 函数根据随机数R0和认证密钥565生成会话密钥(S760)。因此,第二安全处理程序502认证第一安全处理程序501,并且如果认证成功,则 共享会话密钥。使用该会话密钥加密随后在第一安全处理程序501和第二安全处理程序 502之间传输的数据。(3)中断下面参照图19说明当在执行第二安全处理程序502期间出现中断时的CPU 301 的操作。这里,以邮件接收作为中断的一个例子。当从中断控制器304接收到中断信号时(S771),CPU 301读取向量表503 (S772), 并根据向量表503执行中断处理程序518 (S773)。首先,CPU 301读取执行标记515 (S774)。如果执行标记515是“ON,,(S775 否), 则CPU 301使用加密/解密密钥来加密存储区域中的数据(S776)。CPU 301还存储运行 环境(context) (S777),并执行邮件接收处理(S778)。如果执行标记515是“OFF” (S775 OFF),则CPU 301在不加密存储区域中的数据的情况下执行步骤S777和S778。在邮件接收处理之后,如果执行标记515是“0N”(S779 :0N),则在返回原始处理之 前,CPU 301解密存储区域中的数据(S780)。如果执行标记515是“OFF” (S779 :0FF),则 CPU 301在不解密存储区域中的数据的情况下返回原始处理。
3.变形已经通过以上实施例描述了本发明,但是很明显,本发明并不局限于上述实施例。 以下给出示例性的变形。(1)上述实施例描述了保护加密音乐数据解密程序的例子,其中,由便携式终端执 行加密音乐数据解密程序,但是本发明并不限于其。执行待保护的程序的示例性设备包括DVD播放器、DVD记录器、PC以及PDA。而且,待保护的示例性程序包括当在便携式终端上播放视频内容或游戏时使用的 解密程序,以及当在DVD记录器上记录内容时使用的记录程序。因此,本发明可应用于任何 需要被保护以防止未授权的分析和更改的程序。(2)上述实施例描述了散列值被用作篡改检测值的例子,但是唯一属于TRS区域 程序的任何值都能被用作篡改检测值。例如,对TRS区域程序的数字签名或通过加密TRS 区域程序而生成的数据可以被用作篡改检测值。而且,除实施例中使用的算法以外的算法 可以被用于计算散列值。上述实施例描述了为TRS区域程序生成篡改检测值的例子,但是也可以为至少一 部分TRS区域程序生成篡改检测值。或者,可以为至少一部分第二安全处理程序生成篡改 检测值。而且,可以通过为至少一部分TRS区域程序或第二安全处理程序执行匹配计算, 或者通过将伪随机数(psuedo-random number)嵌入至少一部分TRS区域程序或第二安全 处理程序来执行篡改检测。也就是说,任何能够检测程序是否已被篡改的篡改检测方法都 是可用的。上述实施例描述了在调试器禁止电路断开调试器设备后执行篡改检测的例子。作 为另一个例子,可以在由调试器禁止电路断开之前执行篡改检测。在这种情况下,如果未检 测到篡改,则调试器禁止电路断开调试器设备以进行后续处理。(3)上述实施例描述了第二安全处理程序中的调用程序将篡改检测数据传递给第 一安全处理程序的例子。作为另一个例子,不同于第二安全处理程序的程序可以将篡改检 测数据传递给第一安全处理程序。在这种情况下,第二安全处理程序中的调用程序仅调用 第一安全处理程序。同时,在存储器305中存储用于将篡改检测数据发送到第一安全处理 程序的发送程序。因此,当被第二安全处理程序调用时,第一安全处理程序请求发送程序发 送篡改检测数据。作为响应,发送程序将篡改检测数据发送到第一安全处理程序。在这种情况下,认证机构设备不在第二安全处理程序的保护程序中包括该发送程 序,而是根据第二安全处理程序独立地生成其。而且,第一安全处理程序可以预先包含第二安全处理程序的篡改检测数据。(4)上述实施例描述了第二安全处理程序对第一安全处理程序执行单向认证的例 子,但是,第二安全处理程序与第一安全处理程序可以执行双向认证。而且,上述实施例描 述了挑战应答认证方法的使用,但是,可以等价地使用其它用于认证程序的认证方法。上述实施例描述了通过使用认证密钥来加密随机数R0,从而生成认证值R1和R2 的例子,但是,也可以通过对随机数R0应用单向函数来生成它们。上述实施例描述了使用单向函数根据随机数R0和认证密钥来生成会话密钥的例 子,但是也可以通过加密来生成会话密钥。
(5)上述实施例描述了在将控制从第二安全处理程序传递给第一安全处理程序之 前,区域加密程序加密存储区域中的数据的例子。当将控制从第二安全处理程序传递给其 它程序时,例如当第二安全处理程序调用外部函数时,区域加密程序也可以加密存储区域 中的数据以保护数据。在这种情况下,当控制返回到第二安全处理程序时,区域解密程序解密存储区域 中的加密数据以恢复原始数据。(6)可以为每个执行应被保护的程序的设备分配唯一的主密钥。在这种情况下,即 使未授权的用户窃取了一个设备的主密钥并试图使用该主密钥去攻击其它设备,该未授权 的用户也不能正确地操作其它设备。这最小化了由未授权行为导致的破坏。(7)上述实施例描述了第一安全处理程序和第二安全处理程序都分别包含认证密 钥的例子。可选择地,可以基于程序密钥或篡改检测值来计算认证密钥。而且,认证机构设备可以使用主密钥加密认证密钥。在这种情况下,可以基于认证 密钥计算用于解密加密的程序的程序密钥。当用于认证的密钥和用于解密加密的程序的密钥因此具有依赖关系时,任何密钥 都可以被加密。此外,可以使用更多的密钥来进行多级加密,例如,通过使用另一个密钥加 密已加密的密钥。(8)本发明还应用于上述方法。该方法可以通过由计算机执行的计算机程序来实 现。这种计算机程序可以作为数字信号来分发。本发明可以通过其上记录有上述计算机程序或数字信号的计算机可读存储介质 来实现,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD或半导体存储器。相反地, 本发明也可以通过记录在这种存储介质上的计算机程序或数字信号来实现。也可以通过网络(例如,电子通信网络、有线或无线通信网络、或因特网)来传送 实现本发明的计算机程序或数字信号。也可以通过包含微处理器和存储器的计算机系统来实现本发明。在这种情况下, 计算机程序可以被存储在存储器中,微处理器根据该计算机程序运行。可以通过分发其上记录有计算机程序或数字信号的存储介质,或者通过经由网络 传送计算机程序或数字信号,从而将计算机程序或数字信号提供给独立的计算机系统。然 后,独立的计算机系统可以执行计算机程序或数字信号以用作本发明。(8)可以自由地组合上述实施例和变形。工业适用性可以将本发明反复地以及连续地用于提供软件(例如计算机程序和电影、音乐的 数字内容等等)的软件行业。而且,可以在电子产品等的制造行业中制造并销售本发明。
权利要求
一种程序执行设备,其执行(i)判断另一程序是否被篡改的第一程序和(ii)与所述第一程序不同的第二程序,所述程序执行设备包括执行单元,用于执行所述第一程序和第二程序;以及断开单元,用于当所述第一程序判断所述第二程序已经被篡改时将所述执行单元从外部设备断开,其中在所述执行单元被所述断开单元从所述外部设备断开后,所述第一程序对所述第二程序执行篡改检测处理,以及当作为篡改检测处理的结果没有检测到篡改时执行所述第二程序的一部分。
2.如权利要求1所述的程序执行设备,进一步包括存储单元,用于存储通过对执行所述第二程序的所述一部分所必须的信息进行加密而 获得的加密信息,其中所述第一程序(i)只有在作为篡改检测处理的结果没有检测到所述第二程序的篡改 时才解密所述加密信息,以及(ii)将被解密的信息输出给所述第二程序。
3.如权利要求2所述的程序执行设备, 所述第二程序的所述一部分被加密,执行所述第二程序的所述一部分所必须的信息是用于对已经被加密的所述第二程序 的所述一部分进行解密的程序密钥,所述加密信息是通过对所述程序密钥进行加密而产生的加密的密钥, 所述第一程序(i)只有在作为篡改检测处理的结果没有检测到所述第二程序的篡改 时才解密所述加密的密钥,以及(ii)将被解密的所述程序密钥输出给所述第二程序,以及 所述第二程序(i)只有在作为篡改检测处理的结果没有检测到所述第二程序的篡改 时才使用所述程序密钥解密所述第二程序的所述一部分,以及(ii)执行已经被解密的所 述第二程序的所述一部分。
4.如权利要求3所述的程序执行设备,所述加密的密钥对于所述程序执行设备是唯一的。
5.如权利要求4所述的程序执行设备,其中,当完成对所述第二程序的所述一部分的解密时,所述第二程序删除所述程序密钥。
6.如权利要求5所述的程序执行设备,其中中断控制单元,用于在是否允许所述执行单元对程序的中断执行之间进行切换,其中 所述第二程序(i)在请求所述第一程序对所述加密的密钥进行解密之前指示所述中 断控制单元禁止中断,以及(ii)在删除所述程序密钥后指示所述中断控制单元允许中断。
7.如权利要求1所述的程序执行设备,进一步包括调试器接口,用于连接外部调试设备与所述程序执行设备,其中 所述断开单元通过禁止所述调试器接口来从所述外部设备断开所述执行单元。
8.一种计算机可读记录介质,存储有用于程序执行设备的计算机程序,所述程序执行 设备执行(i)判断另一程序是否被篡改的第一程序和(ii)与所述第一程序不同的第二程 序,所述程序执行设备包括用于执行所述第一程序和第二程序的执行单元;所述计算机程 序包括在所述执行单元执行所述第一程序时,保护用于运行所述第一程序的存储器免于从外部看到;当所述第一程序判断所述第二程序已经被篡改时从外部设备断开所述执行单元;在所述执行单元通过所述断开从所述外部设备断开后执行对所述第二程序的篡改检 测处理;以及仅当作为篡改检测处理的结果没有检测到篡改时,执行所述第二程序的一部分。
9.一种用于程序执行设备的程序执行方法,所述程序执行设备执行(i)判断另一程序 是否被篡改的第一程序和(ii)与所述第一程序不同的第二程序,所述程序执行设备包括 用于执行所述第一程序和第二程序的执行单元;所述程序执行方法包括在所述执行单元执行所述第一程序时,保护用于运行所述第一程序的存储器免于从外 部看到;当所述第一程序判断所述第二程序已经被篡改时从外部设备断开所述执行单元;在所述执行单元通过所述断开从所述外部设备断开后执行对所述第二程序的篡改检 测处理;以及仅当作为篡改检测处理的结果没有检测到篡改时,执行所述第二程序的一部分。
10.一种信息处理设备,包括存储单元,存储包括用于检测篡改的一个或多个程序指令的第一组程序指令,以及第 二组程序指令;以及控制单元,用于(i)通过使用受保护的存储器执行所述第一组程序指令中的一个或多 个程序指令,判断所述第二组程序指令的至少一部分是否被篡改,所述受保护的存储器被 保护成外部设备不能看到所述存储器的内容,以及(ii)在判断为否的情况下执行所述第 二组程序指令中的一个或多个程序指令。
11.如权利要求10的信息处理设备,进一步包括密钥存储单元,用于存储(i)仅由执行所述第一组程序指令中的一个或多个程序指令 允许访问的第一密钥;以及(ii)已使用所述第一密钥加密的第二密钥。
12.如权利要求11的信息处理设备,其中所述第一密钥对所述信息处理设备是唯一的。
13.如权利要求10的信息处理设备,进一步包括接口,用于将所述控制单元连接到所述外部设备;以及断开单元,用于将所述控制单元与所述接口断开,其中所述第一组程序指令包括通过使所述断开单元将所述控制单元与所述接口断开而将 所述控制单元从所述外部设备断开的一个或多个程序指令。
14.如权利要求10的信息处理设备,其中由所述控制单元执行的所述第一组程序指令中的所述一个或多个程序指令通过如下 方式判断所述第二组程序指令的所述至少一部分是否被篡改(i)计算所述第二组程序指 令的所述至少一部分的散列值,以及(ii)将所计算的散列值与篡改检测值进行比较,其中 所述篡改检测值是针对所述第二组程序指令的所述至少一部分预计算的散列值。
15.如权利要求10的信息处理设备,其中所述信息处理设备运行在多种操作模式之一;以及(i)当所述第一组程序指令中的一个或多个程序指令要执行时,所述控制单元将所述3信息处理设备的操作模式改变到第一模式,在所述第一模式下所述存储器中的内容受到保 护,不能被所述外部设备看到;以及(ii)当所述第二组程序指令中的一个或多个程序指令 要执行时,所述控制单元将所述信息处理设备的操作模式改变到第二模式,在所述第二模 式下所述存储器中的内容不受保护可被所述外部设备看到。
16.如权利要求10的信息处理设备,其中所述第一组程序指令包括用于管理解密经过加密的数字内容所使用的密钥的一个或 多个其它程序指令。
17.如权利要求10的信息处理设备,其中所述第二组程序指令包括利用解密密钥解密经过加密的数字内容的一个或多个其它 程序指令。
18.—种记录在记录介质上并由信息处理设备使用的程序,所述信息处理设备存储包括用于检测篡改的一个或多个程序指令的第一组程序指令 以及第二组程序指令;以及所述程序使所述信息处理设备执行如下步骤通过使用受保护的存储器执行所述第一组程序指令中的一个或多个程序指令,判断所 述第二组程序指令的至少一部分是否被篡改,所述受保护的存储器被保护成外部设备不能 看到所述存储器的内容;以及在判断为否的情况下执行所述第二组程序指令中的一个或多个程序指令。
19.一种用于信息处理设备的方法,所述信息处理设备存储包括用于检测篡改的一个或多个程序指令的第一组程序指令 以及第二组程序指令;以及所述方法包括如下步骤通过使用受保护的存储器执行所述第一组程序指令中的一个或多个程序指令,判断所 述第二组程序指令的至少一部分是否被篡改,所述受保护的存储器被保护成外部设备不能 看到所述存储器的内容;以及在判断为否的情况下执行所述第二组程序指令中的一个或多个程序指令。
全文摘要
提出了一种程序执行设备,该程序执行设备能够防止程序被未授权地分析或更改。该程序执行设备包括执行单元、第一保护单元和第二保护单元。执行单元执行第一程序和第二程序,并且与能够控制执行的外部设备相连接。当执行单元执行第一程序时,第一保护单元将执行单元从外部设备断开。当执行单元执行第二程序时,第二保护单元保护第一程序。
文档编号G06F21/00GK101853352SQ201010116310
公开日2010年10月6日 申请日期2004年8月26日 优先权日2003年8月26日
发明者原田俊治, 广田照人, 庄田幸惠, 松岛秀树 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1