保护处理器体系结构上的接口的制作方法

文档序号:6456478阅读:181来源:国知局
专利名称:保护处理器体系结构上的接口的制作方法
技术领域
本发明涉及一种用于验证装置中软件的可信赖性的方法、装置和计算
才;i^呈序产 品。
背景技术
普通移动电话是围绕既含有通用处理组件又含有包含大的GSM/3G堆 栈部分的组件的单个处理器核心而设计的。
其它既有接口假定连接到能量管理、SIM接口、无线电模块等。这些 附加的核心通过i/o地址、共享存储器等被映射到执行环境,以便与像用于 发^/终止呼叫、接收SMS等的电话软件(SW)相连。
开源(open source)(许可)模型是用于软件的术语,尤为明显的是 在一些Unix变体如Linux或BSD中,以及在很多常用应用库和SW堆栈中。 举例来i兌,开源SW可以用于电话SW。
很多开源许可(open source licenses)要求在该平台上构造的任何设 备的源代码应当按需可用。
因而,如果通过许可而在上述单个处理器核心上应用开源操作系统 (OS),则有可能OS源代码(其可能包括驱动)必须祐/^开。另外,也 许大众将可以修改和改进SW平台,并且替换设备上的OS。此外,因为这 些体系结构的通用性,所以众多调试和检验工具是可用的,由此,技术熟
练的用户可以监控OS如何控制设备/与设备通信,甚至"逆向工程"经常 关闭进程中的二进制堆栈。
这些调试和检验工具适于暴露处理器核心的既有接口。大多数接口没 有安全性,并且可能暴露相当关键并且低级别的应用编程接口 。这引入了以下风险误用那些接口不仅可能造成对电话本身的伤害, 而且还(例如通过增加的辐射)有害于网络和用户。
此外,对接口的使用还是一种在授权情况下的许可颁发,以便在许可 带上操作,HW和SW都被包括在许可过程中。
因而,这些接口需要被保护免受黑客的有害使用,但是还必须确定仅 是有权利的(被许可的)SW堆栈可以用于操作这些接口。

