CN100458641C - 用于复位平台配置寄存器的系统和方法 - Google Patents
用于复位平台配置寄存器的系统和方法 Download PDFInfo
- Publication number
- CN100458641C CN100458641C CNB03812033XA CN03812033A CN100458641C CN 100458641 C CN100458641 C CN 100458641C CN B03812033X A CNB03812033X A CN B03812033XA CN 03812033 A CN03812033 A CN 03812033A CN 100458641 C CN100458641 C CN 100458641C
- Authority
- CN
- China
- Prior art keywords
- pcr
- configuration register
- platform configuration
- bus
- processor
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Retry When Errors Occur (AREA)
- Stored Programmes (AREA)
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-AC 280的拷贝进行验证。
任何逻辑处理器可以开始安全启动过程,于是可以被称为启动逻辑处理器(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将为它维持一个页面表。此时,无论是SINI T-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 (7)
1、一种用于复位平台配置寄存器的处理器系统,包括:
包含平台配置寄存器的电路;
耦合至所述平台配置寄存器的复位允许标志;
处理器,在执行特权指令期间,在耦合至该处理器的第一总线上发送特殊总线消息;
芯片组,耦合至所述第一总线,以响应所述特殊总线消息而传送本地确认消息给所述电路,其中所述电路响应所述本地确认消息而根据所述复位允许标志使所述平台配置寄存器复位;以及
第二总线,耦合至所述电路,以从所述芯片组向所述电路传送本地确认消息。
2、如权利要求1所述的系统,其中所述复位允许标志指明允许复位所述平台配置寄存器。
3、如权利要求2所述的系统,还包括耦合至所述平台配置寄存器的修改允许标志,以指明允许修改所述平台配置寄存器的内容。
4、如权利要求3所述的系统,其中在所述处理器执行特权指令期间,能够修改所述平台配置寄存器的所述内容。
5、如权利要求1所述的系统,其中所述平台配置寄存器包含安全虚拟机监视器的第一摘要。
6、如权利要求5所述的系统,其中所述平台配置寄存器包含扩展到所述第一摘要上的安全初始化认证代码的第二摘要。
7、如权利要求5所述的系统,其中所述电路包括第二平台配置寄存器,用来包含安全初始化认证代码的第二摘要。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/112,124 US7028149B2 (en) | 2002-03-29 | 2002-03-29 | System and method for resetting a platform configuration register |
US10/112,124 | 2002-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1656432A CN1656432A (zh) | 2005-08-17 |
CN100458641C true CN100458641C (zh) | 2009-02-04 |
Family
ID=28453244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB03812033XA Expired - Fee Related CN100458641C (zh) | 2002-03-29 | 2003-03-20 | 用于复位平台配置寄存器的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7028149B2 (zh) |
KR (1) | KR100692347B1 (zh) |
CN (1) | CN100458641C (zh) |
AU (1) | AU2003220453A1 (zh) |
GB (1) | GB2403832B (zh) |
HK (1) | HK1072304A1 (zh) |
MY (1) | MY137187A (zh) |
WO (1) | WO2003085498A2 (zh) |
Families Citing this family (63)
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 |
US20060242406A1 (en) | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Protected computing environment |
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 |
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 |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
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 |
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 |
DE602006009366D1 (de) | 2005-12-14 | 2009-11-05 | Nvidia Corp | Chipsatzsicherheits-Offload-Engine |
US8023883B1 (en) | 2005-12-28 | 2011-09-20 | The Directv Group, Inc. | Method and apparatus for controlling handoffs in a mobile system |
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 |
US7720431B2 (en) * | 2005-12-28 | 2010-05-18 | The Directv Group, Inc. | Method and apparatus for providing emergency information to a mobile receiving device |
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 |
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 |
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 |
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 |
US7979714B2 (en) * | 2006-06-02 | 2011-07-12 | Harris Corporation | Authentication and access control device |
US8522018B2 (en) * | 2006-08-18 | 2013-08-27 | Fujitsu Limited | Method and system for implementing a mobile trusted platform module |
US8272002B2 (en) * | 2006-08-18 | 2012-09-18 | Fujitsu Limited | Method and system for implementing an external 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 |
EP2186238A4 (en) * | 2007-08-31 | 2016-01-27 | 4361423 Canada Inc | DEVICE AND METHOD FOR CARRYING OUT SAFE 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 |
WO2011101538A1 (en) * | 2010-02-16 | 2011-08-25 | Nokia Corporation | Method and apparatus to reset platform configuration register in mobile trusted module |
US9087196B2 (en) | 2010-12-24 | 2015-07-21 | Intel Corporation | Secure application attestation using dynamic measurement kernels |
EP2672673B1 (en) * | 2012-06-07 | 2016-05-25 | Alcatel Lucent | Apparatus and method for secure data processing |
CN105450406B (zh) * | 2014-07-25 | 2018-10-02 | 华为技术有限公司 | 数据处理的方法和装置 |
US10417458B2 (en) * | 2017-02-24 | 2019-09-17 | Microsoft Technology Licensing, Llc | Securing an unprotected hardware bus |
US11386234B2 (en) * | 2019-12-17 | 2022-07-12 | Nuvoton Technology Corporation | Security systems and methods for integrated circuits |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998012620A1 (fr) * | 1996-09-20 | 1998-03-26 | Mitsubishi Denki Kabushiki Kaisha | Micro-ordinateur possedant une fonction de commande de remise a zero |
US20010027511A1 (en) * | 2000-03-14 | 2001-10-04 | Masaki Wakabayashi | 1-chop microcomputer and IC card using same |
US20020026576A1 (en) * | 2000-08-18 | 2002-02-28 | Hewlett-Packard Company | Apparatus and method for establishing trust |
Family Cites Families (133)
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 (ja) * | 1978-11-30 | 1983-05-16 | 国産電機株式会社 | 液面検出装置 |
JPS5576447A (en) * | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
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 | Robert Bosch Gmbh, 7000 Stuttgart | 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 (ja) * | 1982-12-17 | 1984-06-27 | Hitachi Ltd | 複合プロセツサ・システムのアクセス制御方式 |
US4759064A (en) * | 1985-10-07 | 1988-07-19 | Chaum David L | Blind unanticipated signature systems |
US4975836A (en) * | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
JPS61206057A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
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 |
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 |
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 |
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 (ja) * | 1988-12-26 | 1990-07-03 | Hitachi Ltd | 仮想計算機システム |
JPH02208740A (ja) * | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
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 |
US5287363A (en) * | 1991-07-01 | 1994-02-15 | Disk Technician Corporation | System for locating and anticipating data storage media failures |
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 |
US5319760A (en) * | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
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 |
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. |
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 |
US5604805A (en) * | 1994-02-28 | 1997-02-18 | Brands; Stefanus A. | Privacy-protected transfer of electronic information |
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エレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
EP0880840A4 (en) * | 1996-01-11 | 2002-10-23 | Mrj Inc | DEVICE 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 |
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 |
US6327652B1 (en) * | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6609199B1 (en) * | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US7111290B1 (en) * | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
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 |
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 |
US6678825B1 (en) * | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
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 |
-
2002
- 2002-03-29 US US10/112,124 patent/US7028149B2/en not_active Expired - Lifetime
-
2003
- 2003-03-20 WO PCT/US2003/008764 patent/WO2003085498A2/en not_active Application Discontinuation
- 2003-03-20 CN CNB03812033XA patent/CN100458641C/zh not_active Expired - Fee Related
- 2003-03-20 AU AU2003220453A patent/AU2003220453A1/en not_active Abandoned
- 2003-03-20 GB GB0422099A patent/GB2403832B/en not_active Expired - Fee Related
- 2003-03-20 KR KR1020047015555A patent/KR100692347B1/ko not_active IP Right Cessation
- 2003-03-25 MY MYPI20031055A patent/MY137187A/en unknown
-
2005
- 2005-04-29 HK HK05103685A patent/HK1072304A1/xx not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998012620A1 (fr) * | 1996-09-20 | 1998-03-26 | Mitsubishi Denki Kabushiki Kaisha | Micro-ordinateur possedant une fonction de commande de remise a zero |
US20010027511A1 (en) * | 2000-03-14 | 2001-10-04 | Masaki Wakabayashi | 1-chop microcomputer and IC card using same |
US20020026576A1 (en) * | 2000-08-18 | 2002-02-28 | Hewlett-Packard Company | Apparatus and method for establishing trust |
Also Published As
Publication number | Publication date |
---|---|
HK1072304A1 (en) | 2005-08-19 |
KR100692347B1 (ko) | 2007-03-09 |
KR20040097251A (ko) | 2004-11-17 |
AU2003220453A1 (en) | 2003-10-20 |
WO2003085498A2 (en) | 2003-10-16 |
WO2003085498A3 (en) | 2004-09-02 |
US7028149B2 (en) | 2006-04-11 |
MY137187A (en) | 2009-01-30 |
GB2403832A (en) | 2005-01-12 |
CN1656432A (zh) | 2005-08-17 |
GB2403832B (en) | 2006-01-11 |
US20030188113A1 (en) | 2003-10-02 |
GB0422099D0 (en) | 2004-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100458641C (zh) | 用于复位平台配置寄存器的系统和方法 | |
CN101410772B (zh) | 用于执行安全环境起始指令的系统 | |
US6990579B1 (en) | Platform and method for remote attestation of a platform | |
KR101263061B1 (ko) | 점대점 상호연결 시스템 상에서의 보안 환경 초기화 명령의실행 | |
KR101974188B1 (ko) | Arm® trustzone™ 구현을 위한 펌웨어 기반 신뢰 플랫폼 모듈 | |
US7139915B2 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
US6941458B1 (en) | Managing a secure platform using a hierarchical executive architecture in isolated execution mode | |
US6996710B1 (en) | Platform and method for issuing and certifying a hardware-protected attestation key | |
KR100987507B1 (ko) | 보안 서비스 프로세서로의 접속을 위한 버스 브리지를포함하는 컴퓨터 시스템 | |
US20040015694A1 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
US20030126454A1 (en) | Authenticated code method and apparatus | |
US8327415B2 (en) | Enabling byte-code based image isolation | |
US7085935B1 (en) | Managing a secure environment using a chipset in isolated execution mode | |
US20060200680A1 (en) | Attestation key memory device and bus | |
US7013481B1 (en) | Attestation key memory device and bus | |
WO2023123850A1 (zh) | 一种固件可信根的实现方法、装置、设备和可读存储介质 | |
CN101213556B (zh) | 评估令牌实现的计算机系统的机制 | |
CN110352411B (zh) | 用于控制对安全计算资源的访问的方法和装置 | |
CN101150459B (zh) | 提高信息安全装置安全性的方法及系统 | |
WO2023045744A1 (zh) | 加固方法、注册方法、运行方法、电子设备和存储介质 | |
US20220391517A1 (en) | Ephemeral Data Storage | |
US6769058B1 (en) | Resetting a processor in an isolated execution environment | |
US20240119139A1 (en) | Securing critical data in a storage device of a computer system | |
Stark et al. | How Flexible Is CXL's Memory Protection? | |
GB2405974A (en) | Chipset for retrieving audit log |
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: 20090204 Termination date: 20180320 |