CN1685297A - 在多处理器环境中单方地加载安全操作系统的装置和方法 - Google Patents

在多处理器环境中单方地加载安全操作系统的装置和方法 Download PDF

Info

Publication number
CN1685297A
CN1685297A CN02822219.9A CN02822219A CN1685297A CN 1685297 A CN1685297 A CN 1685297A CN 02822219 A CN02822219 A CN 02822219A CN 1685297 A CN1685297 A CN 1685297A
Authority
CN
China
Prior art keywords
processor
memory
software
zone
instruction
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
CN02822219.9A
Other languages
English (en)
Other versions
CN100356286C (zh
Inventor
劳伦斯·史密斯三世
詹姆斯·萨顿二世
戴维·波伊斯尼尔
克利福德·霍尔
安德鲁·格洛伊
吉尔伯特·奈格
理查德·乌利希
迈克尔·科祖克
罗伯特·乔治
戴维·克劳罗克
布拉德利·伯吉斯
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 CN1685297A publication Critical patent/CN1685297A/zh
Application granted granted Critical
Publication of CN100356286C publication Critical patent/CN100356286C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Abstract

本公开描述了一种用于在多处理器环境中单方地加载安全操作系统的装置和方法。该方法包括当检测到当前活动的加载安全区域操作时,不理会收到的加载安全区域指令。否则,响应于收到的加载安全区域指令,存储器保护单元被引导以形成安全存储器环境。一旦被引导,则对一个或者多个受保护的存储器区域的未授权的读/写访问被禁止。最后,一个或者多个受保护的存储器区域的加密散列值作为安全软件标识值被存储到摘要信息库中。一旦被存储,则外部代理可以请求对被数字签名的软件标识值进行访问,以便建立对在安全存储器环境中的安全软件的安全检验。

Description

在多处理器环境中单方地加载安全操作系统的装置和方法
技术领域
本发明一般地涉及计算机安全领域。更具体地说,本发明涉及用于在多处理器环境中单方地加载安全操作系统的方法和装置。
背景技术
随着计算机与我们的社会愈加紧密接合,计算机安全方面的需求猛烈增加。近来,互联网商务在全球计算机网络上经历了巨大的增长。不幸的是,除非互联网商务使用充分证明的计算机安全机制被充分地保护,计算机剽窃的潜在性可能有一天会侵害消费者的信心。换句话说,为了获得产品和服务而提供了保密信息的计算机用户必须具有足够的保障,以便信息不会被计算机剽窃者截取。
因而,许多计算机系统现在加入了必不可少的安全特征,例如加密、来源检验、受信环境以及额外的安全特征。如此,现在的在线计算机系统通常依赖于可传递的信任关系。公钥基础设施(PKI)是这种可传递信任模型的一个例子。在公钥基础设施下,认证授权机构可以向个体提供只有用户知道的私钥。
因此,当用户提供信息的时候,使用计算机用户的私钥可以对其加密。如此,被加密的信息的接收者可以通过联系认证授权机构获得公钥,以便解密该被加密的信息。另外,信息的来源也可以通过数字签名消息被鉴别,该数字签名消息也可以被解密以便检验信息的来源。
如可以看到的那样,PKI提供了保证对于一对一关系的安全的机制。然而,关系可能很快增长而超出一对一的交互,这要求可传递的信任以保证安全。不幸的是,信任通常是不可传递的。例如,个体可能信任认证授权机构,并从该认证授权机构收到颁布的外部证书。证书颁布之后,认证授权机构可以决定信任另一个体,并授权该个体访问和控制所有颁布的证书,包括最初的个体的证书。
不幸的是,最初的个体可能不信任被认证授权机构信任的后来的个体。因而,如果个体在证书颁布之前知道认证授权机构信任后来的个体,则该个体可能不会请求该证书。如此,该问题显示出可传递的信任既不对称,也不可传递,也不可分配。换句话说,唯一的可靠信任是自我信任,在最初的信任形成之后不会有被认证授权机构信任的未知的后来的个体。虽然对第三方的信任并不总是不可靠的,但是也不能总是被可靠地估计。
在一些计算机系统中,用户或者系统管理员可能希望加载可信操作系统。对于可信,其意思是用户或者第三方要求一种机制,用于检查系统并确定是否给定的操作系统被加载了。一旦完成了对操作系统加载的检验,外部代理可能也希望确定是否操作系统被加载在一个安全环境中。不幸的是,例如公钥基础设施的传统可传递信任模型不能支持这种能力。所以,存在克服上述的现有技术中的一个或者多个局限性的需要。
附图说明
本发明通过示例的方式,而非限定的方式被示出于附图的图形中,其中:
图1描绘了一个框图,示出了本领域公知的网络计算机环境。
图2描绘了一个框图,示出了传统的计算机系统。
图3描绘了一个框图,示出了按照本发明一个实施例可以在其中实现本发明的系统。
图4描绘了一个框图,示出了按照本发明另一实施例的用于加载可信操作系统的多处理器计算机系统。
图5A和图5B描绘了一个框图,示出了按照本发明另一实施例的安全存储器环境。
图6描绘了一个流程图,示出了按照本发明的一个实施例,用于在多处理器环境中单方地加载安全操作系统的方法。
图7描绘了一个流程图,示出了按照本发明的一个实施例,用于在将会成为安全存储器环境的存储器区域中加载操作系统的另一方法。
图8描绘了一个流程图,示出了按照本发明的另一实施例,用于不理会收到的LSR指令的另一方法。
图9描绘了一个流程图,示出了按照本发明的一个实施例,用于创建安全存储器环境的另一方法。
图10描绘了一个流程图,示出了按照本发明的一个实施例,用于完成安全存储器环境的形成的另一方法。
图11描绘了一个流程图,示出了按照本发明的另一实施例,对于外部代理用于建立安全存储器环境安全检验的方法。
图12描绘了一个流程图,示出了按照本发明的一个实施例,响应于SRESET命令所进行的方法。
图13描绘了一个流程图,示出了按照本发明的另一实施例,响应于收到SRESET命令用于复位一个或多个处理器的另一方法。
图14描绘了一个流程图,示出了按照本发明的示例性实施例,用于重新使能对所形成的安全存储器环境的处理器读写访问的另一方法。
具体实施方式
用于在多处理器环境中单方地加载操作系统的方法和装置被描述。该方法包括当检测到当前活动的加载安全区域指令的时候,不理会收到的加载安全区域指令。否则,响应于收到的加载安全区域指令,引导存储器保护单元,以形成安全存储器环境。一旦被引导,对安全存储器环境的一个或多个受保护的存储器区域的未授权的读/写访问被禁止。最后,一个或者多个受保护存储器区域的加密散列(hash)值被存储在摘要信息库中。一旦被存储,外部代理可以请求对被加密的标识信息的访问,以便建立安全环境中的安全操作系统的安全检验。
在下面的描述中,为了说明的目的,提出了多种特定的细节,以便提供对本发明的彻底的理解。然而,本发明可以不用这些特定细节中的某些而被实现,这对于本领域的技术人员来说是清楚的。另外,为了举例说明的目的,下面的说明提供了示例,并且附图示出了各种示例。然而,因为这些示例仅仅是用来提供本发明的示例,而不是提供本发明所有可能的实施方式的穷尽性列表,所以它们不应被认为是限定的含意。在其他情况中,公知的结构和设备以框图的形式被示出,以便避免使本发明的细节模糊。
下面的详细描述中的一些部分可能以对数据位操作的符号表达的形式和算法来表示。这些算法描述和表达被本领域的技术人员用于将他们的工作内容传达给本领域的其他技术人员。这里所描述的算法是指导致希望的结果的自恰的动作序列。动作是要求对物理量的物理操作的那些动作。这些量可以采用能够被存储、传输、组合、比较以及以其他方式被操作的电或磁信号的方式。此外,主要为了普通的用途,这些信号是指位、值、元素、符号、字符、项、数字等等。
然而,这些项以及类似的项将与适当的物理量相关联,并且仅仅是对这些量所使用的方便的标记。除非另外具体地说明,应当认识到使用例如“处理”或“计算”或“运算”或“确定”或“显示”等术语的讨论是指计算机系统或者类似的电子计算设备的动作和处理,该计算机系统或者电子计算设备将在计算机系统的设备中被表示为物理(电子)量的数据操作和转换为在计算机系统设备中被类似地表示为物理量的其他数据,这些计算机系统设备例如是存储器、寄存器或者其他这样的信息存储、传输、显示设备等。
这里所出现的算法和表示并非固有地涉及任何特定的计算机或者其他装置。各种通用系统可以按照这里的教导与程序一起被使用,或者可以证明构建更专用的装置来进行所需的方法是便利的。举例来说,根据本发明的任何一种方法可以通过编程通用处理器,在硬连线电路中被实现,或者通过硬件和软件的结合来实现。
本领域的技术人员将立即认识到,本发明可以用与下面所描述的那些结构不同的计算机系统结构来实现,包括手持设备、多处理器系统、基于微处理器的或者可编程的消费电子产品、数字信号处理(DSP)设备、网络个人计算机、迷你计算机、大型计算机等。本发明还可以在分布式计算环境中实现,其中,任务由通过通信网络被链接的远程处理设备进行。多种这些系统所需的结构将从下面的描述中变得清楚。
应当理解,各种术语和技术被本领域的技术人员使用来描述通信、协议、应用、实施方式、机制等。一种这样的技术是根据算法或数学表达式来描述技术的实施方式。也就是说,虽然技术可以例如实现为执行计算机上的代码,但是作为公式、算法或数学表达式,该技术的表达可以被更适当和简洁地传达和传递。
因此,本领域的技术人员将会把表示A+B=C的框认为是一个加法的函数,其在硬件和/或软件中的实施方式将是取两个输入(A和B),并产生一个求和输出(C)。因此,用作描述的公式、算法或者数学表达式的使用应被理解为至少具有以硬件和/或软件形成的物理的实施例(例如可以在其中将本发明的技术实践或者实施为实施例的计算机系统)。
在一个实施例中,本发明的方法体现在机器可执行指令中。这些指令可以被用于引起用指令被编程的通用或专用处理器进行本发明的步骤。可替代地,本发明的步骤可以通过含有用于进行这些步骤的硬连线逻辑的专用硬件部件来进行,或者通过被编程的计算机部件和定制硬件部件的任何组合来进行。
在一个实施例中,本发明可以被提供为计算机程序产品,其可以包括在其上存储有指令的机器或计算机可读介质,这些指令可以被用于编程计算机(或者其他电子设备)以进行按照本发明的处理。计算机可读介质可以包括但不限于软盘、光盘、压缩盘只读存储器(CD-ROM)和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁或光卡、闪存等。
因此,计算机可读介质包括适于存储电子指令的任何类型的媒体/机器可读介质。此外,本发明也可以作为计算机程序产品被下载。如此,程序可以从远程计算机(例如服务器)被传送到请求的计算机(例如客户端)。可以经由通信链路(例如,调制解调器、网络连接等)通过包含在载波或者其他传播介质中的数据信号的方式传输程序。
系统体系结构
现在参考图1,图1描绘了网络环境100,在其中可以实现本发明的技术。如图所述,网络环境包括通过网络102互相连接的若干计算机系统,例如多个服务器104(104-1,...,104-M)和多个客户端108(108-1,...,108-N)。网络102可以例如是互联网。注意,可代替地,网络102可以是或者包括以下的一个或者多个:局域网(LAN)、广域网(WAN)、卫星链路、光纤网、电缆网或者这些和/或其他的组合。这里所描述的方法和装置实质上可以被应用于不论是本地还是远程的任何类型的通信装置或者设备,例如LAN、WAN、系统总线、磁盘驱动器、存储装置等。
现在参考图2,图2以框图的形式示出了传统的个人计算机200,该个人计算机200可以代表图1中所示的客户端108和服务器104中的任一个。框图是高级的概念表示,可以通过各种体系结构以多种方式被实现。计算机200包括总线系统202,该总线系统202互连了中央处理单元(CPU)204、只读存储器(ROM)206、随机存取存储器(RAM)208、存储装置210、显示器220、音频设备222、键盘224、点选器226、杂项输入/输出(I/O)设备228和通信设备230。
总线系统202可以例如是系统总线、外围部件互连(PCI)、加速图形接口(AGP)、小型计算机系统接口(SCSI)、固件等。CPU 204可以是单个、多个、乃至分布式的计算资源。ROM 206可以是任何类型的非易失性存储器,其可以是可编程的,例如掩膜可编程、快闪等。
另外,RAM 208可以例如是静态的、动态的、同步的、异步的或者任何组合。存储装置210可以是压缩盘(CD)、数字多功能盘(DVD)、硬盘(HDD)、光盘、磁带、闪存、记忆棒、录影机等。而显示器220可以例如是阴极射线管(CRT)、液晶显示器(LCD)、投影系统、电视机(TV)等。音频设备222可以是单声道的、立体声的、三维的声卡等。
键盘224可以是键盘、音乐键盘、小键盘、一系列的开关等。点选器226可以例如是鼠标、触摸板、轨迹球、手柄等。而I/O设备228可以是语音命令输入设备、拇指纹输入设备、智能卡插槽、个人计算机卡(PC卡)接口、虚拟现实附件等,它们可以可选地通过输入/输出端口229连接到其他设备或系统。杂项I/O设备228的一个示例是用I/O端口229连接到乐器的乐器数字化接口(MIDI)卡。
通信设备230可以例如是用于局域网(LAN)连接的以太网适配器、卫星连接、机顶盒适配器、数字用户线路(xDSL)适配器、无线调制解调器、传统电话调制解调器、直接电话连接、混合光纤同轴电缆(HFC)连接、电缆调制解调器等。而外部连接端口232可以提供远程设备和总线系统202之间通过通信设备230的所需的任何互连。
举例来说,通信设备230可是以太网适配器,其通过连接端口232被连接到例如外部DSL调制解调器。注意,取决于计算机系统的实际实施方式,计算机系统可以包括框图中的部件的一些、全部、更多或者重新安排。举例来说,瘦客户端可以由例如没有传统的键盘的无线手持设备构成。因而,对图2的系统的许多变化是可能的。
返回参考图1,多个客户端108通过网络102被有效地连接到由诸如多个服务器104之类的服务器表示的网站、应用服务提供商、搜索引擎和/或数据库资源。网络浏览器和/或其他应用通常运行在多个客户端108上,而信息通常驻留在多个服务器104上。为了便于说明,将考虑单个服务器104或者单个客户端108-1来举例说明本发明的一个实施例。很明显,这样的技术可以被容易地应用到多个客户端、服务器等。
现在参考图3,图3描绘了多处理器环境的计算机系统300的框图,该计算机系统可以由如图1中所描绘的客户端或者服务器中的任何一个所利用。多处理器计算机系统300包括通过总线304被耦合到存储器控制器310的多个处理器302(302-1,...,302-N)。存储器控制器310包括存储器320,并通过第二总线312被耦合到I/O控制器330。I/O控制器330可以包括通过总线332被耦合的一个或者多个设备340(340-1、340-2和340-3)。
在例如图3中所描绘的计算机系统中,用户或者系统管理员可能希望加载可信操作系统。如这里所引用的,术语可信是指被提供给用户或者第三方用于以后检查系统300并确定给定的操作系统是否被加载的能力。一旦确定出给定的操作系统是否被加载,则用户或者第三方可以进一步确定操作系统是否已经被加载进安全存储器环境中。这种机制在传统的操作系统中没有被提供。
然而,因为所描述的机制允许可信操作系统在非受信软件部件已经运行之后被加载,所以它是特别有益的。而且,在存在恶意软件的情况下,这种能力是鲁棒的,所述恶意软件在系统300可能正在尝试注册可信软件部件的同时,试图从例如多处理器系统中的另一处理器破坏计算机系统300的安全。
如此,在典型的计算机系统中,处理器302强制实施特权级别。这些特权级别限定了特定的软件部件可以访问哪些系统资源。因此,在例如图3所描绘的传统系统中,用户或者第三方当前不可通过对处理器302中的一个的单方请求而加载受信操作系统。如下面进一步详细描述的,提供了加载(加载安全区域)指令,响应于该指令,进行加载(加载安全区域)操作,以创建受保护的或者安全的存储器环境,在其中所选的操作系统可以作为受信操作系统具有完全的特权而运行。相应地,如这里所描述的,可互换地提到加载指令或者加载安全区域(LSR)指令。另外,可互换地提到响应于加载/LSR指令的发出而执行的加载操作或者加载安全区域(LSR)操作。
相应地,图4描绘了包含在安全存储器环境中单方地加载可信操作系统的能力的计算机系统400。所提供的机制在存在恶意软件的情况下是鲁棒的,该恶意软件在系统正在注册可信软件部件的同时试图从多处理器系统的另一处理器破坏计算机系统400的安全。因此,计算机系统400差不多如图4中所描述的那样被配置,但是,在所描述的实施例中,存储器控制器包括存储器保护单元402,以及第三方检验部件450,以及存储器散列引擎470。虽然被提供在一个特定实施例中,但是图4中所描绘的计算机系统400代表了对图1中所描绘的客户端108或服务器104中的任何一个所利用的计算机系统的抽象。不论怎样,本领域的技术人员将认识到,计算机系统400的各种部件之间的划分仅仅是逻辑划分。实际上,任何部件可以被集成为被分为多个电路片(die)的同一硅电路片或者它们的组合。另外,各种部件可以在微代码、软件或者设备专用部件中被完成。
如这里所描述的,特定存储器区域被认为是包含了用户或者系统管理员希望加载的可信操作系统。在一个实施例中,该存储器区域包含了以完全特权执行的可信操作系统的一部分。因而,计算机系统400需要一种机制用于防止非受信软件和设备破坏安全存储器环境。因此,在典型的计算机系统中,用于将处理器或设备存储器事务调整到安全存储器区域中的机制是必需的。
在图4所描绘的实施例中,计算机系统400的存储器控制器410负责将收到的存储器事务转发到适当的目标。但是,与传统的计算机系统相对比,存储器控制器410包括存储器保护单元420。在所描述的实施例中,存储器保护单元420是一种特殊结构,其可以阻止某些存储器访问前进到存储器412。被该结构阻止的写入操作被放弃而不影响存储器。另外,取决于系统需求,读取操作可以返回这样的值:其中所有的位被清除,或者其中的位被全部设置,或者随机值。
因而,存储器保护单元可以由启动软件使用,以便建立一个或者多个存储器区域作为上面所描述的安全存储器环境。另外,启动软件可以在安全存储器环境的指定存储器区域中加载希望的软件或者操作系统。一旦被加载,只要含有该软件或者操作系统的安全存储器环境被建立,则该软件或者操作系统就作为安全软件或者可信操作系统而运行。
从而,一旦形成安全存储器环境的存储器区域被建立,存储器保护单元就将保护该环境不被破坏。因此,一旦建立了安全存储器环境,其中所含有的软件或者操作系统就被认为是可信的。除了存储器保护单元420之外,计算机系统400还包括外部检验部件450。在一个实施例中,外部检验部件被使用,以便对于外部代理建立被包含在安全存储器区域中的操作系统或者安全软件的信任检验。
因此,在一个实施例中,通过被提供了检查驻留在安全存储器环境中的软件的能力,外部代理可以建立信任或者决定信任被包含在安全存储器环境中的操作系统。在一个实施例中,计算机系统400向使代表了安全存储器区域的加密散列值被检查,而不是整个区域。该值在该区域被保护之后由存储器散列引擎470生成,并被存储在摘要460中。在一个实施例中,安全存储器环境的加密散列值代表其中所包含的安全环境的软件标识值。
如此,一旦生成安全软件标识值,系统400就可以将安全软件标识值存储在摘要460中。在一个实施例中,摘要是信息库,其可以被发送给外部代理用于建立信任。在所描述的实施例中,这些值可以被读取,并在被发送给外部代理之前,由散列签名引擎452加密地签名。如此,在所描述的一个实施例中,摘要460代表摘要寄存器库,这些寄存器可以被摘要签名引擎452通过安全通道454访问。
因此,摘要签名引擎452利用安全通道454来访问摘要460,并且会在从外部代理收到对内容签名的请求后对该内容签名。通过请求这种签名,外部代理可以观察由被签名的软件标识值所报告的规定部件,并决定是否信任计算机系统400。在一个实施例中,被数字签名的安全软件标识值可以被存储在硬件令牌中,该令牌可以被外部代理访问。这被提供以便避免在存在试图破坏计算机系统安全的恶意软件的情况下可能容易地绕开的软件到软件的检验。
现在参考图5A,图5A描绘了按照本发明实施例所形成的安全存储器环境500和550。在一个实施例中,响应于加载安全区域指令的发出,形成安全存储器环境。在一个实施例中,响应于由安全启动软件发出加载安全区域(LSR)指令,进行加载安全区域(LSR)操作。从而,安全启动软件将选择希望成为安全软件的软件或者操作系统。接着,安全软件将引导所选择的软件在指定的存储器区域中的加载。
一旦软件或者操作系统被加载,在其中加载了操作系统的存储器区域就被启动软件通过LSR指令指定成为安全存储器环境。因此,LSR指令将被提供给处理器402(图4),该处理器将执行LSR操作,引导处理器单方地开始形成安全存储器环境,而不与任何一个其他的处理器(402-2到402-4)协作。这样做时,处理器402将建立LSR排他性互斥体,以保证没有正在进行的当前LSR指令。
如此,处理器将进行一系列动作,包括对容许启动软件发出这种指令的检验(例如,特权级别检查),接着引导存储器保护单元保护指定的安全存储器环境。这一旦完成,处理器就可以作为启动处理器而采集关于安全存储器环境以及标识符的信息,并将该信息记录在摘要中。如此,处理器将提交(commit)摘要中的全部的值,并引导散列引擎计算安全软件标识值,该值将被存储在摘要中,并可以被提供给外部代理,以便建立检验。
再次参考图5A,初始软件可以请求安全存储器环境550,该安全存储器环境550包括固定基址554和固定偏移或者入口点552,在其中,一旦安全存储器区域被形成,每个处理器将随着下面所进一步详细描述的安全复位(SRESET)的发出而被引导进行操作。另外,安全存储器环境500可以包括可变基址504和固定偏移入口点,在其中,一旦SRESET命令被发出,则引导处理器中的每一个。
因此,如下面所进一步详细描述的,SRESET命令将迫使每个处理器清除所有的未完成事务、存储器信息、任务、代码状态等。另外,处理器被引导到如图5A中所描绘的特定入口点,使得在SRESET之后进行的第一个操作是在安全存储器环境中所包含的可信操作系统中。另外,在SRESET的时候,系统中的所有处理器都进入多个已知的特权状态S1,S2,...,SN中的一个中。
在一个实施例中,这些状态中的每一个都可以通过一组参数被描述(例如,初始特权等级、操作模式、寄存器值、控制值等),这些参数在SRESET的时候从平台被读取(这种情况中,参数的值被直接或者间接地记录在摘要日志中),或者被作为处理器配置的一部分。举例来说,在一个实施例中,SRESET之后的处理器的特权模式是固定的;该特权模式可以被编码进处理器的SRESET微代码序列中。然而,在SRESET操作之后处理器从其开始执行指令的地址可以在SRESET的时候从平台被读取。
在一个实施例中,处理器中的数据存储单元被设置为常量。相应地,这些常量或者可以被存储在例如通用代码(ucode)ROM中(例如,将值0×55AA存储到寄存器N中)。或者,这些常量可以被硬连线为芯片的操作(例如,一旦收到RESET(复位)信号,芯片的一段中的所有触发器就被复位/设置)。最后,这些值可以从在通用代码ROM中的所表达的算法被导出(例如,对于高速缓存中的每个地址,将单元的地址存储到单元中)。
在另一实施例中,处理器中的数据存储单元被设置为规定的参数值。相应地,这些参数可以在发出LSR指令的时候由启动软件规定。这些参数可以不是被存储在寄存器中的确切的值。举例来说,一个特定参数可以例如表明“允许分页”。处理器会知道如何将参数译成将值A、B和C存储到寄存器X、Y和Z中。在发出LSR的时候,这些参数或者(1)被存储在平台中的预定位置中(例如,摘要、芯片组或者启动处理器),或者(2)被传送给所有处理器。于是,在发出SRESET的时候,每个处理器或者(1)从一个(多个)存储位置取得参数,或者(2)已经具有所有感兴趣的参数的拷贝。开始代码地址就是一个这样的参数。
因此,如图5B所描绘的,安全存储器区域602将包含如上面所描述的受保护的软件/操作系统代码610,其将与普通环境的应用程序640形成对比。如此,一旦安全存储器环境602被形成,安全软件610可以运行至结束,或者启动可以执行所希望的进一步的功能的受信应用程序(小应用程序)620。因此,如上面所描述的,可信操作系统的身份被记录在摘要460中,并在SRESET命令之后,所有的处理器将开始执行属于该可信操作系统的代码。
从而,外部实体以后可以请求摘要的被签名的版本,并且能够评价系统是否在可信的状态中。在一个实施例中,上面所描述的LSR和SRESER操作可以以多种方式被公开给启动软件,例如,通过I/O端口访问、存储器访问、指令等。在一个实施例中,LSR操作被实现为一个指令,SRESET被实现为对平台芯片组的一个命令。
因此,LSR操作可以在处理器微代码中被实现。另外,SRESET命令可以通过芯片组逻辑被实现。此外,处理器资源可以被用于实现存储器散列引擎470(图4)的功能。也就是说,存储器散列引擎470可以是利用处理器402的计算序列资源的微代码序列。在另一实施例中,存储器散列引擎470可以在存储器控制器410或者I/O控制器430中被实现。
然而,由于LSR功能被实现在处理器中的事实,平台将能够区分由散列引擎470生成的消息和由通用启动软件生成的消息。在一个实施例中,引入了仅对LSR存储器散列微代码可用的专用消息类型。因此,微代码软件将缺乏生成这些类型的消息的机制。在一个实施例中,SRESET命令可以是对某个I/O端口地址的简单的写入,该命令被芯片组译码。从而,芯片组然后可以进行SRESET命令所描述的动作。
虽然存储器保护单元420被描绘为集成到如图4中所描绘的存储器控制器410中,但是本领域的技术人员将认识到,这种机制可以以在I/O控制器和处理器中出现的功能在整个系统400中被实现和分配。此外,摘要和摘要签名代理可以被集成到所描述的芯片组部件中的任何一个中,或者可以被实现为分立的平台设备。在所描述的实施例中,这些部件被示为连接到I/O控制器430的分立设备。现在描述用于实现本发明教导的过程的方法。
操作
现在参考图6,图6描绘了一个流程图,示出了用于在例如如图4所描绘的多处理器环境中单方地加载安全操作系统的方法700。在处理框710,确定加载安全区域(LSR)指令(加载指令)是否已经被收到。一旦收到了LSR指令,则进行处理框712。在处理框712,确定是否检测到了当前活动的LSR操作(加载操作)。进行该检测是因为任何处理器都可以各自从启动软件接收LSR指令。
换句话说,如上所述,这里所描述的机制提供了一种技术,用于由启动处理器进行单方的创建,以响应于例如安全启动程序而形成安全存储器环境。如此,当收到LSR指令时,接收处理器确定是否另外的处理器已经收到了当前正在被执行的LSR指令(当前LSR操作)。从而,当检测到了当前的LSR操作时,所接收的LSR指令将被放弃。否则,进行处理框730。
从而,一旦检验出没有另外的处理器正在执行LSR指令,则进行处理框730。在处理框730,接收处理器将引导存储器保护单元420形成安全存储器环境,如LSR指令所指示。最后,在处理框740,处理器会将安全存储器环境的加密散列值存储到摘要信息库460中。如所描述的,对散列值或者安全软件标识值的存储被利用来使得外部代理能够进行环境的安全检验。
现在参考图7,图7描绘了一个流程图,示出了用于通过安全启动软件发起LSR指令的另一方法702。在处理框704,安全启动软件将选择一个或者多个存储器区域,用于被包括在一起作为安全存储器环境。一旦选定,则在处理框706,启动软件将引导处理器将所选的软件或者操作系统加载到所述一个或者多个存储器区域中的一个存储器区域中。最后,在处理框708,启动软件将向所选择的处理器发出LSR指令,用于将一个或者多个存储器区域形成为安全存储器区域。一旦完成,控制流转移到图6的处理框710。
现在参考图8,图8描绘了一个流程图,示出了响应于收到来自安全启动软件的LSR指令,由接收处理器进行的动作。在处理框716,处理器将接收来自安全启动软件的LSR指令。一旦收到,则在处理框718,处理器将确定安全启动软件是否被授权以发出LSR指令。当启动软件是未被授权的时候,LSR指令被放弃。否则,在处理框720,处理器将确定是否检测到了LSR操作的排他性互斥体。如上面所描述的,排他性互斥体使得启动处理器能够通知所有其他处理器,告知当前正在执行LSR指令。
当检测到了排他性互斥体的时候,收到的LSR指令被放弃。否则,在处理框722,确定是否检测到了安全复位(SRESET)命令。如下面将进一步详细描述的,启动处理器利用SRESET命令迫使每个处理器接受安全存储器区域/环境,并开始在安全存储器环境的操作系统中进行操作。当检测到SRESET命令时,收到的LSR指令被放弃。否则,在处理框724,处理器将由于上述的原因而建立LSR操作排他性互斥体。一旦完成,控制流转移到图6中所描绘的处理框730。
现在参考图9,图9描绘了另一方法732,用于引导存储器保护单元420形成如图6所描绘的处理框730的安全存储器环境。在处理框734,存储器保护单元420将清除摘要信息库。一旦被清除,在处理框736,存储器保护单元420将采集安全存储器环境信息。在一个实施例中,安全存储器环境信息可以包括安全软件标识信息、处理器型号、状态信息等。如此,安全存储器信息的采集提供了被启动软件最初加载的软件或者操作系统的注册信息。最后,在处理框738,存储器保护单元420会将安全存储器环境信息存储到摘要信息库460中。一旦被存储,软件或者操作系统就在安全存储器环境中被注册为安全软件或者安全操作系统。
现在参考图10,图10描绘了一个流程图,示出了用于生成图6中所描绘的处理框740的加密散列值或者安全软件标识值的另一方法742。在处理框744,存储器散列引擎470将散列安全存储器环境的内容,以生成作为安全软件标识值的加密散列值。接着,在处理框746,散列引擎470会将安全软件标识值存储在硬件摘要信息库460中。这一旦完成,安全存储器环境以及安全软件就已经被标识和注册了。因此,在处理框748,处理器将释放LSR操作排他性互斥体,以使得系统中的其他处理器能够执行LSR指令。
现在参考图11,图11描绘了对于外部代理用于安全存储器环境的安全检验的方法750。在处理框752,确定是否从外部代理收到了安全验证请求。一旦收到,则在处理框754,摘要签名引擎452将通过安全通道754从硬件摘要460中访问安全软件标识值。一旦进行了访问,则在处理框756,摘要签名引擎452将对安全软件标识值进行数字签名。最后,在处理框758,被签名的标识值被传送给外部代理。
现在参考图12,图12描绘了方法800,说明了如上面所描述的例如在如图4所描绘的计算机系统400中的安全复位(SRESET)命令。在处理框802,确定安全存储器区域的形成是否完成了。在一个实施例中,这可以通过检验摘要460中的信息是否在完成LSR指令之后经由启动处理器已经被提交来确定。一旦完成了形成,则进行处理框804。在处理框804,启动处理器将向系统400中的多个处理器402发出复位命令。一旦被复位,则在处理框820,处理器将使每个处理器能够对安全存储器环境的一个或者多个受保护的存储器区域进行读/写访问。如此,一旦读/写访问被使能,则所有处理器将开始执行属于可信操作系统的代码。
现在参考图13,图13描绘了一个流程图,示出了响应于如图12所示的处理框804的复位命令所进行的另一方法806。在处理框808,处理器将向系统平台芯片组发出处理器复位命令。一旦发出,则在处理器810,芯片组平台或者平台芯片组将向计算机系统400的多个处理器中的每一个发出复位请求。一旦发出,则在处理框812,各处理器将清除所有未完成的任务、事务、高速缓存存储器等,使得外部动作不会造成例如系统存储器中断。
最后,参考图14,图14描绘了一个流程图,示出了用于使能如图12所描绘的处理框820的处理器读/写访问的另一方法822。在处理框824,处理器将提交摘要信息库460中的全部信息,以指示活动的SRESET命令。一旦提交了,则在处理框826,系统400中的多个处理器402中的每一个被置于计算机系统400中可用的高级特权状态或者已知的特权状态中。
接着,在处理框828,各处理器将被引导到已知的状态,可以包括例如多个已知特权状态(S1,S2,...,Sn)中的一个、操作模式、寄存器和控制值以及例如图5A中所描绘的安全存储器区域中的预定入口点。最后,在处理框830,存储器保护单元420将被引导以重新使能对于安全存储器环境的处理器读/写访问。以这种方式,可信操作系统的身份被记录在摘要中,并在SRESET之后,所有处理器将开始执行属于该可信操作系统的代码。此外,外部代理可以在以后请求摘要的经签名的版本,并能够评价该系统是否在可信状态中。
替代实施例
已经描述了用于提供在多处理器环境中单方地加载安全操作系统的安全存储器环境多处理器系统的一个实施方式的若干方面。但是,安全存储器环境多处理器系统的各种实施方式提供了包括补充、增加和/或替换上述特征的许多种特征。特征可以在不同的实施方式中被实现为同一硅片的一部分、多个电路片、它们的组合,或者微代码的一部分,或者专用硬件或软件部件。另外,为了说明的目的,前面的描述使用了特定的术语来提供对本发明的彻底的理解。然而,为了实现本发明,这些特定细节并不是必需的,这对于本领域的技术人员是清楚的。
另外,虽然这里所描述的实施例是针对安全存储器环境多处理器系统,但是本领域的技术人员应当认识到,本发明的教导可以被应用于其他系统。实际上,用于单方地加载可检验的可信操作系统的系统是在本发明的教导之内,而不脱离本发明的范围和精神。上述实施例被选择和描述以便最佳地解释本发明的原理及其实际应用。因此,这些实施例被选择以使得本领域的技术人员能够最佳地利用本发明和适合于设想的具体用途的具有各种修改的各种实施例。
应当理解,尽管在上面的描述中已经连同本发明各种实施例的结构和功能的细节,提出了本发明各种实施例的许多特性和优点,但是被公开仅是示例性的。在一些情况中,某些子部件仅仅用一个这样的实施例被详细描述。然而,应当认识到并且其意思是这样的子部件也可以被用在本发明的其他实施例中。可以在本发明的原理之内对细节,尤其是部件的管理和结构,在最大可能的范围内作出变化,该范围由所附权利要求被表达于其中的项目的更宽广的一般含意所指示。
本发明提供了优于已知技术的许多优点。本发明包括在多处理器环境中单方地加载安全操作系统的能力。本发明提供了一种机制,通过该机制,系统可以在安全存储器环境中安装可信操作系统。因而,用户或者系统管理员可以利用如上面所描述的其后跟随SRESET指令的LSR指令来加载可信操作系统。一旦完成,外部代理以后就可以检查系统,并确定给定的操作系统是否被加载,并且如果是的话,它是否已经被加载到了安全环境中。因此,由于所描述的这种机制允许可信操作系统在非受信的软件部件已经运行之后被加载,所以它是特别有益的。另外,在存在恶意软件的情况下该机制是鲁棒的,所述恶意软件在系统正在注册可信软件部件的时候,试图从多处理器系统中的另一处理器破坏计算机系统的安全。
已经公开了示例实施例和最佳模式之后,可以对所公开的实施例作出修改和变化,而保持在由所附权利要求所定义的本发明的范围之内。

Claims (38)

1.一种方法,包括:
当检测到当前活动的加载操作时,不理会收到的加载指令;
否则的话,响应于所述收到的加载指令,引导存储器保护单元以形成包括了一个或者多个受保护的存储器区域的安全存储器环境,以使得对所述一个或者多个受保护的存储器区域的未授权的读/写访问被禁止;以及
在摘要信息库中存储所述一个或者多个受保护的存储器区域的加密散列值,从而使得能够建立所述安全存储器环境的安全检验。
2.根据权利要求1所述的方法,其中,所述不理会收到的加载指令的步骤还包括:
从安全启动软件接收作为所述加载指令的加载安全区域指令,以使得所述加载安全区域指令指示要被建立为所述安全存储器环境的所述一个或者多个存储器区域;
确认所述安全启动软件具有足够发出所述加载安全区域指令的特权等级;
一旦被确认,则确定是否存在当前活动的加载安全区域操作排他性互斥体;
当检测到当前活动的加载安全区域操作排他性互斥体时,不理会所述收到的加载安全区域指令请求;以及
否则的话,建立加载安全区域指令排他性互斥体。
3.根据权利要求1所述的方法,其中,所述不理会收到的加载指令的步骤还包括:
确定是否已经收到安全复位命令;以及
当已经收到安全复位命令时,不理会所述收到的加载指令请求。
4.根据权利要求3所述的方法,其中,所述确定是否已经收到安全复位命令的步骤还包括:
查询所述摘要信息库中的值;以及
当所述摘要信息库中的值被提交的时候,检测复位命令的接收。
5.根据权利要求1所述的方法,其中,所述引导存储器保护单元的步骤还包括:
从所述收到的加载指令请求确定所述一个或者多个受保护的存储器区域;以及
向存储器保护单元提供请求,该请求包括所述一个或者多个受保护的存储器区域的参数,以使得所述存储器保护单元根据所述加载指令,建立由加载安全区域操作所请求的所述安全存储器环境。
6.根据权利要求1所述的方法,其中,所述引导存储器保护单元的步骤还包括:
清除所述摘要信息库;以及
将安全环境信息记录在所述摘要信息库中。
7.根据权利要求1所述的方法,其中,所述存储所述一个或者多个受保护的存储器区域的加密散列值的步骤还包括:
散列所述安全存储器区域的内容,以为包含在所述安全环境中的软件生成作为安全软件标识值的加密散列标识值;以及
将所述安全软件标识值存储在所述摘要信息库中;以及
释放加载操作排他性互斥体。
8.根据权利要求1所述的方法,还包括:
从外部代理接收安全验证请求;
通过安全通道访问安全软件标识值;
对所述软件标识值进行数字签名;以及
将所述被数字签名的安全软件标识值传送给所述外部代理,以使得所述外部代理可以检查在所述安全存储器环境中的安全软件的部件状态,并决定是否信任所述安全软件。
9.根据权利要求1所述的方法,还包括:
向系统芯片组发出处理器复位请求;以及
响应于所述处理器复位请求,由所述芯片组复位耦合到所述芯片组的所有处理器。
10.一种方法,包括:
响应于安全复位请求,复位系统中的一个或者多个处理器,所述安全复位请求在加载安全区域操作完成之后被发出;以及
使能对安全存储器环境的一个或者多个受保护的存储器区域的处理器读/写访问,所述安全存储器环境是按照用于建立安全环境的加载安全区域指令请求而形成的。
11.根据权利要求10所述的方法,其中,所述复位系统中的一个或者多个处理器的步骤还包括:
向系统芯片组平台发出处理器复位命令;以及
由所述芯片组平台向所述一个或者多个处理器的每一个发出复位请求。
12.根据权利要求11所述的方法,其中,所述发出处理器复位命令的步骤还包括:
进行对输入/输出端口地址的数据写入;以及
由所述芯片组平台译码所述数据写入,以检测处理器复位命令。
13.根据权利要求10所述的方法,其中,所述重新使能处理器读/写访问的步骤还包括:
提交摘要信息库中的数据,以指示当前活动的复位命令;
使得耦合到所述系统的每个处理器进入已知的特权状态;以及
引导存储器保护单元重新使能对所述安全存储器环境的处理器读/写访问。
14.根据权利要求13所述的方法,其中,所述使得耦合到所述系统的每个处理器进入已知的特权状态的步骤包括:
将所述一个或者多个处理器中的数据存储单元设置为常量或者由参数导出的值中的一个,所述常量是被存储在所述处理器中或者由所述处理器生成的,所述参数是在发出所述加载安全区域指令时由安全启动软件所规定的。
15.一种计算机可读存储介质,包括程序指令,所述程序指令当被处理器执行的时候,引导计算机以规定方式运行,所述程序指令包括:
当检测到当前活动的加载指令时,不理会收到的加载指令;
否则的话,响应于所述收到的加载指令,引导存储器保护单元以形成包括了一个或者多个受保护的存储器区域的安全存储器环境,以使得对所述一个或者多个受保护的存储器区域的未授权的读/写访问被禁止;以及
在摘要信息库中存储所述一个或者多个受保护的存储器区域的加密散列值,从而使得能够建立所述安全环境的安全检验。
16.根据权利要求15所述的计算机可读存储介质,其中,所述不理会收到的加载指令的步骤还包括:
从安全启动软件接收作为所述加载安全区域指令的指令,以使得所述加载安全区域指令指示要被建立为所述安全存储器环境的所述一个或者多个存储器区域,以及被加载在所述安全存储器区域中的安全软件;
确认所述安全启动软件具有足够发出所述加载安全区域指令的特权等级;
一旦被确认,则确定是否存在当前活动的加载操作排他性互斥体;
当检测到当前活动的加载操作排他性互斥体时,不理会所述收到的加载安全区域指令请求;以及
否则的话,建立加载安全区域操作排他性互斥体。
17.根据权利要求15所述的计算机可读存储介质,其中,所述不理会收到的加载指令的步骤还包括:
确定是否已经收到安全复位命令;以及
当已经收到安全复位命令时,不理会所述收到的加载指令请求。
18.根据权利要求17所述的计算机可读存储介质,其中,所述确定是否已经收到安全复位命令的步骤还包括:
查询所述摘要信息库中的值;以及
当所述摘要信息库中的值被提交的时候,检测复位命令的接收。
19.根据权利要求15所述的计算机可读存储介质,其中,所述引导存储器保护单元的步骤还包括:
从所述收到的加载指令请求确定所述一个或者多个受保护的存储器区域;以及
向存储器保护单元提供请求,该请求包括所述一个或者多个受保护的存储器区域的参数,以使得所述存储器保护单元根据所述加载指令,建立由加载安全区域操作所请求的所述安全存储器区域。
20.根据权利要求15所述的计算机可读存储介质,其中,所述程序还包括:
清除所述摘要信息库;以及
将安全环境信息记录在所述摘要信息库中。
21.根据权利要求15所述的计算机可读存储介质,其中,所述存储所述一个或者多个受保护的存储器区域的加密散列值的步骤还包括:
散列所述安全存储器环境中的内容,以为被加载在所述安全存储器环境中的软件生成作为安全软件标识值的加密散列标识值;
将所述安全软件标识值存储在所述摘要信息库中;以及
释放加载操作排他性互斥体。
22.根据权利要求15所述的计算机可读存储介质,还包括:
从外部代理接收安全验证请求;
通过安全通道访问软件标识值;
对所述软件散列标识值进行数字签名;以及
将所述被数字签名的软件标识值传送给所述外部代理,以使得所述外部代理可以检查在所述安全存储器环境中的安全软件的部件状态,并决定是否信任所述安全软件。
23.根据权利要求15所述的计算机可读存储介质,还包括:
向系统芯片组发出处理器复位请求;以及
响应于所述处理器复位请求,由所述芯片组复位耦合到所述芯片组的所有。
24.一种计算机可读存储介质,包括:
响应于安全复位请求,复位系统中的一个或者多个处理器,所述安全复位请求在加载安全区域操作完成之后被发出;以及
重新使能对安全存储器环境的一个或者多个受保护的存储器区域的处理器读/写访问,所述安全存储器环境是按照用于建立安全环境的加载安全区域指令而形成的。
25.根据权利要求24所述的计算机可读存储介质,其中,所述复位系统中的一个或者多个处理器的步骤还包括:
向系统芯片组平台发出处理器复位命令;以及
由所述芯片组平台向所述一个或者多个处理器的每一个发出复位请求。
26.根据权利要求25所述的计算机可读存储介质,其中,所述发出处理器复位命令的步骤还包括:
进行对输入/输出端口地址的数据写入;以及
由所述芯片组平台译码所述数据写入,以检测处理器复位命令。
27.根据权利要求24所述的计算机可读存储介质,其中,所述重新使能处理器读/写访问的步骤还包括:
提交摘要信息库中的数据,以指示当前活动的复位命令;
使得耦合到所述系统的每个处理器进入已知的特权状态;以及
编程存储器保护单元,以重新使能对所述安全存储器环境的处理器读/写。
28.根据权利要求27所述的计算机可读存储介质,其中,所述处理器中的每个还包括:
将所述处理器中的数据存储单元设置为常量或者由参数导出的值中的一个,所述常量是被存储在所述处理器中或者由所述处理器生成的,所述参数是在发出所述加载安全区域指令时由安全启动软件所规定的。
29.一种装置,包括:
存储器控制器;
多个处理器,所述多个处理器各自耦合到所述存储器控制器,并各自具有执行指令的电路;
耦合到所述存储器控制器的存储器保护单元,所述存储器保护单元阻止对一个或者多个受保护的存储器区域的未授权的存储器访问;
耦合到所述存储器控制器的摘要信息库,用于存储安全软件标识值;和
耦合到所述存储器控制器的存储器设备,所述存储器设备具有存储于其中的指令序列,所述指令序列包括至少一个加载指令,所述加载指令当被处理器执行时使得所述处理器:
当检测到当前活动的加载安全区域操作时,不理会收到的加载安全区域指令;
否则的话,按照对应于所述收到的加载安全区域指令的加载安全区域操作,引导存储器保护单元以形成包括了一个或者多个受保护的存储器区域的安全存储器环境,以使得对所述一个或者多个受保护的存储器区域的未授权的读/写访问被禁止;以及
根据所述加载安全区域操作,在所述摘要信息库中存储所述一个或者多个受保护的存储器区域的加密散列值,作为所述安全软件标识值,从而使得能够建立由外部代理进行的所述安全存储器环境的安全检验。
30.根据权利要求29所述的装置,其中,所述处理器还被使得:
从外部代理接收安全验证请求;
通过安全通道访问安全软件标识值;
对所述安全软件标识值进行数字签名;以及
将所述被数字签名的安全软件标识值传送给所述外部代理,以使得所述外部代理可以检查在所述安全存储器环境中的安全软件的部件状态,并决定是否信任所述安全软件。
31.根据权利要求29所述的装置,其中,所述处理器还被使得:
响应于安全复位请求,复位所述多个处理器中的每一个,所述安全复位请求在所述加载指令完成之后被发出;以及
重新使能对所述安全存储器环境的所述一个或者多个受保护的存储器区域的处理器读/写访问,所述安全存储器环境是按照用于建立安全环境的所述加载安全区域操作而形成的。
32.根据权利要求29所述的装置,其中,所述用于重新使能的指令还使得所述处理器:
提交摘要信息库中的数据,以指示当前活动的安全复位命令;
使得耦合到所述系统的每个处理器进入已知的特权状态;以及
引导存储器保护单元重新使能对所述安全存储器环境的处理器读/写访问。
33.根据权利要求32所述的装置,其中,所述用于使得处理器进入特权状态的指令还使得所述处理器:
将所述多个处理器中的数据存储单元设置为常量或者由参数导出的值中的一个,所述常量是被存储在所述处理器中或者由所述处理器生成的,所述参数是在发出所述加载安全区域指令时由安全启动软件所规定的。
34.一种系统,包括:
存储器控制器;
多个处理器,所述多个处理器各自耦合到所述存储器控制器,并各自具有执行指令的电路;
耦合到所述存储器控制器的存储器保护单元,所述存储器保护单元阻止对一个或者多个受保护的存储器区域的未授权的存储器访问;
耦合到所述存储器控制器的输入/输出控制器;
检验单元,所述检验单元耦合到所述输入/输出控制器,并包括用于存储安全软件标识值以及向外部代理提供安全验证的摘要信息库;和
耦合到所述存储器控制器的存储设备,所述存储设备具有存储于其中的指令序列,所述指令序列包括至少一个加载指令,所述加载指令当被处理器执行时使得所述处理器:
当检测到当前活动的加载指令时,不理会收到的加载安全区域操作;
否则的话,按照对应于所述收到的加载指令的加载安全区域操作,引导存储器保护单元以形成包括了一个或者多个受保护的存储器区域的安全存储器环境,以使得对所述一个或者多个受保护的存储器区域的未授权的读/写访问被禁止;以及
在所述摘要信息库中存储所述一个或者多个受保护的存储器区域的加密散列值,从而使得能够建立由外部代理进行的所述安全存储器环境的安全检验。
35.根据权利要求34所述的系统,其中,所述处理器还被使得:
从外部代理接收安全验证请求;
通过安全通道访问安全软件标识值;
对所述安全软件标识值进行数字签名;以及
将所述被数字签名的安全软件标识值传送给所述外部代理,以使得所述外部代理可以检查在所述安全存储器环境中的安全软件的部件状态,并决定是否信任所述安全软件。
36.根据权利要求34所述的系统,其中,所述处理器还被使得:响应于安全复位请求,复位所述多个处理器中的每一个,所述安全复位请求在所述加载指令请求完成之后被发出;以及
重新使能对安全存储器环境的一个或者多个受保护的存储器区域的处理器读/写访问,所述安全存储器环境是按照用于建立安全环境的加载安全区域操作而形成的。
37.根据权利要求34所述的系统,其中,所述用于重新使能的指令还使得所述处理器:
提交摘要信息库中的数据,以指示当前活动的安全复位命令;
使得所述多个处理器中的每一个进入已知的特权状态;以及
引导存储器保护单元重新使能对所述安全存储器环境的处理器读/写访问。
38.根据权利要求37所述的系统,其中,所述用于使得处理器进入特权状态的指令还使得所述处理器:
将所述多个处理器中的数据存储单元设置为常量或者由参数导出的值中的一个,所述常量是被存储在所述处理器中或者由所述处理器生成的,所述参数是在发出所述加载安全区域指令时由安全启动软件所规定的。
CNB028222199A 2001-11-01 2002-10-30 在多处理器环境中单方地加载安全操作系统的装置和方法 Expired - Fee Related CN100356286C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/043,843 US7024555B2 (en) 2001-11-01 2001-11-01 Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US10/043,843 2001-11-01

Publications (2)

Publication Number Publication Date
CN1685297A true CN1685297A (zh) 2005-10-19
CN100356286C CN100356286C (zh) 2007-12-19

Family

ID=21929171

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028222199A Expired - Fee Related CN100356286C (zh) 2001-11-01 2002-10-30 在多处理器环境中单方地加载安全操作系统的装置和方法

Country Status (4)

Country Link
US (2) US7024555B2 (zh)
EP (1) EP1520216A2 (zh)
CN (1) CN100356286C (zh)
WO (1) WO2003038574A2 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299311A (zh) * 2011-12-29 2013-09-11 英特尔公司 用于可信引导优化的方法和设备
CN105453034A (zh) * 2013-06-27 2016-03-30 国际商业机器公司 在管理器控制的系统中处理客户事件
CN107102902A (zh) * 2016-02-23 2017-08-29 波音公司 用于软件通信的系统和方法
CN107924433A (zh) * 2015-09-10 2018-04-17 高通股份有限公司 由受控制的加密密钥管理保护的软件模块的安全进入和退出
CN110494823A (zh) * 2017-04-12 2019-11-22 微软技术许可有限责任公司 利用多个lsr处理引擎的用于实时图像变换的无丢失高速缓存结构
CN110717198A (zh) * 2018-07-13 2020-01-21 西门子股份公司 运行针对设备的通过软件来构建的处理单元的装置和方法
CN111079168A (zh) * 2015-07-20 2020-04-28 英特尔公司 用于可信i/o的安全硬件和软件证明的技术
CN111367574A (zh) * 2014-02-06 2020-07-03 英特尔公司 用于多操作系统环境的介质保护策略实施
CN111666253A (zh) * 2019-03-07 2020-09-15 国际商业机器公司 向具有共享存储器的共享处理元件的系统传递可编程数据
CN112005230A (zh) * 2018-04-30 2020-11-27 谷歌有限责任公司 通过统一的安全区接口管理安全区创建
CN113544642A (zh) * 2019-03-08 2021-10-22 国际商业机器公司 安全存储查询和捐献
CN114201228A (zh) * 2020-09-02 2022-03-18 通用电气航空系统有限责任公司 用于受管制系统的灵活读写访问的系统和方法
US11921905B2 (en) 2018-04-30 2024-03-05 Google Llc Secure collaboration between processors and processing accelerators in enclaves

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260820B1 (en) * 2001-04-26 2007-08-21 Vm Ware, Inc. Undefeatable transformation for virtual machine I/O operations
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7130951B1 (en) * 2002-04-18 2006-10-31 Advanced Micro Devices, Inc. Method for selectively disabling interrupts on a secure execution mode-capable processor
GB0212314D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Secure mobile wireless device
US6886112B2 (en) * 2002-06-28 2005-04-26 Microsoft Corporation Recovering from device failure
US7266658B2 (en) * 2002-09-12 2007-09-04 International Business Machines Corporation System, method, and computer program product for prohibiting unauthorized access to protected memory regions
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
BRPI0413866A (pt) * 2003-09-02 2006-10-24 Sony Ericsson Mobile Comm Ab método de transferência de dados de uma memória não-volátil para uma memória de trabalho, dispositivo para bloquear de tentativas de escrita para dados de segurança, e, dispositivo para processamento de dados eletrÈnicos
US7210009B2 (en) * 2003-09-04 2007-04-24 Advanced Micro Devices, Inc. Computer system employing a trusted execution environment including a memory controller configured to clear memory
FR2862397A1 (fr) * 2003-11-13 2005-05-20 St Microelectronics Sa Demarrage securise d'un appareil electronique a architecture smp
US7464405B2 (en) * 2004-03-25 2008-12-09 International Business Machines Corporation Method for preventing loading and execution of rogue operating systems in a logical partitioned data processing system
US8239673B2 (en) * 2004-04-08 2012-08-07 Texas Instruments Incorporated Methods, apparatus and systems with loadable kernel architecture for processors
US7698552B2 (en) * 2004-06-03 2010-04-13 Intel Corporation Launching a secure kernel in a multiprocessor system
EP1607821A1 (fr) 2004-06-17 2005-12-21 Nagracard S.A. Méthode de mise à jour sécurisée de logiciel dans un mobile de sécurité
US7886293B2 (en) * 2004-07-07 2011-02-08 Intel Corporation Optimizing system behavior in a virtual machine environment
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
US7370189B2 (en) * 2004-09-30 2008-05-06 Intel Corporation Method and apparatus for establishing safe processor operating points in connection with a secure boot
CN100489728C (zh) * 2004-12-02 2009-05-20 联想(北京)有限公司 一种建立计算机中可信任运行环境的方法
US8275976B2 (en) * 2005-08-29 2012-09-25 The Invention Science Fund I, Llc Hierarchical instruction scheduler facilitating instruction replay
US9176741B2 (en) 2005-08-29 2015-11-03 Invention Science Fund I, Llc Method and apparatus for segmented sequential storage
US8296550B2 (en) * 2005-08-29 2012-10-23 The Invention Science Fund I, Llc Hierarchical register file with operand capture ports
US20070083735A1 (en) * 2005-08-29 2007-04-12 Glew Andrew F Hierarchical processor
US7644258B2 (en) 2005-08-29 2010-01-05 Searete, Llc Hybrid branch predictor using component predictors each having confidence and override signals
US7845005B2 (en) * 2006-02-07 2010-11-30 International Business Machines Corporation Method for preventing malicious software installation on an internet-connected computer
US20070235517A1 (en) * 2006-03-30 2007-10-11 O'connor Clint H Secure digital delivery seal for information handling system
US8108692B1 (en) * 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
US20090260050A1 (en) * 2008-04-14 2009-10-15 George Madathilparambil George Authenticating device for controlling application security environments
US8914888B1 (en) * 2009-10-21 2014-12-16 Symantec Corporation Systems and methods for classifying an unclassified process as a potential trusted process based on dependencies of the unclassified process
DE102011010627A1 (de) * 2011-02-08 2012-08-09 Giesecke & Devrient Gmbh Verfahren zur Programmierung eines Mobilendgeräte-Chips
US9305142B1 (en) * 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
CN104169894A (zh) * 2012-03-09 2014-11-26 邵通 一种实现安全存储区的装置及方法
US9703945B2 (en) 2012-09-19 2017-07-11 Winbond Electronics Corporation Secured computing system with asynchronous authentication
US9053216B1 (en) 2013-08-09 2015-06-09 Datto, Inc. CPU register assisted virtual machine screenshot capture timing apparatuses, methods and systems
GB2518367B (en) 2013-09-18 2020-07-22 Ibm Authorized remote access to an operating system hosted by a virtual machine
US9455962B2 (en) 2013-09-22 2016-09-27 Winbond Electronics Corporation Protecting memory interface
US9343162B2 (en) 2013-10-11 2016-05-17 Winbond Electronics Corporation Protection against side-channel attacks on non-volatile memory
US9223965B2 (en) * 2013-12-10 2015-12-29 International Business Machines Corporation Secure generation and management of a virtual card on a mobile device
US9235692B2 (en) 2013-12-13 2016-01-12 International Business Machines Corporation Secure application debugging
US9318221B2 (en) 2014-04-03 2016-04-19 Winbound Electronics Corporation Memory device with secure test mode
US9251330B2 (en) 2014-04-09 2016-02-02 International Business Machines Corporation Secure management of a smart card
US10475026B2 (en) 2014-05-16 2019-11-12 International Business Machines Corporation Secure management of transactions using a smart/virtual card
IL234956A (en) 2014-10-02 2017-10-31 Kaluzhny Uri Data bus protection with enhanced key entropy
US9875189B2 (en) 2015-06-12 2018-01-23 Intel Corporation Supporting secure memory intent
US9720721B2 (en) * 2015-07-01 2017-08-01 International Business Machines Corporation Protected guests in a hypervisor controlled system
US9928367B2 (en) * 2015-12-03 2018-03-27 Hewlett-Packard Development Company, L.P. Runtime verification
US10019571B2 (en) 2016-03-13 2018-07-10 Winbond Electronics Corporation Protection from side-channel attacks by varying clock delays
JP6463435B1 (ja) * 2017-10-04 2019-02-06 三菱電機株式会社 制御装置および制御方法
CN110059489B (zh) * 2018-01-19 2021-08-17 旭景科技股份有限公司 安全电子设备
US20190333057A1 (en) * 2018-04-27 2019-10-31 Jeremie Miller Systems and methods implementing an independent device-based sub-network of a distributed ledger network
EP3835951A1 (en) * 2019-12-13 2021-06-16 Virtual Open Systems System platform initializer for mixed-critical systems

Family Cites Families (236)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307214A (en) 1979-12-12 1981-12-22 Phillips Petroleum Company SC2 activation of supported chromium oxide catalysts
US4529870A (en) 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
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
JPS58140862A (ja) 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
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
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
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
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 仮想計算機システム
DE3901457A1 (de) * 1989-01-19 1990-08-02 Strahlen Umweltforsch Gmbh Verfahren zur adressbereichsueberwachung bei datenverarbeitungsgeraeten in echtzeit
JPH02208740A (ja) 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
JPH0617217B2 (ja) * 1989-02-28 1994-03-09 水澤化学工業株式会社 非晶質シリカ・アルミナ系球状粒子及びその製法
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
EP0473913A3 (en) 1990-09-04 1992-12-16 International Business Machines Corporation Method and apparatus for providing a service pool of virtual machines for a plurality of vm users
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
US5144667A (en) 1990-12-20 1992-09-01 Delco Electronics Corporation Method of secure remote access
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
US5446904A (en) 1991-05-17 1995-08-29 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor
JPH04348434A (ja) 1991-05-27 1992-12-03 Hitachi Ltd 仮想計算機システム
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 株式会社日立製作所 仮想計算機方式
EP0600112A1 (de) 1992-11-30 1994-06-08 Siemens Nixdorf Informationssysteme Aktiengesellschaft Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
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
EP0602867A1 (en) * 1992-12-17 1994-06-22 NCR International, Inc. An apparatus for securing a system platform
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
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5533123A (en) 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
US5978481A (en) * 1994-08-16 1999-11-02 Intel Corporation Modem compatible method and apparatus for encrypting data that is transparent to software applications
JPH0883211A (ja) 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
DE69534757T2 (de) * 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
US6058478A (en) 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
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
US6269392B1 (en) 1994-11-15 2001-07-31 Christian Cotichini Method and apparatus to monitor and locate an electronic device using a secured intelligent agent
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
EP0723251A3 (en) 1995-01-20 1998-12-30 Tandem Computers Incorporated Method and apparatus for user and security device authentication
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
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
US6093213A (en) 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
IL116708A (en) 1996-01-08 2000-12-06 Smart Link Ltd Real-time task manager for a personal computer
WO1997025798A1 (en) 1996-01-11 1997-07-17 Mrj, Inc. System for controlling access and distribution of digital property
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5784625A (en) 1996-03-19 1998-07-21 Vlsi Technology, Inc. Method and apparatus for effecting a soft reset in a processor device without requiring a dedicated external pin
US5978892A (en) 1996-05-03 1999-11-02 Digital Equipment Corporation Virtual memory allocation in a virtual address space having an inaccessible gap
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
US5802592A (en) * 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US6205550B1 (en) 1996-06-13 2001-03-20 Intel Corporation Tamper resistant methods and apparatus
US6178509B1 (en) 1996-06-13 2001-01-23 Intel Corporation Tamper resistant methods and apparatus
US6175925B1 (en) 1996-06-13 2001-01-16 Intel Corporation Tamper resistant player for scrambled contents
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
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
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
US6055637A (en) 1996-09-27 2000-04-25 Electronic Data Systems Corporation System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
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
JPH10134008A (ja) 1996-11-05 1998-05-22 Mitsubishi Electric Corp 半導体装置およびコンピュータシステム
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
DE19649292A1 (de) 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
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
US5818939A (en) 1996-12-18 1998-10-06 Intel Corporation Optimized security functionality in an electronic system
US6412035B1 (en) 1997-02-03 2002-06-25 Real Time, Inc. Apparatus and method for decreasing the response times of interrupt service routines
US5953502A (en) 1997-02-13 1999-09-14 Helbig, Sr.; Walter A Method and apparatus for enhancing computer system security
JP4000654B2 (ja) 1997-02-27 2007-10-31 セイコーエプソン株式会社 半導体装置及び電子機器
US6272637B1 (en) 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US6557104B2 (en) 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US6044478A (en) 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6075938A (en) 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US5987557A (en) * 1997-06-19 1999-11-16 Sun Microsystems, Inc. Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU)
US6175924B1 (en) 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
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
US6584565B1 (en) 1997-07-15 2003-06-24 Hewlett-Packard Development Company, L.P. Method and apparatus for long term verification of digital signatures
US6014745A (en) * 1997-07-17 2000-01-11 Silicon Systems Design Ltd. Protection for customer programs (EPROM)
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US6212635B1 (en) 1997-07-18 2001-04-03 David C. Reardon Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
DE19735948C1 (de) 1997-08-19 1998-10-01 Siemens Nixdorf Inf Syst Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung
US6282657B1 (en) 1997-09-16 2001-08-28 Safenet, Inc. Kernel mode protection
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
US6148379A (en) 1997-09-19 2000-11-14 Silicon Graphics, Inc. System, method and computer program product for page sharing between fault-isolated cells in a distributed shared memory system
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
US6357004B1 (en) 1997-09-30 2002-03-12 Intel Corporation System and method for ensuring integrity throughout post-processing
US5970147A (en) * 1997-09-30 1999-10-19 Intel Corporation System and method for configuring and registering a cryptographic device
US6061794A (en) 1997-09-30 2000-05-09 Compaq Computer Corp. System and method for performing secure device communications in a peer-to-peer bus architecture
US6085296A (en) 1997-11-12 2000-07-04 Digital Equipment Corporation Sharing memory pages and page tables among computer processes
US6219787B1 (en) 1997-12-22 2001-04-17 Texas Instruments Incorporated Method and apparatus for extending security model to native code
US6378072B1 (en) 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US6308270B1 (en) 1998-02-13 2001-10-23 Schlumberger Technologies, Inc. Validating and certifying execution of a software program with a smart card
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
US6192455B1 (en) 1998-03-30 2001-02-20 Intel Corporation Apparatus and method for preventing access to SMRAM space through AGP addressing
US6374286B1 (en) 1998-04-06 2002-04-16 Rockwell Collins, Inc. Real time processor capable of concurrently running multiple independent JAVA machines
US6173417B1 (en) 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
FR2778998B1 (fr) 1998-05-20 2000-06-30 Schlumberger Ind Sa Procede d'authentification d'un code personnel d'un utilisateur d'une carte a circuit integre
EP0961193B1 (en) 1998-05-29 2010-09-01 Texas Instruments Incorporated Secure computing device
US6421702B1 (en) 1998-06-09 2002-07-16 Advanced Micro Devices, Inc. Interrupt driven isochronous task scheduler system
US6339815B1 (en) 1998-08-14 2002-01-15 Silicon Storage Technology, Inc. Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space
US6505279B1 (en) 1998-08-14 2003-01-07 Silicon Storage Technology, Inc. Microcontroller system having security circuitry to selectively lock portions of a program memory address space
US6363485B1 (en) 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
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
US6230248B1 (en) 1998-10-12 2001-05-08 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for pre-validating regions in a virtual addressing scheme
US6327652B1 (en) 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6330670B1 (en) 1998-10-26 2001-12-11 Microsoft Corporation 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
US7194092B1 (en) 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6445797B1 (en) 1998-12-16 2002-09-03 Secure Choice Llc Method and system for performing secure electronic digital streaming
US6463537B1 (en) 1999-01-04 2002-10-08 Codex Technologies, Inc. Modified computer motherboard security and identification system
US6282650B1 (en) 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
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
US7111290B1 (en) 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6188257B1 (en) 1999-02-01 2001-02-13 Vlsi Technology, Inc. Power-on-reset logic with secure power down capability
EP1030237A1 (en) * 1999-02-15 2000-08-23 Hewlett-Packard Company Trusted hardware device in a computer
US6272533B1 (en) 1999-02-16 2001-08-07 Hendrik A. Browne Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device
US7225333B2 (en) 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
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
US6389537B1 (en) 1999-04-23 2002-05-14 Intel Corporation Platform and method for assuring integrity of trusted agent communications
US6275933B1 (en) 1999-04-30 2001-08-14 3Com Corporation Security system for a computerized apparatus
EP1056014A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company System for providing a trustworthy user interface
EP1055989A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company System for digitally signing a document
US6321314B1 (en) 1999-06-09 2001-11-20 Ati International S.R.L. Method and apparatus for restricting memory access
US6598165B1 (en) * 1999-06-18 2003-07-22 Phoenix Technologies Ltd. Secure memory
US6633981B1 (en) 1999-06-18 2003-10-14 Intel Corporation Electronic system and method for controlling access through user authentication
US6158546A (en) 1999-06-25 2000-12-12 Tenneco Automotive Inc. Straight through muffler with conically-ended output passage
US6715074B1 (en) * 1999-07-27 2004-03-30 Hewlett-Packard Development Company, L.P. Virus resistant and hardware independent method of flashing system bios
US6301646B1 (en) 1999-07-30 2001-10-09 Curl Corporation Pointer verification system and method
US6529909B1 (en) 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
JP2001148344A (ja) 1999-09-09 2001-05-29 Nikon Corp 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法
EP1085396A1 (en) 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US6535988B1 (en) 1999-09-29 2003-03-18 Intel Corporation System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate
US6374317B1 (en) 1999-10-07 2002-04-16 Intel Corporation Method and apparatus for initializing a computer interface
GB9923804D0 (en) 1999-10-08 1999-12-08 Hewlett Packard Co Electronic commerce system
GB9923802D0 (en) 1999-10-08 1999-12-08 Hewlett Packard Co User authentication
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
EP1269425A2 (en) 2000-02-25 2003-01-02 Identix Incorporated Secure transaction system
AU2001243365A1 (en) 2000-03-02 2001-09-12 Alarity Corporation System and method for process protection
JP3710671B2 (ja) 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
CA2341931C (en) 2000-03-24 2006-05-30 Contentguard Holdings, Inc. System and method for protection of digital works
US6678825B1 (en) 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US7073064B1 (en) * 2000-03-31 2006-07-04 Hewlett-Packard Development Company, L.P. Method and apparatus to provide enhanced computer protection
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
WO2001077837A1 (en) * 2000-04-11 2001-10-18 Mathis Richard M Method and apparatus for computer memory protection and verification
US6981281B1 (en) * 2000-06-21 2005-12-27 Microsoft Corporation Filtering a permission set using permission requests associated with a code assembly
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
GB0020416D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
US6938164B1 (en) * 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
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
US7676430B2 (en) 2001-05-09 2010-03-09 Lenovo (Singapore) Ptd. Ltd. System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset
EP1271277A3 (en) 2001-06-26 2003-02-05 Redstrike B.V. Security system and software to prevent unauthorized use of a computing device
US20030018892A1 (en) 2001-07-19 2003-01-23 Jose Tello Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer
US6993648B2 (en) * 2001-08-16 2006-01-31 Lenovo (Singapore) Pte. Ltd. Proving BIOS trust in a TCPA compliant system
US7191464B2 (en) 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7103771B2 (en) 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US7308576B2 (en) 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
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
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892858B2 (en) 2011-12-29 2014-11-18 Intel Corporation Methods and apparatus for trusted boot optimization
CN103299311A (zh) * 2011-12-29 2013-09-11 英特尔公司 用于可信引导优化的方法和设备
CN105453034A (zh) * 2013-06-27 2016-03-30 国际商业机器公司 在管理器控制的系统中处理客户事件
CN105453034B (zh) * 2013-06-27 2018-11-16 国际商业机器公司 在管理器控制的系统中处理客户事件
CN111367574B (zh) * 2014-02-06 2023-09-12 英特尔公司 用于多操作系统环境的介质保护策略实施的方法、系统、设备和介质
CN111367574A (zh) * 2014-02-06 2020-07-03 英特尔公司 用于多操作系统环境的介质保护策略实施
CN111079168A (zh) * 2015-07-20 2020-04-28 英特尔公司 用于可信i/o的安全硬件和软件证明的技术
CN107924433A (zh) * 2015-09-10 2018-04-17 高通股份有限公司 由受控制的加密密钥管理保护的软件模块的安全进入和退出
CN107102902A (zh) * 2016-02-23 2017-08-29 波音公司 用于软件通信的系统和方法
CN107102902B (zh) * 2016-02-23 2022-07-12 波音公司 用于软件通信的方法和交通工具
CN110494823A (zh) * 2017-04-12 2019-11-22 微软技术许可有限责任公司 利用多个lsr处理引擎的用于实时图像变换的无丢失高速缓存结构
CN112005230A (zh) * 2018-04-30 2020-11-27 谷歌有限责任公司 通过统一的安全区接口管理安全区创建
US11921905B2 (en) 2018-04-30 2024-03-05 Google Llc Secure collaboration between processors and processing accelerators in enclaves
CN110717198A (zh) * 2018-07-13 2020-01-21 西门子股份公司 运行针对设备的通过软件来构建的处理单元的装置和方法
CN110717198B (zh) * 2018-07-13 2023-12-19 西门子股份公司 运行针对设备的通过软件来构建的处理单元的装置和方法
CN111666253A (zh) * 2019-03-07 2020-09-15 国际商业机器公司 向具有共享存储器的共享处理元件的系统传递可编程数据
CN111666253B (zh) * 2019-03-07 2023-05-12 国际商业机器公司 向具有共享存储器的共享处理元件的系统传递可编程数据
CN113544642A (zh) * 2019-03-08 2021-10-22 国际商业机器公司 安全存储查询和捐献
CN114201228A (zh) * 2020-09-02 2022-03-18 通用电气航空系统有限责任公司 用于受管制系统的灵活读写访问的系统和方法
US11868233B2 (en) 2020-09-02 2024-01-09 Ge Aviation Systems Llc Systems and method for flexible write- and read-access of a regulated system