发明内容
鉴于上述问题,其中,本发明的目的是提供一种用于保护装置的接口 免受黑客的有害使用的方法、计算机程序、计算机程序产品、设备、系统 和协议。
公开了一种方法,其包括验证装置中软件的可信赖性,以及当所述 软件不可信赖时,将所述装置中的硬件信号切换到笫一状态。
根据本发明,^了所述装置中软件(其例如可以由用户借助于用户 接口而加栽到所述装置中)的可信赖性。软件的可信赖性可以例如意味着 所述装置中的软件对应于由所述装置的制造商所证明的软件,从而使得当 所述装置包括不同于经证明的软件的软件(例如在所述装置中由黑客上 传)时,可以不给予可信赖性。
该mt可以通过以下来实现测量所述软件的至少一个指紋,以及将 所述至少 一个所测量的指紋与至少 一个基准完整性指紋相比较,其中所述 至少 一个基准完整性指紋可以对应于经证明的软件,并且其中所述至少一 个基准完整性指紋可以被存储在所述装置中的非易失性存储器中。例如, 所述验证可以使用符合或基于可信计算(TCG)标准的算法和/或技术,但 也可以使用其它發伍算法。
例如,所述装置可以包括用于实现可信赖性验汪的处理组件,其可以 被称为可信计算組件。例如,所述处理组件可以^使用符合或基于可信计算 组(TCG)标准的才支术,但是它还可以使用其它验证技术。所述处理组件可以是硬件处理单元,并且所述硬件处理组件或至少部分所述硬件处理组 件可以是受保护的。
所述软件可以是在所述装置中使用的任何软件,如用于操作系统的软
件、BIOS软件、固件软件、任何种类的驱动软件和其它种类的软件。因而, 对所述装置的所述验证可以允许!Hi所述装置的系统的可信赖性。
当所述软件被發江并且被确定为不可信赖时,硬件信号被切换到第一 状态。此外,如果所述软件被确定为可信赖,则所述硬件信号可以纟皮切换 到第二状态,或者所述硬件信号可以不被改变并且保持其状态。此外,例 如,如果确定没有给予软件的可信赖性,那么所述硬件信号可以被切换到 第一状态,直到所述装置被重置。
所述硬件信号可以是在所述装置中的至少 一个硬件信号线路上的信 号,其中所述至少 一个硬件信号线路可以被连接到用于实现可信赖性^ 的处理组件。所述至少一个硬件信号线路可以在所述装置中被布线,并且 除了用于实现可信赖性的处理组件之外,所述装置没有其它组件可以改变 在所述至少 一个硬件信号线路上的所述硬件信号。由于所确定的可信赖性 信息4皮4^供到所述硬件信号,因此所确定的可信赖性信息可以从所述装置 的操作系统中解耦,从而使得黑客无法通过使用软件来破坏该硬件信号。 因而,该硬件信号表示关于所述装置上软件的可信赖性的可靠信息,因为 所确定的可信赖性信息可以从所述装置的操作系统中解耦而被传输。根据 本发明的使用硬件信号的该解决方案避免了所确定的可信赖性信息可以 经由软件(例如,如果通过使用协议,经由所述装置的内部总线来传输所 确定的可信赖性信息,则其可以用于破坏所确定的可信赖信息)而被破坏。 因而,所述硬件信号可以表示通过所述装置的操作系统的软件无法影响的 信号。因此,所述硬件信号在保护免受软件攻击方面非常有效。在發汪了 可信赖性之后,所确定的可信赖性信息(如所述^更件信号的第一状态)可 以仅通过硬件攻击来篡改,而无法借助于软件来篡改。
所述装置可以表示可包括通用处理组件(例如,数字信号处理器)的 处理器核心,并且其可以由操作系统操作,并且其中所述装置能够例如通过使用用户接口来加载软件,其中所述软件可以被力口载到通用处理组件或 存储器组件中,并且其中所述软件可以用于替换所述装置的操作系统。所 述装置可以包括用于将处理器核心连接到外部电子模块的至少一个接口, 例如用于将所述装置连接到网络的接口。因而,当所述硬件信号处于第一 状态时,所述硬件信号可以用于禁用所述至少一个接口中的至少一个,从 而使得当没有给予软件的可信赖性时,所述处理器核心可以从所述至少一 个外部电子模块中的至少一个断开连接。此外,当硬件信号处于第一状态 时,可以借助于所述硬件信号来禁用所述处理器核心的一个或多个处理组 件。
所述软件的可信赖性的所述验证可以被应用于验证所述处理器核心 的操作系统的软件的可信赖性,并且因而可以B所述操作系统的可信赖 性。
例如,所述处理器核心可以是单片处理器核心,并且所述硬件信号可 以经由该单片内的至少一个硬件信号线路而被传输到至少一个处理组件 和/或至少一个接口。例如,所述至少一个硬件信号线路可以在处理器硅中 被布线,并且因而最小化篡改所述硬件信号的风险。
例如,所述处理器核心可以表示用于无线i殳备H象移动电话或WLAN 或Bliietootl^设备,或者任何其它无线设备)的处理器核心,其中所述处 理器核心可以包括通用处理组件和用于无线系统的专门操作的处理组件, 例如,像GSM/3G核心这样的用于GSM和/或3G功能/处理的处理组件。当 所述石更件信号处于第一状态时,所述硬件信号可以用于禁用用于无线系统 的专门操作的所述处理组件,因而,在没有给予所述软件的可信赖性的情 况下,可以禁用所述处理器核心的无线功能,这也4吏得降4氐了所述处理器 核心的功率消耗。
此外,当所述石更件信号处于第一状态时,可以禁用所述处理器核心的 接口中的至少一个,如用于将所述处理器核心连接到高频无线电模块的无 线电接口。因而,在确定所述处理器核心中的软件不可信赖的情况下,防
ii止了对所述无线电接口的误用,并且对网络和对用户来说,防止了无线设 备本身(例如,通过增加的辐射)的伤害。
根据本发明,可以确定仅是有权利的(许可的)软件可以用于操作所 述装置。
根据本发明的实施例,所述装置包括至少一个处理组件,其中所述方
法包括当所述石更件信号处于第一状态时,禁用所述至少一个处理组件中 的至少一个。
例如,所述至少 一个处理组件中的所述至少 一个可以是用于计算将所 述装置互连到网络的信号的处理组件,其中所述处理组件可以例如是无线 电核心(在所述装置表示用于无线系统的处理器核心的情况下)。因而, 在确定所述处理器核心中的软件不可信赖的情况下,可以防止对所述网络 的误用。
根据本发明的实施例,所述装置包括至少一个接口,其中所述方法包 括当所述石更件信号处于第一状态时,禁用所述至少一个接口中的至少一 个。
因而,在没有给予软件的可信赖性的情况下,所述至少一个接口被禁 用。所述至少一个接口中的至少一个可以是用于将所述装置连接到网络的 接口,例如,像GSM或UMTS网络的无线电网络。因此,在被破坏的软件 (其可以是被黑M坏的所述装置的操作系统的软件组件)的情况下,所 述硬件信号禁用所述至少一个接口 ,从而使得所述装置从所述网络断开连 接,并且可以避免网络的破坏。例如,在所述装置是用于无线系统的处理 器核心的情况下,所述至少一个接口中的至少一个可以是用于将所述处理 器核心连接到高频无线电模块的无线电接口。此外,可以防止(例如,由 于增加的辐射)对用户本身的伤害。
根据本发明的实施例,所述方法包括提取所述软件的至少一个数字 指紋,以及将所述至少一个数字指紋中的至少一个与用于验证所述软件的 可信赖性的至少 一个基准完整性指紋相比较。所述至少一个基准完整性指紋可以表示经证明的软件和/或经证明的 软件的组件的至少一个指紋。因而,如果所述至少一个所提取的数字指紋
中的所述至少一个对应于基准完整性指紋,那么可以假定对应于所述至 少一个所提取的数字指紋中的所述至少一个的软件/软件组件无论如何都 没有被破坏,因为可以假定其与经证明的软件/软件组件相同。
所述至少一个基准完整性指紋可以被存储在所述装置的存储器组件 中,其中所述存储器组件可以是受保护的,例如免受黑客攻击,并且其中 所述存储器组件可以表示非易失性存储器。
通过密码散列函数可以生成所述至少一个数字指紋,其中所述散列函 数计算软件或软件的组件的散列值。例如,所述密码散列函数可以表示具
有特定附加安全特性的散列函数,以使其适于用作各种信息安全应用(例 如认证和消息完整性)中的基元(primitive)。散列函数可以采用任何长 度的长串(或消息)作为输入,并且产生固定长度的串作为可以对应于数 字指紋的输出。所述密码散列函数应当使得能够有良好的碰撞抵抗性 (collision resistance),从而4吏得应当难以找到两个不同的消息ml和m2 来让所散列的值hash(ml)和hash(m2)相等。
因而,所提取的数字指紋可以表示所提取的散列值,并且基准完整性 指紋可以表示已经利用经证明的软件/软件组件的相同的散列函数而计算 的散列值。散列函数的基本特性是如果(根据相同函数的)两个散列值 不同,那么两个输入在某些方面不同。
根据本发明的实施例,所述装置包括可信平台模块,所述可信平台模 块包括寄存器组和散列函数,并且所述方法包括散列所述软件的至少一 个基准度量,将所述至少一个度量扩展到所述寄存器组的至少一个寄存器 中,以及将所述至少一个寄存器中的至少一个的内容与用于验证所述软件 的可信赖性的至少 一个基准完整性度量证书相比较。
所述至少一个基准完整性度量证书可以表示从经证明的软件和/或经 证明的软件的组件散列得到的至少一个基准完整性度量,其中所述散列函 数对应于由所述可信平台模块用于散列所述至少一个基准度量的散列函
13数。例如,所述基准完整性度量证书可以由制造商签署,并且它们可以绑
定于用于新鲜度(freshness)的计数器。
例如,所述可信平台模块(TPM)可以遵守可信计算组的移动TPM规 范,并且所述可信平台模块可以表示TPM核心,其中所述TPM核心可以是 受保护的核心。
所述寄存器组可以通过至少一个平台配置寄存器(PCR)来表示,其 中所述至少一个PCR可以被配置以便保持关于平台特征(即,所述装置的 特征)的信息,其中所述平台特征可以是所述装置的不同组件的软件的散 列,像BIOS、固件、操作系统、驱动等。
所述被散列的至少一个基准度量可以对应于在前面的实施例中提及 的所述至少一个数字指紋。例如,当新软件组件祐J^栽到所述装置中时, 所述软件组件的基准度量被散列,并且所述基准度量被扩展到所述PCR组 的第一PCR中。该扩展可以包括将基准度量与所述PCR组的PCR的内容 连接,以及计算所述被连接的基准度量和PCR内容的散列值,并且将该散 列的连接值存储在所述PCR组的第一PCR中。然后,所述第一PCR的内容 可以与至少一个基准完整性度量证书相比较,以^更验证所述软件组件的可 信赖性。即,存储在第一PCR中的被扩展的基准度量与至少一个基准完整 性证书相比较。举例来说,该验证在执行所加载的软件组件之前进行,从 而使得所加载的软件组件仅当所述软件组件的可信赖性被确定时才被执 行。
可信平台模块可以包括微控制器,以便实现散列、扩展和!Hit操作。 此外,所述微控制器可以被连接到至少一个硬件信号线路,其中所述微控 制器生成硬件信号,并且将其应用于所述至少一个硬件信号线路。可选地, 与所述硬件信号相关联的所述至少 一个硬件信号线路可以被连接到所述 PCR组的PCR,其中所述PCR的内容可以对应于在所述至少一个硬件信号 线路上的硬件信号的状态,从而使得当没有给予可信赖性时,所述PCR被 设置成第一状态,例如由最低有效位来指示,或者当给予可信赖性时,所 述PCR可以祐i殳置成另一状态,如第二状态。用于测量的核心可信根(CRTM , Core Root of Trust for Measurement)可以根据TPM规范来建立,以便提供安全测量功能。该 CRTM可以使TPM核心中的可信根( trust root)依赖于制造商,并且它可 以,皮视为可信的最终才艮(ultimate root)。例如,当所述装置被重置时, CRTM可以通过以下方式来测量所述装置中的所有可执4亍固件测量所述 可执行固件的软件的散列值(即,第一基准度量),以及将该基准度量存 储在所述PCR组的第一PCR中。然后,该基准度量可以与基准完整性度量 证书相比较,以便验证所述可执行固件的所述软件的可信赖性,并且仅当 确定了可信赖性时,所述可执行固件才被执行,以便启动引导过程。所述 第一PCR的内容可以通过与另外的软件组件的另外测量的基准度量相连 接而被扩展到所述PCR组中的另外的PCR,以便^所述另外的软件组件 的可信赖性。如果没有确定可信赖性,那么所述石更件信号4皮切换到第一状 态。
根据本发明的实施例,所述寄存器组中的另外的寄存器仅可以通过基 准完整性度量证书来更新,其中所述另外的寄存器的至少一个位(bit)被 布线到至少一个硬件信号线路,其中所述至少一个硬件信号线路传输所述 硬件信号,并且其中所述方法进一步包括在验证所述软件的可信赖性之 前,将所述另外的寄存器设置成第一值,所述第一值将所述至少一个硬件 信号线路上的硬件信号切换到第一状态中;以及在所述至少一个寄存器的 所述至少一个中的所述至少一个的内容与用于验证可信赖性的至少一个 基准完整性度量证书的所述比较的结果是成功的情况下,通过所述基准完 整性度量证书将所述另外的寄存器更新成第二值,其中所述第二值将所述 至少一个硬件信号上的硬件信号切换到指示所述软件的可信赖性的第二 状态中。
所述另外的寄存器不同于含有所述至少一个扩展的基准度量的所述 至少一个寄存器。此外,所述另外的寄存器适于被锁定,从而使得其仅可 以通过所述基准完整性度量证书来更新。例如,所述另外的寄存器^PCR 寄存器,并且所述锁定功能可以通过TPM特征来提供。所述基准完整性度量不仅可以含有用于检查在所述至少一个寄存器 的至少一个中的所述至少一个扩展的基准度量的至少一个的有效性的基 准值,它还可以含有位置来用于可被设置到给定寄存器(例如,所述另外 的寄存器)中的值。仅当所述基准完整性度量与所测量的基准度量相比的 完整性验证成功时(例如,通过将所述基准完整性度量与所述至少一个寄 存器中的所述至少一个扩展的基准度量的至少一个相比较),在所述基准 完整性度量中的所述值才被设置到所述给定寄存器中。因此,所述基准完整性度量可以含有在所述位置中的所述第二值,从 而使得当通过由所述基准完整性度量来检查所述至少寄存器中的所述至 少 一个扩展的基准度量而检测到可信赖性时,所述第二值于是被更新到所 述另外的寄存器中,从而使得所述另外的寄存器将硬件信号切换到所述第 二状态中。否则,即,当没有给予可信赖性时,所述另外的寄存器于是将 保持所述第一值,其保持将硬件信号切换在第一状态中。例如,在引导序列期间,所测量的基准度量被扩展到所述至少一个寄 存器中,以及之后,通过所述基准完整性度量验证了所述扩展的基准度量 是否指示可信赖性,并且在给予可信赖性的情况下,所述基准完整性度量 于是将所述第二值更新到所述另外的寄存器中,以便将硬件信号切换到第 二状态中。例如,所述至少一个硬件信号线路被布线到所述另外的寄存器的最低 位,其中所述第一值是偶数值并且所述第二值是奇数值。因而,如果通过在所述位置中含有第二值(即,奇数值)的所述基准 完整性度量检测到可信赖性,那么所述另外的寄存器在最低位被设置成l , 并且在所述至少一个硬件信号线路上的硬件信号相应地4皮设置成值1 ,其 中在所述至少一个硬件信号线路上的所述值l对应于所述石更件信号的所述 第二状态。由于所述第一值是偶数,因此在验证可信赖性之前,所述另外的寄存器的最低位被设置成值o对应于所述硬件信号的第一状态,从而使 得当没有给予可信赖性时,所述另外的寄存器和所述硬件信号保持值o。根据本发明的实施例,在所述装置的引导序列期间验证所述可信赖性。例如,所述装置的所述引导序列可以包括相继地加载和执行若干软件组件,如固件、BIOS、操作系统加载器以及操作系统和其它组件。因而,当开始引导序列时,發汪所述若干软件组件(例如,固件)的 第 一软件组件的可信赖性,并且仅当确定了所述第 一软件组件的可信赖性 时,才执行第一软件组件,否则,将所述硬件信号切换到第一状态中,以 便指示没有给予软件的可信赖性。如果确定了所述第一软件组件的可信赖 性,那么在所述第一软件组件的执行之后,验证所述引导序列的下一软件 组件的可信赖性,从而使得每个软件组件在执行之前被验证。任何上述验证方法都可以应用于在引导序列期间实现该可信赖性验证。例如,包括平台配置寄存器(PCR)组的所述可信平台模块可以被应 用于通过下列方式来实现上述验证散列引导序列的所述若干软件组件中 的软件组件的基准完整性度量,将其扩展到所述PCR组的PCR,以及通过 将所述PCR的内容与至少一个基准完整性度量证书相比较来验证可信赖 性。例如,在开始对引导软件的验证之前,初始化PCR组中的任何PCR, 并且将硬件信号切换到第 一状态。例如,如上所述,CRTM可以测量引导序列的所述若干软件组件的第 一软件组件,其中通过测量所述第一软件组件的软件的散列值(即,第一 基准度量)并且将该基准度量存储在所述PCR组的第一PCR中,所述第一 软件组件可以对应于在所述装置中的固件。然后,将第一PCR中的该基准 度量与至少一个基准完整性度量证书相比较,以^更验证第一软件组件的可 信赖性,并且仅当确定了第一组件是可信赖的时,才执行所述第一软件组 件,以便启动引导序列,否则,将硬件信号切换到第一状态中,并且可以 停止引导过程。然后,如果给予了第一软件组件的可信赖性,则从引导序 列的相继(successive)软件组件来散列第二基准度量,并且将第二基准度17量与第一PCR的内斜目连接,并且在所述PCR组的第二PCR中扩展该连接 的散列值,以便發汪第二软件组件的可信赖性。在该迭代方式中,可以验 证引导序列的软件组件的可信赖性,其中从引导序列的下一软件组件来散 列基准度量,将该基准度量与对应于前面的软件组件的PCR的内容相连 接,并且在所述PCR组中的下一PCR中对其进行扩展,以便餘可信赖性。 如果引导序列正确,即,如果验证了引导序列的最后的软件组件的被扩展 的基准度量(其取决于所有前面的PCR的内容)是正确的,那么可以将硬 件信号切换到第二状态中,以便指示引导序列的软件的可信赖性。例如,至少一个硬件信号线路可以被布线到所述PCR组的PCR,并且 当mt了引导序列可信赖时,所述PCR被设置成预置值,例如被设置成值 1,从而使得在所述至少一个硬件信号线路上具有值l的信号对应于在第二 状态中的硬件信号,并且例如通过使用基准完整性度量证书(其含有位置 用于如上所解释的可被设置到所述PCR中的值)来指示引导软件的可信赖 性。如果没有给予可信赖性,那么所述PCR的内容是O,并且其对应于硬 件信号的第一状态。可选地,可信平台模块的微计算机可以连接到所述至少一个硬件信号 线路,并且当给予了引导序列的软件的可信赖性时,可以将所述至少一个 硬件信号线路上的信号切换到对应于第二状态(其指示引导软件是可信赖 的)的所述预置值,否则,所述微计算机可以将所述至少一个硬件信号线 路上的信号切换到对应于所述硬件信号的第一状态的另一预置值。例如,所述至少 一个硬件信号线路被连接到所述装置的至少 一个接 口,和/或#皮连接到所述装置的至少一个处理单元。然后,如上所述,在所 述至少一个硬件信号线路上的硬件信号可以用于控制至少一个接口和/或 控制至少一个所述处理单元,从而使得在引导的开始处,可以根据在所述 至少一个硬件信号线路上的硬件信号的笫一状态来禁用所述至少一个接 口和/或所述至少一个处理单元,并且当石更件信号切换到第二状态时,可以 启用所述至少 一个接口和/或所述至少 一个处理单元。根据本发明的实施例,在所述装置的运行时操作期间验证所述可信赖性。任何上述验证方法都可以被应用于在所述装置的运行时操作期间实现该可信赖性^i。例如,在让用户将软件加载到装置中之前,将所述硬件信号切换到第 一状态中,从而使得禁用例如所述装置的至少一个接口和/或所述装置的至 少一个处理组件,并且然后加载所述软件和^软件的可信赖性。如果所 述软件可信赖,那么将所述硬件信号切换到第二状态中以指示所述软件的 可信赖性,从而使得例如启用所述装置的所述至少一个接口和/或所述装置 的所述至少 一个处理组件。例如,如果确定了没有给予软件的可信赖性,那么硬件信号可以切换 到第 一状态中直到所述装置净皮重置。此外,在运行时操作期间可以重复进行所述可信赖性發汪。根据本发明的实施例,在验证所述软件的可信赖性之前,所述硬件信 号被切换到第二状态中,其中在不重启所述装置的情况下,所述硬件信号 无法从所述第一状态切换到不同的状态中。所述第二状态可以指示给予了软件的可信赖性。因而,在确定了软件不可信赖并且所述硬件信号从所述第二状态切换 到所述第一状态的情况下,不可能将硬件信号切换回用于指示软件可信赖 的第二状态中。如果确定软件不可信赖,那么所述硬件信号将保持所述第 一状态直到关闭所述装置。这允许在已经确定软件不可信赖之后篡改硬件 信号。根据本发明的实施例,所述硬件信号经由至少一个硬件信号线路传 输,并且其中所述硬件信号通过单向开关来切换,其中在不重启所述装置 的情况下,所述单向开关无法将石更件信号从所述第 一状态切换到不同的状 态中。所述单向开关可以连接到用于实现可信赖性验汪的所述处理组件,其 中所述处理组件可以由所述TPM模块表示。例如,当接通所述装置时,单向开关将所述至少一个硬件信号线路上的硬件信号切换到所述第二状态 中。然后,如果确定软件不可信赖,则单向开关将硬件信号切换到第一状 态中。由于所述单向开关无法将石更件信号切换回第二状态中,因此,所述 石更件信号将永久指示没有给予可信赖性并且无法,皮墓改。当具有如上所述的安全引导序列时,这允许使得用于实现可信赖性验 证的处理组件的所有接口保持公开和开放,因为硬件信号无法从所述第一 状态切换回第二状态中。根据本发明的实施例,所述装置是单片处理器核心,并且所述硬件信 号经由在所述单片处理器核心内部布线的至少一个硬件信号线路来传输。所述至少一个硬件信号线路可以在允许非常有效地防止篡改所述硬 件信号线路和硬件信号的芯片硅中布线。根据本发明的实施例,所述单片处理器核心是用于移动电话的处理器 核心。所述至少一个硬件信号线路可以在允许非常有效地防止篡改所述硬 件信号线路和硬件信号的芯片硅中布线。例如,所述单片处理器核心可以包括通用处理组件和用于无线系统的专门操作的处理组件,例如,像用于GSM和/或3G功能/处理的处理组件, 如GSM/3G核心。此外,所述单片处理器核心可以包括至少一个存储器以 加载软件,其中所述软件还可以被加载到通用处理组件中。此外,所述单 片处理器核心可以包括用于lHiE软件的可信赖性的可信平台模块,如在本 发明的上述实施例中所解释的。当硬件信号处于第 一状态中时,所述硬件信号可以用于禁用用于GSM 和/或3G功能的所述处理组件。此外,所述单片处理器核心可以包括用于将处理器核心连接到射频模 块的无线电接口。例如,所述硬件信号可以^L^馈到该无线电接口,用于 当硬件信号处于第一状态中时禁用所述无线电接口 。因而,当确定所述单片处理器中的软件不可信赖时,所述硬件信号可 以禁用用于GSM和/或3G功能的处理组件,和/或可以禁用所述无线电接口,从而使得可以确定仅是有权利的(被许可的)软件才可以用于操作处理器核心的所述无线电接口和/或用于GSM和/或3G功能的处理组件。因 而,防止了误用无线电接口,并且防止了电话本身例如通过增加的辐射而 对网络以及对用户的伤害。此外,所述禁用可以使得降低移动电话的功率 消耗。此外,还公开了一种装置,其中所述装置包括被配置以便存储软件 的存储器;净皮配置以<更^£软件的可信赖性的第一处理组件;连接到所述 第一处理组件的至少一个石更件信号线路,并且其中,当所述软件不可信赖 时,所述第一处理组件能够将所述至少一个硬件信号线路上的信号切换到 第一状态中。所述至少一个硬件信号线路上的所述信号对应于上述硬件信号。此 外,关于所述方法及其实施例的上述解释对于所公开的装置及其以下实施 例也是成立的。根据本发明的实施例,所述装置包括至少一个另外的处理组件,并且 所述至少一个硬件信号线路中的至少一个连接到所述至少一个另外的处 理组件中的至少一个,并且在第一状态中,所述至少一个硬件信号线路上 的所述信号禁用了所述至少一个处理组件中的所述至少一个。根据本发明的实施例,所述装置包括至少一个接口,并且所述至少一 个硬件信号线路中的至少一个连接到所述至少一个接口中的至少一个,并 且在第一状态中,所述至少一个硬件信号线路上的所述信号禁用了所述至 少一个接口中的所述至少一个。根据本发明的实施例,所述第一处理组件被配置以便提取所述软件 的至少一个数字指紋,以及将所述至少一个数字指紋中的至少一个与用于 验汪所述软件的可信赖性的至少 一个基准完整性指紋相比较。根据本发明的实施例,所述第 一处理组件是包括寄存器组和散列函数 的可信平台模块,其中所述可信平台模块被配置以便散列所述软件的至 少 一个基准度量,以及将所述至少 一个基准度量扩展到所述寄存器组的至少一个寄存器中,并且将所述至少一个寄存器中的至少一个的内容与用于 验证所述软件的可信赖性的至少 一个基准完整性度量证书相比较。
根据本发明的实施例,所述第一处理组件被配置以便在所述装置的引 导序列期间验证可信赖性。
根据本发明的实施例,所述第一处理组件被配置以便在所述装置的运 行时操作期间發汪可信赖性。
根据本发明的实施例,所述装置是单片处理器核心,并且所述至少一 个硬件信号线路在该处理器内部布线。
根据本发明的实施例,所述装置是用于移动设备的单片处理器核心。
根据本发明的实施例,所述装置是用于移动设备的单片处理器核心。
此外,还公开了一种电子设备,其包括所7>开的装置。例如,所述电 子设备可以是移动电话。
最后,/^开了一种计算机程序产品,其中程序代码被存储在计算机可 读介质中。该程序代码当由处理器执行时实现了所公开的方法。
所迷计算枳艰序产品可以例如是分离的存#^殳备,其可以例如是受保 护的。此外,所迷分离的存储设备可以被集成在上述可信平台組件中。
根据以下结合附图的详细描述,本发明的其它目的和特征将变得显而 易见。然而,应当理解,附图仅是出于图示的目的而设计的,并且不作为 对本发明的限制的定义,为此应当参照所附的权利要求。进一步应当理解, 附图并未按比例绘制,并且它们仅旨在从概念上图示文中所描述的结构和 过程。


