CN1704922A - 在多处理器系统中启动安全内核 - Google Patents
在多处理器系统中启动安全内核 Download PDFInfo
- Publication number
- CN1704922A CN1704922A CNA2004100787738A CN200410078773A CN1704922A CN 1704922 A CN1704922 A CN 1704922A CN A2004100787738 A CNA2004100787738 A CN A2004100787738A CN 200410078773 A CN200410078773 A CN 200410078773A CN 1704922 A CN1704922 A CN 1704922A
- Authority
- CN
- China
- Prior art keywords
- processor
- agency
- slot
- trust
- processors
- 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
Links
Images
Classifications
-
- 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
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- 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
-
- 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/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/71—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Abstract
在本发明的实施例中,一个方法包括检验一个系统的一个发起逻辑处理器;如果发起逻辑处理器被检验,利用发起逻辑处理器来验证信任的代理;并且如果信任的代理被验证,在系统的多个处理器上启动信任的代理。在执行了这样一个信任的代理之后,在某些实施例中就可以启动安全内核。该系统可以是例如多处理器服务器系统,其具有带有专门的点到点互连的部分或者完全连接的拓扑。
Description
技术领域
本发明涉及计算机系统,更具体地涉及开始其中的安全操作。
背景技术
基于链接的系统拓扑可包括通过点到点的链接而连接的多个节点。该拓扑可以不是完全连接的;即是,给定的节点可以不是直接地与所有其它节点连接,但是任何节点可以根据配置的路由机制经由多个链接到达任何其它节点。例如,节点可以是处理器和输入/输出(I/O)中心(hub),或者其它的此类设备。
在系统运行的开始,信任(trust)处理器硬件,以按照指定的来工作,并且信任链接机制,以将由硬件发送的链路层消息从一个链接控制器交付到另一个链接控制器。另外,该链接机制在一个链接的各端提供关于硬件部件的信任的信息。类似地,I/O中心的硬件机制被信任,以按照指定的来工作。
在特定的实现中,在系统的结构上运行的给定的协议可被用于访问存储器和将全部存储器的一致的外部特征和行为维护为单个物理地址空间,尽管也可以存在分离的物理存储器。但是,这个一致的行为依赖于由非信任的软件所配置的地址解码和路由机制。因此,在验证该配置之前,该协议不能被信任来正确地访问存储器。特别的,不能够信任没有错误和不适当的操作,比如存储器别名,或者利用不同的映射使用相同的物理地址。因此,存在在这样的一个系统中开始一个信任的环境的需要。
附图说明
图1A是根据本发明的一个实施例的方法的流程图。
图1B是图1A的流程图的继续。
图2是根据本发明的一个实施例的系统的方框图。
图3是根据本发明的一个实施例构建的生成树的方框图。
图4是根据本发明的一个实施例的信任的硬件链接的方框图。
图5是通过发起逻辑处理器所观察的是根据本发明的一个实施例的安全启动的时序图。
图6是通过响应逻辑处理器所观察的是根据本发明的一个实施例的安全启动的时序图。
具体实施方式
在不同的实施例中,在系统拓扑中的所有处理器上运行的安全内核可被安全地启动。另外,可以以一个安全方式来测量和记录安全内核的身份(identity),以及在启动过程中使用的一个或者多个软件代理。在这种方式中,记录一个根源于硬件的传递信任的链,所述硬件用于启动安全内核。
在特定的实施例中,信任的硬件可包括加在主信任平台模块(TPM)之上的主I/O中心。一个(非安全的)操作系统(OS)可具有拓扑的这个方面的知识。另外,运行信任的软件代理,使得它的运行不能以任何方式被篡改。
用户或者系统管理员也许期望在系统中加载安全内核。如在这里所提到的,术语“安全”是指之后检查系统并确定给定的内核是否被加载的能力。另外,用户或者第三方可进一步确定内核是否被加载到安全的存储器环境中。由此,在一个实施例中,外部的代理可建立信任,或者通过向其提供在安全环境中检查软件的能力来决定信任包含在安全环境中的内核。在一个实施例中,将整个区域暴露用于检查,不如检查代表安全存储器区域的加密的散列值(例如,软件识别值)。在一个实施例中,数字签名的安全软件识别值被存储到可被外部代理访问的硬件中。
参考图1A,显示了根据本发明的一个实施例在一个多处理器系统中启动安全内核的一个方法的流程图。如图1A所示,方法100开始于加载一个信任的代理和一个安全的内核到存储器中(方框110)。在一个实施例中,非信任的OS可把信任的代理和安全的内核加载到系统存储器的一个安全区域中。该信任的代理和安全的内核被存储在海量存储设备中(例如,硬盘驱动器),并且可被加载到可以被系统的多个处理器访问的系统存储器中。另外,OS可构建页表来对安全的内核和信任的代理寻址。在一个实施例中,这些页表的地址和长度可被存储在系统的主I/O中心中的特定位置。该OS还可存储用于验鉴该模块的公共密钥。在一个实施例中,信任的代理可以是安全验鉴的代码,其被用作验证系统的配置,更具体地即是系统的存储器配置。该信任的代理还可被用于开始安全内核的运行。
接着,该OS在一个发起逻辑处理器(ILP)上发布一个安全启动(方框120)。该安全启动可以是安全进入(SENTER)指令,用以开始安全进入。SENTER指令的运行可引起ILP在它的插槽(socket)和其它处理器插槽中发布专门的总线消息,并接着为后续的系统动作等待一定的时间间隔。
在一个实施例中,ILP可以被直接连接到主I/O中心,主I/O中心依次可直接连接到主TPM。在这样一个实施例中,ILP可以确认它具有一个到主TPM的信任的路径。例如,检查在ILP的插槽中信任的链接参数。此类路径可以是一个被信任的硬件路径,其不需要被固件或者硬件初始化。在本方法的运行的这个角度上,在ILP是一个多处理器插槽的部分的实施例中,ILP还可引起插槽中的其它的逻辑处理器(OLP)暂停。
接着,ILP构建一个生成树(方框130)。可根据期望的算法构建该生成树。该生成树可被用来识别与树结构的多个层次中的ILP节点相关的系统的所有其它的节点,其中该ILP作为树的根结点。与ILP直接连接的节点可以是第二层的节点,与这些第二层的节点直接连接的节点可以是第三层的节点,以此类推。这样的生成树可被用来验证系统的合适配置并能将基于链接的消息路由到不同的节点。只有信任的硬件和链接可被用于构建生成树。在某个实施例中,生成树提供信任的广播机制,由此ILP能够发送消息到每个处理器插槽;提供用于每个处理器插槽的装置来响应广播消息并且当这些响应通过树返回到ILP时被总结;和一种壁垒机制(barrier mechanism),保证所有的处理器插槽在ILP继续进行下一个广播消息之前达到一个已知的状态。
仍然参考图1A,在方框140,一个安全的启动消息被发送到生成树上的其它插槽。在一个实施例中,利用生成树协议发送这样的消息,所述生成树协议将消息从根层发送到下一层(即是下行链接节点),其依次将消息发送到次低的层,依次类推。作为响应,每一层可将响应包发送回它的传递层(即是上行链路节点)。由此,当所有节点接收消息并适当地响应时,最终的总结响应包可被传递回根结点。在本方法的运行的这个角度上,在每个插槽上的响应逻辑处理器(RLP)可引起插槽上的OLP暂停。
现在参考图1B,当ILP接收表示所有其它节点已经适当地接收并响应了SENTER指令的总结响应时,该ILP可验证信任的代理(方框150)。该验证包括,例如执行散列计算并将结果与之前存储的散列值比较。该验证信息可接着被发送到RLP(方框160)。RLP可各自分别验证其能够在受保护的存储器位置访问信任的代理,并且验证信任的代理(方框170)。
当ILP为每一个RLP接收到验证总结响应时,ILP可接着控制在系统的所有插槽上的信任的代理的运行(方框180)。例如,在一个实施例中,ILP可使用壁垒机制来开始部分的信任的代理,等待来自每个插槽的、它已经执行了该信任的代理的那个部分的指示,并进行到下一个部分。可利用上面讨论的生成树发送这样的指示。
硬件使用生成树在每个处理器插槽启动同样的信任的代理。该信任的代理可依照单指令多数据(SIMD)的形式在每个处理器插槽上并行地运行。这些信任的代理的运行协力利用与ILP协调和通信的生成树来完整地验证拓扑的存储器配置。当信任的代理成功地验证了该配置,在ILP上运行的信任的代理可验证页表,该页表用作对安全内核寻址、计算内核散列、以及在主TPM中记录散列。
在信任的代理的运行的结束处,ILP可启动安全内核(方框190)。在此时,安全内核接管系统操作,并可根据其中的代码运行(方框195)。例如,安全内核可在系统的所有插槽上运行。
现在参考图2,显示了根据本发明的一个实施例的系统的框图。如图2所示,系统200可以是多处理器系统,具有任意的部分连接的点到点体系结构。即是,系统200的某些节点可以直接连接在一起,同时其它节点可经由连接在它们之间的中间节点来通信。在一个实施例中,系统200可以是并发多处理(SMP)服务器计算机,尽管本发明的范围不限于此。
即是,尽管在图2中显示为服务器平台,可以理解在其它实施例中,系统可以是一个期望的台式计算机、可动装置、服务器或者其它此类平台中的任何一个。在某些实施例中,图2的不同部件之间的互连可以是点对点互连,其在系统200内提供一致的共享存储器,并且在一个这样的实施例中,它们之间用于通信的互连和协议可以组成通用系统接口(CIS)。用这种方式,系统200的多个处理器、存储器和其它的部件可一致地互相连接。
在图2的实施例中,系统200的所有部件可共同地形成一个一致的系统。这样一个一致的系统可适应一致的事务,而不需对事务所流经的通道进行任何排序。虽然在此讨论作一个一致的系统,可以理解一致和非一致的事务都可以通过并且由系统中的部件执行。例如,一个、一些或者所有与系统200相关的存储器的区域可为非一致的事务保留。并且,可以理解本发明的实施例不限于一致的系统。
如图2所示,第一处理器插槽210可包括多个处理核心212a、212b、212c和212d。尽管图2所示的实施例包括四个这样的处理核心,可以理解在其它的实施例中,处理器插槽可包括更多或者更少的这样的核心。如图2进一步所示,处理器核心可以经由总线或者环215连接到一起。在某些实施例中,比如根据CSI协议的实施例,处理器插槽还包括附加的逻辑功能性,比如存储控制器功能,和CSI包生成和路由机制。
例如,在图2中在处理器插槽210内示出的是逻辑功能性216,其可包括存储控制器和其它逻辑功能性。逻辑功能性216可将节点标识符(NID)和处理器插槽关联。如图2中所示,处理器插槽210可具有一个节点标识符,在一个实施例中指示它是发起逻辑处理器。逻辑功能性216可包括源地址解码器,该解码器为物理存储器映射中的所有项目将地址映射到对应的节点(例如NID)。如果配置合适,每个处理器插槽可包括具有源地址解码器的逻辑功能性,该源地址解码器将相同地址对应到相同节点。在一个实施例中,NID可以由不信任的固件在系统初始化时分配,并且由此不是唯一的。这样在某些实施例中,信任的代理可被用于确定每一个节点的NID是否实际上是唯一的。在某些实施例中,逻辑功能性216还可包括将地址映射到物理存储器的目标地址解码器,例如,直接连接到给定的处理器插槽的物理存储器。
存储器218可被直接连接到处理器插槽210。虽然存储器218可被直接连接到处理器插槽210,可以理解在各种实施例中,系统200中的任何处理器插槽都可以访问存储器218。存储器218可利用逻辑功能性216内的存储控制器功能性与处理器插槽210连接。另外,虽然没有在图2中示出,可以理解每个处理器插槽具有一个或者多个与其连接的存储器。虽然每个插槽具有一个直接与其连接的物理存储器,比如高速缓存的附加存储器单元可与处理器插槽内的各个处理核心关联。在一个实施例中,系统内的所有存储器可被寻址为单个物理地址空间,尽管多个这样的存储器存在,每个这样的存储器都被直接连接到不同的处理器插槽。
进一步如图2所示,处理器插槽210直接连接到处理器插槽220、处理器插槽250和处理器插槽260。另外,处理器插槽210直接连接到主I/O中心290,其依次直接连接到主TPM 292。虽然不在这里详细讨论,处理器插槽230、240、270和280(和插槽220、250和260)可具有类似的处理核心、总线、环和逻辑功能性,如关于处理器插槽210所讨论的。最后,进一步在图2中显示的是第二I/O中心295,其直接连接到处理器插槽250、260、270和280。
I/O中心290和295可各自包括多个端口,用以和与其连接的设备进行交互。例如,在某些实施例中,这样的I/O设备可以是根据一个或者多个总线方案的设备。在一个实施例中,这样的I/O设备可以是根据互连外围设备ExpressTM实体层规范版本1.0a(Peripheral ComponentInterconnect Express Base Specification Version 1.0a)(2002年7月出版)的互连外围设备(PCI)ExpressTM设备。主TPM292可是根据值得依赖的计算平台联盟(TCPA)主规范版本1.1b(2002年2月22日出版)的一个信任的平台模块。主TPM292可保护与创建和维护安全操作环境相关的数据。在一个特定的实施例中,主TPM292可包括用于特别加密、解密和/或者验证过程的密钥。主TPM292还可包括存储空间,用来保存提要数据和其它用在安全环境中的信息。在一个实施例中,在主TPM292中的存储空间可包括非易失性存储器(例如,闪存),用来在掉电的情况下保持其内容。
虽然在图2的实施例中显示为每个处理器插槽包括四个或者五个直接连接,其它实施例可以在不同插槽之间具有更多或者更少的直接连接。并且,可以理解在不同的实施例中,可以存在更多或者更少的插槽,其每一个具有不同数目的核心和不同数量的逻辑功能性。例如,一个单处理器系统可实现成具有一个单I/O中心和与其连接的关联的I/O设备。或者,可实现具有不同数目的处理器(比如4、8、16或32)的多处理器系统,并且适当数目的I/O中心和其它部件可连接到其上。任何这样的平台拓扑可利用点到点的互连来提供系统中一致部分的一致性,还允许连接到其上的I/O设备之间的非一致的对等事务。并且,在某些实施例中,附加部件可出现在系统200中,比如交叉开关、路由器等等。
参考图3,显示了根据本发明的实施例的生成树的框图。如图3所示,生成树300可是由ILP构建的生成树的图形表示。更具体地,生成树300对应图2的系统200的生成树,其中处理器插槽210包括ILP。注意到生成树的每个节点具有一个节点标识符,它对应于图2的匹配处理器插槽的节点识别符。如图3所示,根层节点310具有节点识别符1,对应于图2的处理器插槽210。二层的节点包括直接与处理器插槽210连接的节点。特别地,如图3所示,二层的节点包括节点315、320、325和330,其每一个对应于系统200中直接与处理器插槽210相连接的节点,即处理器插槽220、250和260以及主I/O中心290。
第三层的节点包括节点335、340和350。这些节点的每一个对应直接与第二层节点相连接的节点。例如,节点335(例如对应于I/O中心295)直接连接到处理器插槽250;节点340(例如对应于处理器插槽270)直接连接到处理器插槽260;和节点350(例如对应于处理器软件230)直接连接到处理器插槽220。最后,第四层的节点355和360,这两者都直接连接到第三层节点,即节点340。
这样,生成树识别出在系统内参与的插槽的数量。系统中的每个插槽(除了根插槽)可具有一个被识别为上行链接(uplink)的链接。由ILP生成的广播消息可从它的上行链接由RLP接收。另外,除了那些叶子(例如图3的第四层节点)外的所有插槽具有被识别为下行链接的链接。每个插槽可给它们的下行链接传播广播消息。在某些实施例中,对应于如图3中所示的图形表示的查找表或者其它数据结构可被存储在与ILP所使用的处理器插槽210相关联的存储器中。
这样,在构造生成树结束时,生成树包括关于节点数目及其层数的信息。在生成树枚举结束时,唯一的标识符可被分配给每个节点,并且还可以确定和存储在一个给定的节点之下的节点计数。这样,如图3中所示,除了每个节点的节点标识符(也如图2中所示)外,还会存在一个附加的生成树的唯一标识符(例如,节点ID1具有一个生成树识别符1,然而节点ID5具有一个生成树识别符2)。
现在参考图4,显示了根据本发明的一个实施例的信任的链接硬件的框图。该信任的链接硬件可被用于提供在处理器插槽内的信任的硬件链接,以在信任的代理的执行完成之前使用。可信任该信任的链接硬件,因为沿着链接操作和传送消息时不需要固件或者软件。信任的硬件链接455a和455b可被包含在处理器插槽内(例如插槽410a和410b)。虽然在图4中显示两个这样的插槽,这里讨论插槽410a及其部件。如图4所示,硬件链接455a可被连接在处理器核心420a和链接控制器450a之间。使用信任的硬件链接455a,信任的链接消息可被发送到核心420a并从核心420a接收,而不需要依靠软件或者固件。
相反,对于一般的系统消息发送和包传输,经由总线或者环425a通过核心接口430a和协议引擎435a向/从核心420a传播基于链接的消息。在一个实施例中,协议引擎435a可以是一个CSI协议引擎,用以将数据和消息格式化到CSI包中。另外,总线440a通过交叉开关445a连接到协议引擎435a。从这里,数据和消息可被发送到与处理器插槽关联的其它节点、存储器、发送到链接控制器450a,或者其它期望的位置。
因为包括核心接口430a、协议引擎435a和交叉开关445a的部件是由一个不信任的固件建立的。在完成信任的代理的运行之前这个通路不提供不可欺骗的访问通路。这样,在各种实施例中,硬件链接455a可在核心420a和链接控制器450b之间提供不可欺骗的访问通路,这在信任的代理验证系统之前特别的适用。例如,在验证之前,链接控制器(比如链接控制器450a和链接控制器450b)可被用于利用来自核心的特殊指令生成链接消息。一个接收链接控制器就可以获取链接消息内容,并经由信任的硬件链接(诸如信任的硬件链接455a)使它可以直接为处理器核心所用。在某些实施例中,可出现从链接控制器到处理器核心的事件机制,使得核心内的微码可被通知在信任的硬件链接处新链接消息的到达。在链接初始化期间,关于相邻节点的信息可被链接控制器获取,并且对于协议引擎和处理器核心可用。在这样的实施例中,这样的信息可包括相邻节点的节点类型和节点标识符。
如图4中进一步所示,对应于那些参考处理器插槽410a而在上面讨论的部件可以在处理器插槽410b中找到。另外,在两个处理器之间的信任的链接可经由连接在链接控制器450a和链接控制器450b之间的硬件链接460实现。这个信任的链接可被用于在信任的代理验证系统之前在处理器插槽之间发送基于链接的消息。
现在参考图5,显示了ILP所观察的、根据本发明的一个实施例的安全启动的时序图。如图5中所示,安全启动500开始于将一个信任的代理和安全内核加载到存储器(段502)中。如上所讨论的,在一个实施例中非信任的OS可执行该加载操作。接着,SENTER指令可被发送到包括期望的ILP的处理器插槽(段504)。例如,这样的指令可由一个非信任的OS发布。
当ILP接收到SENTER指令时,它可在发布一个类似的指令到其插槽内的其它逻辑处理器和到其它的处理器插槽,以及更特别地到响应逻辑处理器(RLP),在每个处理器插槽中可以有它们中的一个(时间505)。对于哪个逻辑处理器是ILP和/或RLP的确定可在不同的实施例中变化,并且可基于软件或者固件的决定。例如,在一个实施例中,ILP可被OS选择。另外,其它处理器插槽内的RLP可被给定的插槽内的所有逻辑处理器选择。在时间510,ILP可检验它是否直接连接到主I/O中心。接着在时间515,ILP可广播一个SENTER总线消息到它插槽内的OLP,并且每个OLP可响应SENTER指令(时间520)。
在这个时间,可以开始一个SENTER本地事件(段522)。在时间525,每个OLP可发布一个确认(ACK)并进入一个等待状态。这个等待状态可由OLP维持,直到后来被ILP命令离开这个状态。
接着可进入SENTER全局指令阶段(段528)。首先,ILP可在系统内发送一个寻找来自节点的确定(ACK)的消息。当ILP接收了ACK时,它可发送连续的指令(时间530)。在这个时间,ILP可构建一个生成树。
当生成树的构建呈现不同的形式时,在一个实施例中,生成树可通过将作为链接层消息广播的脉冲沿树向下发送到下一个更低的层,并接收沿树向上的返回来构建,所述返回是包含了累计结果的链接层消息。通过这样的方式,接收脉冲消息的每个RLP可将其转发到它的下行链接,并且从下行链接接收返回消息。被发送的该生成树基于链接的消息可使每个插槽设立每个插槽的层。接着,会发生生成树枚举,其中唯一的标识符被分配给每个节点。由此,在生成树完成之后,每个插槽被分配了一个唯一的标识符和一个层,进一步指明它相对于ILP的相对位置和到/从插槽的上行链路和下行链路连接。
在验证和完成生成树之后,ILP可发送SENTER指令到所有其它处理器插槽(时间535)。接着,ILP可合并从生成树上的节点接收的总结响应(时间540)。用于该树的一个算法检验拓扑的软件配置给已经每一个节点一个唯一的可在系统的路由协议中使用的标识符。
接着,ILP可测量(即计算散列)和验鉴(即检验一个签名)它在主I/O中心中指定的地址上找到的信任的代理,并且将散列值、信任的代理的基地址和长度,以及用于检验签名的公共密钥的散列广播到其它处理器插槽(时间550)。可利用生成树协议发生这样一个广播。当其它的插槽验证该信任的代理,它们在时间555发送之后将被ILP合并的响应消息。如果每个插槽发送一个肯定的响应,在时间560ILP可加载、记录信任的代理的散列(例如在主TPM中)并启动信任的代理。如果一个或者多个插槽未能肯定地响应,在某些实施例中就终止安全启动。在如图5所示的实施例中,信任的代理可以是安全的信任的代理(例如,有资格的SINIT-AC,用于安全初始化验鉴的代码),尽管本发明的范围没有那么被限制。
接着,可运行信任的代理(段572)。在一个实施例中,信任的代理的运行可发生在松散地锁定步进(lock-step)的SIMD运行中。即是,相同的信任的代理可在所有的插槽上执行,在代码内特定的壁垒处同步。例如,ILP可在所有链接上发布包括操作码和数据的广播消息。每个RLP可获得数据并转发该消息到它的下行链接(如果有的话),并处理该数据。如果RLP是一个叶子,它可发送响应消息回到它的上行链接。如果RLP是一个中间节点,它等待来自它的下行链接的所有响应,利用操作码总结所有的响应,并将总结的响应发送给它的上行链接。当最后的ILP获得来自所有其它插槽的总结响应时,可继续以类似的方式运行到下一个壁垒位置。
在运行中,信任的代理可验证本地配置和每个处理器插槽的源地址解码器(时间570)。另外,信任的代理可为每个处理器插槽验证每个节点标识符的唯一性(时间575)。例如,信任的代理可引起源地址解码器被发送到ILP(时间580)。接着,ILP可合并和分析源地址解码器的比较结果(时间585)。接着,通过验证、加载、记录和启动安全内核可终止信任的代理(时间590)。在某些实施例中,这样的验证信息(例如散列值)可被存储在主TPM中。在一个实施例中,安全的内核可以是安全的虚拟机监视器(SVMM),尽管本发明的范围没有那么被限制。
仍然参考图5,监视器初始化(段592)可以使ILP用特别的指令唤醒所有的插槽中的处理器核心,用以使所有的处理器退出它们的等待状态。这样,在段596,所有的监视器加入,以及在时间598所有的处理器核心参加并且安全内核操作开始(段599)。
现在参考图6,显示根据本发明的一个实施例的安全启动的时序图。更具体地,图6显示响应逻辑处理器(RPL)所观察到的安全启动的时间选择。这样,在图6中看到的安全启动600非常接近地对应于发生在图5中的时序图。首先,SENTER门铃事件发生(段604)。在这样一个事件期间,RLP被来自ILP的SENTER门铃指令所中断(时间605)。接着,在时间610,RLP发送SENTER下行链接消息到它的下行链接节点(如果有的话)。在时间615,该RLP将SENTER消息广播到它的插槽内的所有处理器(即是OLP的)。插槽中的每个其它的逻辑处理器可响应SENTER循环(时间620)。接着SENTER本地事件(段622)发生,其中每个OLP发布回一个ACK到ILP并且OLP进入等待状态(在时间625)。
在段628,SENTER门铃全局时间发生。当RLP接收到所有来自下行链接节点的ACK时,它发送一个连续的消息到ILP(时间630)。在时间635,该RLP合并此类连续的消息。接着,在时间640,该RLP可接收来自ILP的验证信息。在一个实施例中,ILP可发送关于信任的代理的散列值、基地址、大小和公共密钥散列的信息。另外,在这个时间,该RLP可转发该信息到它的下行链接节点。在时间645,该RLP可将接收的散列和信任的代理的散列进行比较。
在时间650,该RLP从它的下游节点接收验证消息并合并这些结果。并且,该RLP通过它的上游节点向上发送一个总结的响应到ILP。接着,基于从ILP接收的信息,该RLP加载、验鉴、检查信任的代理的签名,并启动信任的代理(时间655)。
如果所有的处理器插槽到达这个点,信任的代理运行(段672)。特别地,信任的代理验证本地配置和每个处理器插槽的节点ID(时间660),并检查和验证插槽内的源地址解码器(时间665和670)。该RLP可接收来自下行链接插槽的验证的结果,合并并向上发送到它的上行链接处理器或者ILP(时间675)。接着,该RLP插槽进入特定的等待状态(在时间680)。
在这个点上,安全内核被启动,首先在ILP插槽上(段692)。接着,在时间685,ILP上的安全内核用特定的唤醒指令唤醒所有插槽上的所有处理器核心。在这个时间,安全内核可在系统的一些或者所有处理器上继续它的运行。例如,在安全启动之后,可创建一个虚拟机环境,其中SVMM可作为系统内的最高权限的代码来操作,并且可被用于允许或者拒绝OS或者虚拟机内的应用程序对某些系统资源的直接访问。
通过这种方式,本发明的实施例可在一个被不信任的软件和固件所配置的专用复杂服务器硬件上记录和启动一个信任的安全内核。该内核可接着进行构建、记录和证明一个信任的服务器执行环境。另外,在特定的环境中,信任的代理可以SIMD的方式在一个服务器拓扑的所有处理器插槽上运行,并且通过使用信任的壁垒/广播机制,可以验证专用的复杂服务器拓扑的配置,并且通过从硬件通过信任的代理传递信任,可记录和启动安全的环境。
实施例可被实现在代码中并且被存储在已经在其上存储了指令的存储介质上,所述指令被用于对计算机系统进行编程以执行这些指令。该存储介质可包括,但不局限于任何类型的盘,包括软盘、光盘、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)和磁光盘,半导体设备,比如只读存储器(ROM)、随机访问存储器(RAM)、可擦可编程只读存储器(EPROM)、闪存、电可擦除只读存储器(EEPROM)、磁或者光卡,或者任何类型的适合存储电子指令的介质。
虽然用有限的实施例描述了本发明,本领域的技术人员可理解各种修改和变体。期望所附的权利要求覆盖了落在本发明的真实的精神和范围内的所有这些修改和变体。
Claims (42)
1.一种方法,包括:
在具有部分连接的拓扑或者完全连接的拓扑的系统的多个处理器上安全地启动安全内核。
2.权利要求1的方法,还包括使用信任的代理,以安全地启动安全内核。
3.权利要求2的方法,还包括测量安全内核的身份并在传递信任的链上记录该身份。
4.权利要求2的方法,还包括利用信任的代理来验证系统的存储器配置。
5.权利要求4的方法,其中存储器配置包括具有单一地址空间的分布式存储器。
6.权利要求1的方法,其中多个处理器经由专门的点到点互连连接。
7.一种方法,包括:
检验系统的发起逻辑处理器;
如果发起逻辑处理器被检验,用发起逻辑处理器来验证信任的代理;并且
如果信任的代理被验证,在系统的多个处理器上启动信任的代理。
8.权利要求7的方法,还包括在系统的主中心代理的保护部分存储信任的代理的地址信息。
9.权利要求7的方法,还包括在多个处理器上构建生成树。
10.权利要求9的方法,还包括使用生成树在多个处理器上启动信任的代理。
11.权利要求7的方法,还包括利用壁垒机制运行信任的代理。
12.权利要求11的方法,还包括在运行信任的代理之后运行安全内核。
13.权利要求7的方法,还包括验证系统的存储器配置。
14.权利要求7的方法,其中检验发起逻辑处理器包括确认发起逻辑处理器和主中心代理之间的直接连接。
15.一种方法,包括:
利用发起逻辑处理器在系统的多个处理器上构建生成树;以及
使用生成树在多个处理器上启动信任的代理。
16.权利要求15的方法,还包括在多个处理器上运行信任的代理。
17.权利要求15的方法,还包括利用非安全的操作系统将安全的内核加载到系统的存储器中。
18.权利要求17的方法,还包括将关于安全的内核和信任的代理的信息存储到系统的主中心代理中。
19.权利要求15的方法,还包括用该生成树中的唯一的标识符来枚举多个处理器的每一个。
20.权利要求19的方法,还包括将唯一的标识符与那些同多个处理器的每一个相连接的多个节点相关联。
21.权利要求15的方法,其中构建生成树包括将第一消息广播到直接连接的节点并接收来自直接连接的节点的返回消息。
22.权利要求21的方法,还包括将来自直接连接的节点的第一消息转发到与其直接连接的下行链接节点。
23.权利要求15的方法,还包括将发起逻辑处理器选为生成树的根。
24.一种设备,包括:
一个处理器核心;
一个链接控制器;
信任的硬件链接,用以将处理器核心直接连接到链接控制器。
25.权利要求24的设备,还包括与处理器核心直接连接的协议引擎,该协议引擎由非信任的代理配置。
26.权利要求25的设备,其中协议引擎包括通用系统接口引擎。
27.权利要求25的设备,其中协议引擎被连接到链接控制器。
28.权利要求24的设备,其中链接控制器适于在信任的代理已经验证该设备之前,经由信任的硬件链接与处理器核心通信。
29.权利要求24的设备,其中处理器核心、信任的硬件链接和链接处理器是部分的处理器插槽。
30.权利要求24的设备,还包括经由点到点互连而连接的多个处理器插槽。
31.权利要求24的设备,其中如果接收到链接信息,链接控制器适于直接通知处理器核心。
32.一种系统,包括:
具有一发起逻辑处理器的第一处理器插槽;
与第一处理器插槽连接的动态随机访问存储器;
与第一处理器插槽连接的第二处理器插槽;以及
包含指令的存储器介质,如果运行该指令,能使系统利用发起逻辑处理器在第一处理器插槽和第二处理器插槽上启动信任的代理。
33.权利要求32的系统,还包括与第一处理器插槽直接连接的主中心代理。
34.权利要求33的系统,还包括与主中心代理直接连接的主信任平台模块。
35.权利要求32的系统,其中第一处理器插槽包括在链接控制器和处理器核心之间的信任的硬件链接。
36.权利要求32的系统,其中第一处理器插槽和第二处理器插槽经由点到点互连连接。
37.权利要求32的系统,其中发起逻辑处理器适于在第一处理器插槽和第二处理器插槽上构建生成树。
38.权利要求32的系统,其中动态随机访问存储器被直接连接到第一处理器插槽,并且可被第一处理器插槽和第二处理器插槽访问。
39.一种产品,包括包含指令的机器可访问存储介质,如果运行该指令,能使系统:
在系统的多个处理器上安全地启动安全的内核,其中该系统包括部分连接的拓扑。
40.权利要求39的产品,还包括指令,如果运行该指令,能使系统使用信任的代理来安全地启动安全的内核。
41.权利要求40的产品,还包括指令,如果运行该指令,能使系统测量安全内核的身份,并在传递信任的链上记录该身份。
42.权利要求40的产品,还包括指令,如果运行该指令,能使系统利用信任的代理验证系统的存储器配置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/859,897 US7698552B2 (en) | 2004-06-03 | 2004-06-03 | Launching a secure kernel in a multiprocessor system |
US10/859897 | 2004-06-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1704922A true CN1704922A (zh) | 2005-12-07 |
CN1704922B CN1704922B (zh) | 2010-05-05 |
Family
ID=33419035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004100787738A Active CN1704922B (zh) | 2004-06-03 | 2004-09-17 | 一种在多处理器系统中启动安全内核的方法 |
Country Status (6)
Country | Link |
---|---|
US (12) | US7698552B2 (zh) |
JP (1) | JP4065444B2 (zh) |
CN (1) | CN1704922B (zh) |
DE (1) | DE102005014462B4 (zh) |
GB (2) | GB2414823B (zh) |
TW (1) | TWI276967B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183350B (zh) * | 2006-11-16 | 2011-03-30 | 国际商业机器公司 | 保护所有权转移的数据处理系统中的数据处理装置和方法 |
CN104756091A (zh) * | 2012-10-02 | 2015-07-01 | 甲骨文国际公司 | 基于远程密钥的存储器缓冲区访问控制机制 |
CN108885572A (zh) * | 2016-03-31 | 2018-11-23 | 微软技术许可有限责任公司 | 安全驱动程序平台 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8185602B2 (en) | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
US8881270B2 (en) | 2002-12-20 | 2014-11-04 | Creative Mines Llc | Method and apparatus for selectively enabling a microprocessor-based system |
US7127567B2 (en) | 2003-12-18 | 2006-10-24 | Intel Corporation | Performing memory RAS operations over a point-to-point interconnect |
US7127566B2 (en) * | 2003-12-18 | 2006-10-24 | Intel Corporation | Synchronizing memory copy operations with memory accesses |
US7328368B2 (en) * | 2004-03-12 | 2008-02-05 | Intel Corporation | Dynamic interconnect width reduction to improve interconnect availability |
US7698552B2 (en) | 2004-06-03 | 2010-04-13 | Intel Corporation | Launching a secure kernel in a multiprocessor system |
US7568102B2 (en) | 2004-07-15 | 2009-07-28 | Sony Corporation | System and method for authorizing the use of stored information in an operating system |
US7552326B2 (en) | 2004-07-15 | 2009-06-23 | Sony Corporation | Use of kernel authorization data to maintain security in a digital processing system |
US7716494B2 (en) * | 2004-07-15 | 2010-05-11 | Sony Corporation | Establishing a trusted platform in a digital processing system |
US20060015732A1 (en) * | 2004-07-15 | 2006-01-19 | Sony Corporation | Processing system using internal digital signatures |
US8254411B2 (en) * | 2005-02-10 | 2012-08-28 | International Business Machines Corporation | Data processing system, method and interconnect fabric having a flow governor |
US7254694B2 (en) * | 2005-02-10 | 2007-08-07 | International Business Machines Corporation | Processors interconnect fabric with relay broadcasting and accumulation of partial responses |
US7779252B2 (en) * | 2006-03-21 | 2010-08-17 | Harris Corporation | Computer architecture for a handheld electronic device with a shared human-machine interface |
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 |
US8127145B2 (en) * | 2006-03-23 | 2012-02-28 | Harris Corporation | Computer architecture for an electronic device providing a secure file system |
US8973094B2 (en) | 2006-05-26 | 2015-03-03 | Intel Corporation | Execution of a secured environment initialization instruction on a point-to-point interconnect system |
US7979714B2 (en) * | 2006-06-02 | 2011-07-12 | Harris Corporation | Authentication and access control device |
US7650469B2 (en) * | 2006-09-06 | 2010-01-19 | International Business Machines Corporation | Determining whether a non-running processor has access to an address space |
US8146150B2 (en) * | 2007-12-31 | 2012-03-27 | Intel Corporation | Security management in multi-node, multi-processor platforms |
US8392985B2 (en) * | 2008-12-31 | 2013-03-05 | Intel Corporation | Security management in system with secure memory secrets |
US9202015B2 (en) * | 2009-12-31 | 2015-12-01 | Intel Corporation | Entering a secured computing environment using multiple authenticated code modules |
EP2438511B1 (en) | 2010-03-22 | 2019-07-03 | LRDC Systems, LLC | A method of identifying and protecting the integrity of a set of source data |
WO2012023050A2 (en) | 2010-08-20 | 2012-02-23 | Overtis Group Limited | Secure cloud computing system and method |
WO2013103339A1 (en) * | 2012-01-04 | 2013-07-11 | Intel Corporation | Bimodal functionality between coherent link and memory expansion |
US9075751B2 (en) * | 2012-08-09 | 2015-07-07 | Intel Corporation | Secure data protection with improved read-only memory locking during system pre-boot |
US9262177B2 (en) | 2012-12-19 | 2016-02-16 | International Business Machines Corporation | Selection of a primary microprocessor for initialization of a multiprocessor system |
US8990921B2 (en) | 2013-02-21 | 2015-03-24 | Atheer, Inc. | Apparatus for processing with a secure system manager |
US8613090B1 (en) * | 2013-02-21 | 2013-12-17 | Atheer, Inc. | Method for processing a secure system manager |
US9250922B2 (en) | 2013-02-28 | 2016-02-02 | Qualcomm Incorporated | Method and apparatus for prefetching peripheral device drivers for smart phones and other connected devices prior to HLOS boot |
RU2641226C1 (ru) * | 2017-02-13 | 2018-01-16 | Самсунг Электроникс Ко., Лтд. | Способ функционирования secureos на многопроцессорных системах в мобильных устройствах |
US10740496B2 (en) | 2017-02-13 | 2020-08-11 | Samsung Electronics Co., Ltd. | Method and apparatus for operating multi-processor system in electronic device |
US10606764B1 (en) | 2017-10-02 | 2020-03-31 | Northrop Grumman Systems Corporation | Fault-tolerant embedded root of trust using lockstep processor cores on an FPGA |
US11042641B2 (en) | 2018-09-11 | 2021-06-22 | Amari.Ai Incorporated | Deployment and communications gateway for deployment, trusted execution, and secure communications |
CN112307481B (zh) * | 2019-07-26 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 一种系统可信启动方法、电子设备及计算机可读存储介质 |
US11423160B2 (en) | 2020-04-16 | 2022-08-23 | Bank Of America Corporation | System for analysis and authorization for use of executable environment data in a computing system using hash outputs |
US11481484B2 (en) * | 2020-04-16 | 2022-10-25 | Bank Of America Corporation | Virtual environment system for secure execution of program code using cryptographic hashes |
US11528276B2 (en) | 2020-04-16 | 2022-12-13 | Bank Of America Corporation | System for prevention of unauthorized access using authorized environment hash outputs |
US11425123B2 (en) | 2020-04-16 | 2022-08-23 | Bank Of America Corporation | System for network isolation of affected computing systems using environment hash outputs |
US11693940B2 (en) * | 2021-06-23 | 2023-07-04 | Intel Corporation | Partitioned platform security mechanism |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4328542A (en) | 1979-11-07 | 1982-05-04 | The Boeing Company | Secure implementation of transition machine computer |
US5418970A (en) * | 1986-12-17 | 1995-05-23 | Massachusetts Institute Of Technology | Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content |
EP0381645A3 (en) | 1989-01-18 | 1992-08-05 | International Business Machines Corporation | System and method for communicating between a plurality of processors |
US5446856A (en) * | 1991-04-29 | 1995-08-29 | Intel Corporation | Circuitry and method for addressing global array elements in a distributed memory, multiple processor computer |
US5822431A (en) | 1996-01-19 | 1998-10-13 | General Instrument Corporation Of Delaware | Virtual authentication network for secure processors |
US5913921A (en) * | 1996-07-12 | 1999-06-22 | Glenayre Electronics, Inc. | System for communicating information about nodes configuration by generating advertisements having era values for identifying time reference for which the configuration is operative |
US5841870A (en) * | 1996-11-12 | 1998-11-24 | Cheyenne Property Trust | Dynamic classes of service for an international cryptography framework |
US5930500A (en) * | 1997-02-11 | 1999-07-27 | Lsi Logic Corporation | Parallel processor implementation of net routing |
US6289447B1 (en) * | 1997-03-24 | 2001-09-11 | Intel Corporation | Topology dependent compensation to improve performance of self-compensated components including processors based on physical relationship with other system components |
US6009488A (en) | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
GB9818377D0 (en) * | 1998-08-21 | 1998-10-21 | Sgs Thomson Microelectronics | An integrated circuit with multiple processing cores |
CN1173280C (zh) | 2000-10-26 | 2004-10-27 | 上海奇码数字信息有限公司 | 具有网络拓扑结构的自适应信息处理系统 |
US7483398B1 (en) | 2001-05-18 | 2009-01-27 | Cisco Technology, Inc. | Method and system for detecting ring link provisioning mismatch |
US7073059B2 (en) * | 2001-06-08 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Secure machine platform that interfaces to operating systems and customized control programs |
US6957318B2 (en) * | 2001-08-17 | 2005-10-18 | Sun Microsystems, Inc. | Method and apparatus for controlling a massively parallel processing environment |
US6857030B2 (en) | 2001-09-12 | 2005-02-15 | Sun Microsystems, Inc. | Methods, system and article of manufacture for pre-fetching descriptors |
GB2381427A (en) * | 2001-10-27 | 2003-04-30 | Hewlett Packard Co | Spanning tree in peer to peer networks |
US6745307B2 (en) * | 2001-10-31 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method and system for privilege-level-access to memory within a computer |
US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
US7398389B2 (en) * | 2001-12-20 | 2008-07-08 | Coretrace Corporation | Kernel-based network security infrastructure |
US7631196B2 (en) | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US6986006B2 (en) * | 2002-04-17 | 2006-01-10 | Microsoft Corporation | Page granular curtained memory via mapping control |
US20030233540A1 (en) | 2002-06-13 | 2003-12-18 | International Business Machines Corporation | System and method for secured delivery of content stream across multiple channels |
US20040003321A1 (en) | 2002-06-27 | 2004-01-01 | Glew Andrew F. | Initialization of protected system |
US7121460B1 (en) * | 2002-07-16 | 2006-10-17 | Diebold Self-Service Systems Division Of Diebold, Incorporated | Automated banking machine component authentication system and method |
CN1331318C (zh) | 2002-08-19 | 2007-08-08 | 上海贝尔有限公司 | 一种用于通信系统的基于自陷保护与调试装置 |
US7454749B2 (en) * | 2002-11-12 | 2008-11-18 | Engineered Intelligence Corporation | Scalable parallel processing on shared memory computers |
JP4062441B2 (ja) | 2003-07-18 | 2008-03-19 | 日本電気株式会社 | 並列処理システム及び並列処理プログラム |
US20050028001A1 (en) | 2003-07-29 | 2005-02-03 | Jian Huang | Secured software patching and upgrade method for densely deployed networks having spanning-tree topology |
US7698552B2 (en) * | 2004-06-03 | 2010-04-13 | Intel Corporation | Launching a secure kernel in a multiprocessor system |
-
2004
- 2004-06-03 US US10/859,897 patent/US7698552B2/en active Active
- 2004-08-26 TW TW093125590A patent/TWI276967B/zh not_active IP Right Cessation
- 2004-09-07 JP JP2004259781A patent/JP4065444B2/ja not_active Expired - Fee Related
- 2004-09-17 CN CN2004100787738A patent/CN1704922B/zh active Active
- 2004-09-23 GB GB0421213A patent/GB2414823B/en active Active
- 2004-09-23 GB GB0620519A patent/GB2429555B/en active Active
-
2005
- 2005-03-30 DE DE102005014462A patent/DE102005014462B4/de not_active Expired - Fee Related
-
2007
- 2007-12-27 US US12/005,450 patent/US7725713B2/en not_active Expired - Fee Related
- 2007-12-27 US US12/005,455 patent/US7770005B2/en active Active
- 2007-12-27 US US12/005,570 patent/US7774600B2/en active Active
- 2007-12-27 US US12/005,569 patent/US7757081B2/en not_active Expired - Fee Related
-
2010
- 2010-06-28 US US12/824,694 patent/US8250364B2/en active Active
- 2010-06-29 US US12/825,676 patent/US8161280B2/en active Active
-
2012
- 2012-03-16 US US13/422,786 patent/US8464048B2/en active Active
-
2013
- 2013-05-20 US US13/897,906 patent/US8874906B2/en active Active
-
2014
- 2014-10-03 US US14/505,770 patent/US9213865B2/en not_active Expired - Fee Related
-
2015
- 2015-11-11 US US14/938,021 patent/US9507952B2/en active Active
-
2016
- 2016-10-13 US US15/292,301 patent/US9779249B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183350B (zh) * | 2006-11-16 | 2011-03-30 | 国际商业机器公司 | 保护所有权转移的数据处理系统中的数据处理装置和方法 |
CN104756091A (zh) * | 2012-10-02 | 2015-07-01 | 甲骨文国际公司 | 基于远程密钥的存储器缓冲区访问控制机制 |
CN104756091B (zh) * | 2012-10-02 | 2018-02-23 | 甲骨文国际公司 | 基于远程密钥的存储器缓冲区访问控制机制 |
CN108885572A (zh) * | 2016-03-31 | 2018-11-23 | 微软技术许可有限责任公司 | 安全驱动程序平台 |
CN108885572B (zh) * | 2016-03-31 | 2022-02-25 | 微软技术许可有限责任公司 | 安全驱动程序平台 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1704922B (zh) | 一种在多处理器系统中启动安全内核的方法 | |
CN110169036B (zh) | 用于更新可编程装置的方法、系统、机器可读介质 | |
JP6026462B2 (ja) | ポイントツーポイント相互接続システム上のセキュアな環境初期化命令の実行 | |
EP1975836B1 (en) | Server active management technology (AMT) assisted secure boot | |
US11206141B2 (en) | Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates | |
US20050166041A1 (en) | Authentication in a distributed computing environment | |
WO2008027164A1 (en) | Software authorization utilizing software reputation | |
US11165766B2 (en) | Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove | |
JP2008522292A (ja) | 情報システム構成要素解析から算出したトラストスコアに基づいて複数のネットワークエンドポイント間のアクセスを制御する方法 | |
Wang et al. | Design and implementation of an SDN-enabled DNS security framework | |
Oppliger | How to address the secure platform problem for remote internet voting | |
de Sousa | Byzantine state machine replication for the masses | |
CN113949583B (zh) | 一种用于物联网设备接入的安全校验方法 | |
Duan | In Search of a Scalable Geo-Distributed Consensus Protocol | |
WO2022259200A1 (en) | System and method for a digital signature authorizer and consensus provider in a blockchain platform |
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 |