CN1656432A - 用于复位平台配置寄存器的系统和方法 - Google Patents

用于复位平台配置寄存器的系统和方法 Download PDF

Info

Publication number
CN1656432A
CN1656432A CN 03812033 CN03812033A CN1656432A CN 1656432 A CN1656432 A CN 1656432A CN 03812033 CN03812033 CN 03812033 CN 03812033 A CN03812033 A CN 03812033A CN 1656432 A CN1656432 A CN 1656432A
Authority
CN
Grant status
Application
Patent type
Prior art keywords
system
method
resetting
platform
configuration
Prior art date
Application number
CN 03812033
Other languages
English (en)
Other versions
CN100458641C (zh )
Inventor
J·苏顿二世
D·格劳罗克
Original Assignee
英特尔公司
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

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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

Abstract

本发明公开了用于复位和修改安全性令牌中的特殊寄存器的方法和装置。在一个实施例中,当总线上的特殊传送证明了相关联的处理器和芯片组的相互本地性时,当复位标志为真,则可以复位寄存器。也可以使用修改标志来指明是否可以修改寄存器内容。所述修改也可以取决于所述相互本地性的证明。

Description

用于复位平台配置寄存器的系统和方法

技术领域

本发明一般地涉及微处理器系统,更具体地,涉及可以在可信或安全环境中运行的微处理器系统。

背景技术

在本地或远程微计算机上进行的金融和个人交易数量的增加,推动了“可信”或“安全”微处理器环境的建立。这些环境努力解决的问题是隐私的丢失,或者数据被破坏或滥用。用户不希望其个人数据被公开。他们也不希望其数据被改变或被用于不当的交易中。这些情况的例子包括医疗记录的非故意公开,或者对在线银行或其他储蓄机构的资金的电子盗窃。类似地,内容提供者希望保护数字内容(例如,音乐,其他音频,视频,或者其他类型的数据)防止未经授权而进行拷贝。

这种可信微处理器系统的一个组件可以是由可信计算平台联盟(TCPA)于2001年12月1日发布的可信计算平台联盟主规范,1.1a版(在本申请提交时可以从www.trustedpc.com获得)中公开的可信平台模块(TPM)。TPM可以包括几个称为平台配置寄存器(PCR)的特殊寄存器。PCR可以用来存储加密的文件摘要,包括软件程序,以后可以对其进行检索以进一步用于认证处理。由于这些PCR的内容对于系统的安全或可信的性质是非常重要的,PCR不应该被系统的通用操作复位。目前的设计将PCR限制为仅在总的系统复位(例如开机复位)时才被复位。

附图说明

附图中以举例而非限制的方式示出了本发明,其中相似的附图标记表示类似的部件,其中:图1示出了根据本发明一个实施例的示例性可信或安全软件环境。

图2示出了根据本发明一个实施例的特定的示例性可信或安全软件模块和示例性系统环境。

图3详细示出了根据本发明一个实施例的图2所示系统的安全性令牌。

图4示出了根据本发明一个实施例的、用于支持图1所示安全软件环境的示例性微处理器系统。

图5是根据本发明一个实施例对平台配置寄存器进行复位的流程图。

图6是根据本发明另一个实施例对平台配置寄存器进行复位的流程图。

具体实施方式

下面的说明描述了用于对使用在微处理器系统中的可信或安全环境中的特殊寄存器进行复位或修改的技术。在下面的说明中阐述了大量的具体细节,例如逻辑电路实现、软件模块的分配、加密技术、总线信令技术和操作的细节,以提供对本发明的更透彻的理解。但是,本领域的技术人员能够理解,没有这些具体细节也可以实施本发明。在其他一些情况下,为了避免混淆本发明,没有详细示出控制结构、门级电路和全部的软件指令序列。本领域的技术人员借助这里的详细说明,能够实现适当的功能,而不需要过多的实验。本发明以微处理器系统的形式公开。但是,本发明可以用其他形式的处理器例如数字信号处理器、微型计算机或大型计算机来实施。

在一个实施例中,将一种新型的平台配置寄存器(PCR)与安全性令牌(security token)内的可信平台模块(TPM)结合使用。每个新的PCR可以具有一对与其相关联的标志,所述标志可用来指示是否可以对PCR进行复位或者对其内容进行修改。安全性令牌可以具有一个总线接口,该总线接口可用来接收特殊的本地确认消息。这些本地确认消息可以表示安全性令牌与其他计算机资源在物理上是直接连接的,并且可信软件希望复位或修改PCR内容。

现参见图1,其中示出了根据本发明一个实施例的示例性可信或安全软件环境。在图1的实施例中,可信和不可信软件可以同时加载并且可以在一个计算机系统上同时执行。安全虚拟机监视器(SVMM)350有选择地允许或阻止一个或多个不可信操作系统340和不可信应用程序310至330直接访问硬件资源380。在本申请的上下文中,“不可信”并非必须表示操作系统或应用程序是在有意地进行不当的活动,而是表示,交互代码的大小和多样性使得可靠地断言该软件是按照希望的方式工作、并且没有病毒或其他外来代码干扰其执行是不切实际的。在一个典型的实施例中,不可信代码可以由当前个人计算机上普通操作系统和应用程序组成。

SVMM 350也有选择地允许或阻止一个或多个可信或安全内核360和一个或多个可信应用程序370直接访问硬件资源380。可以对这种可信或安全内核360和可信应用程序370的大小和功能进行限制,以有助于对其进行可信度分析的能力。可信应用程序370可以是能够在安全环境中执行的任何软件代码、程序、例行程序或例行程序组。因此,可信应用程序370可以是各种应用程序,或代码序列,或比较小的应用程序如Java小程序。

通常由操作系统340或内核360执行的、可能改变系统资源保护或特权的指令或操作可以被SVMM 350捕获,并被有选择地允许、部分地允许或拒绝。例如,在一个典型的实施例中,通常由操作系统340或内核360执行的、改变处理器的页面表的指令相反会被SVMM350捕获,这确保该请求不是在企图改变其虚拟机域之外的页面特权。

