CN101965570A - 具有安全启动机制的计算机系统 - Google Patents

具有安全启动机制的计算机系统 Download PDF

Info

Publication number
CN101965570A
CN101965570A CN200980106728XA CN200980106728A CN101965570A CN 101965570 A CN101965570 A CN 101965570A CN 200980106728X A CN200980106728X A CN 200980106728XA CN 200980106728 A CN200980106728 A CN 200980106728A CN 101965570 A CN101965570 A CN 101965570A
Authority
CN
China
Prior art keywords
data
group
processing unit
central processing
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
CN200980106728XA
Other languages
English (en)
Other versions
CN101965570B (zh
Inventor
R·芬代斯
M·格雷尔
T·E·铂利
M·E·约内斯
F·许克
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.)
GlobalFoundries US Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN101965570A publication Critical patent/CN101965570A/zh
Application granted granted Critical
Publication of CN101965570B publication Critical patent/CN101965570B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting 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 in cryptographic circuits

Landscapes

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

Abstract

本发明提供一种安全启动处理,可基于属于中央处理单元(100)之不可或缺部分的非易失性存储器(103)而达成,且一旦于预启动信息被程序化于非易失性存储器(103)中之后,该非易失性存储器即无法任意更改。在重启事件或开机事件的期间,可从该内部非易失性存储器(103)开始执行,其中该内部非挥发存储器可包含公开解密密钥(public decryption key),作为验证启动程序片段的签名之用。启动程序之个别片段的验证,可通过使用内部随机存取存储器(101)而完成,藉此避免在验证启动程序期间发生外部存取的情形。因此本发明可得到高度抗篡改性,举例而言,对于通过交换基本输出入系统(BIOS)芯片而进行的BIOS修改具备高度抗篡改性。

Description