在附图中示出了
图la:才艮据本发明的示例性装置的示意框图; 图lb:包括根据本发明的装置的电子设备的示意框图; 图2a:用于根据本发明的可信计算组件的第一示例性设备; 图2b:用于根据本发明的可信计算组件的第二示例性设备;图2c:用于根据本发明的可信计算組件的第三示例性设备; 图3:图示了根据本发明的第一示例性方法的流程图; 图4:图示了根据本发明的第二示例性方法的流程图;以及 图5:图示了才艮据本发明的第三示例性方法的流程图。
具体实施例方式
图la图示了示例性装置的示意框图,其中该装置表示可用于像移动电 话这样的无线设备的处理器核心100。在下面的描述中,假设该处理器核 心被配置用于GSM和/或3G移动电话,但是所述处理器核心可以:帔用于 任何其它的无线系统,如Bluetooth , WLAN等。
所述处理器核心100包括通用核心110、无线电核心120、可信计算组 件130、至少一个存储器140、至少一个系统总线150,以及一组接口 (包 括SIM接口 195、红外接口 l卯、用于将处理器核心连接到射频模块的无 线电接口 170、音频接口 180和至少一个另外的接口 185)。所述处理器核 心100可以包括另外的组件,如RAM或ROM,或者其它接口、或者至少 一个石英振荡器等。
处理器核心100通过软件来操作,其中所述操作软件可以被存储在存 储器140中或者被存储在通用核心110中的存储器中或者图la中未示出的 处理器核心中的4壬何其它的存储器中。此外,处理器核心100的组件经由 所述至少一个系统总线150连接到一起。当然,这些组件可以通过超过一 个的图示的系统总线150来连接。此外,通用核心可以通过使用协议来控 制系统总线150及其业务。
所述无线电核心120可以包括无线系统的专门功能,如GSM和/或3G 堆栈和/或用于GSM和/或3G系统的数字信号处理。
所述至少一个另外的接口 185可以被用于将软件加载到处理器核心 100,例如用于操作系统的软件、或者用于替换处理器核心中的固件软件的 软件、或者驱动软件或处理器核心中的任何其它软件。这一加载的软件可 以被加载到存储器140中或通用核心110中的存储器中。此外,所述至少一个另外的接口 185可以用于将处理器核心100连接到移动设备的显示器 或键板以及其它组件。
可信计算组件130 (其可以对应于在以上发明内容中所提到的第一处 理组件的示例性实现)被配置以便^Hit存储在处理器核心100的存储器中 的软件的可信赖性,其中所述存储器可以是存储器140、通用核心110中 的存储器,或者在图la中未示出的处理器核心的任何其它存储器。例如, 在处理器核心中任何新加载的软件在执行之前均可以通过可信计算组件 130来验证。在发明内容中所解释的任何方法及其实施例都可以通过可信 计算组件130来实现,以便验证所述软件的可信赖性。在下面的描述中, 将解释用于mt软件的可信赖性的若干示例性方法。至少一个硬件信号线 路162经由连接器161连接到可信计算组件。所述至少一个硬件信号线路 162携带有根据本发明的硬件信号,并且当可信计算组件130确定软件不 可信赖时,可信计算组件130将所述至少一个硬件信号线路162上的所述 硬件信号切换到笫 一状态中。
所述至少一个硬件信号线路162可以经由连接器121连接到无线电核 心120,并且其可以经由连接器171连接到无线电接口 170,从而使得当所 述至少一个硬件信号线路162上的硬件信号被切换到第一状态中时,禁用 无线电核心120和/或无线电接口 170。因而,在没有给予处理器核心中的 软件的可信赖性的情况下(例如,其可以是由于将用于操作系统的黑M 件加载到处理器核心的黑客所造成的),禁用无线电接口 170,以便防止误 用该无线电接口,以及防止电话本身(例如通过增加的辐射)而对网络和 对用户的伤害。这也可以通过禁用无线电核心120来实现。此外,无线电 核心120的禁用导致降低移动电话的功率消耗。
此外,图la中未示出,所述至少一个硬件信号线路162可以连接到处 理器核心100的其它组件/接口 ,以便当所述至少一个硬件信号线路162上 的硬件信号处于第一状态时,禁用这些组件/接口。例如,所述至少一个硬 件信号线路162可以连接到SIM接口 195,以便当可信计算组件130确定 软件不可信赖时,禁用SIM接口195。处理器核心100中布线。只有可信 计算组件130能够经由连接器161来改变在所述至少一个硬件信号线路 162上的硬件信号。由于从可信计算組件130确定的可信赖性信息被提供 到所述至少一个硬件信号线路162上所携带的硬件信号,因此,所确定的 可信赖性信息可以从处理器核心的操作系统解偶,从而使得黑客不可以通 过使用软件来破坏该硬件信号。因而,在所述至少一个硬件信号线路162 上的该硬件信号表示关于所述装置上软件的可信赖性的可靠信息,因为所 确定的可信赖性信息可以从所述装置的操作系统中解耦而被传输。使用根 据本发明的硬件信号的该解决方案避免了所确定的可信赖性信息可经由软 件(例如,当通过使用协议经由系统总线150来传输所确定的可信赖性信 息时,该软件可以用于破坏所确定的可信赖性信息)来破坏。
例如,处理器核心IOO是单处理器核心。对于这种情况来说,所述至 少一个硬件信号线路162可以在单处理器核心中(即在单处理器核心硅中) 布线,以便非常有效地防止对所述至少一个硬件信号线路162的篡改以及 由此对所述至少一个硬件信号线路162上的所述硬件信号的篡改。
图lb图示了包括图la中所示的示例性处理器核心100的设备的示例 性实施例,其中仅示出了该设备的经选择的组件,如连接到处理器核心100 的无线电接口 170的输出/输入172的射频模块174和天线175、连接到音 频接口 180的输出/输入181的音频组件182、连接到红外接口 190的输出/ 输入191的红外组件192,以及连接到SIM卡控制器195的输出/输入196 的SIM卡197。例如,所述i殳备可以是移动电话,其中,其它组件可以连 接到处理器核心100的所述至少一个另外的接口 180的输A/输出181。所 述设备的另外的组件(如显示器、键板等)可以经由连接器186连接到处 理器核心100的所述至少一个接口 185。例如,所述设备可以是移动电话。
根据本发明,当确定处理器核心中的软件不可信赖时,将所述硬件信 号切换到第一状态中,并且然后可以禁用处理器核心的无线电接口 170, 从而使得无线电接口模块174不反馈信号并且天线175不辐射。因而,在 将未证明的软件加载到处理器核心的情况下,可以防止例如通过增加的辐射而对网络和对用户的伤害。
图3图示了用于根据本发明發汪软件的可信赖性的第一示例性方法。 该方法可以通过图la中所示的可信计算组件130来实现,其中所述可信计 算组件130可以通过图2a和2b中所示的可信平台^f莫块200、 210来实现。
根据该第一示例性方法,在步骤310,从处理器核心100中的所述软 件中提取数字指紋,并且在步骤320,将所述数字指紋与至少一个基准完 整性指紋相比较,用于在步骤330验证所述软件的可信赖性。
所述至少一个基准完整性指紋可以表示经证明的软件和/或经证明的 软件的组件的至少一个指紋。因而,如果所述至少一个所提取的数字指紋 中的所述至少一个对应于基准完整性指紋,那么可以假定与所述至少一 个所提取的数字指紋中的所述至少一个相对应的软件/软件组件无论如何 都没有被破坏,因为可以假定其与经证明的软件/软件组件相同。
所述至少一个基准完整性指玟可以被存储在处理器核心100的存储器 组件中,其中所述存储器组件可以是受保护的,例如防止黑客,并且其中 所述存储器组件可以表示非易失性存储器。例如,所述存储器组件处于可 信计算组件130中。
所述至少一个数字指紋可以通过散列函数来生成,其中所述散列函数 计算软件或软件的组件的散列值。因而,所提取的数字指紋可以表示所提 取的散列值,并且基准完整性指紋可以表示已经利用经证明的软件/软件组 件的相同散列函数所计算的散列值。
如果所提取的数字指紋对应于数字基准完整性指紋,那么在步骤330 中,确定软件或软件组件是可信赖的,并且然后在步骤340中,可以将硬 件信号切换到第二状态中。该步骤340不是强制性的,例如当给予可信赖 性时,可以不改变硬件信号。此外,在步骤330中,如果确定软件或软件 组件不可信赖,那么在步骤350中,将硬件信号切换到第一状态中。
例如,才艮据图3所示的第一示例性方法的软件的可信赖性的所述^Hi 可以遵守可信计算组的移动TPM规范,其中所述所提取的数字指紋可以 对应于软件的散列值,并且所述数字基准完整性指紋可以对应于基准完整性度量证书。
图2a、 2b和2c图示了可信计算组件200、 210、 215的第一、第二和 第三示例性实施例,其可以被用于图la中所示的可信计算组件130,并且 其可以4皮应用来实现图3-5中所示的所述示例性方法。
在第一和第二示例性实施例中,所迷可信计算组件通过可信平台模块 (TPM) 200、 210来表示,所述可信平台才莫块(TPM) 200、 210包括微 控制器240、平台配置寄存器(PCR )组220、存储器230、用于将TPM 200、 210连接到总线系统(如图la中所示的总线系统150)的输入/输出接口 250, 以及连接到连接器211 (如图la的连接器161)的硬件信号线路241,以 便传输硬件信号(如图la的信号162)。根据第一示例性实施例,所述连 接器211可以被连接到微控制器240,从而使得微控制器可以将所述硬件 信号线路241上的硬件信号切换到第一状态或第二状态中,或者,可选地, 根据第二示例性实施例,所述硬件连接器211可以被连接到所述寄存器组 220的寄存器,或者被连接到所述寄存器组220的寄存器的特定位。当所 述TPM200、 210,皮用作图la所示的装置100中的可信计算组件150时, 连接器211于是类似于图la的连接器161,用于经由图la所示的连接器 161提供所述至少一个硬件信号线路162。
例如,所述可4言平台模块(TPM) 200、 210可以遵守可信计算组的移 动TPM规范,并且所述可信平台模块可以表示TPM核心,其中所述TPM 核心可以是受保护的核心。
此外,例如,包括平台配置寄存器(PCR)组220的所述可信平台模 块200、 210可以被应用于实现如在发明内容中所解释的对软件和/或软件 组件的验证,其中基准完整性度量证书被存储在存储器230中,并且微控 制器被用于散列軟件或软件组件的至少一个基准完整性度量,以及进行 可信赖性验汪。
图2c中所示的可信计算组件215的第三示例性实施例包括用于验证软 件的可信赖性的处理组件260,其中,该可信计算组件215基本上可以对 应于图2a中所示的第一或第二示例性实施例的可信平台才莫块200、 210,
27从而使得处理组件260可以包括所述微控制器240、所述平台配置寄存器 (PCR)组220,以及所述存储器230,而且任何其它的实现均可以被应用 于合并到所述处理组件260中。
处理组件260连接到单向开关270,并且单向开关270连接到用于传 输硬件信号的至少一个连接器211。所述单向开关270无法将硬件信号从 所述第 一状态切换到不同的状态中。
例如,在验证所述软件的可信赖性之前,所述硬件信号由所述单向开 关270切换到第二状态中,其中所述第二状态可以指示给予了软件的可信 赖性。
因而,在借助于所述处理组件确定了软件不可信赖以及所述硬件信号 的情况下,处理组件260控制单向开关270,以便将所述硬件信号从第二 状态切换到所述第一状态,并且然后不可能将石更件信号切换回用于指示所 述软件是可信赖的第二状态中。这防止了在已经确定软件不可信赖之后篡 改硬件信号。如果确定软件不可信赖,那么所述单向开关270将使硬件信 号保持在所述第 一状态中直到关闭所述装置。
当具有安全引导序列时,如下面或在发明内容中所示例性解释的,这 允许用于进行可信赖性验证的处理组件260的所有接口 250保持公开和开 放,这是由于硬件信号因所述单向开关270的阻止而无法从所述第一状态 切换到笫二状态。
单向开关270还可以基于图2b中所示的可信计算组件210的第二示例 性实施例通过TPM功能来实现,其中,被布线到所述至少一个硬件信号 线路221、 211的所述PCR组230中的所述寄存器无法从指示所述硬件信 号的第一状态的值切换到指示不同状态的值。例如,所述寄存器的最低位 被布线到所述至少一个硬件信号线路221、 211,并且如果通过基准完整性 度量证书检测到软件不可信赖,那么所述基准完整性度量证书将所述寄存 器的内容更新到对应于笫一状态的值,例如值2,其中所述值保持不变, 直到关闭所述装置,并且因而所述寄存器在功能上对应于所述单向开关 270。图4图示了用于处理器核心100中的软件的te的第二示例性方法的 流程图,其可以用于在引导处理器核心100之前/引导处理器核心100时验 证引导软件,但是其也可以用于在处理器核心100的运行时操作期间B ,皮加载到处理器核心100的软件的若干组件。所述發汪可以分别通过图2a、 2b和2c中所示的第一示例性TPM 200或第二示例性TPM 210或第三示 例性TPM215来实现。
例如,处理器核心的所述引导序列可以包括相继地加载和执行若干 软件组件,如固件、BIOS、操作系统加载器以及操作系统和其它组件。
例如,在开始对引导软件的验证之前,初始化PCR组中的任何PCR, 并且将硬件信号切换到第 一状态。
例如,根据步骤410, TPM 200、 210的CRTM可以使得加载第一软 件组件,并且在步骤411中,CRTM可以使得通过散列所述软件组件的第 一基准度量而测量引导序列的所述若干软件组件中的第 一软件组件,其中, 所述第一软件组件可以对应于所述装置中的固件。之后,在步骤412中, 在所述PCR组200的第一 PCR中扩展该第一基准度量。然后,在步骤420 中,将第一 PCR中的该第一基准度量与至少一个基准完整性度量证书相比 较,以便在步骤430中验证第一软件组件的可信赖性,并且仅当在步骤430 中确定第一组件可信赖时,才在步骤440中执行所述第一软件组件,以便 启动引导序列,否则根据步骤460,将硬件信号切换到第一状态中,并且 可以停止引导过程。然后,如果根据步骤430给予了第一软件组件的可信 赖性,则在步骤440中执行软件组件之后,在步骤441中检查是否存在将 要加栽的另外的软件组件。
如果存在要加载的另外的软件组件(如引导序列的相继的第二软件组 件),那么流程图跳到开始并且在步骤410中加载第二软件组件,并且在步 骤411中,散列所述第二软件组件的第二基准度量。然后,第二基准度量 被扩展到所述PCR组的第二PCR中(例如,通过将第二基准度量与前面 的PCR的内斜目连接,并且将这一被连接的第二基准度量与前面的PCR 的内容的散列值扩展到所述另外的PCR)。然后,在步骤420中,将所扩
29展的第二基准度量与至少一个基准完整性度量相比较,以〗更在步骤430中 验证第二软件组件的可信赖性。在该迭代方式中,可以验证引导序列的软 件组件的可信赖性,其中在步骤411中,从引导序列的下一软件组件来散 列基准度量,通过将该基准度量与对应于前面的软件组件的PCR的内斜目 连接并且在步骤412中在所述PCR组的下一 PCR中对其进行扩展,该基 准度量被扩展到所述PCR组220的下一PCR中。如果引导序列正确,即, 如果在步骤420和430中验证了引导序列的最后的软件组件的被扩展的基 准度量(其取决于所有前面的PCR的内容)是正确的,那么在步骤450 中,可以将硬件信号切换到第二状态中,以便指示引导序列的软件的可信 赖性。
例如,如果使用了图2b中所示的TPM210的第二示例性实施例,那 么经由连接器211将硬件信号线路221布线到所述PCR组的PCR,例如, 如果所述PCR组包括16个PCR,则布线到第15号PCR,并且可以将石更 件信号线路布线到例如第15号PCR的最低有效位,并且当验证了引导序 列可信赖时,所述PCR 15被设置成预置值,例如设置成值l或者任何奇 数值,从而使得在所述至少一个硬件信号线路上的信号对应于在第二状态 中的硬件信号,并且指示引导软件可信赖。如果没有给予可信赖性,那么 所述PCR的内容是O,并且对应于石更件信号的第一状态。
此外,所述PCR 15 (其可以对应于在发明内容中提及的所述另外的寄 存器)适于被锁定,从而使得其仅可以通过基准完整性度量证书来更新。 所述锁定功能可以通过TPM特征来提供。所述基准完整性度量不仅含有 用于检查所述至少一个被扩展的基准度量中的至少一个的有效性的基准 值,而且其还含有位置用于可被设置到所述PCR中的值。仅当所述基准完 整性度量与至少一个所测量的基准度量相比较的完整性验证成功时,所述 基准完整性度量中的所述值才被设置到所述PCR 15中。例如,所述基准 度量证书可以在所述位置含有值1,并且所述基准证书可以用于验证引导 序列的所述最后的软件组件的被扩展的基准度量,由此自动地验证所述前 面的PCR的那些前面的被扩展的基准度量,从而使得仅当给予了引导序列的所有软件组件的可信赖性时,才通过所述基准度量证书将所述PCR 15 更新为值l,并且相应地,将硬件信号切换到第二状态中(步骤450)。如 果所述基准度量证书并没有检测到软件可信赖(步骤430 ),那么所述PCR 15保持其值0,并且保持将硬件信号切换到第一状态中(步骤460)。
可选地,根据图2a中所示的TPM 200的第一示例性实施例,TPM 200 的微控制器240连接到硬件信号线路241,并且根据步骤450,当给予了引 导序列的软件的可信赖性时,将所述硬件信号线路上的信号切换到用于指 示引导软件可信赖的第二状态中,否则根据步骤460,微计算机将所述硬 件信号线路241上的信号切换到第一状态。
图5图示了用于对处理器核心100中的软件进行發汪的第三示例性方 法的流程图,其可以被应用于在处理器核心100的运行时操作期间进行软 件的可信赖性验证。
例如,当用户想要在处理器核心100中加载新软件时,有必JMHi软 件,其可以是用于操作系统或新内核或任何其它东西的软件。
例如,在让用户将软件加载到处理器核心100中之前,所述硬件信号 被切换到第一状态中,以便禁用无线电接口 170和/或无线电核心129。然 后,所述软件被加载到处理器核心的存储器中,并且可以才艮据图5中的流 程图所示的方法發江所述软件。
在步骤510中,从该软件提取散列基准度量,然后在步骤520中,所 述基准度量被扩展到PCR中,其中,根据在以上方法的第二示例性实施例 中解释的步骤420可以实现该扩展。例如,通过将基准度量与对应于前面
PCR中对其进行扩展,从而扩展该基准度量。然后,在步骤530中,将该 扩展的基准度量与至少一个基准完整性度量相比较,并且如果在步骤540 中验证了软件不可信赖,则将硬件信号切换到第一状态中。
此外,基准完整性度量证书可以绑定于计数器(例如,用于新鲜度的 保护计数器或自举计数器),从而使得在所述方法的第二示例性实施例的步 骤420以及所述方法的第三示例性实施例的相应步骤530中比乾基准度量的步骤操作可以进一步包括比较基准完整性度量证书的计数器,例如以 便保证加载了实际升级的软件版本,从而使得借助于该计数器检测到可能 具有错误的较旧的软件版本。
虽然根据应用于本发明的优选实施例已经示出并描述和指出了本发明 的基本新颖的特征,但pUi当理解,在不背离本发明的精神的情况下,本
以及替换和改变。例如,明确希望,以基本上相同的方式执行基本上相同 的功能以达到相同效果的那些元件和/或方法步骤的所有组合都在本发明 的范围之内。此外,应当认识到,结合本发明的任何公开的形式或实施例 示出和/或描述的结构和/或元件和/或方法步骤可以作为设计选择的一般主 题以任何其它公开或描述或建议的形式或实施例来合并。因此,希望仅根 据所附的权利要求的范围所指示的来进行限制。此外,在权利要求中,装 置加功能的款项在实现所陈述的功能时旨在涵盖文中所描述的结构,并且 不仅是结构等效,而且还有等效结构。
权利要求
1.一种方法,其包括验证装置中软件的可信赖性;以及当所述软件不可信赖时,将所述装置中的硬件信号切换到第一状态中。
2. 根据权利要求1所述的方法,其中所述装置包括至少一个处理组件, 所述方法包括当所述》更件信号处于第一状态中时,禁用所述至少一个处理组件中的 至少一个。
3. 根据权利要求1所述的方法,其中所述装置包括至少一个接口,所 述方法包括当所述硬件信号处于第一状态中时,禁用所述至少一个接口中的至少 —个-
4. 根据权利要求l所述的方法,所述方法包括 提取所述软件的至少 一个数字指紋;将所述至少一个数字指紋中的至少一个与用于验证所述软件的可信赖 性的至少一个基准完整性指玟相比较。
5. 根据权利要求l所述的方法,其中所述装置包括可信平台模块,所 述可信平台模块包括寄存器组和散列函数,所述方法包括散列所述软件的至少 一个基准度量;将所述至少 一个基准度量扩展到所述寄存器组的至少 一个寄存器中;以及将所述至少一个寄存器中的至少一个的内容与用于^£所述软件的可 信赖性的至少一个基准完整性度量证书相比较。
6. 根据权利要求5所述的方法,其中所述寄存器组中另外的寄存器仅 能够通过基准完整性度量证书来更新,其中,所述另外的寄存器的至少一 个位被布线到至少 一个硬件信号线路,其中所述至少 一个硬件信号线路传 输所述石更件信号,并且其中所述方法进一步包括在發汪所述软件的可信赖性之前,将所述另外的寄存器设置成第 一值, 所述第一值将所述至少一个硬件信号线路上的硬件信号切换到所述第一状态中;在所述至少一个寄存器中的所述至少一个的内容与用于验证可信赖性 的至少一个基准完整性度量证书的所述比较的结果是成功的情况下,通过 所述基准完整性度量证书来将所述另外的寄存器更新成第二值,其中所述 第二值将所述至少一个硬件信号上的硬件信号切换到指示所述软件的可信 赖性的第二状态中。
7. 根据权利要求i所述的方法,其中在所述装置的引导序列期间a 所述可信赖性。
8. 根据权利要求l所述的方法,其中在所述装置的运行时操作期间验证所述可信赖性。
9. 根据权利要求l所述的方法,其中在验证所述软件的可信赖性之前, 所述硬件信号被切换到第二状态中,并且其中在不重启所述装置的情况下, 所述硬件信号无法从所述第 一状态切换到不同的状态中。
10. 根据权利要求9所述的方法,其中所述硬件信号经由至少一个硬 件信号线路来传输,并且其中所述硬件信号通过单向开关来切换,其中在 不重启所述装置的情况下,所述单向开关无法将硬件信号从所迷笫一状态 切换到不同的状态中。
11,根据权利要求1所述的方法,其中所述装置是单片处理器核心, 并且其中所述硬件信号经由在所述单片处理器核心内部布线的至少 一个硬 件信号线路来传输。
12. —种装置,其包括存储器,所述存储器被配置以便存储软件;第一处理组件,所述第一处理组件被配置以便验证所述软件的可信赖性;至少一个硬件信号线路,所述至少一个硬件信号线路连接到所述第一 处理组件,其中当所述软件不可信赖时,所述第一处理组件能够将所述至少一个硬件信号线路上的信号切换到第一状态中。
13. 根据权利要求12所述的装置,其中所述装置包括至少一个另外 的处理组件,并且其中,所述至少一个硬件信号线路中的至少一个连接到 所述至少 一个另外的处理组件中的至少一个,并且其中在所述第 一状态中, 所述至少一个硬件信号线路上的所述信号禁用了所述至少一个处理组件中 的所述至少一个。
14. 才艮据权利要求12所述的装置,其中所述装置包括至少一个接口, 并且其中,所述至少 一个硬件信号线路中的至少 一个连接到所述至少 一个 接口中的至少一个,并且其中在所述第一状态中,所述至少一个硬件信号 线路上的所述信号禁用了所述至少一个接口中的所述至少一个。
15. 根据权利要求12所述的装置,其中所述第一处理组件被配置以 便提取所述软件的至少一个数字指紋,以及将所述至少一个数字指紋中 的至少 一个与用于發^所述软件的可信赖性的至少 一个基准完整性指故相 比较。
16. 根据权利要求12所述的装置,其中所述第一处理组件是包括寄 存器组和散列函数的可信平台模块,其中所述可信平台模块被配置以便 散列所述软件的至少 一个基准度量,以及将所述至少 一个基准度量扩展到 所述寄存器组中的至少一个寄存器中,并且将所迷至少一个寄存器中的至 少一个的内容与用于验证所述软件的可信赖性的至少一个基准完整性度量 证书相比较。
17. 根据权利要求16所述的装置,其中所述寄存器组中另外的寄存 器仅能够通过基准完整性度量证书来更新,其中所述另外的寄存器的至少 一个位^t布线到至少 一个硬件信号,其中所述至少 一个硬件信号线路传输 所述硬件信号,并且其中,所述可信平台模块被配置以便在验证所述软 件的可信赖性之前,将所述另外的寄存器设置成第一值,所述第一值将所 述至少一个硬件信号线路上的硬件信号切换到第一状态中;在所迷至少一 个寄存器中的所述至少一个的内容与用于验证可信赖性的至少一个基准完整性度量证书的所述比较的结果是成功的情况下,通过所述基准完整性度量证书将所述另外的寄存器更新成第二值,其中,所述第二值将所述至少 一个硬件信号上的硬件信号切换到指示所述软件的可信赖性的第二状态 中。
18. 根据权利要求12所述的装置,其中所述第一处理组件被配置以 便在所述装置的引导序列期间验证所述可信赖性。
19. 根据权利要求12所述的装置,其中所述笫一处理组件被配置以 便在所述装置的运行时操作期间验证所述可信赖性。
20. 根据权利要求12所述的装置,其中所述处理组件被配置以便 在發伍所述软件的可信赖性之前,将所述硬件信号切换到第二状态中,并 且其中在不重启所述装置的情况下,所述石更件信号无法从所述第一状态切 换到所述第二状态中。
21. 根据权利要求20所述的装置,其中所述装置包括用于切换在所 述至少一个硬件信号线路上的所述硬件信号的单向开关,其中所述单向开 关连接到所述第一处理组件,并且其中在不重启所述装置的情况下,所述 单向开关无法将所述硬件信号从所述第一状态切换到所述第二状态中。
22. 根据权利要求12所述的装置,其中所述装置是单片处理器核心, 并且其中所述至少 一个硬件信号线路在所述处理器内部布线。
23. —种包括根据权利要求12所述的装置的电子设备。
24. —种计算机程序产品,其中程序代码存储在计算机可读介质中, 所述程序代码当由处理器执行时实现了以下操作验证装置中软件的可信赖性;以及当所述软件不可信赖时,将装置中的硬件信号切换到第 一状态。
25. 根据权利要求24所述的计算机程序产品,其中所述装置包括至 少一个处理组件,所述计算机程序4吏得当所述硬件信号处于第一状态中 时,禁用所述至少一个处理组件中的至少一个。
26. 根据权利要求24所述的计算机程序产品,其中所述装置包括至 少一个接口,所述计算机程序使得当所述硬件信号处于第一状态中时, 禁用所述至少一个接口中的至少一个。
27. 根据权利要求24所述的计算机程序产品,所述计算机程序使得 提取所述软件的至少 一个数字指紋;将所述至少一个数字指紋中的至少一个与用于验证所述软件的可信赖 性的至少一个基准完整性指玟相比较。
28. 根据权利要求24所述的计算^4呈序产品,其中所述装置包括可 信平台模块,所述可信平台模块包括寄存器组和散列函数,所述计算机程 序使得散列所述^t件的至少 一个基准度量;将所述至少一个基准度量扩展到所述寄存器组的至少一个寄存器中;以及将所述至少 一个寄存器中的至少 一个的内容与用于^it所述软件的可 信赖性的至少一个基准完整性度量证书相比较。
29. 根据权利要求28所述的计算机程序产品,其中所述寄存器组中另外的寄存器仅能够通过基准完整性度量证书来更新,其中,所述另外的 寄存器的至少 一个位#1布线到至少 一个硬件信号,其中所述至少 一个硬件 信号线路传输所述硬件,并且其中所述计算机程序进一步使得在验证所述软件的可信赖性之前,将所述另外的寄存器设置成第一值, 所述第一值将所述至少一个硬件信号线路上的硬件信号切换到第一状态中;在所述至少 一个寄存器中的所述至少 一个的内容与用于验证可信赖性 的至少一个基准完整性度量证书的所述比较的结果是成功的情况下,通过 所述基准完整性度量证书将所述另外的寄存器更新成第二值,其中,所述 第二值将所述至少一个硬件信号上的硬件信号切换到指示所述软件的可信赖性的第二状态中。
30. 根据权利要求24所述的计算*序产品,其中在所述装置的引 导序列期间验证所述可信赖性。
31. 根据权利要求24所述的计算机程序产品,其中在所述装置的运 行时操作期间验江所述可信赖性。
32. 根据权利要求24所述的计算机程序产品,其中在發江所述软件 的可信赖性之前,所述硬件信号被切换到第二状态中,并且其中在不重启 所述装置的情况下,所述硬件信号无法从所述第一状态切换到不同的状态 中。
33. 根据权利要求32所述的计算机程序产品,其中所述硬件信号经 由至少一个硬件信号线路来传输,并且其中所述硬件信号通过单向开关来 切换,其中在不重启所述装置的情况下,所述单向开关无法将硬件信号从 所述第一状态切换到不同的状态中,并且其中,所述单向开关受控于所述 计算机程序。
34. 根据权利要求24所述的计算;tM呈序产品,其中所述装置是单片 处理器核心,并且其中,所述硬件信号经由在所述单片处理器核心内部布 线的至少 一个硬件信号线路来传输。
35. —种装置,其包括存储装置,所述存储装置用于存储软件;第一处理装置,所述笫一处理装置用于發汪所述软件的可信赖性; 至少一个硬件信号线路,所述至少一个硬件信号线路连接到所述第一 处理装置,其中当所述软件不可信赖时,所述第一处理装置包括用于将 所述至少 一个硬件信号线路上的信号切换到第 一状态中的装置。
全文摘要
公开了一种方法、装置和计算机程序产品,用于验证装置中软件的可信赖性,并且当所述软件不可信赖时,将所述装置中的硬件信号切换到第一状态中。
文档编号G06F21/00GK101542494SQ200780042066
公开日2009年9月23日 申请日期2007年9月20日 优先权日2006年9月25日
发明者J-E·埃克伯格 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1