现参见图2,其中示出了根据本发明一个实施例的特定的示例性可信或安全软件模块和示例性系统环境200。在图2的实施例中,示出了处理器202、处理器212、处理器222和其他可选的处理器(未示出)。在其他实施例中,处理器的数目可以不同,如同各种组件和功能单元的边界范围可以不同。

处理器202、212、222可以包含特定的特殊电路或逻辑元件,来支持安全或可信操作。例如,处理器202可以包含安全进入(SENTER)逻辑204,来支持可以启动可信操作的特殊SENTER指令的执行。SENTER是特权指令的一个例子,被定义为机器指令,该机器指令通常仅在特殊模式下才被执行,并且通常可由操作系统获得而不能由其他用户获得。一旦执行了特权指令,则可能发生特权操作。处理器202也可以包含总线消息逻辑206,来支持对特殊SENTER操作提供支持的系统总线230上的特殊总线消息。在其他的实施例中,芯片组240的存储器控制功能可以分配给处理器内的电路,并且对于多处理器来说可以包括在一个管芯上。在这些实施例中,也可以在处理器内部的总线上发送特殊总线消息。由于下面几个原因,使用特殊总线消息可以提高系统的安全性和可信度。电路元件如处理器202、212和222或芯片组240可以仅在其包含本发明实施例的适当逻辑元件或者其等同物的情况下,才发布或响应这种消息。因此,特殊总线消息的成功交换可以帮助确保适当的系统配置。特殊总线消息也可以允许通常会被禁止的活动,例如复位平台配置寄存器286。通过使特殊总线消息仅响应特殊安全指令而被发布,能够削弱潜在的敌意不可信代码对特定总线事务进行监视的能力。

另外,处理器202可以包含安全存储器来支持安全初始化操作。在一个实施例中,安全存储器208可以是处理器202的内部高速缓存,其可能工作在特殊模式下。

“芯片组”可以定义为一组电路和逻辑,其支持对于所连接的处理器的存储器和输入/输出(I/O)操作。芯片组的各个元件可以组合在一个芯片上、一对芯片上或分布在包括处理器的多个芯片上。在图2的实施例中,芯片组240可以包括支持存储器和I/O操作的电路和逻辑,以支持处理器202、212和222。在一个实施例中,芯片组240可以与多个存储器页面250至262和设备访问页面表248接口,所述设备访问页面表248包含指明非处理器设备是否可以访问存储器页面250至262的控制信息。芯片组240可以包括设备访问逻辑247,其可以允许或拒绝I/O设备对存储器页面250至262的所选择部分的直接存储器访问(DMA)。在一些实施例中,设备访问逻辑247可以包含允许或拒绝这种访问所需的所有相关信息。在其他的实施例中,设备访问逻辑247可以访问保存在设备访问页面表248中的这种信息。在其他实施例中,芯片组240的功能还可以在一个或多个物理设备中进行分配。芯片组240还可以包括其自己的总线消息逻辑242,来支持对特殊SENTER操作提供支持的系统总线230上的特殊总线消息。

芯片组240可以支持I/O总线例如外围元件互连(PCI)、加速图形端口(AGP)、通用串行总线(USB)、低管脚数量(LPC)总线或其他类型的I/O总线(未示出)上的标准I/O操作。可以采用接口290将芯片组240与包含一个或多个平台配置寄存器(PCR)286,294的令牌276相连。在一个实施例中,接口290可以是以附加了特定的安全性增强而修改的LPC总线(低管脚数量(LPC)接口规范,英特尔公司,修订版1.0,1997年12月29日)。这种安全性增强的一个例子是本地确认消息,利用了预先保存的消息报头和目标指向令牌276内的平台配置寄存器(PCR)286的地址信息。在一个实施例中,令牌276可以包含特殊的安全性特征,在一个实施例中,可以包括由可信计算平台联盟(TCPA)于2001年12月1日发布的TCPA主规范,1.1a版(在本申请提交时可以从www.trustedpc.com获得)中公开的可信平台模块(TPM)281。接口290可以为芯片组240与令牌276之间的各种双向通信提供数据通路。芯片组240的安全性总线逻辑266可以包括产生并向令牌276发送本地确认消息的电路。

系统200中标出的两个软件组件为安全虚拟机监视器(SVMM)282模块和安全初始化认证代码(SINIT-AC)280模块。SVMM 282模块可以存储在系统盘或其他大容量存储器上,并可以在需要时移动或复制到其他位置。在一个实施例中,在开始安全启动过程之前,SVMM 282可以被移动或复制到一个或多个存储器页面250至262。在安全进入过程之后,可以生成一个虚拟机环境,其中,SVMM 282可以作为系统内最有特权的代码运行,并可以被用来允许或拒绝所生成的虚拟机内的操作系统或应用程序对特定系统资源的直接访问。

安全进入过程所需的一些动作可能会超出简单的硬件实现方案的范围,而最好替代地采用可以绝对信任其执行的软件模块。在一个实施例中,这些动作可以由安全初始化(SINIT)代码执行。这种动作可以包括检验系统配置的关键部分,以确保其支持安全环境的正确实例化(instantiation),配置设备访问逻辑247和设备访问页面表248,以及在向其转移系统控制之前,计算并注册SVMM 282身份。这里“注册”表示将SVMM 282的信用量度置于寄存器中,例如PCR 286或PCR 294中。当作出所述最后一个动作时,潜在的系统用户可以检查SVMM 282的可信度。

SINIT代码可以由处理器或芯片组的制造商生成。因此,可以信任SINIT代码来辅助芯片组240的安全启动过程。为了分配SINIT代码,在一个实施例中,公知的密码杂凑由全部的SINIT代码形成,产生一个称为“摘要”的值。在一个实施例中,为摘要生成160位的值。然后可以用私人密钥对该摘要进行加密,在一个实施例中私人密钥由处理器的制造商持有,以形成一个数字签名。当SINIT代码与相应的数字签名捆绑在一起时,该组合可以称为SINIT认证代码(SINIT-AC)280。然后可以如下面所述对SINIT-AC280的拷贝进行验证。