具有安全启动机制的计算机系统
技术领域
本发明系关于加强完整性的计算机系统及于其中执行之相关机制;本发明可提升安全标准,进而增进需要安全性计算机平台的应用程序之效能。
背景技术
随着计算机系统的普及,于电子计算系统上进行之信息处理量亦显著增加,进而导致大量数字数据的产生、分配与处理。以数据储存容量与增加之处理速度的角度而言,可用之计算机系统资源变大,随此,越来越多的人能够进行声音数据、电影等大型数据组的复制(reproduction),且此等复制系经常地被实施而无视于与以电子形式提供之许多数据结合的保护权利。因此,电子数据之非法复制、储存及重新分配,会造成重大的经济损失。再者,应用程序系于诸如因特网(internet)之分布广泛的网络四处散播,此将制造散布恶意软件应用程序的机会,其可随后被用于篡改个别计算机平台之数据及/或组构。举例而言,由于导入不当的软件应用程序,使得例如储存档案被篡改、信息在实际使用者不知情的情形下经由因特网传播、启动阻绝服务攻击从而导致需要在特殊状态之平台上执行的专属应用程序无法使用该平台,因而可能对私人环境、特别是对产业造成严重伤害。
基于上述原因,已投入相当大的努力在发展各种机制以加强计算机平台之完整性,以降低例如恶意软件形式、阻绝服务攻击、测录(sniffing)、电子诈欺(spoofing)等「成功的」外部攻击,并同时增加计算机平台内部调处(internal manipulation)所相关的数据完整性。举例而言,已有多种加密技术可运用,例如对称型/非对称型之加密/解密技术,其可能使数据交换过程中具有高度的抗篡改性,防止第三方在传输或储存数据时篡改数据。举例而言,以非对称型加密技术来说,一对私密密钥和公开密钥系可用来以其中一密钥来加密数据,并使用另一密钥来解密数据,且其中一密钥为可公开存取。虽然此技术能够在数据交流及数据储存方面,提供较佳的完整性,但所考虑之计算机平台之实际组构仍可能遭受复数种攻击,特别是因为许多意欲提升计算机安全性的应用程序系依赖于可信赖平台组构(trusted platform configuration)之故。
可信赖平台组构可视为一计算机系统,其中的硬件组构硬件组构与软件应用程序皆被假定为处于专属组构的状态。然而安全性平台组构可能仅通过一连串可信任平台阶层的建立而建立,其中,只有当后续阶层的完整性经过验证,才能由前一阶层来启动各后续阶层。如此一来,于系统阶层的完整性可透过以一连串之完整性验证步骤维持,而这些一连串验证步骤的基础必须具备高度抗篡改性,使得最高阶层(例如使用者应用程序)被初始化后,仍能高度信赖系统的完整性。
在典型的计算机平台中,系统初始化需要不同程度的「提取」(abstraction)处理,如关于中央处理单元(central processing unit;CPU)的初始化,系统存储器的初始化(其通常设置于中央处理单元外部),从外部的大量数据储存装置将操作系统加载系统存储器中,最后再执行使用者应用程序。由加强系统整体的完整性而言,要假定加载操作系统之前的各种系统活动皆具有安全性而可依赖操作系统及使用者应用程序之完整性,可能有所不足之处,这是因为操作系统可能是由「不可信赖」的程序所引动,进而提供通过更改硬件或软件组件而篡改基础平台组构的机会。因此,计算机系统之各种硬件组件(如系统存储器)的初始化程序以及包含于其中之用以启动较高系统阶层之指令的执行(其可被称为启动(boot strapping或booting),皆必须并入一连串「可信赖」的环节中,方可提升系统整体的完整性。
在施加电源后或重启事件后用以初始化计算机系统之典型的第一步骤为使中央处理单元执行「开机自我测试」(power on self-test),于此过程中处理器亦于专属进入地址(dedicated entry address)开始执行指令,其中该地址系由处理器之重启向量所指示。换句话说,于初始处理器自我测试(initial processor self-test)之后,指令所开始执行的进入地址通常为常被称为基本输出入系统(BIOS)之软件程序的地址,而该BIOS可储存于计算机平台之专属外部非易失性存储器。在BIOS控制之下,可进行其余的自我测试步骤,且可判定或「测量」平台的硬件组构。接着,将搜寻如大量数据储存装置等可启动装置(举例而言,计算机系统之硬盘、磁盘、光盘及扩充卡等),并从该可启动装置将主要启动区块(primary boot block)加载系统存储器中,同时转移控制至主要启动区块,而该主要启动区块可加载操作系统于系统存储器。
尽管在提升整个启动过程的安全性方面亦已投入相当大的努力,然而针对启动程度提供可靠之可信赖测量之核根(core root oftrust for measurement;CRTM)仍面临困难。举例而言,以平台改变(platform modifications;例如更换包含BIOS软件之非易失性存储器芯片)来说,由于相关的芯片更换可能会因此中断信任炼(chain of trust),因此可能使所有之后续验证步骤成为不可信赖。
本发明揭露的方法及装置,可避免或至少可减少上述习知技术衍生的问题。
发明内容
以下之具体实施例,仅系用以例释本发明之特点及功效,而非用以限定本发明之可实施范畴,在未脱离本发明上揭之精神与技术范畴下,任何运用本发明所揭示内容而完成之等效改变及修饰,均仍应为下述之申请专利范围所涵盖。
大致上,本发明系关于加强完整性的计算机系统及其执行之相关机制,通过建立信赖测量的静态根(static root of trust for measurement)达成,其中可提供特定数据组,该数据组包含可执行指令及数据值,此指令及数据值由微处理器于开机时存取,并确保任何情况下皆可避免专属数据组被入侵的可能性,因此可获得平台启动用的定义根(defined root);另外,执行该数据组的方式可达到高度抗篡改性。于包含在该数据组中的指令之执行过程中,不能改变或中断相关的程序,藉此可提供该组数据之高度完整性,因此其可被考虑为预启动指令及数据值。由于预启动数据之个别指令的处理于该系统开机时为强制者,故可开始一连串可信赖软件,从而得以建立高度的系统完整性,这是因为专属预启动数据组即表示用于后续验证步骤之静态根。为此目的,该预启动数据组可保存在该中央处理单元核心的非易失性存储器中,以实质避免更换BIOS芯片等时的攻击行为。
本发明之一实施例系关于计算机系统之开启方法,包括:存取储存在中央处理单元(CPU)的非易失性存储器内的第一组数据,该第一组数据包含第一指令,该第一指令使得该中央处理单元的核心电路初始化该中央处理单元的随机存取存储器。该方法还包括从非易失性存储器将第二组数据的镜像(image)加载至该经初始化的随机存取存储器,该第二组数据包括用以验证该第二组数据的完整性的签名,该第二组数据还包括第二指令,该第二指令使得该中央处理单元初始化该计算机系统的系统存储器。此外,该方法包括通过利用该签名及包含在第一组数据中的解密密钥而验证该第二组数据的该完整性。最后,该方法包括于已经成功验证该第二组数据时,利用该第二指令初始化该系统存储器。
本发明之另一实施例系关于计算机系统之开启方法,包括:于开机及重启事件之其中至少一者后,存取中央处理单元的内部非易失性存储器,该非易失性存储器包含预启动指令及数据值,用以初始化该中央处理单元的内部易失性存储器并验证储存于非易失性存储器之启动指令及启动数据值的至少一部分之完整性。该方法还包括通过执行该预启动指令将该启动指令及启动数据值的至少一部分从该非易失性存储器加载至该内部易失性存储器中。此外,通过执行该预启动指令验证该启动指令及启动数据值的至少一部分之完整性。最后,于成功验证该启动指令及启动数据值的至少一部分之完整性后,执行该启动指令。
本发明亦揭露一中央处理单元包括:基板,具有形成于其上的电路组件,该电路组件定义中央处理单元核心、易失性随机存取存储器、非易失性存储器及总线系统,其中该总线系统用以连接该中央处理单元核心、该易失性随机存取存储器及该非易失性存储器。此外,该中央处理单元包括储存于该非易失性存储器的预启动信息,该预启动信息包含用以初始化该易失性随机存取存储器与验证启动程序的至少一部分而可被该中央处理单元核心执行的指令、以及数据值。
本发明进一步揭露一面向,上述中央处理单元可为计算机系统的一部分,该计算机系统除中央处理单元之外,还包括系统存储器、包含启动程序之记忆装置、以及将该系统存储器及包含该启动程序之记忆装置与该中央处理单元予以连接之接口系统。
附图说明
本发明所揭露之内容可通过以下图标简单说明配合图标加以了解;各图标组件符号代表不同组件:
图1a为根据本发明实施例之中央处理单元的示意图,其中包含随机存取存储器(高速缓存)、中央处理单元核心以及包含预启动信息的非易失性存储器;
图1b为根据本发明实施例具有中央处理单元之计算机系统的示意图,该中央处理单元包含内部预启动信息;
图1c为根据本发明实施例之用以在制造启动信息第一部分的签名之程序期间操控启动数据步骤的示意图,该启动程序数据包含指令及数据值;
图1d为根据本发明实施例验证该启动信息一部分的签名步骤之示意图;
图1e为根据本发明实施例之流程图,描述图1b的计算机系统之运作;以及
图1f为根据本发明实施例之流程图,描述包含中央处理单元的计算机系统之运作,该中央处理单元可为图1a的中央处理单元。
虽然本发明可容许各种修饰及替代形式,但在此已经由附图中之范例显示并描述特定之实施例。然而,应了解的是,本发明并非意欲限制至所揭露之特定形式。相反地,本发明系意欲涵盖落在由所附申请专利范围所界定之精神与范畴内之所有修饰、等效及替代者。
具体实施方式
以下将描述多个例举实施例。为了清楚起见,并未将实际实施之所有特征皆描述于本说明书中。吾人将当然体会到,于任何此种实际实施例的研发中,必须做出许多特定之实施决定以达到研发人员之特定目标,例如遵从与系统相关或与商业相关之限制条件,该限制条件随着实施之不同而有所变化。此外,吾人将体会到此种研发之投入非常复杂且耗时,但对于在所属技术领域中具有通常知识而可由本发明所揭露之内容得益者而言,其仅属于惯常程序。
本发明之内容将参照附图进行描述。该等图标中之多个结构、系统及装置仅为了说明起见而示意地描绘,以免因所属技术领域人员所熟知之细节而模糊本发明之内容。但是,该等附图系被包含以描述并说明本发明内容之说明范例。下文中所用之用字和措辞应被了解及理解为与熟习相关技术领域之人士对于该些字辞的了解具有一致之意义。下文中该等名词或措辞之一致性用法并不会想意者名词或措辞之特别定义(亦即与熟习相关技术领域之人士所了解之通常和惯用意义不同之定义)。欲具有特别意义如特别定义之名词或措辞,也就是不同于熟习此技艺之人士所理解之意义(如特殊定义),将于本说明书中以定义方式特别提出以直接且明确地提供该等名词或措辞之特殊定义。
大致而言,本发明揭露一种系统及机制,该系统及机制于开机(start up)、重启或其它需要初始化系统之运作状态下,执行储存于非易失性存储器之指令及利用储存于非易失性存储器之数据,其中该非易失性存储器代表中央处理单元之一部分。藉此,可显著降低非易失性存储器中的数据组遭到篡改之可能性。因而,可确保在开机或CPU的重启后第一个指令系自非易失性存储器所提取,藉此在初始化中央处理单元与整体计算机系统的期间,非易失性存储器之内容可做为信赖测量的静态根(static root of trust for measurement)。因此,包含于其中之数据组可作为预启动或预BIOS组件,其可初始化诸如内部随机存取存储器等进一步的系统组件,而这些系统组件可作为储存用以执行部分BIOS软件的例如变量、堆栈(stack)或指令等运作数据之用。举例而言,属于随机存取存储器区域之一部份的数据高速缓存、以及指令高速缓存,可藉内部非易失性存储器之预启动数据初始化,以有效避免包含于其中之数据于初始化过程中由外部存取的可能性。也就是说,该随机存取存储器区域(即该数据高速缓存与该指令高速缓存)为中央处理单元内部组件,因此极难易发生不想要之数据篡改,尤其是此时外部系统存储器尚未初始化。取决于随机存取存储器的储存容量,BIOS程序可被分割为两个部分以上,以便可针对该第一部分(其大小系经设计为符合指令高速缓存之容量)于随机存取存储器中执行一或多个签名的验证,以确定BIOS之完整性。如此,在完整性的验证完成后,此部份之启动信息可直接从随机存取存储器执行。因此,在通过执行预启动指令而使随机存取存储器初始化及加载部分启动信息之期间,预启动信息即无法由外部存取,藉此可实质避免对第一签名验证程序进行任何数据篡改的情形。在一些示范性实施例中,预启动信息在签名验证后可由外部应用程序存取,例如存取解密密钥,以评估BIOS升级版本等之完整性。
因此,在启动信息第一部分的签名验证完成后,流程控制可交由该第一部分,使接下来的启动处理得以继续,其步骤包括:初始化系统存储器、复制其余之启动信息,同时验证该启动信息其它部份的完整性。因此,储存于非易失性存储器(其系设置成中央处理单元之必要部分)中之该数据(即指令及数据值)可使用作为信赖测量的静态根,藉此提供一计算机平台,于其中可达成具有抗篡改性之硬件与软件组构。特别是,在考虑到诸如更换BIOS芯片等攻击时,于此所述之实施例之机制可针对依据可信赖计算机平台而以金融交易或数字权限管理为主体使用平台之一般应用程序提供加强之安全性。
图1a示意性地显示根据本发明之实施例之中央处理单元(CPU)100,其中可信赖测量之核根(CRTM)以高度抗篡改性的方式实施。中央处理单元100可包括具有用于数据处理之组件之中央处理单元核心102,该数据处理例如为实行算术运算或逻辑运算等。该中央处理单元核心102系功能性地连接于随机存取存储器101,该随机存取存储器101可包括复数个静态随机存取存储器单元或其它类似单元,其与中央处理单元100的整体组构兼容。于一示范性实施例中,该随机存取存储器101可包括第一记忆区(亦表示为数据高速缓存101A)以及第二记忆区(亦表示为指令高速缓存101B)。例如,该随机存取存储器101可利用快速存储器技术来实施以增加中央处理单元100之整体效能,此技术在复杂集成电路中通常为必要者。然而应当了解的是,任何适当的存储器技术皆可应用于存储器101,只要在初始化中央处理单元100之期间可透过中央处理单元核心102达成存储器101之直接控制,而无外部存取的可能性即可。
另外,该中央处理单元100可包含非易失性存储器103,其可利用适当之存储器技术(例如以闪存之形式或其它只读存储器技术等)来设置;这些技术可避免外部存取造成之存储器103内容之更改。如此一来,存储器103可视为一安全的存储器区域,其内容可因此代表可信赖的静态根。为此目的,本发明系至少于存储器103的一部分之中提供数据组103A,该数据组103A将被理解为可被中央处理单元核心102执行之指令以及代表该指令之操作数或类似数据的数据值数据组,并且,于一旦程序化存储器103的各个部分后,该数据组103A不会被新数据覆写。包含该数据组103A的存储器103可透过总线系统104与该中央处理单元核心102相连接,俾使于开机或重启后,可跳越至存储器103的特定地址。藉此可提供用于中央处理单元核心102之重启向量的硬连接(hard-wired)目标,以确保至少在开机事件或重启事件时,指令系由具备安全性之存储器103开始执行。
应当了解的是,该中央处理单元100可基于精密半导体制程技术形成,其中可于半导体基材等适合的载体材料中,容置基于CMOS制程等相关技术形成的复数个电路组件,其中可根据中央处理单元100之特定装置架构来形成晶体管、电容器、电阻器等组件。于本实施例中,可因而在共通制造流程中在共通基板上形成中央处理单元100的各种组件,以提供存储器101及103作为装置100之内部或构成整体所必要的构件。例如,能够与中央处理单元核心102所需之非易失性存储器单元及高效能逻辑闸一起形成易失性及快速存储器单元的各个制程技术目前已相当成熟。此外,可提供适当的机制以避免在程序化存储器103或至少其一部分(包括数据组103A)后,数据位被进一步之存取更改,而可提供该数据组103A一个受到保护的环境。
图1b系为包含如上述可提供数据组103A一个受到保护的环境之中央处理单元100的计算机系统150,其中,于所示之实施例中,该中央处理单元100可包括随机存取存储器101,而该随机存取存储器101可为数据高速缓存101A及指令高速缓存101B之形式,其大小(例如64kB)可容纳启动信息的部分,并当实行数据组103A的指令时,担任「系统随机存取存储器」之角色。同样地,该指令高速缓存101B可具有64kB之大小,惟应了解任何其它适当之存储器大小皆适用,只要其兼容于验证过程中将由存储器101执行之启动信息之个别部份的大小即可。类似地,内部非易失性存储器103可具有任何适当大小,例如32kB,以兼容于代表计算机系统150可信赖测量之核根的数据组103A之需求。举例而言,数据组103A可包括代表一安全加载程序的指令及数据值,其中该安全加载程序系用于加载启动信息个别部分于内部存储器101中以执行验证程序。此外,该数据组103A可包括一或多个解密密钥,其可代表非对称型加密/解密算法的公开密钥,以在存储器101中验证启动信息之经签名的部分。应理解的是,数据组103A之公开密钥的数目可依照安全考虑而选择,例如考虑到维持用以提供各密钥配对之适当架构具备高度完整性等。
计算机系统150可进一步包含系统存储器110,该系统存储器可例如为包含随机存取存储器单元(例如动态随机存取存储器单元等)之任何适当的存储器装置。系统存储器110的大小可调适成符合于考虑到该计算机系统150之效能与储存容量的需求。并且,该计算机系统150可包含如闪存等之非易失性存储器120,其可包含亦称为BIOS信息的信息,其至少一部分可为签名部分;换句话说,签名部分可包括基于适当的散列算法(hash algorithm)并结合加密机制而获得的签名,并且如上所述,可在该数据组103A中包含一个或多个适合的解密密钥。
于一示范性实施例中,该非易失性存储器120可包括分为两部分的启动信息,其中第一部分可包含用于初始化其它系统组件(例如系统存储器110)的数据及指令,而该其它系统组件系用以容纳启动信息的第二部分,并于第一部分在该中央处理单元100提供的受保护环境中被验证后执行该第二部分。关于在非易失性存储器120中的启动信息之详细组构将参考图1c及图1d稍后描述。
该计算机系统150可另外包含接口系统140,其系设为将该系统存储器110、非易失性存储器120与该中央处理单元100运作性地予以连接。于一示范性实施例中,该系统150可进一步包括一次性程序化存储器(one-time programmable memory)130,其可包括平台特定性信息(platform-specific information),例如关于启动源及相关参数者。举例而言,如图所示,一次性程序化存储器130可包含关于启动选项的信息,用以指示中央处理单元100自内部存储器103启动与否。另外,于该存储器130中所提供之安全位可包括用以判定要将重启后该中央处理单元100的初始指令提取导向何处的个别位。例如,该位设为“1”时,可将执行转移至内部存储器103,从而进入安全启动处理之程序。某些情况下,例如为了开发程序或除错,可能需要关闭安全启动功能。其它情形下,可能根据平台需求,需要关闭或略过可信赖平台功能。此时,于安全启动处理期间系不允许该位状态的改变。为此目的,所以除错模式(例如JTAG……)至少在启动期间将全部被关闭。在关闭个别的除错模式之后,可执行安全启动程序,详细说明如后。同样地,该存储器130可包括在安全启动程序期间控制除错功能的位,其中,该除错功能于开发程序期间系有帮助,而在生产时系关闭个别的除错功能控制。除这些安全位之外,该存储器130还可包括其它信息,例如厂商标志或可用于数字权利管理应用程序等之任何独特的数字。应理解的是,在其它实施例中,该一次性程序化存储器130可被省略,或可于开发程序或实际应用时被提供以包含用以控制该安全启动处理的其它信息。
图1c系示意性地显示启动信息121之组构,且该启动信息121可储存于非易失性存储器120中。在图1c所显示之实施例中,该启动信息121(亦可称为BIOS)可包括第一部分121A,且该第一部分121A可表示包含指令及数据值的数据组,其中该指令及数据值的大小如前述系与存储器101之大小兼容。举例而言,就上文中所给定之各随机存取存储器区域101A、101B为64kB之例示大小而言,第一部分121A容量的极大值系限制为约32kB。然而应理解的是,本发明可依据随机存取存储器101内可用之储存容量使用任何其它适合大小的第一部分。另外应理解的是,当启动信息121大于存储器101之容量时,必须提供第一部分121A,这是因为一般而言启动程序可能占用数十万个位或以上之大小,故启动信息121超出存储器101之容量时整个启动处理可能无法基于存储器101而执行之故。在其它情形,当在储存容量足够时,启动信息121整体可于安全启动处理期间使用,详细内容描述于后。
如图1c所示,若设置有第一部分121A时,第一部分121A可作为用于第二部分121B的初始BIOS「加载器」,其中该第一部分121A可包含经由整个该第二部分121B所得到的散列值(hash value)。用于该第二部分121B的散列值亦可由基于经由整个第一部分121A所得到的散列值而包含于第一部分121A中的签名所保护,且此步骤可在一专属可信赖中心之中完成。因此该第二部分散列值的加密可为非必要。该第一部分121A散列值的签名可用于在安全启动处理期间验证第一部分121A。因此该第一部分121A可设定为实行必要的平台初始化动作,例如存储器控制器的初始化等,并接着将该第二部分121B自存储器120映照(shadowing)至启动系统存储器110。
在执行第一部分121A后,散列值可经由复制至系统存储器110的整个影像121B计算之,且所得的散列值可与最初包含在第一部分121A的散列值相互比较。如此,可依据包含在第一部分121A的散列值,验证第二部分121B的完整性,从而提供完整性的信任炼。因此如图1c所示,可通过处理第一部分121A获得签名,且此步骤可基于适当的可信赖环境在适当之信任中心完成。为此,可应用安全散列算法以提供一或多个散列值,例如散列值0、散列值1、散列值2同时结合适当的控制数据。其后可应用任何适当之加密技术,例如使用合适之私密密钥的RSA(Rivest,Schamir,Adelman)算法,以获得如图1c右侧字段所示之加密散列值。如前述,合适数目之公开密钥可包含在数据组103A中,从而在如图1c所示的流程中所产生之已加密的散列值或签名可被解密。
图1d为验证第一部分121A中所包含的签名之流程示意图;此流程可于启动系统150之期间依据数据组103A实行之。该验证步骤可基于例如使用一公开密钥之RSA算法完成,以获得经初始地产生的散列值,如散列值0、散列值1、散列值2。该等经初始地产生的散列值可随后与经由对整个第一部分121A施加适当散列算法所得到的个别散列值进行比较,其中,该第一部分121A系经复制至随机存取存储器101。若计算所得的散列值与通过解密第一部分121A的签名所得的初始产生的散列值匹配时,则第一部分121A可视为通过验证,如图1d左侧字段所示。
以下将参考图1e及图1f更详细地说明依据本发明实施例之于安全启动处理期间的系统150的运作。如前述,为提供一安全平台,应执行可信赖的静态根(static root of trust),以使该计算机系统开机或重启后,操作系统能够安全启动。举例而言,可信赖之BIOS信息121之经定义的执行可通过根据可信赖数据组103A而验证至少第一部分121A来完成,其中该可信赖数据组103A实质上可抵抗任何外部篡改。因此每次启动该系统时,系初始化一安全启动程序,其中,通过密码方法,可达初始硬件及软件组构的完整性验证。因此,于通过启动信息121(即图标的第一部分121A与第二部分121B)之完整性验证后,可确认整体启动程序之完整性,藉此使操作系统能够可信赖地被初始化,进而可被用以实行对安全性敏感(security sensitive)之应用程序。另一方面,一旦无法通过完整性测试时,则例如在验证第一部分121A或第二部分121B期间,可应用合适的政策(policy)以限定由该系统所提供的服务;或在其它实施例中,实际上关闭启动处理。
本发明所揭露之安全启动架构可避免「等级突破」(class break)的发生,所谓等级突破系指会与一给定安全系统之每个情况作对的攻击。举例而言,由外部来源所产生之软件片段可视为一等级突破,此软件片段可轻易安装且容许对安全/保护措施的规避(circumvention),进而容许平台之未授权使用。在数字版权管理(DRM)的环境中,当经DRM保护之数据文件曾经被突破时,则等级突破可能已经发生,从而容许未受保护之档案的重新散布。本发明所揭露的机制及系统可针对等级突破提高安全性,这是由于可基于中央处理单元本身中之不可或缺的部份而得到受保护环境之故,因此系需要中央处理单元本身之篡改、或用于签署启动信息与维持秘密密钥之架构上的各个缺陷,而在上述两种情形皆需要耗费相当的时间与金钱。
图1e为示意性地描述该系统150运作之流程图。在步骤S100中,该系统150可被重启、或电源可被供应至系统、抑或任何其它需要安全启动处理的事件可能发生。因此可由中央处理单元核心102执行适当的自我测试,且可初始化个别组件(如缓存器等)。应理解的是,在某些实施例中,可能不会进行安全启动处理,而该系统150可能由处于操作系统仍受控制的作业状态。在步骤S110中,第一指令系取自内部非易失性存储器103,其可通过映像(mapping)该内部存储器103至相对应之重启向量地址而达成。因此,该中央处理单元100在因任何外部事件导致跳越至重启向量的任何事例中会开始进行依据安全数据组103A之执行。于步骤S120中,会因包含在数据组103A中的指令被执行而使得该内部随机存取存储器101被启动。于步骤S130中,至少一部分之启动信息121,例如包含其签名的第一部分121A,可被加载至该内部随机存取存储器101中。于步骤S140,启动信息121或第一部分121A的完整性可通过利用包含在数据组103A中的解密密钥验证之。
换句话说,在初始化存储器101之后,即开始执行启动信息121或至少第一部分121A的签名检验。为此目的,在某些实施例中,可依据安全散列算法计算散列值,该安全散列算法系例如SHA1,其中一或多个用于启动信息121或第一部分121A的签名可被略过。另外,例如包含于一次性程序化存储器130中之厂商标志等其它信息可适用于某些情形,且可用于计算一或多个散列值。接着一或多个计算得到的散列值,可与一或多个包含在数据121或121A之专属地址的散列值相比较,如前述参照图1b之说明。为止目的,来自一或多个签名的散列值可通过数据组103A中的公开解密密钥而取得,以得到初始散列值。若计算所得的散列值与初始散列值匹配,则于步骤S 150中将启动信息121或第一部分121A视为可信赖,并接着于步骤S160继续启动处理。于一示范性实施例中,若于步骤S150中未通过完整性检验,则于步骤S170中,可指示相对应之启动失败,并伴随着终止启动处理且发出相对应之错误代码。
在上述实施例中,在将执行交由启动信息121或第一部分121A之前,该安全启动程序(即步骤S100-S150表示之流程)不会将重启程序适用于该系统150之任何组件,藉此能达成该系统150硬件组构硬件组构之可信赖「测量」。
图1f为依据本发明其它实施例之安全启动处理的示意图。如图所示,于步骤S101中,将决定一安全启动处理是否应启动。可通过设定被包含在存储器130中之个别的安全位,而取得个别的指示。如前述,于步骤S100中,由非易失性存储器103开始执行。在步骤S102中,可提供状态信息,以例如用于适当地设定一输出埠。举例而言,于步骤S102中,可指示安全启动处理系在内部自我测试期间被启动。于步骤S120中,该系统150、特别是中央处理单元100可被初始化,其可例如包含一或多个步骤S121-S129。例如在步骤S121中,该存储器103的地址可作适当的重映像,以确保第一个指令将提取自该存储器103。于步骤S122中,可侦测启动源,并于步骤S123中初始化该启动源。此外,该存储器101(即数据高速缓存101A及指令高速缓存101B)可在步骤S124、S125中被初始化,且数据高速缓存之非真实模式(unreal mode)可于步骤S126中建立。再者,启动信息121或第一部分121A之镜像(image)可复制至数据高速缓存101A中,且于步骤S128中,数据高速缓存101A中之储存空间可指派予变量。最后若需要,可于步骤S129中取得厂商标志。
在步骤S141中读取启动信息121或第一部分121A的区块,接着在步骤S142中,可执行各个散列算法以得到第一散列值。于步骤S143中,可决定先前读取之数据区块是否为最后的区块。若否,流程将回到步骤S141以读取另一数据区块,并于下一步骤S142中,计算散列值并更新之前取得的散列值。当于步骤S143中读取最后的区块时,系于步骤S144中储存计算得到的散列值,并于步骤S145中读取数据121或121A的相关部分以取得包含于其中的签名。例如,信息121或第一部分121A的标头区块(header block)可用于此目的。于步骤S146中,一或多个签名被取得,并于步骤S147,使用一或多个公开密钥以辨读于步骤S146中所取得的签名。于步骤S150,将在步骤S144中所储存的散列值与通过执行步骤S147所得之原始散列值进行比较,以决定数据121或121A是否被视为可信赖。
当步骤S150中散列值匹配时,之前所初始化的指令高速缓存可利用启动数据121或121A被更新(该启动数据此时储存于数据高速缓存101A中),以验证其中之启动数据。在步骤S162中,可指示安全启动程序的状态,最后于步骤163中,通过实行来自指令高速缓存的指令,使启动程序继续,其中该指令可包括系统存储器110的初始化、启动数据121任何剩余部分(如第二部分121B)之取得、以及通过计算散列值并将所计算的散列值与第一部分121A中所包含的原始散列值相比较而进行其完整性的验证。当步骤S150中的完整性未确认通过时,于步骤S171将提供一相对应的状态信息(例如,0xCD)。于一示范性实施例中,于步骤S172终止执行。
因此,本发明所揭露的系统及机制可通过提供安全启动处理,而提升计算机平台之完整性,其中安全启动处理系基于包含在非易失性存储器中的预启动程序者,且其中,一旦数据被程序化至非易失性存储器后即无法被覆写。由于非易失性存储器属于中央处理单元的一部分,故系统初始化可依据储存在非易失性内部存储器之预启动信息而完成,同时其中尚可包含适当之解密密钥,其可用于已签名之启动信息、或至少启动信息之已签名的部分。用于计算启动信息或其一部分之适当散列值的程序、以及与以加密方式储存在启动信息中的原始散列值的比较,系可通过使用中央处理单元的内部随机存取存储器来完成,藉此可防止外部存取的可能性,进而防止系统设定遭篡改的可能性。因此,储存在内部的预启动信息可使用为系统初始化时的信赖测量之核根。
上文中揭露的特定实施例系仅为例示性者,对该技术领域中具有通常知识者而言,本发明可被更改,且能以不同但等效之方式施行。例如,上述之程序步骤可用不同的顺序来执行。再者,除非为于申请专利范围中所描述者,否则无意限制为于此所示之架构或设计的细节。因此明显地,该等实施例可能会有变动,而任何的变动或等效性的替换系被视为在本发明之精神及范围内。因此,于此所寻求之保护系于后述之申请专利范围中提出。

Claims (12)

1.一种启动计算机系统(150)的方法,包括:
存取储存在中央处理单元(100)的非易失性存储器(103)内的第一组数据(103A),该第一组数据(103A)包含第一指令,该第一指令使得该中央处理单元(100)的核心电路(102)初始化该中央处理单元的内部易失性存储器(101);
从非易失性存储器(120)将第二组数据(121)的镜像加载至该经初始化的内部易失性存储器(101),该第二组数据(121)包括用以验证该第二组数据(121)的完整性的签名,该第二组数据(121)还包括第二指令(121A),该第二指令使得该中央处理单元(100)初始化该计算机系统(100)的系统存储器(110);
利用该签名及包含在该第一组数据中的解密密钥来验证该第二组数据(121)的该完整性;以及
于成功验证该第二组数据(121)时,利用该第二指令(121A)初始化该系统存储器(110)。
2.如权利要求1所述的方法,还包括:
从该非易失性存储器(120)将第三组数据(121B)加载至该系统存储器(110),并且验证该第三组数据(121B)的完整性;以及
执行包含于该第三组数据(121B)中的第三指令(121B),该第三指令(121B)使得操作系统从连接至该计算机系统(150)的可启动装置加载至该系统存储器(120)。
3.如权利要求2所述的方法,其中,验证该第三组数据(121B)的完整性包括判定该第三组数据(121B)的散列值,并且将该判定的散列值与包含于该第二组数据(121A)中的该第三组数据(121B)的初始散列值相比较。
4.如权利要求1所述的方法,其中,初始化该内部易失性存储器(101)包括初始化该中央处理单元(100)的数据高速缓存(101A)及指令高速缓存(101B),且其中,该第二数据数据(121A)加载至该数据高速缓存(101A)中,且该方法还包括于已经成功验证该第二组数据(121A)时将该第二组数据(121A)复制至该指令高速缓存(101B),以执行该第二指令(121A)。
5.如权利要求1所述的方法,其中,加载该第二组数据(121)至该内部易失性存储器(101)包括执行散列算法以判定该第二组数据(121)的散列值,且验证该第二组数据(121)的完整性包括将该第二组数据(121)的该散列值与通过应用该加密密钥至该签名所取得的初始散列值相比较。
6.如权利要求1所述的方法,其中,该第一组数据(103A)是每当该中央处理单元(100)重启或开机时被存取。
7.如权利要求1所述的方法,还包括重映像该第一组数据(103A)的地址于该中央处理单元(100)的虚拟地址空间中,以使成功验证该第二组数据(121)后得以从外部存取至少该解密密钥。
8.如权利要求1所述的方法,还包括提供至少该第二组数据(121)的验证状态的状态信息。
9.如权利要求1所述的方法,还包括复制该第一组数据(103A)至该系统存储器(120)。
10.如权利要求1所述的方法,其中,该第一组数据(103A)包括预启动指令及数据值,用以初始化该中央处理单元(100)的该内部易失性存储器(103),且该第二组数据(121)包括启动指令及启动数据值。
11.一种中央处理单元(CPU)(100),包括:
基板,具有形成于其上的电路组件,该电路组件定义中央处理单元核心(102)、易失性随机存取存储器(101)、非易失性存储器(103)及总线系统(104),其中该总线系统用以连接该中央处理单元核心(102)、该易失性随机存取存储器(101)及该非易失性存储器(103);以及
预启动信息(103A),储存于该非易失性存储器(103)中,该预启动信息(103A)包含能够被该中央处理单元核心(102)执行的指令以及数据值,用以初始化该易失性随机存取存储器(101)以及验证启动程序的至少一部分。
12.如权利要求11所述的中央处理单元(100),其中,该预启动信息(103A)包含一个或多个解密密钥,用于解密该启动程序的该至少一部分的签名。
CN200980106728XA 2008-02-29 2009-02-27 具有安全启动机制的计算机系统 Active CN101965570B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102008011925.3 2008-02-29
DE102008011925.3A DE102008011925B4 (de) 2008-02-29 2008-02-29 Sicheres Initialisieren von Computersystemen
US12/186,821 2008-08-06
US12/186,821 US8656146B2 (en) 2008-02-29 2008-08-06 Computer system comprising a secure boot mechanism
PCT/US2009/001289 WO2009108371A1 (en) 2008-02-29 2009-02-27 A computer system comprising a secure boot mechanism

Publications (2)

Publication Number Publication Date
CN101965570A true CN101965570A (zh) 2011-02-02
CN101965570B CN101965570B (zh) 2013-09-18

Family

ID=40911374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980106728XA Active CN101965570B (zh) 2008-02-29 2009-02-27 具有安全启动机制的计算机系统

Country Status (8)

Country Link
US (1) US8656146B2 (zh)
EP (1) EP2250599A1 (zh)
JP (1) JP2011527777A (zh)
KR (1) KR101237527B1 (zh)
CN (1) CN101965570B (zh)
DE (1) DE102008011925B4 (zh)
TW (1) TWI498768B (zh)
WO (1) WO2009108371A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104272250A (zh) * 2012-04-30 2015-01-07 惠普发展公司,有限责任合伙企业 可配置的计算机存储器
CN104866343A (zh) * 2015-05-15 2015-08-26 长城信息产业股份有限公司 一种嵌入式设备的安全启动方法及启动安全的嵌入式设备
CN104866757A (zh) * 2014-02-24 2015-08-26 联想(北京)有限公司 一种验证方法及电子设备
CN104881345A (zh) * 2015-05-25 2015-09-02 上海兆芯集成电路有限公司 中央处理器和计算机开机自检的方法
CN104899524A (zh) * 2015-05-25 2015-09-09 上海兆芯集成电路有限公司 中央处理器和验证主机板数据的方法
CN105122262A (zh) * 2013-04-23 2015-12-02 惠普发展公司,有限责任合伙企业 辅助非易失性存储器中的冗余系统引导代码
TWI570591B (zh) * 2014-03-28 2017-02-11 惠普發展公司有限責任合夥企業 允許測試金鑰用於bios安裝之技術
CN106484477A (zh) * 2016-10-11 2017-03-08 上海华虹集成电路有限责任公司 安全的软件下载与启动方法
CN107832616A (zh) * 2015-08-28 2018-03-23 Ncr公司 计算机预启动安全验证、实施和修复
CN109446815A (zh) * 2018-09-30 2019-03-08 华为技术有限公司 基本输入输出系统固件的管理方法、装置和服务器
CN110647422A (zh) * 2018-06-26 2020-01-03 佳能株式会社 信息处理装置、信息处理装置的重启方法和存储介质
CN112052455A (zh) * 2019-06-06 2020-12-08 旺宏电子股份有限公司 安全启动系统、方法及装置
CN113779587A (zh) * 2020-06-10 2021-12-10 质子世界国际公司 电子电路的安全启动
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520894B2 (en) 2013-04-23 2022-12-06 Hewlett-Packard Development Company, L.P. Verifying controller code
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582676B2 (en) * 2005-01-31 2017-02-28 Unisys Corporation Adding or replacing disks with re-key processing
US8522066B2 (en) * 2010-06-25 2013-08-27 Intel Corporation Providing silicon integrated code for a system
US8812828B2 (en) * 2010-11-16 2014-08-19 Intel Corporation Methods and apparatuses for recovering usage of trusted platform module
US8560845B2 (en) * 2011-01-14 2013-10-15 Apple Inc. System and method for tamper-resistant booting
US20120204254A1 (en) * 2011-02-04 2012-08-09 Motorola Mobility, Inc. Method and apparatus for managing security state transitions
TWI559167B (zh) 2011-11-04 2016-11-21 系微股份有限公司 統一可延伸韌體介面(uefi)相容計算裝置和用於在uefi相容計算裝置中管控一安全啓動之方法
JP5441984B2 (ja) * 2011-11-08 2014-03-12 シャープ株式会社 電子機器システム、電子機器及び記憶媒体
US8775784B2 (en) 2011-11-11 2014-07-08 International Business Machines Corporation Secure boot up of a computer based on a hardware based root of trust
US20130173906A1 (en) * 2011-12-29 2013-07-04 Eric T. Obligacion Cloning storage devices through secure communications links
US9262637B2 (en) * 2012-03-29 2016-02-16 Cisco Technology, Inc. System and method for verifying integrity of platform object using locally stored measurement
US9047471B2 (en) * 2012-09-25 2015-06-02 Apple Inc. Security enclave processor boot control
US8873747B2 (en) 2012-09-25 2014-10-28 Apple Inc. Key management using security enclave processor
CN102929674B (zh) 2012-11-02 2016-02-10 威盛电子股份有限公司 电子装置以及开机方法
US9881161B2 (en) 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
US20140164753A1 (en) * 2012-12-06 2014-06-12 Samsung Electronics Co., Ltd System on chip for performing secure boot, image forming apparatus using the same, and method thereof
US9235710B2 (en) 2013-05-23 2016-01-12 Cisco Technology, Inc. Out of band management of basic input/output system secure boot variables
KR101656092B1 (ko) * 2013-08-13 2016-09-08 윈본드 일렉트로닉스 코포레이션 비동기적인 인증을 갖는 보안 컴퓨팅 시스템
TWI560611B (en) * 2013-11-13 2016-12-01 Via Tech Inc Apparatus and method for securing bios
US10095868B2 (en) 2013-11-13 2018-10-09 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9129113B2 (en) 2013-11-13 2015-09-08 Via Technologies, Inc. Partition-based apparatus and method for securing bios in a trusted computing system during execution
US10049217B2 (en) 2013-11-13 2018-08-14 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9798880B2 (en) * 2013-11-13 2017-10-24 Via Technologies, Inc. Fuse-enabled secure bios mechanism with override feature
US9779242B2 (en) * 2013-11-13 2017-10-03 Via Technologies, Inc. Programmable secure bios mechanism in a trusted computing system
US9367689B2 (en) * 2013-11-13 2016-06-14 Via Technologies, Inc. Apparatus and method for securing BIOS in a trusted computing system
US9183394B2 (en) 2013-11-13 2015-11-10 Via Technologies, Inc. Secure BIOS tamper protection mechanism
US9507942B2 (en) * 2013-11-13 2016-11-29 Via Technologies, Inc. Secure BIOS mechanism in a trusted computing system
US9779243B2 (en) * 2013-11-13 2017-10-03 Via Technologies, Inc. Fuse-enabled secure BIOS mechanism in a trusted computing system
US9547767B2 (en) 2013-11-13 2017-01-17 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9767288B2 (en) * 2013-11-13 2017-09-19 Via Technologies, Inc. JTAG-based secure BIOS mechanism in a trusted computing system
US10055588B2 (en) 2013-11-13 2018-08-21 Via Technologies, Inc. Event-based apparatus and method for securing BIOS in a trusted computing system during execution
KR102227263B1 (ko) * 2013-12-31 2021-03-15 삼성전자주식회사 보안 부트 변경 변경시스템, 방법 및 이 변경시스템을 구비한 전자장치
KR20150078644A (ko) * 2013-12-31 2015-07-08 에릭슨엘지엔터프라이즈 주식회사 소프트웨어 이미지 이중화 방법 및 장치
KR20150085301A (ko) * 2014-01-15 2015-07-23 삼성전자주식회사 메모리 시스템의 동작 방법 및 이를 포함하는 메모리 시스템의 초기화 방법
CN105022589A (zh) * 2014-04-29 2015-11-04 光宝科技股份有限公司 电子装置及其操作方法
US9547778B1 (en) 2014-09-26 2017-01-17 Apple Inc. Secure public key acceleration
US9842212B2 (en) * 2014-11-03 2017-12-12 Rubicon Labs, Inc. System and method for a renewable secure boot
US11456876B2 (en) * 2015-03-26 2022-09-27 Assa Abloy Ab Virtual credentials and licenses
US9996711B2 (en) * 2015-10-30 2018-06-12 Intel Corporation Asset protection of integrated circuits during transport
CN105681032B (zh) * 2016-01-08 2017-09-12 腾讯科技(深圳)有限公司 密钥存储方法、密钥管理方法及装置
US10242195B2 (en) * 2016-07-22 2019-03-26 Hewlett Packard Enterprise Development Lp Integrity values for beginning booting instructions
US11455396B2 (en) * 2017-05-12 2022-09-27 Hewlett Packard Enterprise Development Lp Using trusted platform module (TPM) emulator engines to measure firmware images
EP3673401A4 (en) 2017-08-22 2021-04-14 Absolute Software Corporation CHECKING FIRMWARE INTEGRITY USING SILVER MEASUREMENTS
CN109714303B (zh) 2017-10-25 2022-05-27 阿里巴巴集团控股有限公司 Bios启动方法及数据处理方法
CN109710315B (zh) 2017-10-25 2022-05-10 阿里巴巴集团控股有限公司 Bios刷写方法及bios镜像文件的处理方法
US10757087B2 (en) * 2018-01-02 2020-08-25 Winbond Electronics Corporation Secure client authentication based on conditional provisioning of code signature
WO2019240759A1 (en) * 2018-06-11 2019-12-19 Hewlett-Packard Development Company, L.P. Overriding sub-system identifiers with protected variable values
US10726133B1 (en) * 2019-02-04 2020-07-28 Dell Products L.P. Securely loading UEFI images at runtime
JP7286381B2 (ja) * 2019-04-01 2023-06-05 キヤノン株式会社 情報処理装置とその制御方法
US11347856B2 (en) * 2019-05-24 2022-05-31 Dell Products L.P. Bios method to block compromised preboot features
EP4022430A4 (en) * 2019-08-28 2023-05-24 Hewlett-Packard Development Company, L.P. ARRAY SIGNATURES ENCRYPTION
TWI756631B (zh) 2020-02-12 2022-03-01 瑞昱半導體股份有限公司 具有韌體驗證機制的電腦系統及其韌體驗證方法
CN113282930B (zh) * 2020-02-19 2024-03-01 瑞昱半导体股份有限公司 具有固件验证机制的电脑系统及其固件验证方法
US11768611B2 (en) 2020-04-02 2023-09-26 Axiado Corporation Secure boot of a processing chip
US11263109B2 (en) 2020-04-16 2022-03-01 Bank Of America Corporation Virtual environment system for validating executable data using accelerated time-based process execution
US11481484B2 (en) 2020-04-16 2022-10-25 Bank Of America Corporation Virtual environment system for secure execution of program code using cryptographic hashes
US11425123B2 (en) 2020-04-16 2022-08-23 Bank Of America Corporation System for network isolation of affected computing systems using environment hash outputs
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
US11528276B2 (en) 2020-04-16 2022-12-13 Bank Of America Corporation System for prevention of unauthorized access using authorized environment hash outputs
US11372982B2 (en) 2020-07-02 2022-06-28 Bank Of America Corporation Centralized network environment for processing validated executable data based on authorized hash outputs
US20230083979A1 (en) * 2021-09-10 2023-03-16 Ampere Computing Llc Method and system for secure boot and rma intervention

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146788A (ja) * 1993-11-22 1995-06-06 Fujitsu Ltd ウイルス診断機構の作成システムと作成方法並びにウイルス診断機構と診断方法
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
JPH1139158A (ja) * 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> 実行プログラムの保護方法およびその装置
US20010007131A1 (en) 1997-09-11 2001-07-05 Leonard J. Galasso Method for validating expansion roms using cryptography
JP2002366748A (ja) * 2001-06-05 2002-12-20 Dainippon Printing Co Ltd Icカードを利用した新規口座開設方式
US7974416B2 (en) * 2002-11-27 2011-07-05 Intel Corporation Providing a secure execution mode in a pre-boot environment
JP2004348677A (ja) * 2003-05-26 2004-12-09 Sony Corp プログラムおよび情報処理方法
US8332652B2 (en) 2003-10-01 2012-12-11 International Business Machines Corporation Computing device that securely runs authorized software
JP2005227995A (ja) * 2004-02-12 2005-08-25 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8667580B2 (en) * 2004-11-15 2014-03-04 Intel Corporation Secure boot scheme from external memory using internal memory
EP1659472A1 (en) * 2004-11-22 2006-05-24 Research In Motion Limited Method and Device for Authenticating Software
US20060179308A1 (en) 2005-02-07 2006-08-10 Andrew Morgan System and method for providing a secure boot architecture
US8291226B2 (en) 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
CN1822013A (zh) * 2006-03-14 2006-08-23 上海一维科技有限公司 基于可信平台模块的指纹生物识别引擎系统及其识别方法
TWI386846B (zh) * 2006-03-30 2013-02-21 Silicon Image Inc 利用共享式非揮發性記憶體初始化多個處理元件之方法、系統及快閃記憶體元件
CN100504779C (zh) * 2006-06-30 2009-06-24 联想(北京)有限公司 一种加速bios运行的方法
CN1900939A (zh) * 2006-07-18 2007-01-24 上海一维科技有限公司 安全计算机的指纹生物识别装置及其识别方法
US8068614B2 (en) * 2007-09-28 2011-11-29 Intel Corporation Methods and apparatus for batch bound authentication
US8583908B2 (en) * 2007-12-31 2013-11-12 Intel Corporation Enhanced network and local boot of Unified Extensible Firmware Interface images
DE102008021567B4 (de) * 2008-04-30 2018-03-22 Globalfoundries Inc. Computersystem mit sicherem Hochlaufmechanismus auf der Grundlage einer Verschlüsselung mit symmetrischem Schlüssel

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11954029B2 (en) 2012-04-30 2024-04-09 Hewlett Packard Enterprise Development Lp Configurable computer memory
US11615021B2 (en) 2012-04-30 2023-03-28 Hewlett Packard Enterprise Development Lp Configurable computer memory
CN104272250A (zh) * 2012-04-30 2015-01-07 惠普发展公司,有限责任合伙企业 可配置的计算机存储器
US10339051B2 (en) 2012-04-30 2019-07-02 Hewlett Packard Enterprise Development Lp Configurable computer memory
CN105122262B (zh) * 2013-04-23 2018-06-05 惠普发展公司,有限责任合伙企业 辅助非易失性存储器中的冗余系统引导代码
US11520894B2 (en) 2013-04-23 2022-12-06 Hewlett-Packard Development Company, L.P. Verifying controller code
CN105122262A (zh) * 2013-04-23 2015-12-02 惠普发展公司,有限责任合伙企业 辅助非易失性存储器中的冗余系统引导代码
US9785596B2 (en) 2013-04-23 2017-10-10 Hewlett-Packard Development Company, L.P. Redundant system boot code in a secondary non-volatile memory
CN104866757A (zh) * 2014-02-24 2015-08-26 联想(北京)有限公司 一种验证方法及电子设备
CN104866757B (zh) * 2014-02-24 2019-01-15 联想(北京)有限公司 一种验证方法及电子设备
TWI570591B (zh) * 2014-03-28 2017-02-11 惠普發展公司有限責任合夥企業 允許測試金鑰用於bios安裝之技術
US10621330B2 (en) 2014-03-28 2020-04-14 Hewlett-Packard Development Company, L.P. Allowing use of a test key for a BIOS installation
CN104866343A (zh) * 2015-05-15 2015-08-26 长城信息产业股份有限公司 一种嵌入式设备的安全启动方法及启动安全的嵌入式设备
CN104899524B (zh) * 2015-05-25 2018-11-27 上海兆芯集成电路有限公司 中央处理器和验证主机板数据的方法
CN104881345A (zh) * 2015-05-25 2015-09-02 上海兆芯集成电路有限公司 中央处理器和计算机开机自检的方法
CN104899524A (zh) * 2015-05-25 2015-09-09 上海兆芯集成电路有限公司 中央处理器和验证主机板数据的方法
CN107832616B (zh) * 2015-08-28 2021-05-28 Ncr公司 计算机预启动安全验证、实施和修复
CN107832616A (zh) * 2015-08-28 2018-03-23 Ncr公司 计算机预启动安全验证、实施和修复
CN106484477A (zh) * 2016-10-11 2017-03-08 上海华虹集成电路有限责任公司 安全的软件下载与启动方法
CN106484477B (zh) * 2016-10-11 2019-11-12 上海华虹集成电路有限责任公司 安全的软件下载与启动方法
CN110647422A (zh) * 2018-06-26 2020-01-03 佳能株式会社 信息处理装置、信息处理装置的重启方法和存储介质
CN109446815A (zh) * 2018-09-30 2019-03-08 华为技术有限公司 基本输入输出系统固件的管理方法、装置和服务器
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
CN112052455A (zh) * 2019-06-06 2020-12-08 旺宏电子股份有限公司 安全启动系统、方法及装置
CN113779587A (zh) * 2020-06-10 2021-12-10 质子世界国际公司 电子电路的安全启动

Also Published As

Publication number Publication date
EP2250599A1 (en) 2010-11-17
US20090222653A1 (en) 2009-09-03
KR20100125371A (ko) 2010-11-30
DE102008011925B4 (de) 2018-03-15
CN101965570B (zh) 2013-09-18
TWI498768B (zh) 2015-09-01
US8656146B2 (en) 2014-02-18
TW200943123A (en) 2009-10-16
JP2011527777A (ja) 2011-11-04
WO2009108371A1 (en) 2009-09-03
KR101237527B1 (ko) 2013-02-26
DE102008011925A1 (de) 2009-09-03

Similar Documents

Publication Publication Date Title
CN101965570B (zh) 具有安全启动机制的计算机系统
US11089016B2 (en) Secure system on chip
Tomlinson Introduction to the TPM
US8464037B2 (en) Computer system comprising a secure boot mechanism on the basis of symmetric key encryption
US8850212B2 (en) Extending an integrity measurement
KR101176646B1 (ko) 상태 검증을 사용하는 보호된 오퍼레이팅 시스템 부팅을 위한 시스템 및 방법
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
CN101154256B (zh) 启动可信共存环境的方法和装置
EP2207121B1 (en) Protecting content on virtualized client platforms
US8438658B2 (en) Providing sealed storage in a data processing device
US8689318B2 (en) Trusted computing entities
JP2009015818A (ja) 動的信頼管理
US20040151319A1 (en) Method and apparatus for managing a hierarchy of nodes
US20050166024A1 (en) Method and apparatus for operating multiple security modules
US9026803B2 (en) Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms
US20080278285A1 (en) Recording device
KR102395258B1 (ko) 부트 메모리 버스의 경로 절체 기능을 이용한 시큐어 부팅 방법 및 이를 이용한 장치
US10181956B2 (en) Key revocation
US20080178257A1 (en) Method for integrity metrics management
JP2023500433A (ja) ポリシ強制のための仮想環境タイプ検証
Yao et al. Building Secure Firmware
WO2024036832A1 (zh) 基于tpm的智能密码钥匙密码应用接口的实现方法
Muramoto et al. Improving Hardware Security on Talos II Architecture Through Boot Image Encryption
CN109977665A (zh) 基于tpcm的云服务器启动过程防窃取和防篡改方法
WO2023166363A1 (en) Secure attestation of hardware device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: GLOBALFOUNDRIES SEMICONDUCTOR INC.

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20121109

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20121109

Address after: Grand Cayman, Cayman Islands

Applicant after: Globalfoundries Semiconductor Inc.

Address before: American California

Applicant before: Advanced Micro Devices Inc.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210301

Address after: California, USA

Patentee after: Lattice chip (USA) integrated circuit technology Co.,Ltd.

Address before: Grand Cayman Islands

Patentee before: GLOBALFOUNDRIES Inc.

TR01 Transfer of patent right