Also Published As

Publication number Publication date
US20070192577A1 (en) 2007-08-16
EP1520216A2 (en) 2005-04-06
US7921293B2 (en) 2011-04-05
US20030084346A1 (en) 2003-05-01
CN100356286C (zh) 2007-12-19
WO2003038574A2 (en) 2003-05-08
WO2003038574A3 (en) 2005-02-10
US7024555B2 (en) 2006-04-04

Similar Documents

Publication Publication Date Title
CN100356286C (zh) 在多处理器环境中单方地加载安全操作系统的装置和方法
US8549592B2 (en) Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
US8615801B2 (en) Software authorization utilizing software reputation
US9871821B2 (en) Securely operating a process using user-specific and device-specific security constraints
TWI431501B (zh) 在usb訊標上的密碼鍵容器
US7818585B2 (en) Secure license management
US8539551B2 (en) Trusted virtual machine as a client
US20090049510A1 (en) Securing stored content for trusted hosts and safe computing environments
US20090086964A1 (en) Providing local storage service to applications that run in an application execution environment
US8095977B2 (en) Secure PIN transmission
TWI627554B (zh) 阻擋非授權應用程式方法以及使用該方法的裝置
JP7184927B2 (ja) コンテンツプラットフォーム上でのユーザ対話の検証
KR20140099325A (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
JP6985385B2 (ja) 仮想セキュリティ環境内でホスティングされるセキュア・サービス
WO2020143906A1 (en) Method and apparatus for trust verification
EP2130159A1 (en) Secure data storage and retrieval incorporating human participation
CN109977665B (zh) 基于tpcm的云服务器启动过程防窃取和防篡改方法
Zobaed et al. Confidential computing across edge-to-cloud for machine learning: A survey study
US20240022546A1 (en) Master ledger and local host log extension detection and mitigation of forged authentication attacks
Jian et al. A New Method to Enhance Container with vTPM
CN116827648A (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

Granted publication date: 20071219

Termination date: 20151030

EXPY Termination of patent right or utility model