任何逻辑处理器可以开始安全启动过程,于是可以被称为启动逻辑处理器(ILP)。在本例中,处理器202成为ILP,不过系统总线230上的任何处理器都可以成为ILP。此时,无论是SINIT-AC 280的存储器驻留拷贝还是SVMM 282的存储器驻留拷贝都不能被认为是可信的,这是因为除了别的原因以外,其他的处理器或DMA设备可以重写存储器页面250-262。

然后ILP(处理器202)执行一个特权指令。在一个实施例中该特权指令可以称为安全进入(SENTER)指令,并可以由SENTER逻辑204支持。SENTER指令的执行可以引起ILP(处理器202)在系统总线230上发布特殊总线消息。在其他实施例中,可以执行其他的特权指令。

发布特殊总线消息后,ILP(处理器202)可以检验被称为响应逻辑处理器(RLP)的其他处理器何时以及是否准备好进入安全操作。当RLP已经准备好时,ILP(处理器202)可以将SINIT-AC 280的拷贝和密钥284都移入安全存储器,以便用于认证并随后执行SINIT-AC 280中包括的SINIT代码。在一个实施例中,该安全存储器可以是ILP(处理器202)的内部高速缓存,其可能操作在特殊模式下。密钥284表示与用来对SINIT-AC 280模块中包括的数字签名进行加密的私人密钥相对应的公共密钥,并用来验证数字签名,从而认证SINIT代码。在一个实施例中,密钥284可能已经存储在处理器中,可能作为SENTER逻辑204的一部分。在另一个实施例中,密钥284可以存储在由ILP读取的芯片组240的只读密钥寄存器244中。在又一个实施例中,处理器或者芯片组的密钥寄存器244实际上可以保存密钥284的加密摘要,其中密钥284本身包含在SINIT-AC 280模块中。在所述最后一个实施例中,ILP从密钥寄存器244中读取摘要,计算嵌入在SINIT-AC 280中的密钥284之上的等效密码杂凑值,并对这两个摘要进行比较,以保证所提供的密钥284确实是可信的。

SINIT-AC的拷贝和公共密钥的拷贝可以存在于安全存储器中。ILP现在可以通过使用公共密钥的拷贝,将SINIT-AC的拷贝中包含的数字签名进行解密,来验证SINIT-AC的拷贝。该解密产生了密码杂凑摘要的原始拷贝。如果新计算出来摘要与该原始摘要匹配,则SINIT-AC的拷贝及其包含的SINIT代码可以认为是可信的。

ILP现在可以通过将SINIT-AC模块的加密摘要值写入安全性令牌276中的平台配置寄存器286中,来注册SINIT-AC模块的唯一身份,如下所述。现在可以通过将执行控制转移给保存在ILP的安全存储器内的SINIT代码的可信拷贝,来结束ILP对其SENTER指令的执行。然后该可信SINIT代码可以执行其系统测试和配置动作,并可以按照上面对“注册”的定义来注册SVMM的存储器驻留拷贝。

可以以几种方式来进行SVMM的存储器驻留拷贝的注册。在一个实施例中,运行在ILP上的SENTER指令将计算出的SINIT-AC的摘要写入安全性令牌276内的PCR 286中。接着,可信SINIT代码可以将计算出的SVMM的存储器驻留摘要写入安全性令牌276内的同一PCR286或另一PCR 294中。如果SVMM摘要被写入同一PCR 286,安全性令牌276用新值(SVMM摘要)对原始内容(SINIT摘要)进行杂凑化,并将结果写回PCR 286中。在一些实施例中,对PCR 286的第一次(初始化)写入被限制为SENTER指令,则所得到的摘要可以被用作系统的信用根源。

一旦可信SINIT代码结束其执行,并在PCR中注册SVMM的身份,则SINIT代码可以将ILP执行控制移交给SVMM。在一个典型的实施例中,ILP执行的第一SVMM指令可以表示SVMM的自初始化例行程序。在一个实施例中,ILP可以使每个RLP加入处于现在正在执行的SVMM拷贝的监视下的运行。从这点向前,整个系统运行在可信模式,如上面对图1的讨论中所述的那样。

现在参见图3,其中根据本发明的一个实施例详细示出了图2系统的安全性令牌276。令牌276可以包括含有几个现有技术中的PCR232、234、236、238的TPM 278。这些现有技术中的PCR只有在总的系统复位事件的情况下才被复位。该TPM 278可以包含16个或更多的现有技术中的通用PCR。

另外,在一个实施例中,令牌276可以包括本发明的PCR 286、294。每个PCR 286、294可以与一些标志相关联,所述标志指出该PCR在不同条件下的行为。例如,PCR 286可以具有与其相关联的复位标志288和修改标志292,而PCR 294可以具有与其相关联的复位标志296和修改标志298。当复位标志288的逻辑值为真,PCR 286可以在到达接口290的本地确认消息的命令下被复位。当修改标志292的逻辑值为真,PCR 286可以在到达接口290的本地确认消息的命令下修改其内容。在一个实施例中,要将SINIT-AC 280的加密摘要写入PCR 286,而将SVMM 282的加密摘要写入PCR 294。这些摘要可以在请求之下出示作为证明过程的一部分,该证明过程可以向本地或远程用户证明,系统环境200正以安全或可信的方式运行。

在另一个实施例中,SINIT-AC 280和SVMM 282的摘要可以被写入单个PCR,如PCR 286中。在该实施例中,SINIT-AC 280的摘要首先被写入PCR 286。然后,PCR 286的内容与SVMM 282的摘要被加密地组合,所得到的组合摘要被写入PCR 286。在一个实施例中,被配置用来支持PCR 286的令牌276内的电路,可以采用接口290上的输入写请求的值,将该值与PCR 286内的当前值加密地组合,然后将所得到的新值置于PCR 286内。该过程可以称为“扩展”操作。可以将输入写请求的值说成是被“扩展到”PCR 286内的当前值上。PCR 286内的该扩展值,其表示组合摘要,然后可以在请求之下被出示作为证明过程的一部分,该证明过程可以向本地或远程用户证明,系统环境200正以安全或可信的方式运行。

