CN101154256A - 启动可信共存环境的方法和装置 - Google Patents

启动可信共存环境的方法和装置 Download PDF

Info

Publication number
CN101154256A
CN101154256A CNA2007101537964A CN200710153796A CN101154256A CN 101154256 A CN101154256 A CN 101154256A CN A2007101537964 A CNA2007101537964 A CN A2007101537964A CN 200710153796 A CN200710153796 A CN 200710153796A CN 101154256 A CN101154256 A CN 101154256A
Authority
CN
China
Prior art keywords
environment
working time
integrity measurement
embedded
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101537964A
Other languages
English (en)
Other versions
CN101154256B (zh
Inventor
V·齐默
L·库尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US11/527,180 priority Critical
Priority to US11/527,180 priority patent/US8510859B2/en
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101154256A publication Critical patent/CN101154256A/zh
Application granted granted Critical
Publication of CN101154256B publication Critical patent/CN101154256B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

本发明披露了启动多个不同的可信且共存环境的方法和装置。实施例可以在具有较高安全性的OS前空间中启动不同的可信且共存的环境。硬件强制隔离方案可以将各分区隔离开,以便于代码和数据的存储和执行。在许多实施例中,系统可以启动分区管理器,以建立嵌入式分区和主分区。嵌入式分区对主OS来讲可能是不可见的,其可以容纳关键的操作。主分区可以容纳通用OS和用户应用,并可以管理未分配给嵌入式分区的资源。通过将运行时间环境的完整性度量与嵌入式分区的可信运行时间环境的完整性测量结果进行比较(例如用完整性度量将加密密钥密封在可信平台模块中),从而确定嵌入式分区的启动中的可信度。本文亦描述和主张了其它实施例。

Description

启动可信共存环境的方法和装置技术领域[oooii本发明涉及计算机安全领域。更具体地讲,本发明涉及启动两个或更多个不同的可信并且共存环境的方法和装置。背景技术【0002】存储在计算机上的数据在以金钱衡量和/或竞争或商务能力上 可能具有较高价值。数据可以包括商业秘密(例如解密代码和安全进 程)、其它保密商务数据或个人信息(例如社会保险号码和信用卡号 码)。为了增强这种数据在不同的处理系统中的安全性,作为非盈利 工业标准组织的可信计算小组(Trusted Computing Group, TCG)制定 并通过了更安全的计算环境规范。TCG规范包括,例如,2006年3 月29日的TCG可信平台模块(TPM)规范版本1.2修订本94,第一 部分设计原理(TCG trusted platform module (TPM) Specification Version 1.2 Revision 94, Part I Design Principles, dated March 29, 2006),以及TCG主规范版本Ub (TCG Main Specification Version l.lb)。[00031 TCG规范定义了可信处理系统或平台,通常是为了特定目的 而以特定方式工作的处理系统。可信处理系统可以提供诸如数据加 密、解密和存储之类的数据安全功能。可信处理系统的一个关键组件 是TPM,其是一个可以执行加密散列法(cryptographic hashing)的 模块,以检测完整性损失、防止未授权的数据泄露的公钥和私钥加密 以及对传输信息进行鉴权的数字签名。TCG保护存储机制可以根植 于硬件中,用于保护密钥、秘密和散列信息值。 【0004】当处理系统访问敏感数据时,可信处理系统的完整性度量便于 确定处理系统的硬件和软件是否处于安全或"可信"的配置状态。可 以通过测量在可信的配置点(例如制造时)的处理系统的运行时间配 置,并将敏感数据密封于该配置下,以此来建立完整性度量。此外, 在硬件中使用认证码或可信码来实现可信赖的测量和认证。诸如处理 器、芯片组和TPM之类的硬件可以包括如下功能:确保只有认证码 才能初始化特定的交易,核实代码不会经由测量完整性度量而被篡改或受到损害。通常在启动或复位处理系统时,在启动操作系统(OS)之前,通过建立数据和代码的受保护的核心,来确立可信度。每次当 处理系统关机或复位时,将重新初始化并认证受保护的核心,这可以 最小化攻击者在处理系统关机或复位时通过改变代码来损害受保护的数据的能力。在启动OS之前建立受保护的核心也是最小化攻击者 篡改安全协议的能力的安全措施。[0005】在典型的处理系统中,固件提供机器指令来控制在加电/复位 处理系统和启动处理系统上的OS之间的系统的OS前(pre-OS)或 启动前(pre-boot)的操作。OS随后接管处理系统的主要功能。例如, 在某些系统中,虚拟机监视器(VMM)或管理程序代码可以负责对 诸如中央处理单元(CPU)、存储器、硬盘和其它组件之类的系统资 源的控制。VMM可以启动并管理虚拟环境,并在每一虚拟环境中启 动较高级别的OS,例如MicrosoftTM Windows、 LinuxTM和UnixTM等。 【0006】固件也可以控制在装载OS后的特定操作,其被称作启动后 (Post-boot)操作,例如处理特定硬件事件和/或系统中断的操作。更 具体地讲,固件可以通过被统称为基本输入/输出系统(BIOS)的一 组例行程序来处理启动前和启动后的操作。BIOS从而提供了系统的 硬件组件和诸如OS之类的软件组件之间的接口。 BIOS的较新的方 案包括2002年12月1日的可扩展固件接口 (EFI)规范(版本1.10), 以及2006年1月31日的统一可扩展固件接口 (UEFI)规范(版本 2,0)。【0007]在建立受保护的核心后,诸如BIOS、 EFI或UEFI之类的固件 可以测量处理系统的当前运行时间配置,并将当前运行时间配置与 TPM的可信运行时间配置进行比较。如果当前运行时间配置的完整 性被损坏或被更改,则拒绝或忽略对敏感数据的访问。此外,如果访 问时的运行时间配置与可信配置的运行时间足够相似从而值得信赖 的话,则可信处理系统可以允许访问敏感数据。【00081虽然受保护的核心提供数据和代码的基于硬件的安全防护,但 仅仅采用以上所述是不够的。经由网络或因特网提供的无所不在的服 务继续增加对进程的保护和执行的需求,以避免受到恶意用户、软件 病毒或其它因素的影响。换句话讲,处理系统的单一受保护的核心或 分区是不够的。此外,当前的趋势是向更多数量的处理器核心的方向 发展,但当前的OS软件无法支持超过8个的处理器核心。 [0009】当前的一种解决方案是启动由固件管理的受保护的核心,并随 后经由VMM启动并保护其它分区。VMM是低级别的OS,其在逻 辑级别上实现了对平台分区的控制。VMM能够调整多个处理器核心 上的多个OS系统的运行时间,从而在不同的分区上提供多个运行时 间环境。但是,VMM只能够处理至多8个核心,且其它分区的安全 性取决于VMM,但VMM是低级别的OS,而不是固件。VMM控制 其它分区而不是诸如TPM之类的固件的软件装载。因此,如果攻击 者获得硬盘并破解(hack) VMM的话,则将损害敏感数据。附图说明[0010】通过阅读下面的详细描述并参考附图,本发明的各个方面将变得显而易见,在附图中,相同的标记可以表示相同的部件:图1示出了一个系统的实施例,所述系统包括一个或多个处理器、存储器、TPM和其它硬件资源,并具有固件/微代码,用以在启 动可信的主环境之前启动一个或多个可信的嵌入式环境;图2示出了一个系统的实施例,所述系统在启动主分区中的OS之前,使用受保护的核心启动一个或多个可信的嵌入式环境;图3示出了启动一个或多个可信、共存的分区的实施例的流程图;图4示出了便于启动一个或多个可信的同时的分区的实施例的 流程图。
具体实施方式[00111在下文中,将详细描述附图中所示的本发明的实施例。对实施例的详尽描述足以明确地说明本发明。但是,这些详尽的描述并不用 于限定本发明的预期变化,相反,本发明涵盖由所附权利要求定义的 落入本发明的精神和范围内的所有的修改、等同物和替代物。以下的 详细描述将使实施例对本领域普通技术人员来讲是显而易见的。[0012】 一般来说,启动两个或更多个可信、不同并且共存的环境的方 法和装置均在预期范围内。实施例可以在具有较高安全性的OS前 (pre-OS)空间中启动两个或更多个共存的环境。可以为每一可信环 境或分区分配硬件资源,这些硬件资源通过硬件强制隔离方案与其它 处理系统资源隔离,从而便于代码和数据的存储和执行。在许多实施 例中,系统可以启动分区管理器以建立嵌入式的主分区。嵌入式或隐 藏分区对主OS来说可能是不可见的,可以用于诸如容纳关键操作、 1/0卸载、软外设、平台管理和/或故障预测之类的各种应用。例如, 嵌入式分区可以包括EFI、嵌入式Linux® 、Microsoft® Windows®紧 凑版(WinCE)和其它实时操作系统(RTOS)等的运行时间,以容 纳(host)诸如必须核査优质(premium)内容下载的个人视频记录 器或机顶盒之类的关键操作。嵌入式分区的启动中的可信度是通过将 运行时间环境的完整性度量与嵌入式分区的可信运行时间环境的完 整性测量进行比较而确立的。[0013】在确立可信度时,在调用主分区之前,可以解封嵌入式分区中 的内容并且启动其它的嵌入式分区。主分区可以容纳通用OS (例如 各种基于Windows⑧的OS和基于Linux⑧的OS等中的一个)和一 个或多个用户应用(例如web服务器和商务应用等)。例如,经由可 信平台模块(TPM)在操作期间,例如可以通过经由固件执行认证码, 并且使用认证码和可信硬件来测量关键命令的可信度,从而在主分区 的启动中也可以确立可信度。[0014J在一些实施例中,嵌入式分区和主分区可能并不交互。换句话 说,嵌入式分区执行的操作可以独立于主分区的操作。例如,嵌入式 分区的作用可类似于诸如网络电路断路器或硬件防火墙之类的"硬件 设备"。【0015】但是,在其它实施例中,经由诸如分区间桥(Inter-Partition Bridge, IPB)之类的通信信道,主分区可以可通信地连接到嵌入式 分区。IPB可以是可信的通信信道,其允许两个可信分区或子系统根 据期望的安全策略(例如加密密钥)进行通信。在多个实施例中,IPB 可以包括共享存储器缓冲器。[00161多个实施例经由分区管理器实现了平台资源层(PRL),用以 配置分区和诸如其它设备的处理器单元、随机访问存储器(RAM) 单元、外设和集成设备之类的隐藏资源。在某些实施例中,通过例如 修改由BIOS、 EFI、 UEFI或其它固件产生的高级配置和电源接口(ACPI)表,分区管理器可以根据硬件强制隔离方案隐藏资源。在 另一些实施例中,例如通过更新设备隐藏寄存器或系统的输入/输出(I/O)控制中心(ICH)中的其它位置,分区管理器可以隐藏OS的 资源。在其它实施例中,嵌入式分区装载器(EP装载器,EPloader) 代码将由分区管理器执行,EP装载器代码可以隐藏必要的资源,在 认证EP装载器代码时,将受保护的数据装载入隐藏资源中。 [0017】下文中几个部分的详细论述将围绕总线、硬件、软件和其它逻 辑的特定配置和协议来描述实施例,本领域的普通技术人员将会认识 到,使用其它的配置并根据其它的协议,也可以实现功能上基本相同 的实施例。【0018】参见附图,图1示出了处理系统100的实施例,系统100包括 具有多个运行时间环境的软件层110和具有不同硬件资源的硬件层 150。系统100是诸如分布式计算系统、超级计算机、高性能计算系 统、计算机群、大型计算机、微型计算机、客户端-服务器系统、个 人计算机(PC)、工作站、服务器、便携式计算机、笔记本型计算机、 台式计算机、手持设备(例如个人数字助理(PDA))或其它用于处 理或传输信息的设备之类的计算机系统。类似的实施例包括,例如像 便携式音乐播放器或便携式视频播放器之类的娱乐设备、智能手机或 其它蜂窝电话、电话、数码视频摄像机、数码静态照相机和外部存储
设备等。其它实施例包括,诸如服务器系统之类的更大规模的服务器 配置。【0019】对于软件层110,系统100可以经由分区管理器180或159建 立一个或多个可信、共存的嵌入式分区,例如嵌入式分区138、 140 和142。在主分区111中,响应于系统启动或复位,分区管理器180 或159在启动虚拟机监视器(VMM) 136之前可以建立嵌入式分区。 [00201诸如嵌入式分区138、 140和142之类的嵌入式分区可以利用 VMM可能不会使用或以较低效率使用的处理器核心。例如,对于处 理器核心的数量超过8个的处理系统,VMM 136可能无法充分利用 大于8个的核心,因此,可以将8个核心分配给VMM136的主分区 111,而将剩余核心分配给嵌入式分区。【0021】在许多实施例中,分区管理器159或180可以掩藏或隐藏主分 区111的嵌入式分区138、 140或142。具体来说,分区管理器159 或180可以隐藏嵌入式分区138、 140和142的硬件资源,从而使VMM 136无法发现这些资源。[0022】尽管嵌入式分区138、 140和142可以独立于主分区111而工 作,但某些实施例提供了一个或多个嵌入式分区和主分区111之间的 通信信道。在本实施例中,诸如嵌入式分区138之类的嵌入式分区可 以经由分区间桥(Inter-Partition Bridge, IPB) 139可通信地连接到主 分区111。 IPB 139可以是用于通信的安全或非安全的信道,其可以 经由诸如输入-输出(I/O)和存储器控制中心之类的硬件来实现,或 可以是共享的存储器缓冲173。[0023】诸如嵌入式分区138、 140和142之类的嵌入式分区可以执行 多种功能。例如,在某些实施例中,嵌入式分区142可以被隐藏,其 可以容纳诸如必须核査优质内容下载的个人视频记录器或机顶盒之 类的关键操作。在这些实施例中,在嵌入式分区142中执行受保护的 内容144的处理,其可以授权优质内容。这样的处理可以经由主机保 护访问(HPA) 186的内容或经由与通过网络接口卡(NIC) 182与远 程系统进行的安全通信来在内部授权优质内容。 [0024】嵌入式分区142示出了可以出现在嵌入式分区中的软件层的
类型的实例。具体地讲,嵌入式分区142包括受保护的内容144、嵌 入式系统145和EP装载器146。受保护的内容144可以是在核实嵌 入式分区142的运行时间环境的完整性度量时从HPA 186解密的内 容。嵌入式分区142的运行时间环境可以嵌入式分区142的硬件配置 和软件配置。例如,嵌入式分区142的运行时间环境可以包括EP装 载器146以及诸如处理器单元(PU) 157和EP存储器170之类的硬 件资源,这些资源专门分配给嵌入式分区142。在一些实施例中,诸 如分区管理器180或分区管理器159之类的分区管理器将装载嵌入式 系统145,这样就无需单独的EP装载器146。【0025】EP装载器146可以从I/O设备184装载嵌入式系统145,并将 控制权让渡对嵌入式系统145。嵌入式系统145可以包括嵌入式 Linux®、 Microsoft® Windows⑧紧凑版(WinCE)和其它实时操作 系统(RTOS),以在嵌入式分区142内进行各种操作。在其它实施例 中,嵌入式系统145可以包括用于执行特定功能的专用软件。例如, 嵌入式系统145可以包括模拟图形加速卡的软件。 [0026】嵌入式系统145可以包括单个的指令包,所述指令包被装载入 嵌入式分区142中,从而提供待由嵌入式分区142执行的所有的或基 本上所有的服务或功能。为了实现此目的,嵌入式系统是这样一种软 件,其提供通常由常规OS提供的那些服务(例如任务调度、错误处 理和I/O服务等),以及通常由系统固件提供的服务(例如,发现并 初始化硬件组件,为那些组件提供软件接口等)。嵌入式系统还可以 提供通常由在OS上运行的程序或应用提供的服务。 [0027】 一旦装载了嵌入式系统145, EP装载器就可以请求访问受保 护的内容144,所述内容可能存储在HPA 186或其它受保护的数据存 储器中。可信平台模块(TPM) 190可以保存用于访问存储在HPA 186 中的受保护内容144的加密密钥,并可以在释放所述加密密钥之前核 实嵌入式分区142的运行时间环境的完整性度量。TPM 190可以包括 系统100的每一嵌入式分区的加密密钥,以及与在主分区111中建立 受保护的核心130相关的一个或多个密钥。[0028】在许多实施例中,通过测量嵌入式分区142的运行时间环境的
完整性度量,TPM 190可以响应对嵌入式分区142的密钥的请求。在 一些实施例中,TPM 190还可以对系统100的完整性度量进行其它测 量。更一般的情况下,完整性度量可以包括,例如,嵌入式分区142 和系统100的运行时间环境的镜像的散列信息。可以将嵌入式分区 142的经测量的或当前的完整性度量扩展到平台配置寄存器7(PCR7) 中。在许多实施例中可以利用PCR7,这是因为PCR7是这样一种寄 存器,在所述寄存器中,内容被指定给生产控制或使用。通过对完整 性度量与PCR7的内容应用散列法,TPM 190可以响应于所述扩展。 【00291 PCR 7可以包括嵌入式分区142的运行时间环境的可信镜像的 散列信息。例如,硬件层150可以包括MAE (经制造商核准的环境) 标识符160,以标识符可以表示MAE的信号或短音。TPM 190可以 识别出经制造商核准的环境的存在,并不是响应于将嵌入式分区142 的完整性度量扩展到PCR7中而解封密钥,TPM 190可以使用完整性 度量来生成并密封嵌入式分区142的密钥。在一些实施例中,EP装 载器146可以随后使用密钥或相应的不对称密钥来对HPA186中的受 保护内容144进行加密。[0030]当MAE标识符162不表示系统100处于经制造商核准的环境 时,可以使用PCR7的内容对嵌入式分区142的完整性度量应用散列 法,以确定嵌入式分区142运行时间环境是可信的还是需要经认证 的。如果嵌入式分区142的运行时间环境的散列信息核实了环境的完 整性,则TMP 190将HPA 186中的受保护内容144的密钥提供给EP 装载器146。随后EP装载器146可以将存储在HPA 186中的所有或 部分数据和进程装载入EP存储器170中。另一方面,如果散列信息 表示运行时间环境受到了损害,则TPM 190不会解封密钥。此外, 分区管理器159或180可以以相似方式基本上同时或根据定义的序列 来启动嵌入式分区138或140。[0031】主分区111可以容纳具有可信OS内核(例如VMM 136)的 受保护的核心130和一个或多个诸如VM 112和114之类的虚拟机 (VM)。在其它实施例中,可信OS内核可以是OS118的可信部分, 在主分区111中可能只有一个OS运行时间环境。[0032】分区管理器159或180可以在主分区111的受保护核心130的 运行时间环境的启动过程中确立可信度,这是通过经由TPM l卯对 VMM 136的代码进行认证或通过测量运行时间环境的完整性度量并 将完整性度量与存储在TPM 190中的可信完整性度量进行比较而进 行的。例如,主分区111的硬件环境可以是在将资源分配给嵌入式分 区之后剩余的可用硬件资源。分区管理器159或180可以经由TPM 190认证VMM 136并从TPM 190接收密钥以对数据132和进程134 进行解密。数据132和进程134可以驻留在HPA 186中,直到数据 132和进程134被解密并装载入MP存储器172中为止。 [0033】VMM 136是低级OS,其在逻辑级上提供对平台分区的控制。 具体来说,VMM 136可以建立并管理多个VM,例如VM 112和114。 VMM136控制其它分区的软件装载。在许多实施例中,VMM 136可 以经由虚拟TPM通过认证代码和运行时间环境来提供VM中的安全 性。虚拟TPM可以作为数据132和进程134驻留在受保护的核心130 中。在一些实施例中, 一个或多个嵌入式分区(例如嵌入式分区140) 可以容纳具有一个或多个VM的VMM。在这种实施例中,嵌入式分 区140看上去是与主分区111相比不同且可信的处理系统,其在系统 IOO中共存,但通过基于硬件的隔离方案而与主分区111隔离。这样 的实施例可以高效地使用多个处理核心,诸如OS 118之类的通用OS 可以很容易地超过此数量。[00341当配置VM 114时,VMM 136可以装载基本输入-输出系统 (BIOS) 120。 VMM 136可以随后核实VM 114的完整性,并将对软 件装载的控制权传递给BIOS 120。 BIOS 120可以启动OS 118。每一 VM可以在多个核心158上均衡OS运行时间,从而在不同的分区上 提供多个运行时间环境。例如,VM114可以容纳通用OS 118 (例如 各种基于Windows⑧的OS和基于Linux⑥的OS中的一个)和一个 或多个用户应用116 (例如web服务器和商务应用等)。VM 112可以 容纳相似的软件。【00351硬件层150包括处理器152、与随机访问存储器(RAM) 164 连接的控制中心160、只读存储器(ROM) 174、网络接口卡(NIC)
182、输入-输出(I/O)设备184和TPM 190。处理器152表示系统 的一个或多个处理器,例如Intel®的Pentium®处理器、Xeon⑧处理 器、Itanium®处理器或Celeron®处理器等。在本实施例中,处理器 152包括多个处理单元,例如处理单元(PU) 154、处理单元156和 处理单元157。处理单元154、 156和157是嵌入式分区138、 140和 142的处理能力的物理或逻辑分配。在一些实施例中,例如,处理单 元154可以表示由嵌入式分区138专用的一个或多个核心。处理单元 156可以表示诸如超级线程之类的逻辑单元。主分区111通常可以将 核心158管理为使其对嵌入式分区138、 140和142来讲并不是掩藏 或隐藏的程度。【0036】核心158可以包括作为微代码的分区管理器159。需要注意的 是,许多实施例包括,诸如分区管理器180之类的系统100的固件 176中的分区管理器或诸如分区管理器159之类的处理器的微代码中 的分区管理器。另一方面,某些实施例可以包括上述两者。使用分区 管理器180通常被称为静态测量可信根(SRTM),而使用分区管理器 159通常被称为动态测量可信根(DRTM)。[0037】对于SRTM来说,由计算机系统启动的信任链条复位或重启, 其处理器152处于已知状态。被执行的第一代码,核心测量可信根 (CRTM),例如分区管理器装载器178,测量待执行的下一代码,分 区管理器180。 一旦例如通过识别出了受损或未知的代码而失去了信 任,系统100可以重启或复位而重新获得系统100中的信任。 【0038】另一方面,DRTM使用新的处理器指令以将处理器152的核心 置入已知状态。将待执行的代码发送给TPM,以放入特定的平台配 置寄存器(PCR)中,PCR仅当在DRTM初始状态中并仅由处理器 152的一个或多个核心才可进行访问。初始时,经测量的DRTM代码 由硬件保护。此夕卜,使用DRTM,如果信任丢失,系统100可以重新 启动信任链条而不必重启。[0039】经由总线和控制中心160,处理器152可通信地连接到RAM 164、 ROM 174、 NIC 182、 I/O设备184和TPM 190。处理器152还可以可通信地连接到硬件层150的其它组件(未示出),例如一个或多个视频控制器、SCSI控制器、网络控制器、通用串行总线(USB) 控制器、1/0端口以及诸如照相机之类的输入设备等。此外,硬件层 150可以包括一个或多个桥,例如外设组件互连(PCI)根桥等,用 于可通信地连接系统组件。本文中所用的"总线"包括可以由多于两 个的设备共享的通路和点对点通路。[0040】控制中心160表示诸如Intel⑧的975X快速芯片组、865P芯片 组、845G芯片组、855GM芯片组、E7525芯片组、E8870芯片组、 852GME芯片组、537EP芯片组或854芯片组之类的芯片组。例如, 控制中心160可以包括存储器控制中心和I/O控制中心。 [0041】在本实施例中,控制中心160包括隐藏寄存器161和MAE标 识符162。隐藏寄存器161可以包括用于隐藏嵌入式分区的硬件层150 的硬件资源的寄存器。例如,每一嵌入式分区的随机访问存储器(EP 存储器166、 168和170)可以通过在隐藏寄存器161中存储一比特 或其它指示符而隐藏。还可以隐藏用于其它功能的IPB 173和硬件。 隐藏EP存储器166可以,例如,防止除嵌入式分区138之外的任何 分区识别出RAM 164的该部分的存在。[00421在某些实施例中,控制中心160可以使用用于阻止特定设备的 配置周期的配置结构以隐藏那些设备。在另一些实施例中,主分区 111的ACPI参数可以用于对OS 118隐藏处理单元和RAM 164的一 个或多个部分,而可以将诸如嵌入式分区138、 140和142之类的嵌 入式分区的ACPI参数用于对诸如嵌入式系统145之类的嵌入式系统 隐藏处理单元和RAM 164的其它部分。可以从2004年1月份的 Intel® I/O控制中心6 (ICH6)家族数据表("ICH6数据表")中获得关于设备隐藏寄存器的其它详细信息和相关话题。可以从 http:〃www.intel.com/design/chipsets/datashts/301473,htm获得ICH6数 据表。可以从2005年12月30日的高级配置和电源接口规范("ACPI 规范")的修订本3.0a中获得关于ACPI参数和相关话题的其它详细 信息。可以从www.acpi.info/spec.htm获得ACPI规范。 [0043】在其它实施例中,在一个或多个组件中构建的其它数据存储可 以被用于处理系统中的设备禁用或隐藏,其它技术可以被用于隐藏处
理单元154、 156和157,以及RAM164的各部分。 [00441 RAM 164可以是系统存储器,所述系统存储器通过存储与诸 如应用、驱动和其它代码之类的应用相关的数据和指令来支持处理器 152执行指令。RAM164可以由一个或多个存储器模块构成,控制器 中心160可以包括具有逻辑的存储器控制器,用于将地址映射到RAM 164的特定区域。RAM 164包括:EP存储器166、 168和170, MP 存储器172以及IPB 173。 RAM 164还可以包括为其它功能保留的或 专用于其它功能的存储器。[00451 ROM 174可以是固件176的受保护的存储器的一个或多个存 储器模块,以及在某些实施例中的其它功能块。ROM 174可以包括 存储器或诸如闪存、电可擦写可编程只读存储器(EEPROM)、磁RAM (MRAM)或铁电RAM (FeRAM)之类的存储器。固件176可以存 储诸如分区管理器装载器178和分区管理器180之类的代码。分区管 理器装载器178可以包括在系统100启动或重置时初始的可信核心装 载器,以装载并核实分区管理器180的完整性。 [0046】TPM 190可以是用于存储安全信息的微控制器。TPM 190可以 包括系统100的主板上的嵌入式芯片,可以用于认证硬件设备或代 码。TPM1卯为加密密钥的生成提供便利,具有限制密钥使用(通过 签名/核实或加密/解密)的能力,并提供基于硬件的随机数生成器。 TPM 190可以包括远程证明、绑定和密封。远程证明可以包括对运行 时间环境的测量以创建基本上无法伪造的运行时间环境的概要,从而 允许诸如优质内容提供商之类的第三方来核实运行时间环境未被损 害。密封可以将数据以如下方式加密:除非在解密时运行时间环境基 本相同,否则阻止对数据进行解密。绑定可以使用TPM认可密钥来 加密数据,所述TPM认可密钥可以是在芯片的生产过程中置入其中 的唯一 RSA密钥或另一个"可信"密钥。RSA是Ron Rivest、 Adi Shamir 和LenAdleman这三个公开描述RSA算法的人的姓氏的缩写。 [0047】在本实施例中,TPM 190包括多个平台配置寄存器(PCR)。 为便于论述,设TPM 190具有两个寄存器,PCR4和PCR7。在其它 实施例中,TMP190可以只具有两个寄存器。在其它实施例中,TPM 可以访问TPM l卯外部的寄存器。[0048】通过从诸如键盘和指向设备(例如鼠标等)之类的常规输入设 备进行输入,系统100可以是(至少部分)受控的。输入设备可以经 由例如I/O设备184与系统100进行通信。I/O设备184可以是用于 与外部I/O设备进行通信的一个或更多个端口 ,可以包括诸如调制解 调器、驱动控制器、光盘驱动器、硬盘驱动器或大容量存储设备之类 的I/0设备。存储设备可以包括,例如,集成驱动电路(IDE)、小型 计算机系统接口 (SCSI)以及串行高级技术结构(SATA)硬盘。存 储设备还可以包括其它设备或媒体,例如软盘、光盘、磁带、闪存、 记忆棒、紧致闪存(CF)卡和数字视频盘(DVD)等。 【0049】系统100还可以对从其它处理系统或其它输入源或信号接收 的指示或其它类型的信息给予响应。例如通过网络接口控制器(NIC) 182、调制解调器或其它通信端口或接头,系统100可以利用一个或 多个到一个或多个远程处理系统的连接。系统100可以通过物理和/ 或逻辑网络(例如局域网(LAN)、广域网(WAN)、内联网和因特 网等)与其它系统相互连接。通信可以利用各种有线和/或无线短距 离或长距离载波和协议,包括:射频(RF),卫星,微波,电气和电 子工程师协会(正EE) 802.11、 802.16、 802.20,蓝牙,光纤,红外 线,电缆和激光等等。【0050】诸如NIC 182之类的某些组件例如可以被实现为具有用于与 总线进行通信的接口的适配卡(例如PCI连接器)。或者,使用诸如 可编程或非可编程逻辑设备或阵列、专用集成电路(ASIC)、嵌入式 处理器或智能卡等之类的组件,NIC 182和其它设备可以被实现为板 载或嵌入式控制器。[0051】为了便于说明的目的,词语"代码"涵盖了广义范围的软件组 件和结构,包括应用程序、驱动程序、进程、例行程序、方法、模块、 固件、微代码和子程序等。因此,词语"代码"可以用于指代任何的 指令集,当其被处理系统执行时,用于进行期望的操作。例如,RAM 164、 ROM174和I/0设备184可以包括各种指令集,当执行这些指 令集时,进行各种操作。这种指令集可以被统称为软件或代码。 [00521图2示出了系统200的实施例,所述系统在启动主运行时间环 境中的OS之前,使用受保护的核心启动一个或多个与主运行时间环 境共存的可信、运行时间环境。系统200可以包括分区管理器210、 可分配资源230以及可信度核实模块250。分区管理器210可以包括 诸如代码和域状态机之类的逻辑,用于提供系统200的测量的核心 可信根。具体而言,分区管理器210可以包括可经由可信度核实模块 250认证的可信代码。此外,可以信任分区管理器210,以维持运行时间环境的信任链条的完整性并随后启动代码。 [00531分区管理器210可以包括启动顺序逻辑215和环境启动器220。 启动顺序逻辑215可以包括诸如硬件和/或软件之类的逻辑以定义操 作的顺序,从而启动诸如嵌入式环境232和主环境234之类的运行时 间环境。环境启动器220可以包括将诸如存储器单元和处理单元之类 的硬件资源分配给环境的逻辑以及将固件或OS装载入环境的代码装 载器。例如,启动顺序逻辑215可以通过将可分配资源230分配给嵌 入式环境232来初始化配置嵌入式环境232的操作。具体而言,启动 顺序逻辑215可以调用环境启动器220的资源分配器222,以将存储 器单元、处理器单元和其它硬件资源分配给嵌入式环境232。环境启 动器220可以随后装载固件以将OS装载入嵌入式环境232中或将 OS装载入嵌入式环境232中。在许多实施例中,资源隐藏器224可 以隐藏嵌入式环境的硬件资源。在一些实施例中,在将固件或OS装 载入嵌入式环境232后,资源隐藏器224可以隐藏资源,而在另一些 实施例中,在装载并核实嵌入式环境232的当前完整性度量之前,资 源隐藏器224可以隐藏资源。资源隐藏器224可以经由硬件中可用的 方案,例如在初始化OS期间通过封锁OS发现资源的能力,从而隐 藏资源。[0054】在将固件或OS装载入嵌入式环境232后,在给嵌入式环境232 的固件或OS提供来自受保护存储器260的密钥263之前,可信度核 实模块250可以用完整性度量262核实嵌入式环境232的当前完整性 度量。如果可信度核实模块250核实了嵌入式环境232的当前完整性 度量,嵌入式环境232的固件或OS就可以利用密钥263对在嵌入式
环境232中使用的受保护内容242进行解密。在一些实施例中,密钥 263也可以用于加密数据和/或进程并将其存储到受保护的内容242 中。在其它实施例中,嵌入式环境232可以经由可信度核实模块250 来修改受保护的内容242中的内容或为其加密新的内容。 [0055】在多个实施例中,启动顺序逻辑215可以至少始于在配置或启 动嵌入式环境232时启动主环境234。例如,启动顺序逻辑215可以 在基本上与配置嵌入式分区232的同时配置主环境234。在其它一些 实施例中,启动顺序逻辑215可以始于在核实嵌入式环境232的当前 完整性度量之后配置主环境234。在几个实施例中,在启动主环境234 中的OS之前,可以配置和/或启动多于一个的诸如嵌入式环境232 之类的嵌入式环境。[0056】启动顺序逻辑215可以以与启动嵌入式环境232相似的方式初 始化对主环境234的启动。例如,启动顺序逻辑215可以指示环境启 动器220以配置主环境234的硬件资源,并随后装载可以被认证以初 始化主环境234中的信任链条的代码。信任链条可以包括主环境234 中的受保护的核心,其包括可信OS内核、可信进禾呈和/或来自受保护 内容244的数据。【0057】在建立并隐藏受保护的核心后,可以在主环境234内在受保护 的核心之外的资源中启动OS。例如OS可以是通用OS。在其它实施 例中,OS可以是专用的OS,例如用于控制数字视频记录机(DVR) 的机械功能的OS。例如,DVR可以包括记录电视节目的硬盘以及具 有便于访问优质视频内容的功能的受保护的核心。专用OS可以包括 接收并翻译来自用户用于播放或记录数字视频内容的指令的逻辑,而 受保护的核心中的OS内核可以包括与专用OS进行交互的功能,以 购买并播放优质的数字视频内容。在这些实施例中,嵌入式环境232 可以例如包括下载、翻译并使优质的数字视频内容流入受保护的核 心。[0058】可分配的资源230指的是可以分配给诸如嵌入式环境232和主 环境234之类的运行时间环境的逻辑和/或物理硬^牛资源。可分配的 资源230可以包括处理器核心、RAM、 ROM存储器控制中心、I/O
控制器中心、总线和I/O接口等等。10059】可分配的资源230包括嵌入式环境232、主环境234、受保护 的内容242和受保护的内容244。嵌入式环境232可以代表包括嵌入 式运行时间环境的硬件和代码。相似地,主环境234可以包括硬件和 占据系统200的主分区的代码。受保护的内容242可以包括数据和/ 或进程,当核实嵌入式环境232的当前完整性度量后,嵌入式环境 232使用所述数据和/或进程。受保护的内容242被加密,并可以经由 密钥263来解密。受保护的内容244可以包括数据和/或进程,当核 实主环境234的当前完整性度量后,主环境234使用所述的数据和/ 或进程,或者至少主环境234的受保护核心使用所述的数据和/或进 程。受保护的内容244被加密,并可以经由密钥265来解密。 [00601可信度核实模块250包括诸如软件和/或硬件之类的逻辑,以 用于在释放诸如密钥263和265之类的密钥之前,核实环境的当前完 整性度量。诸如密钥263和265之类的密钥使相应的环境能够访问数 据和/或进程,所述数据和/或进程(例如受保护的内容242和受保护 的内容244)存储在例如如下装置的受保护的数据存储区域中:硬盘、 RAM、闪存、或其它非易失性或易失性存储器。在某些实施例中, 可信度核实模块包括TPM,例如结合图1所描述的TPM。 [0061】可信度核实模块250包括完整性度量测量器252、受保护的存 储访问器254、受保护的存储器260、经核准的环境标识符270以及 密钥生成器272。完整性度量测量器252可以测量诸如嵌入式环境232 之类的运行时间环境的当前完整性度量,并将完整性度量传递给受保 护的存储访问器254。完整性度量测量器252可以测量诸如与运行时 间环境相关的软件和硬件分配之类的完整性度量,以生成环境的概 要,其以实质上唯一的方式标识该环境。如果例如通过将病毒或硬件 引入环境中而改变运行时间环境的代码或硬件配置,则测量完整性度 量的进程会导致不同的测量结果。在一些实施例中,测量反映了对环 境轻微的改变,例如分配不同的物理或逻辑存储器块、不同的通信信 道等。【0062]受保护的存储访问器254可以从完整性度量测量器252接收完 整性度量,以及将该度量与受保护的存储器260中的度量进行核实, 或者将度量存储在受保护的存储器260中。例如,如果经核准的环境 (AE)标识符270表明运行时间环境(例如嵌入式环境232)是用于 存储可信完整性度量262的经核准的环境,则密钥生成器272可以生 成密钥263用于对受保护的内容242进行加密,以及受保护的存储访 问器254的加密模块258可以使用完整性度量262对密钥263进行加 密。于是,受保护的存储访问器254可以在受保护的存储器260中存 储密钥263。【00631另一方面,如果AE标识符没有将嵌入式环境232识别为测量 可信完整性度量262的经核准的环境,则受保护的存储访问器254的 解密模块256可以将嵌入式环境232的测量结果的完整性度量与完整 性度量262进行比较,以确定是否给嵌入式环境提供密钥263。如果 当前完整性度量与完整性度量262不匹配,则不会将密钥263返回给 嵌入式环境232。[0064】受保护的存储器260可以包括寄存器或其它存储器以存储用 完整性度量密封的密钥。在许多实施例中,受保护的存储器260对可 信度核实模块250外部的硬件来讲是不可访问的。在其它一些实施例 中,访问受保护的存储器260基本上限于经由受保护的存储访问器 254进行访问。【00651受保护的存储器260可以包括由完整性度量262和264代表的 寄存器。在许多实施例中,寄存器中的至少一个被指定由制造商使用 和/或不被OS或其它这种软件使用。[00661 AE标识符270可以包括识别经核准的环境(例如结合图1描 述的MAE)的逻辑。经核准的环境可以是通过引入硬件或一个或多 个信号而创建的环境。在许多实施例中,经核准的环境仅在系统200 的制造时完成。在其它实施例中,经核准的环境可以在系统200制造 后或部署后完成。[0067】密钥生成器272可以包括创建加密密钥的生成器。例如,密钥 生成器272可以生成40位密钥、128位密钥或512位密钥等,以对 受保护的内容242和244的数据和进程进行加密。密钥可以是对称或
非对称的,例如在许多当前的密码应用中实现的公钥和私钥。【00681图3示出了启动一个或多个可信、共存的分区的实施例的流程 图300。具体而言,流程图300示出了以可信方式在分区中配置运行 时间环境以及在诸如结合图1所描述的处理系统之类的处理系统的 分区内启动操作系统的过程。流程图300起始于配置嵌入式环境(步 骤310)。配置所述嵌入式环境可以涉及将硬件资源分配或分派给分 区,将固件或软件装载入分区中,以及在某些实施例中,隐藏分区的 硬件资源。例如,配置嵌入式环境可以涉及将一部分的RAM分配给 物理或逻辑单元中的嵌入式系统,将一部分处理周期分配给物理或逻 辑单元中的嵌入式系统,分配多个用于通信的物理禾tl/或逻辑端口以 及将其它资源分配给嵌入式环境。【0069】 一旦配置了嵌入式环境,诸如TPM之类的可信度核实模块就 可以测量嵌入式环境的当前完整性度量(步骤315)。测量所述嵌入 式环境可以包括对环境的软件和硬件资源应用散列法以创建环境的 概要。[0070】在测量当前的完整性度量后,可信度核实模块可以将嵌入式环 境的当前的完整性度量扩展到可信度核实模块的寄存器中(步骤 320)。将当前的完整性度量扩展到寄存器中需要使用寄存器的内容对 当前的完整性度量应用散列法。如果当前的完整性度量与嵌入式环境 的可信完整性度量相匹配(步骤325),则可信度核实模块可以释放 密钥,嵌入式环境可以随后解密在嵌入式环境中使用的受保护内容 (步骤330)。[0071】另一方面,如果当前完整性度量与嵌入式环境的可信完整性度 量不匹配(步骤325),则可信度核实模块就不会释放密钥,嵌入式 环境不会对受保护的内容进行解密。在本实施例中,对密钥的请求随 后会被忽略,嵌入式环境不可以访问受保护的内容,直到处理系统重 启或复位为止。在其它实施例中,可以重新建立或重新配置嵌入式环 境,并进行一次或可能的多次尝试来匹配可信的完整性度量。 【0072】在本实施例中, 一旦嵌入式环境的完整性度量核实成功或失 败,如果预定要启动更多的嵌入式环境,则分区管理器可以从步骤310重新开始该过程(步骤335)。如果没有其它的要启动的嵌入式环 境,则分区管理器初始化主环境的配置(步骤340)。在其它实施例 中,可以基本上同时配置和/或启动嵌入式环境。在进一步的实施例 中,也可以基本上同时配置主分区。但是,在一些实施例中,在启动 嵌入式环境之前,不会启动主环境的OS。【00731 —旦配置了主环境或主环境的至少受保护核心,诸如TPM之 类的可信度核实模块就可以测量主环境的当前完整性度量(步骤 345)。对主环境迸行测量包括对环境的软件和硬件资源应用散列法, 以创建环境的概要。[0074】在测量当前的完整性度量后,可信度核实模块(TVM)可以 将当前完整性度量扩展到可信度核实模块的寄存器中(步骤350)。 将当前完整性度量扩展到寄存器中需要使用寄存器的内容对当前完 整性度量应用散列法。如果当前的完整性度量与主环境的可信完整性 度量相匹配,则可信度核实模块可以释放密钥,主环境随后就可以解 密在主环境的受保护核心内使用的受保护内容并启动主环境中的OS (步骤355)。[0075]图4示出了便于同时启动一个或多个可信分区的实施例的流 程图400。流程图400描述了在处理系统上或由处理系统执行的操作, 所述操作用于建立各种环境的可信完整性度量以在处理系统上共存。 流程图400起始于激活经制造商核准的环境(步骤410)。例如,激 活经制造商核准的环境涉及将处理系统的主板上的两个或更多个触 点相互电连接,在主板的特定点上引入特定的信号或信号模式,或其 它过程。[0076】在激活MAE或与建立MAE基本上同时激活MAE后,处理 系统可以启动第一运行时间环境的可信版本(步骤415)。例如,可 以将光盘(CD)插入处理系统的驱动器中,以配置第一环境并为第 一环境安装干净、可信的软件版本。处理系统的TPM可以随后测量 第一环境的完整性度量(步骤420)并生成第一环境的第一密钥。在 生成第一密钥后,TPM在诸如PCR7之类的平台配置寄存器(PCR) 中用第一环境的完整性度量密封第一密钥(步骤425)。在一些实施200710153796.4说明书第20/21页例中,第一环境的完整性度量可以被存储在PCR7中,这是因为PCR7 的内容基本上用于控制处理系统或至少其重要组件(例如处理器和芯 片组)的制造。[0077】在激活MAE或与建立MAE基本上同时激活MAE后,处理 系统还可以启动第二运行时间环境的可信版本(步骤430)。例如, 光盘(CD)也可以配置第二环境并为第二环境安装干净、可信的软 件版本。随后,处理系统的TPM可以测量第二环境的完整性度量(步 骤435)并生成第二环境的第二密钥。在生成第二密钥后,TPM在诸 如PCR4之类的平台配置寄存器(PCR)中用第二环境的完整性度量 密封第二密钥(步骤440)。[0078】将本发明的另一个实施例实现为程序产品,该程序产品与系统 一起使用以执行过程,例如结合图1所示的系统100或图2-4中的其 它实施例所描述的过程。程序产品的程序定义了实施例的功能(包括 本文所描述的方法),其被包含在各种数据和/或信号承载媒体(通常 被称作机器可访问媒体)上。示例性的数据和/或信号承载媒体包括 但不限于:(i)永久存储在不可写存储媒体上的信息(例如计算机内 的只读存储器设备,像可由CD-ROM驱动器读取的CD-ROM盘); (ii)存储在可写存储媒体上的可改写信息(例如,通用串行总线 (USB)闪存驱动器或硬盘驱动器);(iii)通过通信介质(例如通过 包括无线通信在内的计算机或电话网络)传输给计算机的信息。后一 实施例特别包括从因特网和其它网络下载的信息。当这种数据和/或 信号承载媒体带有实现本发明的功能的计算机可读指令时,其表示本 发明的实施例。【0079】通常而言,用于实现本发明的实施例的程序可以是操作系统或 特定应用、组件、程序、模块、对象或指令序列的一部分。本发明的 计算机程序一般包括大量的指令,这些指令被计算机翻译成机器可读 格式的可执行的指令。而且,程序包括变量和数据结构,所述变量和 数据结构宿于本地的程序中,或宿于存储器或存储设备中。此外,权 利要求书中描述的各种程序可以基于应用程序而被识别,在本发明的 特定实施例中针对应用而实施程序。但是,应该理解的是,仅为了方27
便而使用了权利要求书中的特定程序的命名,因此本发明并不限于仅 使用由这种命名表示和/或表明的任何特定应用。[0080】通过阅读本文,本领域技术人员显然可以理解,本发明涵盖了 在处理系统上启动可信、共存的运行时间环境的系统和装置。应该理 解的是,所展示和描述的本发明的形式以及说明书和附图仅作为示 例。应以广义的方式解释所附的权利要求书,以涵盖所披露的实施例 的所有变化。[00811尽管前面已经详细地描述了本发明的一些实施例,但应该理解 的是,在不背离由所附的权利要求界定的本发明精神和保护范围的前 提下,可以对这些实施例进行各种各样的更改、替换和替代。尽管本 发明的实施例可以实现多个目的,但不是落入所附的权利要求的范围 内的每一实施例都获得了每一目的。此外,本发明的范围并不受限于 本文中描述的过程、机器、制造、物质组合、模块、方法和步骤的特 定实施例。本领域普通技术人员通过阅读本文很容易理解的是,与本 文中描述的相应实施例相比,当前存在或日后发展的过程、机器、制 造、物质组合、模块、方法和步骤执行基本上相同的功能或实现基本 上相同的结果,其均可以根据本发明而使用。因此,所附的权利要求 包括落入其范围内的诸如过程、机器、制造、物质组合、模块、方法 和步骤之类的所有内容。

Claims (30)

1、一种在处理系统上启动多个运行时间环境的方法,所述方法包括: 配置第一运行时间环境,所述第一运行时间环境基于预定的完整性度量来管理对所述第一运行时间环境的受保护内容的访问; 用所述第一运行时间环境的可信完整性度量来核实所述第一运行时间环境的当前完整性度量; 响应于所述核实,对所述第一运行时间环境的受保护内容进行解密; 在核实所述第一运行时间环境的当前完整性度量之后,启动第二运行时间环境,如果核实了所述第二运行时间环境的当前完整性度量,所述第二运行时间环境就与所述第一运行时间环境共存于所述处理系统上。
2、 如权利要求1所述的方法,其中,配置所述第一运行时间环 境包括:执行分区管理器。
3、 如权利要求1所述的方法,其中,配置所述第一运行时间环 境包括:将资源分配给所述第一运行时间环境, 将分配给所述第一运行时间环境的资源隐藏起来。
4、 如权利要求1所述的方法,其中,配置所述第一运行时间环 境包括:建立通向所述第一运行时间环境中的可信通信信道。
5、 如权利要求1所述的方法,其中,用所述第一运行时间环境的可信完整性度量来核实所述第一运行时间环境的当前完整性度量包括:测量所述第一运行时间环境的当前完整性度量; 将所述当前完整性度量扩展到可信平台模块的平台配置寄存器7 (PCR7)中,以便将所述当前完整性度量与所述可信完整性度量进 行比较。
6、 如权利要求l所述的方法,其中,对所述受保护内容进行解 密包括:对密钥进行解密,用所述密钥对所述受保护内容进行解密。
7、 如权利要求1所述的方法,其中,启动所述第二运行时间环境包括:配置所述第二运行时间环境;用所述第二运行时间环境的可信完整性度量来核实所述第二运 行时间环境的当前完整性度量;响应于对所述第二运行时间环境的当前完整性度量进行所述核 实,对所述第二运行时间环境的受保护要素进行解密。
8、 如权利要求l所述的方法,其中,启动所述第二运行时间环 境包括:将对所述处理系统的资源的控制权让渡给所述第二运行时间环 境的操作系统。
9、 如权利要求1所述的方法,其中,启动所述第二运行时间环 境包括:配置与所述第一运行时间环境共存的主运行时间环境; 测量所述主运行时间环境;将所述主运行时间环境的散列信息扩展到可信平台模块的PCR4中。
10、 如权利要求l所述的方法,其中,启动所述第二运行时间环 境包括:配置与所述第一运行时间环境共存的嵌入式运行时间环境; 测量其它嵌入式运行时间环境;将所述其它嵌入式运行时间环境的散列信息扩展到PCR7中。
11、 一种初始化处理系统以启动两个或更多个运行时间环境的方 法,所述方法包括:激活经核准的环境; 启动第一运行时间环境的可信版本;测量所述第一运行时间环境的可信版本的可信完整性度量,其 中,所述可信版本的可信度基于所述经核准的环境的激活;用所述可信完整性度量将第一密钥密封在可信平台模块的第一 平台配置寄存器中;用第二运行时间环境的完整性度量将第二密钥密封在所述可信 平台模块的另一个平台配置寄存器中。
12、 如权利要求ll所述的方法,还包括:针对一个或多个其它的运行时间环境,将一个或多个其它的密钥 密封在所述第一平台配置寄存器中,其中,将对所述第一平台配置寄 存器的内容的控制权指定给所述处理系统的制造商。
13、 如权利要求11所述的方法,其中,激活所述经核准的环境 包括:将所述处理系统的电路板上的触点相连接。
14、 如权利要求11所述的方法,其中,密封所述第一密钥包括:使用所述第一运行时间环境的可信版本的散列信息来加密所述 第一密钥。
15、 如权利要求14所述的方法,其中,密封所述第一密钥包括:将所述第一运行时间环境的可信版本的散列信息扩展到平台配 置寄存器7 (PCR7)中。
16、 如权利要求ll所述的方法,其中,密封所述第二密钥包括:将所述第二运行时间环境的可信版本的散列信息扩展到平台配置寄存器4 (PCR4)中。
17、 如权利要求ll所述的方法,其中,启动所述可信版本包括:对于分配给所述第一运行时间环境的资源,实现硬件强制隔离方案。
18、 一种启动可信的共存环境的系统,所述系统包括:至少支持第一环境和第二环境的分区的资源,所述资源包括具有第一受保护区域和第二受保护区域的数据存储器;包括第一寄存器和第二寄存器的可信度核实模块,所述可信度核 实模块响应于对所述第一环境的测量结果的核实而将第一密钥解封 和响应于对所述第二环境的测量结果的核实而将第二密钥解封;分区管理器,请求将所述第一环境的测量结果扩展到所述第一寄 存器中,用所述第一密钥对所述第一受保护区域中的数据进行解密, 请求将所述第二环境的测量结果扩展到所述第二寄存器中,用所述第 二密钥对所述第二受保护区域中的数据进行解密。
19、 如权利要求18所述的系统,其中,所述数据存储器包括: 硬盘的主机保护访问(HPA)区。
20、 如权利要求18所述的系统,其中,所述可信度核实模块包括:具有多个平台配置寄存器的可信平台模块,其中,所述第一寄存 器包括平台配置寄存器7 (PCR7)。
21、 如权利要求20所述的系统, 台配置寄存器4 (PCR4)。
22、 如权利要求18所述的系统,件。
23、 如权利要求18所述的系统, 述系统中的处理器的微代码。其中,所述第二寄存器包括平 其中,所述分区管理器包括固 其中,所述分区管理器包括所
24、 如权利要求18所述的系统,其中,所述分区管理器包括: 在将对剩余资源的控制权让渡给所述第二环境中的操作系统之前启动所述第一环境和一个或多个其它共存环境的逻辑。
25、 一种包括指令的机器可访问介质,所述指令当被存储设备执 行时,使所述存储设备执行多项操作,所述操作包括:在处理系统上配置第一环境,所述第一环境用于管理对所述第一环境的受保护内容的访问;测量所述第一运行时间环境的当前完整性度量; 将所述第一环境的当前完整性度量扩展到第一寄存器中,以将所述第一环境的当前完整性度量与所述第一环境的可信完整性度量进行比较,从而在对所述第一环境的当前完整性度量进行核实后访问第一密钥;用所述第一密钥对所述第一环境的受保护内容进行解密; 在对所述第一环境的当前完整性度量进行核实后,启动第二环境,如果核实了所述第二环境的当前完整性度量,所述第二环境就与所述第一环境共存于所述处理系统上。
26、 如权利要求25所述的机器可访问介质,其中,所述操作还 包括:在扩展一个或多个其它环境的当前完整性度量之后,接收一个或 多个其它运行时间环境的一个或多个其它密钥。
27、 如权利要求25所述的机器可访问介质,其中,配置所述第 一运行时间环境包括.-将分配给所述第一运行时间环境的资源隐藏起来。
28、 如权利要求25所述的机器可访问介质,其中,扩展所述第一环境的当前完整性度量包括-将所述当前完整性度量扩展到可信平台模块的平台配置寄存器7 (PCR7)中。
29、 如权利要求25所述的机器可访问介质,其中,启动所述第 二运行时间环境包括:配置与所述第一运行时间环境共存的主运行时间环境; 测量所述主运行时间环境;将所述主运行时间环境的散列信息扩展到可信平台模块的PCR4中。
30、 如权利要求25所述的机器可访问介质,其中,启动所述第 二运行时间环境包括:配置与所述第一运行时间环境共存的嵌入式运行时间环境; 测量其它嵌入式运行时间环境;将所述其它嵌入式运行时间环境的散列信息扩展到PCR7中。
CN2007101537964A 2006-09-26 2007-09-25 启动可信共存环境的方法和装置 Expired - Fee Related CN101154256B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/527,180 2006-09-26
US11/527,180 US8510859B2 (en) 2006-09-26 2006-09-26 Methods and arrangements to launch trusted, co-existing environments

Publications (2)

Publication Number Publication Date
CN101154256A true CN101154256A (zh) 2008-04-02
CN101154256B CN101154256B (zh) 2012-08-22

Family

ID=38750411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101537964A Expired - Fee Related CN101154256B (zh) 2006-09-26 2007-09-25 启动可信共存环境的方法和装置

Country Status (4)

Country Link
US (2) US8510859B2 (zh)
EP (1) EP1906333B1 (zh)
KR (1) KR100989977B1 (zh)
CN (1) CN101154256B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102334140A (zh) * 2009-02-27 2012-01-25 微软公司 基于可信实体的反欺诈机制
CN102567233A (zh) * 2011-12-23 2012-07-11 福建升腾资讯有限公司 基于磁盘虚拟技术的usb存储设备数据保护方法
CN103607645A (zh) * 2013-11-22 2014-02-26 深圳市九洲电器有限公司 一种机顶盒防盗版方法和机顶盒
CN103971057A (zh) * 2014-04-17 2014-08-06 兴唐通信科技有限公司 一种移动通信智能终端的可信路径实现方法及系统
CN104428789A (zh) * 2012-07-23 2015-03-18 高通股份有限公司 用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备
CN104903854A (zh) * 2012-12-14 2015-09-09 国际商业机器公司 用于检测虚拟化环境的用户可信设备
CN107870788A (zh) * 2016-09-26 2018-04-03 展讯通信(上海)有限公司 多可信执行环境下终端设备的启动方法和终端设备
CN108351937A (zh) * 2015-12-18 2018-07-31 英特尔公司 计算设备
CN109074458A (zh) * 2016-07-28 2018-12-21 惠普发展公司,有限责任合伙企业 代码包变体

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634799B2 (en) * 2006-07-10 2009-12-15 Dell Products L.P. Method for updating system BIOS after service event in order to support re-enablement of an O.C.U.R. device
US8510859B2 (en) 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US20080270652A1 (en) * 2007-04-30 2008-10-30 Jeffrey Kevin Jeansonne System and method of tamper-resistant control
US8627406B2 (en) * 2007-07-31 2014-01-07 Bull S.A.S Device for protection of the data and executable codes of a computer system
KR100932274B1 (ko) * 2007-12-18 2009-12-16 한국전자통신연구원 이동 단말기의 소프트웨어 무결성 검증 장치 및 그 방법
US7802042B2 (en) * 2007-12-28 2010-09-21 Intel Corporation Method and system for handling a management interrupt event in a multi-processor computing device
US8474037B2 (en) 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
US8793477B2 (en) * 2008-02-12 2014-07-29 Mcafee, Inc. Bootstrap OS protection and recovery
GB2470880B (en) * 2008-04-16 2013-04-10 Lenovo Singapore Pte Ltd Apparatus and method for enabling applications on a security processor
US20090307705A1 (en) * 2008-06-05 2009-12-10 Neocleus Israel Ltd Secure multi-purpose computing client
JP5035182B2 (ja) * 2008-08-27 2012-09-26 富士通株式会社 アクセス制御システム、アクセス制御方法、アクセス制御プログラム、及びアクセス制御プログラムを記録した記録媒体
US8954897B2 (en) 2008-08-28 2015-02-10 Microsoft Corporation Protecting a virtual guest machine from attacks by an infected host
US8365274B2 (en) * 2008-09-11 2013-01-29 International Business Machines Corporation Method for creating multiple virtualized operating system environments
US8127146B2 (en) * 2008-09-30 2012-02-28 Microsoft Corporation Transparent trust validation of an unknown platform
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8468344B2 (en) * 2009-05-26 2013-06-18 Raytheon Company Enabling multi-level security in a single-level security computing system
US8745385B2 (en) * 2009-06-24 2014-06-03 Raytheon Company System and method for protecting data with multiple independent levels of security
US9069591B1 (en) * 2009-09-10 2015-06-30 Parallels IP Holding GmbH Patching host OS structures for hardware isolation of virtual machines
US8499304B2 (en) * 2009-12-15 2013-07-30 At&T Mobility Ii Llc Multiple mode mobile device
US8510569B2 (en) * 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
GB2482811B (en) * 2009-12-16 2017-07-05 Intel Corp Providing integrity verification and attestation in a hidden execution environment
US9058183B2 (en) 2009-12-29 2015-06-16 Advanced Micro Devices, Inc. Hypervisor isolation of processor cores to enable computing accelerator cores
DE102010025652A1 (de) 2010-02-23 2011-08-25 Rohde & Schwarz GmbH & Co. KG, 81671 Kommunikationssystem mit einem statischen Separation-Kernel-Betriebssystem und zugehöriges Betriebsverfahren
US9355282B2 (en) * 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
US8943329B2 (en) * 2010-03-29 2015-01-27 Lenovo (Singapore) Pte. Ltd. Method and apparatus for sharing an integrity security module in a dual-environment computing device
CN101872304A (zh) * 2010-06-10 2010-10-27 复旦大学 基于集群化操作系统技术提高众核应用程序可伸缩性的方法
US8607039B2 (en) 2010-08-17 2013-12-10 International Business Machines Corporation Isolation of device namespace to allow duplicate/common names in root volume group workload partitions
WO2012092706A1 (en) * 2011-01-04 2012-07-12 Motorola Mobility, Inc. Hybrid operating system media integration
JP2014170255A (ja) * 2011-06-29 2014-09-18 Panasonic Corp セキュアブート方法
EP2798559B1 (en) 2011-12-29 2019-03-13 Intel Corporation Methods and apparatus for trusted boot optimization
TWI464583B (zh) * 2012-03-02 2014-12-11 Wistron Corp 取得觸發功能之指令的方法
US9824131B2 (en) 2012-03-15 2017-11-21 Hewlett Packard Enterprise Development Lp Regulating a replication operation
CN103023922B (zh) * 2012-12-05 2014-07-02 清华大学 基于控制流模型行为的动态远程证明方法
US10496490B2 (en) 2013-05-16 2019-12-03 Hewlett Packard Enterprise Development Lp Selecting a store for deduplicated data
CN105339929B (zh) 2013-05-16 2019-12-03 慧与发展有限责任合伙企业 选择用于取消重复数据的存储
US9563457B2 (en) 2013-11-18 2017-02-07 Bitdefender IPR Management Ltd. Enabling a secure environment through operating system switching
US9734325B1 (en) * 2013-12-09 2017-08-15 Forcepoint Federal Llc Hypervisor-based binding of data to cloud environment for improved security
WO2015137978A1 (en) 2014-03-14 2015-09-17 Hewlett Packard Development Company, L.P. Semantic restriction
WO2015137975A1 (en) 2014-03-14 2015-09-17 Hewlett Packard Development Company, L.P. Resource restriction
US9467299B1 (en) 2014-03-19 2016-10-11 National Security Agency Device for and method of controlled multilevel chain of trust/revision
US9467298B1 (en) 2014-03-19 2016-10-11 National Security Agency Device for and method of multilevel chain of trust/revision
US9319380B2 (en) 2014-03-20 2016-04-19 Bitdefender IPR Management Ltd. Below-OS security solution for distributed network endpoints
US10659523B1 (en) 2014-05-23 2020-05-19 Amazon Technologies, Inc. Isolating compute clusters created for a customer
WO2015185071A1 (en) * 2014-06-04 2015-12-10 Giesecke & Devrient Gmbh Method for enhanced security of computational device with multiple cores
FR3024915B1 (fr) * 2014-08-18 2016-09-09 Proton World Int Nv Dispositif et procede pour assurer des services de module de plateforme securisee
WO2016048300A1 (en) * 2014-09-24 2016-03-31 Hewlett Packard Enterprise Development Lp Operating system agnostic validation of firmware images
CN105528306B (zh) * 2014-09-28 2019-01-25 宇龙计算机通信科技(深圳)有限公司 一种双系统终端的数据读写方法及双系统终端
FR3029311B1 (fr) 2014-11-27 2017-01-06 Thales Sa METHOD FOR MANAGING AN ARCHITECTURE AND ASSOCIATED ARCHITECTURE
US9424067B2 (en) 2014-12-11 2016-08-23 Amazon Technologies, Inc. Managing virtual machine instances utilizing an offload device
US9292332B1 (en) 2014-12-11 2016-03-22 Amazon Technologies, Inc. Live updates for virtual machine monitor
US9886297B2 (en) 2014-12-11 2018-02-06 Amazon Technologies, Inc. Systems and methods for loading a virtual machine monitor during a boot process
US9400674B2 (en) 2014-12-11 2016-07-26 Amazon Technologies, Inc. Managing virtual machine instances utilizing a virtual offload device
US9535798B1 (en) 2014-12-19 2017-01-03 Amazon Technologies, Inc. Systems and methods for maintaining virtual component checkpoints on an offload device
EP3070607B1 (en) * 2015-03-20 2020-12-09 Virtual Open Systems Compute node supporting virtual machines and services
US10211985B1 (en) * 2015-03-30 2019-02-19 Amazon Technologies, Inc. Validating using an offload device security component
US9667414B1 (en) 2015-03-30 2017-05-30 Amazon Technologies, Inc. Validating using an offload device security component
US10243739B1 (en) 2015-03-30 2019-03-26 Amazon Technologies, Inc. Validating using an offload device security component
US10063375B2 (en) 2015-04-20 2018-08-28 Microsoft Technology Licensing, Llc Isolation of trusted input/output devices
WO2016188578A1 (en) * 2015-05-28 2016-12-01 Telefonaktiebolaget Lm Ericsson (Publ) METHOD FOR ENABLING SIMULTANEOUS CONTROL OF A PLURALITY OF TPMs AND RELATED COMPONENTS
US9917687B2 (en) * 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
US10402566B2 (en) * 2016-08-01 2019-09-03 The Aerospace Corporation High assurance configuration security processor (HACSP) for computing devices
US10887290B2 (en) * 2017-09-01 2021-01-05 Orion Labs Operating environment partitioning for securing group communication device resources
EP3557463B1 (de) 2018-04-16 2020-10-21 Siemens Aktiengesellschaft Verfahren und ausführungsumgebung zum ausführen von programmcode auf einem steuergerät
CN110008708A (zh) * 2019-04-11 2019-07-12 北京可信华泰信息技术有限公司 一种主机与可信平台控制模块之间的通信方法及系统
CN110321235B (zh) * 2019-07-08 2021-03-16 北京可信华泰信息技术有限公司 基于双体系架构的可信计算平台的系统交互方法和装置

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253342A (en) 1989-01-18 1993-10-12 International Business Machines Corporation Intermachine communication services
US5414852A (en) 1992-10-30 1995-05-09 International Business Machines Corporation Method for protecting data in a computer system
US5475826A (en) 1993-11-19 1995-12-12 Fischer; Addison M. Method for protecting a volatile file using a single hash
US6385645B1 (en) 1995-08-04 2002-05-07 Belle Gate Investments B.V. Data exchange system comprising portable data processing units
JPH10512074A (ja) 1995-02-13 1998-11-17 インタートラスト テクノロジーズ コーポレイション 安全な取引管理および電子権利保護のためのシステムおよび方法
US6035399A (en) 1995-04-07 2000-03-07 Hewlett-Packard Company Checkpoint object
US5619658A (en) 1995-05-15 1997-04-08 Nvidia Corporation Method and apparatus for trapping unimplemented operations in input/output devices
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US6189035B1 (en) 1998-05-08 2001-02-13 Motorola Method for protecting a network from data packet overload
US6425014B1 (en) 1999-09-22 2002-07-23 International Business Machines Corporation Methods, systems and computer program products for providing network connection information in a cluster of data processing systems
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
GB0028079D0 (en) * 2000-11-17 2001-01-03 Imperial College System and method
US7313824B1 (en) 2001-07-13 2007-12-25 Liquid Machines, Inc. Method for protecting digital content from unauthorized use by automatically and dynamically integrating a content-protection agent
US20030061494A1 (en) * 2001-09-26 2003-03-27 Girard Luke E. Method and system for protecting data on a pc platform using bulk non-volatile storage
US7266810B2 (en) * 2002-04-09 2007-09-04 Hewlett-Packard Development Company, Lp. Runtime profiling of platform-independent software applications
JP4066325B2 (ja) * 2002-06-07 2008-03-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザデータのバックアップ方法
US7802234B2 (en) * 2003-01-02 2010-09-21 Oracle International Corporation Integration of context-sensitive runtime metrics into integrated development environments
US20050034124A1 (en) * 2003-03-27 2005-02-10 House Eric Edward Mechanism for simultaneously operating multiple applications on a personal digital assistant implementing a palm operating system
US7658874B2 (en) * 2003-07-30 2010-02-09 E.I. Du Pont De Nemours And Company Polymer pelletization process and apparatus
US20050081065A1 (en) * 2003-10-14 2005-04-14 Ernie Brickell Method for securely delegating trusted platform module ownership
US20050114870A1 (en) * 2003-11-21 2005-05-26 Song Dong H. System and method for executing an application on a secured run-time environment
US7581097B2 (en) 2003-12-23 2009-08-25 Lenovo Pte Ltd Apparatus, system, and method for secure communications from a human interface device
US7222062B2 (en) 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7716494B2 (en) 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
US20060026418A1 (en) * 2004-07-29 2006-02-02 International Business Machines Corporation Method, apparatus, and product for providing a multi-tiered trust architecture
US7478246B2 (en) 2004-07-29 2009-01-13 International Business Machines Corporation Method for providing a scalable trusted platform module in a hypervisor environment
US7574610B2 (en) 2004-09-30 2009-08-11 Microsoft Corporation Security state watcher
US8274518B2 (en) 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US7725703B2 (en) 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
JP4489030B2 (ja) 2005-02-07 2010-06-23 株式会社ソニー・コンピュータエンタテインメント プロセッサ内にセキュアな起動シーケンスを提供する方法および装置
US7587595B2 (en) 2005-05-13 2009-09-08 Intel Corporation Method and apparatus for providing software-based security coprocessors
US7636442B2 (en) * 2005-05-13 2009-12-22 Intel Corporation Method and apparatus for migrating software-based security coprocessors
US8074262B2 (en) * 2005-05-13 2011-12-06 Intel Corporation Method and apparatus for migrating virtual trusted platform modules
US7613921B2 (en) 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US7571312B2 (en) 2005-05-13 2009-08-04 Intel Corporation Methods and apparatus for generating endorsement credentials for software-based security coprocessors
US8806224B2 (en) 2005-06-28 2014-08-12 Intel Corporation Low cost trusted platform
WO2007038522A2 (en) * 2005-09-27 2007-04-05 Morgan Stanley Host build and rebuild system and method
JP4769608B2 (ja) 2006-03-22 2011-09-07 富士通株式会社 起動検証機能を有する情報処理装置
KR100891325B1 (ko) 2006-05-26 2009-03-31 삼성전자주식회사 TSS(TPM Software Stack)에서의 키캐쉬(key cache) 관리 방법
US8510859B2 (en) 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments
US8364975B2 (en) 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
US8209542B2 (en) 2006-12-29 2012-06-26 Intel Corporation Methods and apparatus for authenticating components of processing systems
US9280659B2 (en) 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
US20080235754A1 (en) 2007-03-19 2008-09-25 Wiseman Willard M Methods and apparatus for enforcing launch policies in processing systems
US8276201B2 (en) 2007-03-22 2012-09-25 International Business Machines Corporation Integrity protection in data processing systems
US7945786B2 (en) 2007-03-30 2011-05-17 Intel Corporation Method and apparatus to re-create trust model after sleep state
US8060876B2 (en) 2007-08-10 2011-11-15 Intel Corporation Methods and apparatus for creating an isolated partition for a virtual trusted platform module
US8064605B2 (en) 2007-09-27 2011-11-22 Intel Corporation Methods and apparatus for providing upgradeable key bindings for trusted platform modules
US8584229B2 (en) 2007-12-21 2013-11-12 Intel Corporation Methods and apparatus supporting access to physical and virtual trusted platform modules
US20090172639A1 (en) 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102334140B (zh) * 2009-02-27 2016-08-03 微软技术许可有限责任公司 用于防止欺诈的方法、装置和系统
US9805196B2 (en) 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
CN102334140A (zh) * 2009-02-27 2012-01-25 微软公司 基于可信实体的反欺诈机制
CN102567233A (zh) * 2011-12-23 2012-07-11 福建升腾资讯有限公司 基于磁盘虚拟技术的usb存储设备数据保护方法
CN102567233B (zh) * 2011-12-23 2014-07-02 福建升腾资讯有限公司 基于磁盘虚拟技术的usb存储设备数据保护方法
CN104428789B (zh) * 2012-07-23 2018-06-01 高通股份有限公司 用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备
CN104428789A (zh) * 2012-07-23 2015-03-18 高通股份有限公司 用于阻止安全启动过程期间的基于时序的假信号攻击的方法及设备
CN104903854A (zh) * 2012-12-14 2015-09-09 国际商业机器公司 用于检测虚拟化环境的用户可信设备
CN104903854B (zh) * 2012-12-14 2018-04-24 国际商业机器公司 用户可信设备及其引导计算机的方法
US10318724B2 (en) 2012-12-14 2019-06-11 International Business Machines Corporation User trusted device for detecting a virtualized environment
US10229261B2 (en) 2012-12-14 2019-03-12 International Business Machines Corporation User trusted device for detecting a virtualized environment
CN103607645B (zh) * 2013-11-22 2017-06-23 深圳市九洲电器有限公司 一种机顶盒防盗版方法和机顶盒
CN103607645A (zh) * 2013-11-22 2014-02-26 深圳市九洲电器有限公司 一种机顶盒防盗版方法和机顶盒
CN103971057A (zh) * 2014-04-17 2014-08-06 兴唐通信科技有限公司 一种移动通信智能终端的可信路径实现方法及系统
CN103971057B (zh) * 2014-04-17 2017-12-19 兴唐通信科技有限公司 一种移动通信智能终端的可信路径实现方法及系统
CN108351937A (zh) * 2015-12-18 2018-07-31 英特尔公司 计算设备
CN109074458A (zh) * 2016-07-28 2018-12-21 惠普发展公司,有限责任合伙企业 代码包变体
CN107870788A (zh) * 2016-09-26 2018-04-03 展讯通信(上海)有限公司 多可信执行环境下终端设备的启动方法和终端设备
CN107870788B (zh) * 2016-09-26 2020-10-02 展讯通信(上海)有限公司 多可信执行环境下终端设备的启动方法和终端设备

Also Published As

Publication number Publication date
KR20080028340A (ko) 2008-03-31
US20080077993A1 (en) 2008-03-27
US20130326216A1 (en) 2013-12-05
EP1906333B1 (en) 2014-10-22
CN101154256B (zh) 2012-08-22
EP1906333A3 (en) 2010-11-10
KR100989977B1 (ko) 2010-10-26
EP1906333A2 (en) 2008-04-02
US9235707B2 (en) 2016-01-12
US8510859B2 (en) 2013-08-13

Similar Documents

Publication Publication Date Title
CN101154256B (zh) 启动可信共存环境的方法和装置
US10275598B2 (en) Providing a secure execution mode in a pre-boot environment
EP3582129B1 (en) Technologies for secure hardware and software attestation for trusted i/o
KR101974188B1 (ko) Arm® trustzone™ 구현을 위한 펌웨어 기반 신뢰 플랫폼 모듈
US20090007104A1 (en) Partitioned scheme for trusted platform module support
US7421588B2 (en) Apparatus, system, and method for sealing a data repository to a trusted computing platform
US8522018B2 (en) Method and system for implementing a mobile trusted platform module
KR101066727B1 (ko) 컴퓨팅 장치의 보안 부팅
CN103270518A (zh) 虚拟机验证
CN102298529A (zh) 为系统提供硅集成代码
US20110040961A1 (en) Binding data to a computing platform through use of a cryptographic module
JP4775744B2 (ja) 信頼できる共存環境をラウンチする方法およびプログラム
US10778650B2 (en) Systems and methods for management domain attestation service
US20210243030A1 (en) Systems And Methods To Cryptographically Verify An Identity Of An Information Handling System
CN113190880A (zh) 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120822

Termination date: 20190925