CN102122327A - 使用多个认证代码模块进入安全计算环境 - Google Patents

使用多个认证代码模块进入安全计算环境 Download PDF

Info

Publication number
CN102122327A
CN102122327A CN2010106251433A CN201010625143A CN102122327A CN 102122327 A CN102122327 A CN 102122327A CN 2010106251433 A CN2010106251433 A CN 2010106251433A CN 201010625143 A CN201010625143 A CN 201010625143A CN 102122327 A CN102122327 A CN 102122327A
Authority
CN
China
Prior art keywords
processor
module
independent
authentication codes
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010106251433A
Other languages
English (en)
Other versions
CN102122327B (zh
Inventor
S·M·达塔
E·F·布里克尔
M·J·库马
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN102122327A publication Critical patent/CN102122327A/zh
Application granted granted Critical
Publication of CN102122327B publication Critical patent/CN102122327B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

公开了使用多个认证代码模块进入安全***环境的***、设备和方法。在一个实施例中,处理器包括解码器和控制逻辑。解码器解码安全进入指令。响应于解码安全进入指令,控制逻辑在主认证代码模块中的匹配表中寻找与处理器相应的条目,并从主认证代码模块中读取主报头和单独的认证代码模块。

Description

使用多个认证代码模块进入安全计算环境
技术领域
本公开涉及信息处理领域;更特别地,涉及信息处理***的安全。
背景技术
信息处理***,诸如包括来自因特尔公司的因特尔
Figure BSA00000433349500011
奔腾
Figure BSA00000433349500012
处理器系列中的处理器的那些***,可支持在安全***环境中的操作。安全***环境可包括信任的分区和不信任的分区。***的裸平台硬件和信任的软件可包括在信任的分区中。可阻止从不信任的分区对信任的分区的资源的直接访问以保护***可能包含的任何秘密,以免被发现或更改。这些秘密可包括在信息处理***上生成或存储的密码、密钥以及私人或机密信息。
通过执行安全***进入协议(secured system entry protocol),***的裸平台硬件可包括在信任的分区或域内。例如,启动处理器(initiating processor)可执行安全进入(“SENTER”)指令,***中的所有代理必须适当地对其进行响应以使协议顺利进行。在安全进入过程中,可阻止响应代理执行任何程序指令或处理任何外部事务,使得启动处理器可将带签名的代码模块验证为可信的和信任的,执行带签名的代码模块以将***配置为支持信任的操作、测量(以密码的方式,使用散列扩展功能)并随后启动被测虚拟机监视器(“MVMM”)的执行。MVMM可创建一个或多个运行不信任软件的虚拟机环境,这样,不信任软件对***资源不直接访问。
发明内容
本发明提供了一种处理器,包括:解码器,解码安全进入指令;控制逻辑,响应于解码该安全进入指令,在主认证代码模块中的匹配表中寻找与处理器相应的条目,并从主认证代码模块中读取主报头和单独的认证代码模块。
本发明还提供了一种方法,包括:在主认证代码模块中的匹配表中寻找与第一处理器相应的第一条目;将来自主认证代码模块的主报头载入第一安全存储器;并且将第一处理器的第一单独的认证代码模块从主代码模块载入第一安全存储器。
本发明还提供了一种***,包括:第一处理器,包括:解码器,解码安全进入指令;消息传递逻辑,发送安全进入消息;以及第一控制逻辑,响应于解码安全进入指令,在主认证代码模块中的匹配表中寻找与第一处理器相应的第一条目,并从主认证代码模块中读取主报头和第一单独的认证代码模块;和第二处理器,包括:消息传递逻辑,接收安全进入消息;以及第二控制逻辑,响应于接收安全进入消息,在主认证代码模块中的匹配表中寻找与第二处理器相应的第二条目,并从主认证代码模块中读取主报头和第二单独的认证代码模块。
附图说明
本发明以示例而不是限制的方式示出在附图中。
图1根据本发明的实施例示出了信息处理***。
图2根据本发明的实施例示出了处理器。
图3根据本发明的实施例示出了芯片组。
图4根据本发明的实施例示出了主认证代码模块。
图5根据本发明的实施例示出了使用多个认证代码模块进入安全计算环境的方法。
具体实施方式
描述了使用多个认证代码模块(每个,“ACM”)进入安全计算环境的***、设备和方法中的本发明的实施例。在说明书中,可能阐明特定的细节(诸如处理器和***配置)以便提供对于本发明更彻底的理解。但是本领域技术人员将理解的是,可在没有这样特定细节的情况下实现本发明。另外,一些公知结构、电路和类似物未详细示出,以避免不必要地使本发明难懂。进一步,此说明书可能用根据一个实施例所用的名字(即“SENTER”)来称呼指令;在其他实施例中,这些指令或类似的指令可具有不同的名字。
本发明的实施例提供用于使用多个ACM来进入安全计算环境。多个ACM的使用可能是所期望的,因为信息处理***可包括多个处理器或处理器包,并且当这些处理器或处理器包可能不一样时,单个ACM可能不适于初始化所有这些处理器或处理器包以进入安全环境。
图1示出了信息处理***100中的本发明的实施例。信息处理***100可为个人计算机、主计算机、便携式计算机、手持装置、机顶盒(set-top box)、服务器或任何其他计算***。在此实施例中,***100包括裸平台硬件110、所述裸平台硬件110又包括处理器120、130以及140、***存储器150、芯片组160、令牌170、装置180以及非易失性存储器190。
处理器120、130以及140中的每一个可代表具有一个或多个执行核心的组件,其中每个执行核心可基于多种不同类型的处理器的任何一个,所述多个不同类型的处理器包括通用微处理器(诸如因特尔奔腾
Figure BSA00000433349500032
处理器系列、安腾
Figure BSA00000433349500033
处理器系列或因特尔
Figure BSA00000433349500034
公司的其他处理器系列中的处理器,或来自另一个公司的另一个处理器)或专用处理器或微控制器,或者可以是可重构核(例如,现场可编程门阵列)。虽然图1示出了三个这样的处理器,但是***100可包括任意数量的处理器,各包括任意数量的执行核心和执行线程的任意组合。在一些实施例中,任意个或所有的处理器120、130或140可代表运行在一个或多个物理处理器上的单独硬件执行线程或“逻辑处理器”。
***存储器150可以是在其上可存储诸如数据和/或程序代码等信息的任何介质,诸如动态随机存取存储器,或任何其他类型的由处理器120、130和140可读的介质,或任何这些介质的组合。
芯片组160可代表任何组的电路和逻辑,其支持存储器操作、输入/输出(“I/O”)操作、配置、控制、内部或外部接口、连接或通信功能(例如“胶合”逻辑和总线桥),和/或处理器120、130、140和/或***100的任何类似功能。芯片组160的单独的元件可一起编组在单个芯片、一对芯片上,或分散在多个芯片中,和/或部分地、完全地、冗余地或根据分布方式集成到包括处理器120、130和/或140中任意个的一个或多个处理器。
令牌(token)170可包括信任的平台模块(“TPM”)172和平台配置寄存器(“PCR”)174。TPM 172可为包括微控制器的组件,以便安全地存储密钥、密码、数字证书和其他用于建立和维护安全的信息。PCR 174可包括存储***配置信息的任意数量的寄存器和/或其他存储单元。配置TPM 172和/或PCR 174只对某些代理和/或在某些条件下是可访问的。令牌170和/或TPM 172和PCR174任意一个或二者可包括在***100的芯片组160或其他组件中。
装置180可代表任意数量的任意类型的I/O、外设或其他装置,诸如键盘、鼠标、追踪球、点击装置、监视器、打印机、媒介卡、网络接口、信息存储装置等。装置180可以分立组件实例化,或可与任何其他装置一起包括在集成组件中。在一个实施例中,装置180可代表多功能I/O、外设或其他装置中的单个功能。
处理器120、130和140、***存储器150、芯片组160、令牌170和装置180可根据任何已知的方式彼此耦合或通信,诸如通过一个或多个并行的、顺序的、管线的、异步的、同步的、有线的、无线的或其他总线或点对点连接直接或间接的方式。***100也可包括任意数量的附加装置、代理、组件或连接。
图2示出了处理器200,其可代表根据本发明的实施例的图1中的任意个的处理器120、130或140,或任何其他处理器。
处理器200可包括可为静态随机存取存储器的高速缓存210,或任何其他形式的存储装置来存储信息,诸如从***存储器150复制的数据等。处理器200(或高速缓存210)也可包括高速缓存控制逻辑220,以控制高速缓存210是以正常模式操作还是以作为随机存取存储器的高速缓存(cache-as-random-access-memory“CRAM”)模式操作。在正常模式,高速缓存210响应高速缓存命中而满足存储器请求,响应高速缓存未命中而代替高速缓存线,并且可响应监听请求(snoop request)而无效(invalidate)或代替高速缓存线。在CRAM模式,高速缓存210作为随机存取存储器操作,其中高速缓冲存储器满足高速缓冲存储器的存储范围内的请求,并且响应于监听请求而不代替或无效高速缓存线。
处理器200也可包括指令单元230、控制单元240、执行单元250以及消息传递单元260。指令单元230可包括任何电路、逻辑或其他硬件或结构,诸如解码器等,以便接收、识别、解码,或者以其他方式接收指令。控制单元240可包括任何电路、逻辑或其他硬件或结构,诸如微码、状态机逻辑、可编程逻辑或任何其他形式的控制逻辑,以便响应于指令单元230接收的指令和/或消息传递单元260接收的消息来生成控制信号或以其他方式来用于控制处理器200。
执行单元250可包括任何电路、逻辑或其他硬件或结构以执行指令单元230接收的指令。执行单元250可基于控制单元240生成的控制信号来操作。消息传递单元260可包括任何电路、逻辑或其他硬件或结构以生成由处理器200发送到***100中的其他组件或代理的消息,并接收由***100中的其他组件或代理发送到处理器200的消息。
在处理器200的一个实施例中,指令单元210可接收用于处理器200的指令(“SENTER”指令),以开始在***100中建立安全的环境的过程(“SENTER”过程)。响应于SENTER指令,控制单元240生成控制信号以使消息传递单元260生成“SENTER”总线消息(或***中其他类型的消息,其中处理器和其他代理通过非总线的方式进行通信),该总线消息由其他处理器和代理的消息传递单元识别为SENTER总线消息。执行SENTER指令并发送SENTER总线消息的处理器或执行线程称为“启动逻辑处理器”(initiating logical processor“ILP”)。
***中接收SENTER总线消息的每个处理器、执行线程或其他代理称为“响应逻辑处理器”(responding logical processor“RLP”)。响应于SENTER总线消息,每个RLP执行准备建立安全的环境的动作,以及允许ILP继续进行启动(launch)安全的环境的动作。这些动作之一可用于它们的消息传递单元以生成“ACK”总线消息从而确认SENTER总线消息的接收。
图3示出了芯片组300,根据本发明的实施例,其可代表芯片组160或执行芯片组160的功能的任何其他芯片组或组件。芯片组300可包括消息传递单元310、控制单元320、“EXISTS”存储单元330、“JOINS”存储单元340、以及“ALL_JOINED”存储单元350。
消息传递单元310可包括任何电路、逻辑或其他硬件或结构以生成由芯片组300发送到***100中的其他组件或代理的消息,以及接收由***100中的其他组件或代理发送的消息。控制单元320可包括任何电路、逻辑或其他硬件或结构,诸如微码、状态机逻辑、可编程逻辑或任何其他形式的控制逻辑,以便响应于消息传递单元310接收的消息而生成控制信号或以其他方式来用于控制芯片组200。
“EXISTS”存储单元330、“JOINS”存储单元340、以及“ALL_JOINED”存储单元350中的每一个可包括寄存器或任何其他形式的存储装置来存储信息,并可包括用于任意数目的位的存储装置。在一个实施例中,控制单元320可使用EXISTS存储单元330来跟踪在***100中操作的所有逻辑处理器和其他代理,以及使用JOINS存储单元340来跟踪已确认收到SENTER总线消息的所有逻辑处理器和其他代理。当***100中的所有处理器和其他代理,如EXISTS存储单元330中所反映的,已确认收到SENTER总线消息,如JOINS存储单元340中所反映的,则控制单元320可在“ALL_JOINED”存储单元350中设置指示器以向ILP指示可继续进行安全的环境的启动。注意,在本说明书的SENTER过程中,如在本说明书的其余部分,不要求描述和实现本发明的实施例的许多细节已被省略,并且该过程的许多变型是可能的。例如,ILP和RLP通过前端处理器总线(front-side processor bus“FSB”)来连接,FSB事务可包括每个事务的启动器的标识符,并且芯片组300可连接到FSB以跟踪所有FSB逻辑处理器或其他总线代理。
返回到图1,非易失性存储装置190可代表***100中的任意数量的单独非易失性存储介质,诸如半导体闪存或磁盘或光盘。非易失性存储装置190可用于存储在本发明实施例中使用的软件组件。例如,非易失性存储装置190可存储认证代码模块(“ACM”)192和被测虚拟机监视器(measured virtual machinemonitor“MVMM”)194。
在SENTER过程中可由一个或多个处理器执行ACM 192,以执行涉及建立安全的环境的任意数量的动作。例如ACM 192可用于初始化、配置和测试***100内的组件来用于其参与安全的环境。在一个实施例中,ACM 192可用于测试***100的存储器配置(由***100中的任何处理器、芯片组或其他组件的存储器控制器功能所控制),以确保对***存储器150的某些页或部分的访问可以被限制或控制,这样,MVMM 194和/或用于使***100安全的其他软件可以在其存储在***存储器150中时被保护。在另一个实施例中,ACM 192可用于认证MVMM 194和将在安全的环境内使用的任何其他软件,以及启动MVMM 194的执行。
MVMM 194可以是作为在SENTER过程期间调用的可信任实体的任何虚拟机监视器、管理程序或其他这样的软件程序,以便控制一个或多个虚拟机执行其他软件程序(通常称为被测的启动环境或“MLE”),其中的一些是可信任的,而一些是不可信任的。
为了在***100中建立安全的环境,运行在任何处理器120、130、140或***100中的任何其他处理器上的诸如操作***(“OS”)或基本输入/输出***(“BIOS”)等***软件可从非易失性存储装置190向***存储器150传输ACM192和MVMM 194,接着使这些处理器之一(例如处理器120)执行SENTER指令。SENTER指令的执行可使处理器120作为ILP发布SENTER总线消息,轮询ALL_JOINED存储单元350直至所有的RLP已确认收到SENTER总线消息,配置高速缓存122在CRAM模式操作,以及将ACM 192(或根据本发明的实施例,ACM 192的部分,如下所述)载入高速缓存122。高速缓存122可配置为在CRAM模式操作,使得高速缓存122可充当私有、安全的存储器,其中处理器120可认证ACM 192(或根据本发明的实施例,ACM 192的部分,如下所述)。
为了特定处理器和/或芯片组可写ACM,并可由处理器和/或芯片组的制造商或卖主对其进行数字签名。由于使得***中的每个处理器处于稳定的状态所采取的各种动作的复杂性,其中在稳定的状态加入(join in)SENTER过程,因此除了ILP之外,对于RLP执行ACM或ACM的某个部分也可能是所期望的。此外,诸如***100等***可包括两个或更多不同步进、版本或类型的处理器。因此,将用于不同处理器的代码组合到一个ACM可能是所期望的,使得任何不同的处理器可充当ILP,和/或使得RLP可执行ACM或ACM的某个部分。然而,ACM的尺寸可能限于可将ACM载入以供认证的高速缓冲存储器的尺寸(例如64千字节)。因此,本发明的实施例提供用于在SENTER过程中将使用的或可用的不止一个ACM。
根据本发明的实施例,图4示出了主ACM400,其可用作***100中的ACM192。主ACM400包括主报头410、ACM420、ACM430以及ACM440。可为不同的步进、版本或类型的处理器对ACM 420、430以及440中的每一个进行写入。例如,可分别为***100中的处理器120、130和140对ACM 420、ACM430以及ACM440进行写入。
ACM 420、430以及440中的每一个可包括包含代码和数据的部分(例如分别是部分422、432和442),以及包含报头的部分(例如分别是部分424、434和444)。代码和数据部分中的每一个包括由处理器在SENTER过程期间执行的代码,连同在执行此代码期间使用的数据和/或执行此代码期间所生成的数据的便笺式存储单元(scratchpad locations)。报头部分中的每一个包括摘要(digest)和/或数字签名(“散列”)和/或从相应ACM中得到或以其他方式代表相应ACM的其他值,所述摘要和/或数字签名或其他值由散列和/或其他密码功能生成。报头部分中的每一个也可包括有关ACM的作者、尺寸、版本等的信息。这些报头部分中的信息可用于认证(即核实真实性)相应的ACM。
主报头410可包括匹配表412和主散列414。匹配表412可包括例如根据从在各处理器内或与各处理器相关的寄存器或其他存储单元可读的唯一的处理器标识符(“CPU ID”)而标识包括在***100的各处理器的表。对于每个CPU ID,基于有关处理器的步进、版本、类型或其他信息,匹配表指示包括在主ACM 400中的哪个ACM将被该处理器执行。
主散列414包括从匹配表412和报头424、434和444(或报头424、434和444中的每一个的部分)得出或以其他方式代表匹配表412和报头424、434和444(或报头424、434和444中的每一个的部分)的拼接(concatenation)的散列。主散列414可由在匹配表412和ACM 420、430和440的散列的拼接上执行的散列和/或其他密码功能生成。因此,主散列414可用于认证所有包括在主ACM400中的信息。
图5示出了本发明的方法实施例,具体而言,示出了使用多个认证代码模块进入安全的计算环境的方法500。虽然本发明的方法实施例不限于此方面,但是可参照***100、处理器200、芯片组300或主ACM 400的元件来描述图5的方法500。此外,方法500可代表单独的方法的汇编(compilation),其中每个可能在不同存储单元由不同的实体或个人或自动执行。
此外,在方法500中执行的某些动作可由处理器200响应于控制单元240所生成的控制信号来执行(例如框550到558),或由芯片组300响应于控制单元320所生成的控制信号来执行。处理器200中的控制信号又可响应于指令单元230将指令解码为一个或多个微指令或微操作和/或消息传递单元260接收总线消息或其他事务而生成,而芯片组300中的控制信号又可响应于消息传递单元310接收总线消息或其他事务而生成。
在图5的框502,方法500可以开始。
在框510中,可例如由处理器或其他信息处理***组件的制造商或卖主,或者为了处理器或其他信息处理***组件的制造商或卖主而写入或以其他方式创建任意数量的单独的ACM,例如ACM420、430以及440。在框512中,通过向ACM的代码、数据和/或其他部分应用散列或其他这样的算法,可以为每个ACM创建散列。在框514中,每个散列可通过应用使用例如公钥/私钥对的密码算法来加密。在框516中,每个散列可被加入到相应ACM的报头。
在框520,诸如主ACM 400等主ACM可以为诸如***100等信息处理***而创建。主ACM可以例如由***制造商或卖主或者为了***制造商或卖主使用诸如ACM 420、430和440等任意数量的单独的ACM而创建。在框522,诸如匹配表412等匹配表可以通过创建***100中的各处理器或其他代理的条目(包括各处理器的标识符连同哪个ACM将由该处理器来执行的指示)而创建。
在框524,匹配表可与包括在主ACM中的各个单独的ACM的散列拼接。在框526,诸如主散列414等主散列可以通过将散列或其他这样的算法应用到匹配表和单独的ACM散列的拼接而创建。在框528,主散列可以通过应用使用例如公钥/私钥对的密码算法来进行加密。
在框530,主ACM可以通过将主散列和匹配表拼接成主报头以及将主报头与单独的ACM相拼接来完成。在框532,主ACM可以被加载或以其他方式安装在***中,例如被加载或以其他方式安装在诸如非易失性存储装置190等非易失性存储装置。
在框540,主ACM可以例如通过运行在***100中的BIOS、引导装载程序或OS而从非易失性存储装置复制到诸如***存储器150等***存储器。在框542,***100进入安全的***环境可以例如通过BIOS、引导装载程序、OS向处理器120发布SENTER指令来启动。在框544,处理器120可发送SENTER总线消息。在框546,***100中的每个RLP,例如,处理器130和140可发送ACK总线消息。在框548,所有RLP已经加入SENTER过程的指示可以设置在例如ALL_JOINED存储单元350中。
在框550,***100中的处理器(例如ILP或和RLP)可读取主ACM中的匹配表以寻找相应条目(entry)。如果匹配没有找到,则在框552,处理器可向非易失性存储器写入错误代码值,并使***重置。然而,如果找到了匹配,则在框554,处理器可配置其高速缓存以便以CRAM模式操作并将主报头和匹配的单独的ACM载入其高速缓存。
在框556,处理器可试图通过对每一个主报头和匹配ACM进行散列并且将结果散列与从主ACM读取的主散列和单独的ACM散列进行比较来认证主报头和匹配的ACM。如果任何一个比较失败,则在框552,处理器可向非易失性存储器写入错误代码值,并使***重置。然而,如果主报头和匹配的单独的ACM都成功被认证,则在框558,主散列可被发送到诸如令牌170的令牌(token),以便存储在PCR中,供在密封或解封被测启动环境或安全的***环境中的秘密时使用。
在框560,框550到558可被***100中的每个其他处理器重复。在框562,***100中的一个或多个处理器可开始执行它的ACM。在框564,执行ACM的处理器可启动MVMM。在框566,***100进入被测启动环境(“MLE”)或安全的***环境可以完成。
在框598,方法500可结束。
在本发明的范围内,对于方法500而言,以不同的顺序执行、同时执行所示的块、省略所示的块、增加额外的块、或者组合重新排序的、组合的、省略的或额外的块是可能的。本发明的方法实施例的许多变型是可能的,但是其可能不是从方法500的描述显而易见的。例如,框520至530中创建主ACM可以发生在***100之外或者发生在***100内。
因此,已公开了***、设备和方法以及使用多个认证代码模块进入安全的计算环境的***。虽然已对某些实施例进行了描述,并在附图中示出,但应理解,这样的实施例仅仅是对宽广的本发明进行示例而非限制,并且本发明不限于所示和所述的特定结构和安排,因为本领域技术人员在研究本公开时可以想到各种其他的修改。在快速成长并且进一步的提高难以预见的技术领域,诸如本发明的技术领域,通过实现技术提高而进行促进,所公开的实施例可以容易地在安排和细节上进行修改,而没有背离本公开的原理或所附权利要求书的范围。

Claims (20)

1.一种处理器,包括:
解码器,解码安全进入指令;
控制逻辑,响应于解码该安全进入指令,在主认证代码模块中的匹配表中寻找与处理器相应的条目,并从主认证代码模块中读取主报头和单独的认证代码模块。
2.如权利要求1所述的处理器,进一步包括配置成安全模式的高速缓存,其中控制逻辑将主报头和单独的代码模块读入配置成安全模式的高速缓存。
3.如权利要求2所述的处理器,其中控制逻辑也使主报头和单独的认证代码模块在高速缓存内被认证。
4.如权利要求1所述的处理器,其中单独的认证代码模块是在主认证代码模块内的多个单独的认证代码模块之一。
5.如权利要求4所述的处理器,其中控制逻辑还基于匹配表中的条目来选择多个单独的认证代码模块之一。
6.如权利要求3所述的处理器,其中在认证主报头和单独的认证代码模块之后,控制逻辑还向令牌发送主散列。
7.一种方法,包括:
在主认证代码模块中的匹配表中寻找与第一处理器相应的第一条目;
将来自主认证代码模块的主报头载入第一安全存储器;并且
将第一处理器的第一单独的认证代码模块从主代码模块载入第一安全存储器。
8.如权利要求7所述的方法,进一步包括发布安全进入指令,其中响应于发布安全进入指令而进行寻找第一条目、加载主报头并加载第一单独的认证代码模块。
9.如权利要求7所述的方法,其中第一安全存储器是第一处理器的高速缓冲存储器。
10.如权利要求7所述的方法,进一步包括认证在第一安全存储器内的主报头和第一单独的认证代码模块。
11.如权利要求7所述的方法,进一步包括从主认证代码模块中的多个单独的认证代码模块中选择第一单独的认证代码模块。
12.如权利要求11所述的方法,其中选择第一单独的认证代码模块是基于匹配表中的第一条目。
13.如权利要求10所述的方法,进一步包括在认证主报头和第一单独的认证代码模块之后向令牌发送主散列。
14.如权利要求7所述的方法,进一步包括:
在主认证代码模块中的匹配表中寻找与第二处理器相应的第二条目;
将来自主认证代码模块的主报头载入第二安全存储器;以及
将第二处理器的第二单独的认证代码模块从主代码模块载入第二安全存储器。
15.如权利要求14所述的方法,其中第二安全存储器是第二处理器的高速缓冲存储器。
16.如权利要求14所述的方法,进一步包括认证第二安全存储器内的主报头和第二单独的认证代码模块。
17.一种***,包括:
第一处理器,包括:
解码器,解码安全进入指令;
消息传递逻辑,发送安全进入消息;以及
第一控制逻辑,响应于解码安全进入指令,在主认证代码模块中的匹配表中寻找与第一处理器相应的第一条目,并从主认证代码模块中读取主报头和第一单独的认证代码模块;和
第二处理器,包括:
消息传递逻辑,接收安全进入消息;以及
第二控制逻辑,响应于接收安全进入消息,在主认证代码模块中的匹配表中寻找与第二处理器相应的第二条目,并从主认证代码模块中读取主报头和第二单独的认证代码模块。
18.如权利要求17所述的***,进一步包括存储主认证代码模块的非易失性存储装置,所述主认证代码模块包括匹配表、第一单独的认证代码模块、第二单独的认证代码模块,以及基于匹配表、第一单独的认证代码模块和第二认证代码模块的主散列。
19.如权利要求17所述的***,进一步包括将主认证代码模块载入非易失性存储器的***存储器。
20.如权利要求19所述的***,进一步包括在认证第一处理器的安全存储器内的主报头和第一认证代码模块后,将主认证代码模块的主散列载入的令牌。
CN201010625143.3A 2009-12-31 2010-12-24 使用多个认证代码模块进入安全计算环境 Expired - Fee Related CN102122327B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/650579 2009-12-31
US12/650,579 US9202015B2 (en) 2009-12-31 2009-12-31 Entering a secured computing environment using multiple authenticated code modules

Publications (2)

Publication Number Publication Date
CN102122327A true CN102122327A (zh) 2011-07-13
CN102122327B CN102122327B (zh) 2016-05-25

Family

ID=44188915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010625143.3A Expired - Fee Related CN102122327B (zh) 2009-12-31 2010-12-24 使用多个认证代码模块进入安全计算环境

Country Status (6)

Country Link
US (2) US9202015B2 (zh)
JP (2) JP5373753B2 (zh)
CN (1) CN102122327B (zh)
BR (1) BRPI1005586A2 (zh)
DE (1) DE102010054614A1 (zh)
TW (1) TWI582632B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335672A (zh) * 2014-06-16 2016-02-17 华为技术有限公司 一种安全模式提示方法及装置
CN106575338A (zh) * 2014-06-30 2017-04-19 Nicira股份有限公司 加密体系架构
CN106716435A (zh) * 2014-10-17 2017-05-24 英特尔公司 设备与安全处理环境之间的接口
US9892246B2 (en) 2014-06-16 2018-02-13 Huawei Technologies Co., Ltd. Security mode prompt method and apparatus
CN107690798A (zh) * 2015-06-07 2018-02-13 苹果公司 在安全同步***中自动识别无效参与者
CN112740122A (zh) * 2018-08-21 2021-04-30 皮尔茨公司 用于监视安全关键过程的自动化***
US11411995B2 (en) 2013-02-12 2022-08-09 Nicira, Inc. Infrastructure level LAN security
US11533301B2 (en) 2016-08-26 2022-12-20 Nicira, Inc. Secure key management protocol for distributed network encryption

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9202015B2 (en) * 2009-12-31 2015-12-01 Intel Corporation Entering a secured computing environment using multiple authenticated code modules
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
WO2013089739A1 (en) 2011-12-15 2013-06-20 Intel Corporation Secure debug trace messages for production authenticated code modules
US20150082006A1 (en) * 2013-09-06 2015-03-19 Futurewei Technologies, Inc. System and Method for an Asynchronous Processor with Asynchronous Instruction Fetch, Decode, and Issue

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62128354A (ja) * 1985-11-29 1987-06-10 Fuji Electric Co Ltd マルチプロセツサシステムの起動方式
CN1445693A (zh) * 2002-03-19 2003-10-01 微软公司 安全的数字数据格式和编码的强制执行政策
CN1568447A (zh) * 2002-04-23 2005-01-19 松下电器产业株式会社 服务器装置及程序管理***
CN1842757A (zh) * 2003-09-18 2006-10-04 苹果电脑有限公司 用于增量代码签署的方法和装置
US20060224878A1 (en) * 2005-03-31 2006-10-05 Intel Corporation System and method for trusted early boot flow
CN101410772A (zh) * 2002-03-29 2009-04-15 英特尔公司 用于执行安全环境起始指令的***和方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126451A (ja) * 1985-11-27 1987-06-08 Mitsubishi Electric Corp 分散処理装置のイニシヤルプログラムロ−ド方式
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
JP2000215093A (ja) * 1999-01-27 2000-08-04 Fuji Photo Film Co Ltd 画像ファイル装置および方法
US7360076B2 (en) 2001-06-13 2008-04-15 Itt Manufacturing Enterprises, Inc. Security association data cache and structure
TW583568B (en) 2001-08-27 2004-04-11 Dataplay Inc A secure access method and system
US20030126454A1 (en) 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US7698552B2 (en) 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
JP4522372B2 (ja) 2005-02-07 2010-08-11 株式会社ソニー・コンピュータエンタテインメント プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
US7831778B2 (en) 2006-03-30 2010-11-09 Silicon Image, Inc. Shared nonvolatile memory architecture
US8458726B2 (en) * 2007-12-03 2013-06-04 Intel Corporation Bios routine avoidance
FR2918830B1 (fr) 2007-07-13 2009-10-30 Viaccess Sa Verification de code mac sans revelation.
US20090204823A1 (en) * 2008-02-07 2009-08-13 Analog Devices, Inc. Method and apparatus for controlling system access during protected modes of operation
US9202015B2 (en) * 2009-12-31 2015-12-01 Intel Corporation Entering a secured computing environment using multiple authenticated code modules

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62128354A (ja) * 1985-11-29 1987-06-10 Fuji Electric Co Ltd マルチプロセツサシステムの起動方式
CN1445693A (zh) * 2002-03-19 2003-10-01 微软公司 安全的数字数据格式和编码的强制执行政策
CN101410772A (zh) * 2002-03-29 2009-04-15 英特尔公司 用于执行安全环境起始指令的***和方法
CN1568447A (zh) * 2002-04-23 2005-01-19 松下电器产业株式会社 服务器装置及程序管理***
CN1842757A (zh) * 2003-09-18 2006-10-04 苹果电脑有限公司 用于增量代码签署的方法和装置
US20060224878A1 (en) * 2005-03-31 2006-10-05 Intel Corporation System and method for trusted early boot flow

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11743292B2 (en) 2013-02-12 2023-08-29 Nicira, Inc. Infrastructure level LAN security
US11411995B2 (en) 2013-02-12 2022-08-09 Nicira, Inc. Infrastructure level LAN security
CN105335672B (zh) * 2014-06-16 2020-12-04 华为技术有限公司 一种安全模式提示方法及装置
US9892246B2 (en) 2014-06-16 2018-02-13 Huawei Technologies Co., Ltd. Security mode prompt method and apparatus
CN105335672A (zh) * 2014-06-16 2016-02-17 华为技术有限公司 一种安全模式提示方法及装置
CN106575338B (zh) * 2014-06-30 2021-03-02 Nicira股份有限公司 加密体系架构
US11087006B2 (en) 2014-06-30 2021-08-10 Nicira, Inc. Method and apparatus for encrypting messages based on encryption group association
CN106575338A (zh) * 2014-06-30 2017-04-19 Nicira股份有限公司 加密体系架构
CN106716435B (zh) * 2014-10-17 2021-05-04 英特尔公司 设备与安全处理环境之间的接口
CN106716435A (zh) * 2014-10-17 2017-05-24 英特尔公司 设备与安全处理环境之间的接口
CN107690798A (zh) * 2015-06-07 2018-02-13 苹果公司 在安全同步***中自动识别无效参与者
CN107690798B (zh) * 2015-06-07 2021-08-03 苹果公司 在安全同步***中自动识别无效参与者
US11533301B2 (en) 2016-08-26 2022-12-20 Nicira, Inc. Secure key management protocol for distributed network encryption
CN112740122A (zh) * 2018-08-21 2021-04-30 皮尔茨公司 用于监视安全关键过程的自动化***
CN112740122B (zh) * 2018-08-21 2024-03-15 皮尔茨公司 用于监视安全关键过程的自动化***

Also Published As

Publication number Publication date
US20130212673A1 (en) 2013-08-15
DE102010054614A1 (de) 2011-07-07
TW201140367A (en) 2011-11-16
JP5373753B2 (ja) 2013-12-18
JP2013251016A (ja) 2013-12-12
US9208292B2 (en) 2015-12-08
BRPI1005586A2 (pt) 2012-02-28
JP5752767B2 (ja) 2015-07-22
CN102122327B (zh) 2016-05-25
US9202015B2 (en) 2015-12-01
TWI582632B (zh) 2017-05-11
JP2011141870A (ja) 2011-07-21
US20110161676A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
CN102122327A (zh) 使用多个认证代码模块进入安全计算环境
EP3582129B1 (en) Technologies for secure hardware and software attestation for trusted i/o
CN107667347B (zh) 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术
TWI570589B (zh) 用以提供受信任計算之裝置
JP4883459B2 (ja) ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行
US20210266183A1 (en) Dynamic certificate management as part of a distributed authentication system
CN102271153B (zh) 用于虚拟化tpm访问的***、方法以及装置
US8332604B2 (en) Methods to securely bind an encryption key to a storage device
US8799673B2 (en) Seamlessly encrypting memory regions to protect against hardware-based attacks
JP6620595B2 (ja) 情報処理システム、情報処理装置、管理装置、処理プログラム、及び処理方法
CN114692131A (zh) 带有分解式存储器的密码式计算
EP3758326B1 (en) Secure updating of computing system firmware
CN106716435B (zh) 设备与安全处理环境之间的接口
JP6696352B2 (ja) プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム
US20240073013A1 (en) High performance secure io
US20240160580A1 (en) Virtual extension to global address space and system security
TW202418133A (zh) 用於容許安全通訊之積體電路、方法及電腦系統

Legal Events

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

Granted publication date: 20160525

Termination date: 20181224