可以在制造令牌276时将复位标志288、296和修改标志292、298设置为逻辑真值。这将允许一旦在接口290上接收到本地确认总线消息时,对PCR 286、294进行复位和内容修改。在其他的实施例中,取决于在TPM 278的控制下采取的特定的安全性动作,复位标志288、296和修改标志292、298的值可以在真与假之间改变。

在图3所示的实施例中,示出了根据一个实施例的示例性附加PCR 201、203和205。在替换的实施例中,可以采用根据本发明一个实施例的较少的或者附加的PCR。在其他的实施例中,附加的PCR,如PCR 201、203和205可以用来存储与安全性相关的信息,如代码的摘要。任何附加的PCR,如示例性的PCR 201、203和205,可以分别具有相关的复位标志207、209和211,以及相关的修改标志213、215和217。

当系统环境200使本地确认消息从芯片组240发送到令牌276时,PCR 286、294可以在除了总的系统复位以外的时间上被复位或修改。在一个实施例中,响应于总线消息逻辑242在系统总线230上接收到SENTER特殊总线消息,可以由芯片组240的安全性总线逻辑266产生本地确认消息。接着通过在处理器中执行SENTER指令产生SENTER特殊总线消息。这种SENTER指令可以在任何总的系统复位事件之后的数天、数周或数月执行。下面结合图3至图7描述将系统操作从不安全操作转换为安全操作的SENTER过程的细节。

在图3的实施例中,示出了在一个示例性的可信或安全个人计算机环境中的令牌276。具体地,令牌276通过接口290与芯片组240连接。在替换的实施例中,根据本发明一个实施例的令牌276可以用在其他系统环境中。这种环境的例子可以包括数据服务器环境、蜂窝式或其他形式的移动电话、移动数据端口、汽车系统、有线或卫星电视系统、或个人数字助理(PDA)。这些例子不应该被理解为是限制性的,因为很多其他的系统环境也可以利用本实施例的令牌。接口290或者其他的等效接口可以将根据其他实施例的令牌连接到上述的示例性系统环境之一中的电路,其中芯片组240例如可以是集成蜂窝电话控制器或PDA控制器的一部分。这些实施例符合上面对图2的讨论中包括的“芯片组”的定义。

现在参见图4,其中示出了用于支持图1的安全软件环境的微处理器系统400的一个实施例。CPU A 410、CPU B 414、CPU C 418和CPU D 422可以与图1的处理器类似,但可以用额外的微代码或逻辑电路来配置,以支持特殊指令的执行。在一个实施例中,所述额外的微代码或逻辑电路可以是图2的SENTER逻辑204。这些特殊的指令可以支持特殊总线消息在系统总线420上的发布。在一个实施例中,可以由例如图2的总线消息逻辑206的电路来支持特殊总线消息的发布。类似地,芯片组430可以与芯片组130类似,但可以支持系统总线420上的上述特殊周期。另外,芯片组430可以具有额外的页面保护电路,用于保护物理存储器434内的页面表。在一个实施例中,页面保护电路可以是图2的设备访问逻辑247。

在一个实施例中,芯片组430通过LPC总线逻辑(LPC-BL)452与被称为修改的低管脚数量(LPC)总线450的额外数据总线进行接口。修改的LPC总线450可以用来连接芯片组430与安全性令牌454。在一个实施例中,令牌454可以包括TCPA所设想的可信平台模块(TPM)460。在一个实施例中,令牌454可以包括SINIT PCR 470和SVMM PCR 480。每个PCR 470、480可以与一些标志相关联,所述标志指明PCR在不同条件下的行为。例如,SINIT PCR 470可以具有与其相关联的复位标志472和修改标志474,而SVMM PCR 480可以具有与其相关联的复位标志482和修改标志484。当复位标志472的逻辑值为真时,SINIT PCR 470可以在到达修改的LPC总线450的本地确认消息的命令下被复位。当修改标志474的逻辑值为真时,SINITPCR 470可以在到达修改的LPC总线450的本地确认消息的命令下修改其内容。在一个实施例中,要将SINIT-AC的加密摘要写入SINITPCR 470,而要将SVMM的加密摘要写入SVMM PCR 480。这些摘要可以在请求之下出示作为证明过程的一部分,所述证明过程可以向本地或远程用户证明,微处理器系统400正以安全或可信的方式运行。

在另一个实施例中,SINIT-AC和SVMM的摘要可以写入单个PCR,如SINIT PCR 470。在该实施例中,SINIT-AC的摘要首先被写入SINITPCR 470。然后,SINIT PCR 470的内容与SVMM的摘要被加密地组合,所得到的组合摘要被写入SINIT PCR 470。在一个实施例中,被配置用来支持SINIT PCR 470的令牌276内的电路,可以采用修改的LPC总线450上的输入写请求的值,将该值与SINIT PCR 470内的当前值加密地组合,然后将所得到的新值置于SINIT PCR 470内。该组合摘要然后可以在请求之下出示作为证明过程的一部分,该证明过程可以向本地或远程用户证明,微处理器系统400正以安全或可信的方式运行。

可以在制造令牌254时将复位标志472、482和修改标志474、484设置为逻辑真值。这将允许一旦在修改的LPC总线450上接收到本地确认总线消息时,对SINIT PCR 470和SVMM PCR 480进行复位和内容修改。在其他的实施例中,取决于在微处理器系统400内采取的特定的安全性动作,例如SENTER或其他特权指令执行,复位标志472、482和修改标志474、484的值可以在真与假之间改变。

为了在例如微处理器系统400的微处理器系统中使用SVMM 350,可能需要采取几个动作。一个动作可能是,在硬件配置即SVMM 350本身和加载并启动SVMM 350的任何软件这两方面,应当对系统配置的可信度进行测试。另一个动作可能是,注册SVMM 350的身份并将系统控制移交给它。当采取该最后一个动作时,SVMM 350的可信度可以由潜在的系统用户进行检查。

在一个实施例中,可以将SINIT-AC的拷贝存储在固定的介质444中,用于当微处理器系统400需要进入安全操作时使用。当逻辑处理器,例如物理处理器CPU 414,希望使用SVMM 350初始化系统宽安全操作时,它可以将SINIT-AC的拷贝加载到存储器434中,以形成SINIT-AC的存储器驻留拷贝。以这种方式启动安全操作的任何逻辑处理器可以被称为启动逻辑处理器(ILP)。在本例中,CPU B 414成为ILP。然后,作为ILP的CPU B 414可以将SVMM的拷贝加载到存储器中,以形成SVMM的存储器驻留拷贝。SVMM的该拷贝可以位于存储器的非连续页面上,但芯片组430将为它维持一个页面表。此时,无论是SINIT-AC还是SVMM都不能被认为是值得信赖的,由于除了别的原因之外,其他的处理器或DMA设备可以重写存储器434。

然后ILP可以执行以微代码或其他处理器逻辑如SENTER实现的特殊或特权指令。SENTER指令的执行可以使ILP在系统总线420上发布特殊总线消息,然后等待相当长的时间间隔,为了后续的系统动作。在其他实施例中,可以执行其他的特权指令。

发布特殊总线消息后,ILP(CPU B 414)检验何时以及是否所有的RLP已经正确地被响应。当RLP已经准备好进入安全操作时,ILP可以将SINIT-AC的存储器驻留拷贝和芯片组430的经加密的公共密钥移入安全存储器中。在一个实施例中,该安全存储器可以是ILP,即CPU B 414的内部高速缓存。于是SINIT-AC的拷贝和公共密钥的拷贝可以存在于内部高速缓存内。现在ILP可以通过使用公共密钥的高速缓存内驻留拷贝,对SINIT-AC的该拷贝的数字签名进行解密,来验证SINIT-AC的高速缓存内驻留拷贝。该解密产生了密码杂凑的“摘要”的原始拷贝。如果新计算的“摘要”与该原始“摘要”匹配,则可以认为SINIT-AC的高速缓存内驻留拷贝是可信的。

在SENTER指令的执行过程中的该点处,可以由LPC-BL 452产生一对本地确认消息。这允许复位SINIT PCR 470,并将SINIT摘要写入SINIT PCR 470。

现在ILP可以发布另一条特殊总线消息,借助系统总线420通知等待的RLP(CPU A 410,CPU C 418,CPU D 422)和芯片组430安全操作将要被启动。然后可信的SINIT-AC的高速缓存内驻留拷贝可以测试并验证驻留在物理存储器434内的SVMM的拷贝。在一个实施例中,SINIT-AC可以读取页面表条目以寻找位于存储器434中的SVMM的拷贝。然后SINIT-AC可以命令芯片组430阻止I/O设备对这些页面表条目的DMA访问。可以以几种方式来进行SVMM的存储器驻留拷贝的验证和后续注册。同样,在SENTER指令的这部分执行过程中,可以由LPC-BL 452生成另一对本地确认消息。这就允许SVMM PCR 480的复位,并将SVMM摘要写入SVMM PCR 480中。

在SENTER指令执行结束时,SVMM的存储器驻留拷贝可以在该点开始执行。在一个实施例中,ILP可以使每个RLP在现在正在执行的SVMM存储器驻留拷贝的监视下加入运行中。从这点向前,整个系统运行在可信模式下,如上面对图1的讨论中所述的那样。

现在参见图5,其中示出了根据本发明一个实施例的对平台配置寄存器进行复位的流程图。图5中所示的方法可以用于图1和图3的安全或可信计算机环境。该方法也可以用于其他环境,如蜂窝式或其他形式的移动电话、汽车或其他安全系统,或用于数字或卫星电视或媒体交换系统。在后面这些实施例中,所提到的设备中的电路可以作为芯片组240或芯片组430的等同物,用于向安全性令牌发送本地确认消息的目的。

图5的实施例在方框520开始,其中通过接口发送第一本地确认消息,被寻址到第一PCR。第一本地确认消息中的数据指明要进行复位,在方框530中,检查第一PCR的复位标志,以查看是否可以允许复位。如果是,则复位第一PCR。然后,在方框540,发送第二本地确认消息,被寻址到第一PCR。第二本地确认消息中的数据指明要进行摘要(或其他数据)的写,在方框550中,检查第一PCR的修改标志,以查看是否可以允许对包含在第一PCR内的值进行修改。如果是,则以包含在第二本地确认消息中的摘要对第一PCR进行写操作。

然后,在方框560,可以发送第三本地确认消息,其被寻址到第二PCR。第三本地确认消息中的数据指明要进行复位,在方框570中,检查第二PCR的复位标志,以查看是否可以允许复位。如果是,则复位第二PCR。然后,在方框580,发送第四本地确认消息,被寻址到第二PCR。第四本地确认消息中的数据指明要进行摘要(或其他数据)的写,在方框590中,检查第二PCR的修改标志,以查看是否可以允许对包含在第二PCR内的值进行修改。如果是,则以包含在第四本地确认消息中的摘要对第二PCR进行写操作。

现在参见图6,其中示出了根据本发明另一个实施例的对平台配置寄存器进行复位的流程图。图6中所示的方法可以用于上面关于图5的方法所列举的各种环境。图6的实施例在方框620开始,其中通过接口发送第一本地确认消息,其被寻址到第一PCR。第一本地确认消息中的数据指明要进行复位,在方框630中,检查第一PCR的复位标志,以查看是否可以允许复位。如果是,则复位第一PCR。然后,在方框640,发送第二本地确认消息,其被寻址到第一PCR。第二本地确认消息中的数据指明要进行摘要(或其他数据)的写,在方框650中,检查第一PCR的修改标志,以查看是否可以允许对包含在第一PCR内的值进行修改。如果是,则以包含在第二本地确认消息中的摘要对第一PCR进行写操作。

然后,在方框660,发送第三本地确认消息,其被再次寻址到第一PCR。第三本地确认消息中的数据指明要进行摘要(或其他数据)的写,在方框670中,检查第一PCR的修改标志,以查看是否仍然允许对包含在第一PCR内的值进行修改。如果是,则在方框680,令牌将第三本地确认消息中包含的摘要进行加密性地杂凑到第一PCR的现有内容之上。然后,在方框690,所得到的组合摘要可以被写入第一PCR。该过程可以是上面结合图2描述的扩展过程。

在上文中,已经参考特定的示例性实施例对本发明进行了描述。但很明显,可以对其作出各种修改和变动而不偏离后附权利要求中所阐明的本发明的精神和范围。因此,说明书和附图应该被认为是说明性的而非限制性的。

Claims (39)

1.一种系统,包括:包括第一寄存器的电路;和第一总线,耦合至所述电路以传送本地确认消息。
2.如权利要求1所述的系统,还包括耦合至所述第一寄存器的第一标志。
3.如权利要求2所述的系统,其中所述第一标志指明允许复位所述第一寄存器。
4.如权利要求3所述的系统,其中在处理器执行特权指令期间能够复位所述第一寄存器。
5.如权利要求3所述的系统,还包括耦合至所述第一寄存器的第二标志,以指明允许修改所述第一寄存器的内容。
6.如权利要求1所述的系统,还包括耦合至所述第一寄存器的第一标志,以指明允许修改所述第一寄存器的内容。
7.如权利要求6所述的系统,其中在处理器执行特权指令期间,能够修改所述第一寄存器的所述内容。
8.如权利要求1所述的系统,其中所述第一寄存器可以包含第一代码的第一摘要。
9.如权利要求8所述的系统,其中所述第一寄存器可以包含扩展到所述第一摘要上的第二代码的第二摘要。
10.如权利要求8所述的系统,还包括第二寄存器,用来包含第二代码的第二摘要。
11.如权利要求1所述的系统,还包括芯片组,用来通过所述第一总线发送所述本地确认消息。
12.如权利要求11所述的系统,其中所述芯片组响应于特殊总线消息发送所述本地确认消息。
13.如权利要求12所述的系统,其中所述特殊总线消息在第二总线上传送。
14.如权利要求13所述的系统,还包括处理器,用来在所述第二总线上发送所述特殊总线消息。
15.如权利要求14所述的系统,其中所述处理器在执行特权指令期间发送所述特殊总线消息。
16.一种装置,包括:第一寄存器,用来存储第一摘要;和耦合至所述第一寄存器的第一标志,用来指明是否允许所述第一寄存器响应于本地确认消息而复位。
17.如权利要求16所述的装置,其中可以在制造时设置所述第一标志。
18.如权利要求16所述的装置,还包括耦合至所述第一寄存器的第二标志,用来指明是否允许所述第一寄存器的内容响应于所述本地确认消息而改变。
19.如权利要求16所述的装置,还包括第二寄存器,用来存储第二摘要。
20.如权利要求19所述的装置,还包括耦合至所述第二寄存器的第三标志,用来指明是否允许所述第二寄存器响应于所述本地确认消息而复位。
21.如权利要求20所述的装置,还包括耦合至所述第二寄存器的第四标志,用来指明是否允许所述第二寄存器的内容响应于所述本地确认消息而改变。
22.如权利要求16所述的装置,还包括一个电路,用于支持所述第一寄存器响应于写指令而以第二摘要来扩展所述第一摘要。
23.一种芯片组,包括:总线消息逻辑,用来从处理器接收特殊总线消息;和安全性总线逻辑,用来响应于所述特殊总线消息发送本地确认消息。
24.如权利要求23所述的芯片组,其中在执行安全进入指令期间内,发布所述特殊总线消息。
25.如权利要求23所述的芯片组,其中所述本地确认消息包括复位寄存器的指令。
26.如权利要求23所述的芯片组,其中本地确认消息包括修改寄存器内容的指令。
27.一种方法,包括:在第一总线上发送第一本地确认消息;和确定是否响应于所述第一本地确认消息复位第一寄存器。
28.如权利要求27所述的方法,还包括确定是否响应于第一标志复位所述第一寄存器。
29.如权利要求28所述的方法,还包括在所述第一总线上发送第二本地确认消息;并且还包括确定是否响应于所述第二本地确认消息来修改所述第一寄存器的第一内容。
30.如权利要求29所述的方法,还包括确定是否响应于第二标志修改所述第一寄存器的所述第一内容。
31.如权利要求30所述的方法,还包括在所述第一总线上发送第三本地确认消息;并且还包括确定是否响应于所述第三本地确认消息来复位第二寄存器。
32.如权利要求31所述的方法,还包括在所述第一总线上发送第四本地确认消息;并且还包括确定是否响应于所述第四本地确认消息来修改所述第二寄存器的第二内容。
33.如权利要求30所述的方法,还包括在所述第一总线上发送第三本地确认消息;并且还包括确定是否响应于所述第三本地确认消息来修改所述第一寄存器的第二内容。
34.如权利要求31所述的方法,还包括使用与摘要的加密组合来修改所述第一寄存器的所述第二内容。
35.一种装置,包括:第一寄存器,用来存储第一摘要;和耦合至所述第一寄存器的第一标志,用来指明是否允许响应于本地确认消息而修改所述第一寄存器的内容。
36.如权利要求35所述的装置,其中可以在制造时设置所述第一标志。
37.如权利要求35所述的装置,还包括耦合至所述第一寄存器的第二标志,用来指明是否允许所述第一寄存器响应于本地确认消息而复位。
38.一种方法,包括:在第一总线上发送第一本地确认消息;和确定是否响应于所述第一本地确认消息而修改第一寄存器的内容。
39.如权利要求38所述的方法,还包括确定是否响应于第一标志而修改所述第一寄存器的内容。
CN 03812033 2002-03-29 2003-03-20 用于复位平台配置寄存器的系统和方法 CN100458641C (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/112,124 2002-03-29
US10112124 US7028149B2 (en) 2002-03-29 2002-03-29 System and method for resetting a platform configuration register

Publications (2)

Publication Number Publication Date
CN1656432A true true CN1656432A (zh) 2005-08-17
CN100458641C CN100458641C (zh) 2009-02-04

Family

ID=28453244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03812033 CN100458641C (zh) 2002-03-29 2003-03-20 用于复位平台配置寄存器的系统和方法

Country Status (5)

Country Link
US (1) US7028149B2 (zh)
KR (1) KR100692347B1 (zh)
CN (1) CN100458641C (zh)
GB (1) GB2403832B (zh)
WO (1) WO2003085498A3 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763113A (zh) * 2010-02-16 2012-10-31 诺基亚公司 对移动可信模块中的平台配置寄存器进行复位的方法和设备
CN104335548A (zh) * 2012-06-07 2015-02-04 阿尔卡特朗讯公司 安全数据处理

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US20030191943A1 (en) * 2002-04-05 2003-10-09 Poisner David I. Methods and arrangements to register code
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7114105B2 (en) 2002-12-05 2006-09-26 Qualcomm, Inc. System and method for software download to wireless communication device
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US20050132122A1 (en) * 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
EP1548601A1 (fr) * 2003-12-23 2005-06-29 Stmicroelectronics SA Contrôle d'accès mémoire dans un appareil électronique
US7802085B2 (en) * 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7698739B2 (en) * 2004-03-30 2010-04-13 Marvell International Ltd. Updating code with validation
US7490070B2 (en) * 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US7412596B2 (en) * 2004-10-16 2008-08-12 Lenovo (Singapore) Pte. Ltd. Method for preventing system wake up from a sleep state if a boot log returned during the system wake up cannot be authenticated
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8176564B2 (en) 2004-11-15 2012-05-08 Microsoft Corporation Special PC mode entered upon detection of undesired state
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
EP1801725B1 (en) 2005-12-14 2009-09-23 Nvidia Corporation Chipset security offload engine
US7360253B2 (en) * 2004-12-23 2008-04-15 Microsoft Corporation System and method to lock TPM always ‘on’ using a monitor
US7836299B2 (en) * 2005-03-15 2010-11-16 Microsoft Corporation Virtualization of software configuration registers of the TPM cryptographic processor
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US8353046B2 (en) 2005-06-08 2013-01-08 Microsoft Corporation System and method for delivery of a modular operating system
US7752436B2 (en) * 2005-08-09 2010-07-06 Intel Corporation Exclusive access for secure audio program
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US8001543B2 (en) * 2005-10-08 2011-08-16 International Business Machines Corporation Direct-memory access between input/output device and physical memory within virtual machine environment
US7877485B2 (en) * 2005-12-02 2011-01-25 International Business Machines Corporation Maintaining session states within virtual machine environments
US7900059B2 (en) * 2005-12-13 2011-03-01 International Business Machines Corporation Sealing of data for applications
US9316738B2 (en) 2005-12-28 2016-04-19 The Directv Group, Inc. Method and apparatus for controlling a mobile device beyond an area of interest boundary
US20070146200A1 (en) * 2005-12-28 2007-06-28 The Directv Group, Inc. Method and apparatus for providing advertising and real time content to a mobile device based upon location
US8023883B1 (en) 2005-12-28 2011-09-20 The Directv Group, Inc. Method and apparatus for controlling handoffs in a mobile system
US7720431B2 (en) * 2005-12-28 2010-05-18 The Directv Group, Inc. Method and apparatus for providing emergency information to a mobile receiving device
US7765399B2 (en) * 2006-02-22 2010-07-27 Harris Corporation Computer architecture for a handheld electronic device
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8127145B2 (en) * 2006-03-23 2012-02-28 Harris Corporation Computer architecture for an electronic device providing a secure file system
US8060744B2 (en) * 2006-03-23 2011-11-15 Harris Corporation Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
US8041947B2 (en) * 2006-03-23 2011-10-18 Harris Corporation Computer architecture for an electronic device providing SLS access to MLS file system with trusted loading and protection of program execution memory
US7979714B2 (en) * 2006-06-02 2011-07-12 Harris Corporation Authentication and access control device
US8272002B2 (en) * 2006-08-18 2012-09-18 Fujitsu Limited Method and system for implementing an external trusted platform module
US8522018B2 (en) * 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
US7568066B2 (en) * 2006-09-26 2009-07-28 Arcadyan Technology Corporation Reset system for buffer and method thereof
US8117429B2 (en) * 2006-11-01 2012-02-14 Nokia Corporation System and method for a distributed and flexible configuration of a TCG TPM-based local verifier
US8060941B2 (en) * 2006-12-15 2011-11-15 International Business Machines Corporation Method and system to authenticate an application in a computing platform operating in trusted computing group (TCG) domain
CN1988493B (zh) 2007-01-05 2012-01-11 智易科技股份有限公司 缓冲器的重置系统及其方法
US7624225B2 (en) * 2007-03-22 2009-11-24 International Business Machines Corporation System and method for providing synchronous dynamic random access memory (SDRAM) mode register shadowing in a memory system
US8971926B2 (en) 2007-07-05 2015-03-03 The Directv Group, Inc. Method and apparatus for warning a mobile user approaching a boundary of an area of interest
CA2698086C (en) * 2007-08-31 2017-05-23 Homeatm Epayment Solutions Apparatus and method for conducting secure financial transactions
US8583908B2 (en) * 2007-12-31 2013-11-12 Intel Corporation Enhanced network and local boot of Unified Extensible Firmware Interface images
US8615788B2 (en) * 2009-08-12 2013-12-24 International Business Machines Corporation Method and apparatus for scalable integrity attestation in virtualization environments
US9087196B2 (en) 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (zh) 1978-11-30 1983-05-16 Kokusan Denki Co
JPS5725860B2 (zh) 1978-12-01 1982-06-01
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4307214A (en) * 1979-12-12 1981-12-22 Phillips Petroleum Company SC2 activation of supported chromium oxide catalysts
US4319323A (en) 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) 1980-09-13 1982-04-22 Bosch Gmbh Robert Auslesesicherung bei einchip-mikroprozessoren
US4521852A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (en) 1982-12-17 1984-06-27 Hitachi Ltd Access controlling system of composite processor system
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (en) 1985-03-11 1986-09-12 Hitachi Ltd Address converting device
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
FR2592510B1 (fr) 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601476B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2601535B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2601525B1 (fr) 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2618002B1 (fr) 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US5007082A (en) 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (en) 1988-12-26 1990-07-03 Hitachi Ltd Virtual machine system
JPH02208740A (en) 1989-02-09 1990-08-20 Fujitsu Ltd Virtual computer control system
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) 1989-09-21 1998-11-18 株式会社日立インフォメーションテクノロジー 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5522075A (en) 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5287363A (en) 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
FR2704341B1 (fr) 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5604805A (en) 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5555385A (en) 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
FR2717286B1 (fr) 1994-03-09 1996-04-05 Bull Cp8 Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant.
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH0883211A (ja) 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5903752A (en) 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
FR2731536B1 (fr) 1995-03-10 1997-04-18 Schlumberger Ind Sa Procede d'inscription securisee d'informations dans un support portable
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
US5658971A (en) * 1995-05-31 1997-08-19 Dallas Enviro-Tek International, Inc. Coating composition
JP3451595B2 (ja) 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
WO1997025798A1 (en) * 1996-01-11 1997-07-17 Mrj, Inc. System for controlling access and distribution of digital property
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5740178A (en) 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
WO1998012620A1 (fr) * 1996-09-20 1998-03-26 Mitsubishi Denki Kabushiki Kaisha Micro-ordinateur possedant une fonction de commande de remise a zero
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5935242A (en) * 1996-10-28 1999-08-10 Sun Microsystems, Inc. Method and apparatus for initializing a device
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5901225A (en) 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
US6272637B1 (en) * 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6035374A (en) * 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US5935247A (en) * 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US6182089B1 (en) * 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
US6108644A (en) * 1998-02-19 2000-08-22 At&T Corp. System and method for electronic transactions
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6397242B1 (en) * 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6463535B1 (en) * 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6560627B1 (en) * 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US6397379B1 (en) * 1999-01-28 2002-05-28 Ati International Srl Recording in a program execution profile references to a memory-mapped active device
EP1030237A1 (en) * 1999-02-15 2000-08-23 Hewlett-Packard Company Trusted hardware device in a computer
US6615278B1 (en) * 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
US6374317B1 (en) * 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
JP3710671B2 (ja) * 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US6678825B1 (en) * 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
GB0020371D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Apparatus and method for establishing trust
US7631160B2 (en) * 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7490250B2 (en) * 2001-10-26 2009-02-10 Lenovo (Singapore) Pte Ltd. Method and system for detecting a tamper event in a trusted computing environment
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7107460B2 (en) * 2002-02-15 2006-09-12 International Business Machines Corporation Method and system for securing enablement access to a data security device
US7343493B2 (en) * 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763113A (zh) * 2010-02-16 2012-10-31 诺基亚公司 对移动可信模块中的平台配置寄存器进行复位的方法和设备
US9087198B2 (en) 2010-02-16 2015-07-21 Nokia Technologies Oy Method and apparatus to reset platform configuration register in mobile trusted module
CN102763113B (zh) * 2010-02-16 2015-10-07 诺基亚公司 对移动可信模块中的平台配置寄存器进行复位的方法和设备
CN104335548A (zh) * 2012-06-07 2015-02-04 阿尔卡特朗讯公司 安全数据处理
US9674153B2 (en) 2012-06-07 2017-06-06 Alcatel Lucent Secure data processing

Also Published As

Publication number Publication date Type
KR100692347B1 (ko) 2007-03-09 grant
GB0422099D0 (en) 2004-11-03 grant
GB2403832A (en) 2005-01-12 application
CN100458641C (zh) 2009-02-04 grant
WO2003085498A2 (en) 2003-10-16 application
US20030188113A1 (en) 2003-10-02 application
KR20040097251A (ko) 2004-11-17 application
WO2003085498A3 (en) 2004-09-02 application
US7028149B2 (en) 2006-04-11 grant
GB2403832B (en) 2006-01-11 grant

Similar Documents

Publication Publication Date Title
US6148083A (en) Application certification for an international cryptography framework
US6760441B1 (en) Generating a key hieararchy for use in an isolated execution environment
US6986052B1 (en) Method and apparatus for secure execution using a secure memory partition
US5844986A (en) Secure BIOS
US20060179302A1 (en) Methods and apparatus for providing a secure booting sequence in a processor
US20110138166A1 (en) Extensible Pre-Boot Authentication
US7082615B1 (en) Protecting software environment in isolated execution
US20030196100A1 (en) Protection against memory attacks following reset
US20090204823A1 (en) Method and apparatus for controlling system access during protected modes of operation
US7124170B1 (en) Secure processing unit systems and methods
US6754815B1 (en) Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US20110289294A1 (en) Information processing apparatus
US20060026417A1 (en) High-assurance secure boot content protection
US20050210287A1 (en) Secure mode controlled memory
US20050060568A1 (en) Controlling access to data
US20050021944A1 (en) Security architecture for system on chip
US7055029B2 (en) Cryptographic system enabling ownership of a secure process
US20090063865A1 (en) Configurable Signature for Authenticating Data or Program Code
US6581162B1 (en) Method for securely creating, storing and using encryption keys in a computer system
US20050141717A1 (en) Apparatus, system, and method for sealing a data repository to a trusted computing platform
US7322042B2 (en) Secure and backward-compatible processor and secure software execution thereon
US20040003273A1 (en) Sleep protection
US7013481B1 (en) Attestation key memory device and bus
US20100058041A1 (en) Method and Apparatus for Secure Instantly-On Computer System
US20070198851A1 (en) Secure processor

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted