CN103299311A - 用于可信引导优化的方法和设备 - Google Patents
用于可信引导优化的方法和设备 Download PDFInfo
- Publication number
- CN103299311A CN103299311A CN2011800494171A CN201180049417A CN103299311A CN 103299311 A CN103299311 A CN 103299311A CN 2011800494171 A CN2011800494171 A CN 2011800494171A CN 201180049417 A CN201180049417 A CN 201180049417A CN 103299311 A CN103299311 A CN 103299311A
- Authority
- CN
- China
- Prior art keywords
- speed cache
- handling system
- data handling
- introductory object
- tpm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
数据处理***可包括具有被保护以免更新的分区或高速缓存的高完整性存储(HIS)装置。数据处理***可响应被再激活而执行引导过程。引导过程可包括运行引导对象的操作。在引导过程期间,在运行引导对象之前,数据处理***可从HIS装置的被保护高速缓存来检索引导对象的摘要。摘要可以是引导对象的密码散列值。在引导过程期间,所检索摘要可扩展到数据处理***的可信平台模块中的平台配置寄存器。描述并且要求保护其它实施例。
Description
技术领域
一般来说,本公开涉及可信引导过程。更具体来说,本公开涉及通过使用高完整性存储技术来优化可信引导过程。
背景技术
为了便于本公开,“再激活”数据处理***是接通或重置该数据处理***。通常,当数据处理***被再激活时,它必须在对用户有用之前完成引导过程。例如,引导过程可包括诸如确定哪些类型的硬件组件存在以及加载操作***(OS)之类的操作。在引导过程中加载和/或运行的对象可称作“引导对象”。另外,引导过程可包括不同阶段,例如“预引导阶段”和“OS引导阶段”。为了便于本公开,预引导阶段包括由数据处理***所运行的全部操作,开始于再激活之后的第一操作而结束于将控制转移到OS引导加载程序等。相应地,OS引导阶段在控制被转移到OS引导加载程序时开始。预引导阶段通常由基本输入/输出***(BIOS)来管理。BIOS又可称作“固件”。
近年来,恶意软件(例如计算机病毒和隐藏程序)已经发展到攻击低级代码,例如OS内核、OS引导加载程序或者甚至固件。这种类型的恶意代码可能是防病毒软件难以检测和消除的,因为它工作在与防病毒软件相同的安全级别。
可信计算组织(TCG)制订了可信平台模块(TPM)的标准以帮助防止这类攻击。例如,TCG发布了标题为“TCG
PC客户端特定TPM接口规范(TIS)”(版本1.21,修订版1.00,2011年4月28日)的文献(“TPM客户端规范”)。如TPM客户端规范中所述,TPM可提供密码密钥的安全生成和存储。TPM还可提供用于安全地存储与当前平台配置有关的信息的平台配置寄存器(PCR)。TPM还可提供密码散列(hash)生成器或“散列引擎”。散列引擎可通过硬件、软件或者硬件和软件的组合来实现。
可信引导过程可涉及在***对象加载之前检查被加载的***对象(或多个对象)的完整性。例如,***对象可贯穿TPM的散列引擎,以便生成那个对象的散列值。原始对象可称作“消息”,以及所产生的散列值可称作“散列结果”、“散列”或“摘要”。另外,对消息进行散列的过程可称作“测量”消息,以及所产生的摘要可称作“测量”。通过对于对象的给定版本进行散列,然后将所产生的摘要与已知为从该对象的原始版本产生的摘要进行比较,能够将给定对象检验为相对于那个对象的原始版本没有改变。因此,如果能够针对已知的良好摘要来检验全部所加载对象的摘要,则计算平台的完整性能够是可信的,只要负责执行那个检验的功能(或多个功能)也能够是可信的。检验摘要的一种方式是通过针对已知良好消息的已知良好摘要的列表的直接比较(即,通过使用“白名单”)。另一种方式是向可信的第三方报告摘要,以便确定和证明该摘要是否良好(即,通过“证明”)。将白名单用于摘要认证的数据处理***可说成执行“安全引导”或“安全启动”。将证明用于摘要认证的数据处理***可说成执行“测量引导”或“测量启动”。术语“可信引导”涵盖“安全引导”和“测量引导”。
在可信引导过程中,数据处理***的BIOS可使用TPM来建立涉及隐式地是可信的基本功能(或一组功能)的信任链。那个基本功能可称作“信任根”。例如,将要由BIOS在数据处理***的引导时运行的初始功能之一可以是测量和检验BIOS本身的功能。那个功能可称作“用于测量的静态核心信任根”(SCRTM)。例如,SCRTM可以是由平台制造商作为初始化和配置平台组件的平台固件子集来提供的代码。
另外,一旦生成了散列值,则可将其添加到TPM的PCR。这个过程称作“扩展”PCR。如TPM客户端规范中所述,不同PCR可用于存储不同类型的引导对象的测量。以及TPM可在计算平台会话的生存期期间将值保存在其PCR的至少一部分中,但是然后当计算机平台重启或重置时可将全部PCR初始化为固定值(例如0)。
TCG还发布了用于增强诸如硬盘驱动器之类的存储装置的安全性的标准。例如,TCG发布了标题为“TCG存储:安全子***类:Opal”(规范版本1.00,修订3.00,2010年2月4日)的文献(“Opal规范”)。Opal规范的所述目的如下:“存储工作组规范提供用于使存储装置处于由可信平台主机、存储装置与可信平台的策略相符的能力以及作为可信外设的存储装置的生命周期状态所确定的策略控制下的综合架构”。
如下面更详细描述的那样,本公开引入用于使用安全存储来优化可信引导性能的技术。
附图说明
通过所附权利要求书、一个或多个示例实施例的以下详细描述和对应附图,本发明的特征和优点将变得显而易见,附图包括:
图1是具有使用高完整性存储装置来优化安全引导性能的数据处理***的计算环境的一个示例实施例的框图;
图2A、图2B和图2C示出经优化的安全引导过程的一个示例实施例的流程图;
图3是示出与图2A、图2B和图2C的过程关联的各种组件和操作的框图;
图4是示出与经优化的安全引导过程的另一个示例实施例关联的各种组件和操作的框图;
图5示出用于准备经优化的安全引导过程的数据处理***的过程的一个示例实施例的流程图;以及
图6是示出与图5的过程关联的各种组件和操作的框图。
具体实施方式
在www.intel.com/technology/advanced_comm/322287.pdf可得到的关于Intel®“Trusted
Execution Technology”(TXT)的技术简介中描述了用于“创建安全计算环境”的技术。那份简介描述提供可信引导或受保护启动的各种特征。那些特征之一涉及由BIOS中所存储的带符号二进制所组成并且帮助保护引导过程的BIOS认证码模块(ACM)。另一个特征涉及所有***软件的二进制散列的生成,其中结果存储在TPM中以及新的散列值采用在允许任何软件开始执行之前的先前值来检验。
但是,计算新散列值可花费大量时间,并且可延迟OS的加载。可通过散列算法的硬件加速在某种程度上降低这个延迟。但是,即使采用硬件加速,较强的散列算法也要求更多时间来计算较大摘要以及继续引起明显的延迟。
图1是具有使用高完整性存储(HIS)装置60来优化安全引导性能的数据处理***20的计算环境100的一个示例实施例的框图。在图1的实施例中,数据处理***包括与诸如随机存取存储器(RAM)24和只读存储器(ROM)之类的其它组件进行通信的一个或多个中央处理单元(CPU)或处理器22。为了便于本公开,术语“ROM”可一般用于表示非易失性存储器装置,非限制性地包括可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速ROM和闪速存储器。处理器可包括便于与RAM进行通信的存储控制器14,或者存储控制器可单独地或者作为另一组件的一部分来实现。处理器可经由芯片组12或者外设控制器中心(PCH)来与其它组件进行通信。ROM可经由串行外设接口(SPI)总线来耦合到芯片组,以及ROM可称作SPI闪存30。
数据处理***的引导可由至少部分驻留在SPI闪存中的BIOS
32来管理。BIOS可包括在引导过程期间被加载和/或运行的各种引导对象,例如预检验器34、SCRTM
33、驱动程序(driver)执行环境(DXE)加载程序(loader)34以及包括HIS驱动程序38的各种其它DXE驱动程序36。
处理器可经由管理引擎(ME)23来与SPI闪存进行通信。ME可由芯片组中的控制器及关联固件来实现。ME可提供预引导环境中的多种安全和管理能力。如以下所述,那些能力可包括用户认证和用户存在检验。用于执行用户认证和用户存在检验的硬件和/或软件控制逻辑可称作嵌入接入管理器(EAM)25。例如,EAM可实现为运行于ME上的固件。ME的能力还可包括局域网(LAN)通信能力。PCH或ME还可控制与诸如总线底板上的组件之类的其它组件的通信。但是,在一个实施例中,处理***包括ME不可访问的串行高级技术配件(SATA)控制器。
在制造期间,SPI闪存可由平台制造商来分区为供不同组件专用的段,例如包含BIOS 32的BIOS段、存储用于实现ME的固件的ME段29、便于LAN通信的LAN段等。ME段还可包括用于存储ME数据的ME存储单元27。类似地,BIOS段可包括用于存储BIOS数据的BIOS存储单元31。
处理器还可连接到非易失性存储装置60、连接到网络适配器或端口28、连接到输入/输出(I/O)端口26以及连接到诸如一个或多个显示器50和一个或多个输入装置52(例如键盘和鼠标)之类的I/O装置。存储装置可以是硬盘驱动器(HDD)、闪速存储器或者任何其它适当的存储技术。网络端口可用于经由LAN和/或广域网(WAN)39、例如因特网在数据处理***与一个或多个远程数据处理***44之间的通信。处理器还可连接到TPM 40,TPM
40以密码处理器(CP)42、用于存储各种永久密钥的非易失性存储器和用于存储各种所加载密钥的易失性存储器以及各种PCR
44为特征。例如,TPM可以是附连到主板并且是经由SPI总线或者经由外设部件互连Express(PCIe)总线可访问的分立芯片。
在一个实施例中,BIOS提供可扩展固件接口(EFI)。例如,BIOS可程度不同地沿用已确立的操作标准,例如在因特网上在www.uefi.org/specs/可得到的统一EFI(UEFI)规范(“UEFI规范”)的版本2.3.1中提出的标准。例如,UEFI规范的第27章提供可用于执行安全引导的过程的一些方面的详细资料。但是,在一些实施例中,那些操作标准可按照本文所提供的教导来进一步优化或者修改。在其它实施例中,本教导可由具有其它种类的BIOS的数据处理***来使用。此外,数据处理***可使用诸如统称为Intel® TXT的那些技术特征来提供安全性。涉及Intel®
TXT的附加细节可从上述技术简介以及从因特网的www.intel.com/technology/security来得到。
在图1的实施例中,存储装置的至少一部分由HIS驱动程序来管理,以及HIS驱动程序确保存储装置的至少一部分(例如HIS分区62)在整个引导过程中(以及在引导过程之后)锁定到只读模式,除非经认证的管理员应用更新,如以下所述。为了便于本公开,术语“HIS装置”可用于表示包含其至少一部分除非用户被认证为在那个特定用户会话期间具有更新特权则被锁定到只读模式的存储单元的任何装置。例如,数据处理***可使用程度不同地与Opal规范中所述的相似的技术来保护HIS装置。在一个实施例中,整个存储装置可以是HIS感知的。在另一个实施例中,存储装置中只有一部分配置为HIS分区。在另一个实施例中,存储装置具有多个HIS分区,例如,其中一个保留供OS使用,而另一个保留供可信引导使用。
另外,HIS分区中的引导完整性高速缓存(BIC)64包含引导期间将要运行的引导对象的散列值或摘要。如示出的那样,那些摘要可包括例如一个或多个“其它驱动程序”摘要(称作“不同于”HIS驱动程序的一个或多个对象的一个或多个摘要)、OS加载程序摘要以及一个或多个OS驱动程序摘要。当数据处理***执行可信引导时,数据处理***不是重新计算那些散列值,而是可从HIS装置来检索散列值,并且散列值可用于扩展TPM PCR。从HIS装置来检索散列值的读操作可以比可比较的散列算法计算要快一个数量级。如示出的那样,除了引导完整性高速缓存之外,HIS分区还可包含OS映像66。
如以下更详细描述,BIOS可对HIS装置建立信任链,开始于有效信任根,并且继续包含HIS装置的可信驱动程序。一旦HIS装置包含在信任链中,HIS驱动程序可用于从HIS装置的引导完整性高速缓存来读取引导对象的摘要。在一些实施例中,还从HIS装置来读取引导对象的一个或多个。在其它实施例中,从ROM和/或从一个或多个其它装置来读取引导对象的一个或多个。
图2A、图2B和图2C针对图1的数据处理***20来示出经优化的安全引导过程的一个示例实施例的流程图。以及图3是示出与图2A、图2B和图2C的过程关联的各种组件和操作的框图。图2A的过程开始于再激活数据处理***,紧接着运行预检验器,如框700所示。在例如图1的一个实施例中,预检验器可实现为ACM。相应地,ACM将可能基于SPI闪存中存储的白名单来检验预检验器。在另一个实施例中,预检验器可实现为处理器或芯片组中存储的微码,可能作为ME的一部分。如果实现为微码,则预检验器可被认为是硬件信任根。预检验器则可使用TPM的CP(密码处理器)对于来自***ROM的SCRTM进行散列,并且然后可将所产生的摘要扩展到TPM的PCR,如框702所示。预检验器则启动SCRTM。
在一个实施例中,SCRTM与TXT安全初始化(SINIT)ACM相似,但是其中SCRTM还测试数据处理***中的引导完整性高速缓存的存在。SCRTM还可咨询启动控制策略(LCP),以便确定引导过程是否应当使用HIS分区。例如,LCP可通过***ROM中保存的设定来指定。响应检测到引导完整性高速缓存存在以及LCP没有阻止使用引导完整性高速缓存,SCRTM可构建指示BIOS正使用引导完整性高速缓存选项的消息。换言之,消息可指示正使用HIS引导加速。相应地,消息可称作指示在引导过程期间是否使用HIS装置的引导配置数据。SCRTM可将那个消息散列扩展到PCR(其中“散列扩展”表示对消息进行散列并且将所产生的摘要扩展到PCR)。SCRTM还可将那个消息记录在与TPM关联的事件日志中。事件日志可称作PCR日志,以及各日志条目可包含PCR号、扩展到PCR的值以及指示测量了什么的日志消息。
关于UEFI测量引导操作的附加细节可见于可从因特网的www.intel.com/intelpress/sum_efi2.htm订购的标题为“Beyond BIOS 2nd Edition: Developing with the
Unified Extensible Firmware Interface”的书籍的第10章以及可见于可从因特网在
http://download.intel.com/technology/efi/SF09_EFIS001_UEFI_PI_TCG_White_Paper.pdf下载的标题为“Trusted Platforms: UEFI, PI and TCG-based firmware”的***。随后,另一方(“检验器”)能够基于PCR日志来确定数据处理***是否使用HIS引导加速(例如,数据处理***是否从经高速缓存的值来扩展摘要而不是直接实时地计算那些摘要)。在一个实施例中,PCR日志的验证要求从TPM得到的并且由TPM使用证明身份密钥(AIK)来签署的已证明PCR值。PCR日志指导检验器关于如何解释和应用PCR值,使得它们是有意义的。如果检验器具有针对使用HIS引导加速的策略,则检验器可决定不允许数据处理***对检验器所保护的资源进行访问,或者检验器可应用另外某个补偿事务来减低风险。
SCRTM则可使用TPM的CP对来自***ROM的预EFI初始化(PEI)模块进行散列,并且然后可将所产生的摘要扩展到PCR,如框712所示。如框714所示,SCRTM则可启动PEI模块。PEI模块则可对DXE加载程序进行散列,并且将那个摘要扩展到PCR,如框716所示。PEI模块则可启动DXE加载程序,如框718所示。如框720所示,DXE加载程序则可对HIS驱动程序进行散列,并且将那个摘要扩展到PCR。DXE加载程序则可启动HIS驱动程序,如框722所示。HIS驱动程序则可通过对HIS装置加电并且将它配置成使它能够服务于读操作,同时不允许写或更新操作,来初始化HIS子***。
随后,DXE加载程序可启动各种附加对象,以及至少在一些情况下,在启动那些对象之前,DXE加载程序可从引导完整性高速缓存来读取那些对象的摘要,而不是对那些对象进行散列。例如,***ROM可包含指定在引导过程期间将要使用的引导对象的部分或全部的LCP,以及DXE加载程序可按照以下过程来处理那些对象的部分或全部。DXE加载程序可选择待处理的下一个引导对象,如框724所示。如框730所示,DXE加载程序则可确定引导完整性高速缓存中是否存在那个对象的摘要。如果那个高速缓存中不存在摘要,则DXE加载程序可从原始来源(例如从***ROM或者从选项ROM)来读取对象的映像(image),如框760所示。DXE加载程序则可使用CP对那个映像进行散列,并且可将所产生的摘要扩展到PCR,如框762和764所示。DXE加载程序则可启动对象,如框736所示。如框740所示,如果引导完成,则该过程可结束。但是,如果存在要处理的更多引导对象,则该过程可返回到框724,以及DXE加载程序可选择要加载和/或运行的下一个引导对象。
但是,再次参照框730,如果DXE加载程序确定引导完整性高速缓存具有所选引导对象的摘要,则该过程可通过页连接符A转到框810,其示出DXE加载程序确定平台是否支持“读扩展”操作。
按照一个示例实施例,TPM可包括能够提供永久引导完整性高速缓存的集成HIS装置或HIS分区。因此,TPM可直接访问那个HIS分区上存储的经高速缓存的散列值。TPM还可将那些经高速缓存的散列值扩展到PCR。读扩展操作或指令使TPM将所指定摘要直接从TPM的引导完整性高速缓存扩展到TPM的PCR。因此,读扩展操作允许DXE加载程序避免从另一个源(例如***ROM)来读取摘要以及然后将摘要提供给TPM。这种集成可通过将两个操作合为一个来加速可信引导过程。另外,通过将读扩展接口仅用于短序列或小映像、例如由易于进行散列的单一代码模块所组成的选项ROM
DXE驱动程序,集成HIS-TPM装置可执行更少的内部扩展操作。相反,在一个实施例中,对于包括将可信引导逻辑应用于一个或多个第三模块的代码的引导对象,可避免读扩展。
备选地,当TPM具有集成引导完整性高速缓存时,来自可信引导的TPM
PCR值可存储在引导完整性高速缓存中。然后,在后续引导期间,那些PCR值可在可信引导过程结束时扩展到对应PCR,而不是每次启动引导对象时对于引导对象摘要来运行扩展操作。
在一个实施例中,HIS驱动程序可代理TPM与HIS装置之间以及ME与HIS装置之间的通信。换言之,对于HIS装置与ME和/或TPM之间的通信,不是使用可能不可信的BIOS和主机驱动程序来保护测量的完整性,而是将HIS驱动程序用作通过其中暴露对TPM上的HIS分区的访问的机制。在另一个实施例中,诸如虚拟化引擎数模转换器(VEDAC)之类的虚拟化引擎(VE)的芯片组硬件可用于例如经由SATA控制器来直接访问HIS装置。VE/VEDAC硬件可允许ME直接与存储子***进行通信,而无需主机或BIOS存储驱动程序。VE/DAC又可称作存储控制器中心(SCH)。HIS装置可附连到SCH。另外,TPM可在ME中实现,并且这种ME可称作会聚安全引擎(CSE)。ME和SCH可直接而不是间接地通过主机BIOS或OS进行通信。
再次参照框810,如果不支持读扩展,则DXE加载程序可从引导完整性高速缓存来读取摘要,如框818所示。DXE加载程序还可在框818从那个高速缓存来读取引导对象映像。例如,在一些实施例中,引导对象本身的部分或全部也可存储在引导完整性高速缓存中(或者HIS分区的另外某个部分中)。这类引导对象可称作“HIS保护引导映像”。将引导对象以及那些对象的摘要存储在HIS分区中的数据处理***可提供比没有将引导对象存储在HIS分区中的数据处理***更强的安全性。
如框830所示,DXE加载程序则可确定是否实现安全引导。如果没有实现安全引导,则DXE加载程序可将摘要扩展到PCR,然后启动对象,如框834和836所示。如框840所示,如果然后引导过程完成,则该过程可结束。否则,该过程可通过页连接符B返回到框724,其中DXE加载程序选择要处理的下一个引导对象。
但是,如果实现安全引导,则该过程可通过页连接符C从框830转到框910,其中DXE加载程序确定摘要是否匹配来自不允许对象的“黑名单”的任何条目。如果是的话,则该过程通过页连接符B转到框724,其中DXE加载程序通过选择下一个引导对象来丢弃列入黑名单的对象,而不将列入黑名单的对象的摘要扩展到PCR没有启动列入黑名单的对象。
再次参照框910,如果摘要不在黑名单中,则DXE驱动程序确定摘要是否在核准摘要的“白名单”中,如框920所示。如框930所示,如果摘要不匹配白名单中的任何条目,则DXE加载程序确定对象是否具有嵌入数字签名(例如UEFI便携可执行–通用对象文件格式(PE-COFF)可执行的签名)。这类签名可使用例如由商标“Authenticode”所表示的技术或者使用任何其它适当技术来创建。如果对象包含嵌入数字签名,则将那个签名与核准签名的白名单中的条目进行比较,如框940所示。如果签名存在于白名单中,则摘要可扩展到PCR,然后可启动对象,如框924和926所示。然后,如框950所示,如果引导没有完成,则该过程可通过页连接符B返回到框724,其中DXE加载程序选择要处理的下一个引导对象。或者,如果不存在要处理的更多对象,则该过程可结束。但是,再次参照框940和930,如果签名不在白名单中,或者如果对象没有包含数字签名,则该过程可通过页连接符B返回到框724,其中对象被丢弃,如上所述。
再次参照框810,如果支持读扩展,则DXE加载程序可从其原始来源或者从HIS分区来读取引导对象的映像,如框812所示。DXE加载程序则可运行读扩展指令或者向TPM发出读扩展请求,其中请求包括引导对象的标识符,如框814所示。作为响应,TPM可使用来自TPM的引导完整性高速缓存的引导对象的摘要的副本,以便扩展PCR,如框816所示。然后,如框820所示,如果仍然存在要处理的更多引导对象,则该过程可通过页连接符B返回到框724。否则,如框822所示,DXE加载程序可采用逻辑引导路径蕴涵来更新PCR。例如,UEFI固件可确定引导目标(例如UEFI引导选项中引用的引导目标)的摘要已经记录在之前的引导上(例如在PCR[4]中)、磁盘几何信息的摘要已经记录在之前的引导上(例如在PCR[5]中)和/或其它摘要先前已经记录。因此,DXE加载程序可通过采用来自HIS高速缓存的这些先前所产生测量散列更新PCR,采用逻辑引导路径蕴涵来更新PCR,而没有再运行关联散列计算。然后,该过程可结束。
下表列出可避免的一些样本散列计算时间:
图3是示出与图2A、图2B和图2C所示过程关联的各种组件和操作的框图。例如,标记为“散列”的不同箭头表示某些组件(例如SCRTM)使用TPM的CP对其它组件(例如PEI模块)进行散列。另外,从散列箭头通向“摘要”圆圈、然后(通过“扩展”箭头)通向PCR的箭头表示各对象的散列结果在启动那个对象之前扩展到PCR。另外,图3示出,在一个实施例中,从***ROM来读取一些引导对象(例如“其它”驱动程序、OS加载程序和OS驱动程序(一个或多个)),同时从HIS装置的引导完整性高速缓存来读取对应摘要。例如,如果超出BIOS继续进行安全引导过程,则OS驱动程序可经过由OS加载程序或OS内核进行的完整性检验。这种技术可用于进一步加速安全引导过程。例如,这种技术可用于检验称作早期启动防恶意软件(ELAM)的一类驱动程序,它们可以是将要由OS内核所加载的第一批驱动程序。OS加载程序或OS内核可从HIS完整性分区来得到列入白名单的驱动程序。待加载的后续驱动程序也可具有HIS完整性分区中的白名单映像。
另外,“运行”箭头表示控制如何传递。例如,SCRTM启动PEI模块,以及PEI模块启动DXE加载程序,但是然后DXE加载程序依次启动多个对象,其中控制在那些对象的每个(除了OS加载程序之外)完成运行之后返回到DXE加载程序。另外,标记为“可信的读”的虚线箭头表示DXE加载程序(和OS加载程序)使用可信HIS驱动程序从HIS分区的引导完整性高速缓存来读取摘要,而不是在从磁盘读取驱动程序映像之后动态计算那些摘要。以及虚线“扩展”箭头表示来自可信的读操作的摘要扩展到PCR。
图4是示出与经优化的安全引导过程的一个备选实施例关联的各种组件和操作的框图。图4的实施例与图3的一个实施例相似,但是在图4中,TPM包括用作HIS装置的具有引导完整性高速缓存的存储单元。因此,读扩展操作可用于将引导对象的摘要扩展到PCR,而没有从***ROM或者从选项ROM来读取那些摘要。
图5示出用于将摘要加载到数据处理***(例如图1的数据处理***20)的引导完整性高速缓存中以准备经优化的安全引导过程的数据处理***的过程的一个示例实施例的流程图。如上所述,除非经认证的管理员正应用更新,否则将HIS分区锁定到只读模式。数据处理***可包括用于可靠地认证管理员的各种特征,例如图1所示的ME。
图5的过程可开始于再激活数据处理***。在预引导过程的早期阶段,用户可请求更新HIS分区的访问。例如,DXE加载程序可在图2A所示过程的步骤722与724之间检测这种请求。如图5的框410和412所示,响应检测到对HIS分区的更新或写入访问的请求,DXE加载程序可初始化嵌入访问管理器。例如,DXE加载程序可对传感器和其它认证装置加电以用于认证用户并且建立用户存在会话,以及DXE加载程序可采用缺省状态来初始化那些装置,以便使那些装置准备好接收最终用户输入。DXE加载程序则可启动嵌入访问管理器。如框420所示,嵌入访问管理器则可执行用户认证,以便检验是否已经核准用户的管理员特权。
图6示出可用于用户认证的各种组件和操作。例如,图6示出用户310与嵌入访问管理器25之间的交互,包括来自嵌入访问管理器的认证询问以及来自用户的对应响应。因此,嵌入访问管理器要求用户证实他或她经授权来更新HIS分区。预引导认证(PBA)可要求用户提供用户标识以及至少一个凭证。凭证可非限制性地包括(1) 用户知道的某事物(例如密码),(2) 用户是某事物(例如通过使用指纹或虹膜扫描),和/或(3) 用户拥有的某事物(例如USB适配器(dongle))。这些操作可与用于常规硬盘驱动器密码能力的操作相似。一些实施例可使用UEFI规范的第31章所述的用户标识码基础设施。为了执行用户认证,嵌入访问管理器可针对核准用户及关联凭证的预定列表来检验用户标识和凭证,以便确定该用户是否预订有更新或管理员特权。
在嵌入访问管理器将用户认证为管理员之后,嵌入访问管理器可构建HIS装置能够识别并且验证的凭证(例如密码)。这个凭证可称作“访问令牌”。可将访问令牌传递给主机(或BIOS)启动控制策略管理器(LCPM),以及LCPM则可确定是否期望HIS加速可信引导。如果是的话,则LCPM可采用指示实现HIS可信引导加速的数据来扩展TPM中的PCR。LCPM则可通过经由HIS驱动程序向HIS装置呈现访问令牌,来对HIS分区解锁。LCPM则可对HIS分区应用更新。例如,LCPM可将引导对象的摘要、可能连同那个引导对象的映像一起写到引导完整性高速缓存。
但是,再次参照图5的框420,如果用户认证失败,则可显示差错消息,如框430所示,以及该过程可结束而没有对HIS分区施加更新。
另外,当用户认证成功时,如果数据处理***以前从未使用引导完整性高速缓存选项,则可执行某些操作以建立初始配置,以便实现引导完整性高速缓存的使用。例如,如框422所示,数据处理***可执行净室(cleanroom)引导。例如,一旦准予了管理员访问,ME可允许管理员设置准予对HIS分区的写入准许的BIOS配置位。一旦设置那个位,***能够重新引导,而无需就地安全强制。相应地,如框424所示,ME可实现对HIS分区的写入。然后,如框426所示,ME可执行净室引导,并且保存净室引导期间在引导完整性高速缓存中处理的引导对象的摘要,例如以上针对图6所述。当(a) 管理员认为***当前没有处于恶意软件攻击下(例如在管理员执行了恶意软件扫描之后),(b) ***没有连接到任何不可信网络,以及(c) ***位于受到物理安全(例如上锁的门)保护的位置(例如信息技术(IT)实验室)时,管理员可执行净室引导。这定义“净室”条件,在这些条件下,管理员愿意输入管理员密码。如框428所示,在净室引导测量已经保存到HIS分区之后,ME可重新锁定HIS分区,然后该过程可结束。
可执行类似操作,以便允许经认证的管理员在引导完整性高速缓存已经被使用之后更新HIS分区。例如,如果管理员添加了具有包含管理员可信的驱动程序的选项ROM的适配器卡,则管理员可在安装那个适配器卡之后请求对HIS装置的更新访问。上述过程则可用于将新驱动程序的摘要以及新驱动程序的副本保存到引导完整性高速缓存,由此更新基线***测量。相同种类的过程可用于其它更新,非限制性地包括***BIOS更新。
另外,嵌入访问管理器可对更新到HIS分区的所有强加用户在场要求。例如,嵌入访问管理器可要求用户对于其中尝试更新的会话的持续时间保持在数据处理***在场。数据处理***可使用接近传感器来检测用户不再处于附近的时间。如果嵌入访问管理器检测到用户不再在场,则用户在场会话丢失。作为响应,嵌入访问管理器废除响应认证而准予的访问特权。换言之,ME可重新锁定HIS分区以防写入。持续存在的这种要求可称作“用户存在会话”的要求。
如前面所述,数据处理***可通过从引导完整性高速缓存中读取引导对象摘要而不是执行密码散列计算以生成那些摘要,来优化可信引导性能。数据处理***的BIOS可包括隐式可信预检验器,然后一直到并且包括OS引导加载程序或类似软件、例如虚拟机监测器(VMM)加载程序等的所有后续引导对象的摘要可扩展到PCR。因此,数据处理***可创建测量启动环境(MLE)。MLE的测量则可用于检验启动环境的组件均没有被篡改。
在一个实施例中,MLE可实现为由SCRTM直接测量的代码。例如,MLE可以是虚拟机监测器(VMM)加载程序。这个MLE可以是“早期启动”MLE或者BIOS本身中的管理程序。这类实现的附加细节可见于如下文献:
· 美国专利号7103529,标题为“A Method For Providing System Integrity And Legacy
Environment Emulation”;
· 美国专利申请发表号2009-0119748,标题为“System Management Mode Isolation In Firmware”;
· 美国专利号7827371,标题为“Method For Isolating Third Party Pre-Boot Firmware From
Trusted Pre-Boot Firmware”;以及
· 美国专利申请发表号2009-0249053,标题为“Method And Apparatus For Sequential Hypervisor Invocation”。
用于确定一些平台上的MLE效能的标准可由LCP来提供。例如,LCP可包括例如UEFI白名单和黑名单中相似的信息。
关于可信引导过程期间扩展到PCR的摘要,在一个实施例中,所有摘要可扩展到同一PCR。在其它实施例中,不同PCR可用于不同摘要。
在一些实施例中,可信引导过程可足够迅速地运行,以便允许数据处理***表征为“瞬时接通”。在一个实施例中,数据处理***从HDD上的HIS分区来读取摘要。由于HIS分区在引导期间受到写保护,所以攻击者经由引导对象来引入恶意软件的机会降低。由于通过PEI和平台信任根执行传统可信引导,HIS驱动程序是可信的,所以不存在启动时的运行时攻击的增加风险。对HIS分区的访问由嵌入访问管理器来控制,嵌入访问管理器使用强认证以仅允许经授权管理员来更新HIS分区中的映像。
根据本文所述和所示的原理和示例实施例,将会知道,能够在布置和细节方面对所示实施例进行修改,而没有背离这类原理。另外,以上论述集中于具体实施例,但是设想了其它配置。另外,即使本文中使用诸如“在一个实施例中”、“在另一个实施例中”等的表达,但是这些词语意在一般指实施例可能性,而不是预计将本发明局限于具体实施例配置。本文所使用的这些术语可指可组合到其它实施例中的相同或不同实施例。
本文所使用的术语“处理***”和“数据处理***”预计广义地包含单个机器或者共同进行操作的、通信上耦合的机器或装置的***。示例处理***非限制性地包括分布式计算***、超级计算机、高性能计算***、计算集群、大型计算机、微型计算机、客户端-服务器***、个人计算机(PC)、工作站、服务器、便携计算机、膝上型计算机、平板计算机、个人数字助理(PDA)、电话、手持装置、诸如音频和/或视频装置之类的娱乐装置以及用于处理和传送信息的其它装置。
另外,描述为相互耦合、相互通信、相互响应等的组件不需要相互之间进行连续通信或者相互直接耦合,除非另加明确说明。另外,数据处理***的一些组件可实现为具有用于与总线进行通信的接口(例如连接器)的适配器卡。备选地,装置可实现为嵌入控制器,例如诸如可编程或非可编程逻辑装置或阵列、专用集成电路(ASIC)、嵌入计算机、智能卡等。
还应当理解,本文所示的硬件和软件组件表示适当独立的功能元件,使得每个能够相互基本上无关地设计、构建或更新。在备选实施例中,许多组件可实现为用于提供本文所述和所示功能性的硬件、软件或者硬件和软件的组合。例如,备选实施例包括对用于执行本发明的操作的指令或控制逻辑进行编码的机器可访问介质。这类实施例又可称作程序产品。这类机器可访问介质可以非限制性地包括有形存储介质,例如磁盘、光盘、RAM、ROM、闪速存储器等。备选地,用于实现所述操作的控制逻辑的部分或全部可通过硬件逻辑(例如作为集成电路芯片、可编程门阵列(PGA)、ASIC等的一部分)来实现。指令还可用于分布式环境,并且可本地和/或远程存储以供单个或多处理器机器进行访问。
为了便于本公开,术语“程序”一般用于涵盖软件构造的广义范围,包括应用、功能、过程、例程、模块、驱动程序、子程序、过程以及其它类型的软件组件。另外,虽然针对按照特定序列所执行的特定操作来描述了一个或多个示例过程,但是许多修改可应用于那些过程,以便得出本发明的许多备选实施例。例如,备选实施例可包括使用少于全部所公开操作的过程、使用附加操作的过程以及其中组合、细分、重新排列或者改变本文所公开的单独操作的过程。
考虑到可易于从本文所述的示例实施例所得出的大量有用置换,本详细描述预计只是说明性的,而不应当被理解为限制本发明的范围。因此,本发明要求保护的是落入以下权利要求的范围之内的所有实现以及这类实现的所有等效体。
权利要求书(按照条约第19条的修改)
1.一种用于引导数据处理***的方法,所述方法包括:
响应数据处理***被再激活而执行所述数据处理***的引导过程,其中执行所述引导过程的所述操作包括运行引导对象,以及其中所述数据处理***包括具有被保护以免更新的高速缓存的高完整性存储(HIS)装置;以及
在所述引导过程期间,在运行所述引导对象之前,从所述HIS装置的被保护高速缓存来检索所述引导对象的摘要,其中所述摘要包括所述引导对象的密码散列值;
其中所述方法还包括由下列步骤所组成的组中的操作:
在所述引导过程期间,使用所述引导对象的所检索摘要来扩展所述数据处理***的可信平台模块(TPM)中的平台配置寄存器(PCR);以及
在所述引导过程期间,在从所述HIS装置的被保护高速缓存来检索所述引导对象的所述经高速缓存的摘要之前,自动将所述HIS装置的被保护高速缓存设置成只读模式。
2.一种用于引导数据处理***的方法,所述方法包括:
响应数据处理***被再激活而执行所述数据处理***的引导过程,其中执行所述引导过程的所述操作包括运行引导对象,以及其中所述数据处理***包括具有被保护以免更新的高速缓存的高完整性存储(HIS)装置;
在所述引导过程期间,在运行所述引导对象之前,从所述HIS装置的被保护高速缓存来检索所述引导对象的摘要,其中所述摘要包括所述引导对象的密码散列值;
对所述引导对象进行散列,以便生成所述引导对象的所述摘要;以及
将所述引导对象的所述摘要保存在所述HIS装置的被保护高速缓存中。
3.如权利要求1所述的方法,还包括:
确定是否已经授权所述数据处理***的用户更新所述被保护高速缓存;以及
仅在确定已经授权所述用户更新所述被保护高速缓存之后才将所述HIS装置的被保护高速缓存设置成可写模式。
4.如权利要求3所述的方法,还包括:
在将所述被保护高速缓存设置成可写模式之后,将新摘要保存在所述被保护高速缓存中;以及
在将所述新摘要保存在所述高速缓存中之后,自动将所述被保护高速缓存设置成只读模式。
5.如权利要求4所述的方法,还包括:
将新引导对象保存在所述数据处理***中;以及
其中所述新摘要包括所述新引导对象的密码散列值。
6.如权利要求4所述的方法,其中,确定是否已经授权所述用户更新所述被保护高速缓存、将所述被保护高速缓存设置成可写模式、将所述新摘要保存在所述被保护高速缓存中以及自动将所述被保护高速缓存设置成只读模式的所述操作在所述引导过程期间执行。
7.如权利要求4所述的方法,还包括:
在将所述被保护高速缓存设置成可写模式之后,自动监测所述用户是否在所述数据处理***在场;以及
响应检测到所述用户的不在场而自动撤消写特权。
8.一种用于引导数据处理***的方法,所述方法包括:
响应数据处理***被再激活而执行所述数据处理***的引导过程,其中执行所述引导过程的所述操作包括运行引导对象,以及其中所述数据处理***包括具有被保护以免更新的高速缓存的高完整性存储(HIS)装置;
在所述引导过程期间,在运行所述引导对象之前,从所述HIS装置的被保护高速缓存来检索所述引导对象的摘要,其中所述摘要包括所述引导对象的密码散列值;以及
在所述引导过程期间,将引导配置数据记录在所述数据处理***的可信平台模块(TPM)的事件日志中,其中所述引导配置数据指示在所述引导过程期间是否使用所述HIS装置。
9.一种用于引导数据处理***的方法,所述方法包括:
响应数据处理***被再激活而执行所述数据处理***的引导过程,其中执行所述引导过程的所述操作包括运行引导对象,以及其中所述数据处理***包括具有被保护以免更新的高速缓存的高完整性存储(HIS)装置;以及
在所述引导过程期间,在运行所述引导对象之前,从所述HIS装置的被保护高速缓存来检索所述引导对象的摘要,其中所述摘要包括所述引导对象的密码散列值,其中:
所述数据处理***包括可信平台模块(TPM);以及
所述HIS装置与所述TPM集成。
10.如权利要求9所述的方法,其中:
从所述HIS装置的被保护高速缓存来检索所述引导对象的所述摘要的所述操作包括运行单个指令,所述指令使所述TPM从所述集成HIS存储装置来读取所述摘要以及将所述摘要扩展到所述TPM中的平台配置寄存器(PCR)。
11.如权利要求10所述的方法,其中,所述单个指令包括读扩展指令。
12.如权利要求9所述的方法,其中,所述引导对象的所述摘要在所述引导过程期间来得到,而在那个引导过程期间不计算所述引导对象的所述摘要。
13.至少一个非暂时机器可访问介质,包括:
在由数据处理***所运行时使所述数据处理***能够执行如权利要求1至12中的任一项所述的方法的指令。
14.一种数据处理***,包括:
处理器;
响应所述处理器的至少一个非暂时机器可访问介质;以及
所述机器可访问介质中的指令,在由所述数据处理***所运行时使所述数据处理***能够执行如权利要求1至12中的任一项所述的方法。
15.一种用于引导数据处理***的方法,所述方法包括:
响应数据处理***被再激活而执行所述数据处理***的引导过程,其中执行所述引导过程的所述操作包括运行引导对象,以及其中所述数据处理***包括具有被防止更新的高速缓存的高完整性存储(HIS)装置;以及
在所述引导过程期间,在运行所述引导对象之前,从所述HIS装置的被保护高速缓存来检索所述引导对象的摘要,其中所述摘要包括所述引导对象的密码散列值。
16.至少一个非暂时机器可访问介质,包括:
指令,在由数据处理***所运行时使所述数据处理***能够执行如权利要求15所述的方法。
17.一种数据处理***,包括:
处理器;
响应所述处理器的至少一个非暂时机器可访问介质;以及
所述机器可访问介质中的指令,在由所述数据处理***所运行时使所述数据处理***能够执行如权利要求15所述的方法。
Claims (16)
1.一种用于引导数据处理***的方法,所述方法包括:
响应数据处理***被再激活而执行所述数据处理***的引导过程,其中执行所述引导过程的所述操作包括运行引导对象,以及其中所述数据处理***包括具有被保护免于更新的高速缓存的高完整性存储(HIS)装置;以及
在所述引导过程期间,在运行所述引导对象之前,从所述HIS装置的被保护高速缓存来检索所述引导对象的摘要,其中所述摘要包括所述引导对象的密码散列值。
2.如权利要求1所述的方法,还包括:
在所述引导过程期间,使用所述引导对象的所检索摘要来扩展所述数据处理***的可信平台模块(TPM)中的平台配置寄存器(PCR)。
3.如权利要求1所述的方法,还包括:
对所述引导对象进行散列,以便生成所述引导对象的所述摘要;以及
将所述引导对象的所述摘要保存在所述HIS装置的被保护高速缓存中。
4.如权利要求1所述的方法,还包括:
在所述引导过程期间,在从所述HIS装置的被保护高速缓存来检索所述引导对象的所述经高速缓存的摘要之前,自动将所述HIS装置的被保护高速缓存设置成只读模式。
5.如权利要求4所述的方法,还包括:
确定是否已经授权所述数据处理***的用户更新所述被保护高速缓存;以及
仅在确定已经授权所述用户更新所述被保护高速缓存之后才将所述HIS装置的被保护高速缓存设置成可写模式。
6.如权利要求5所述的方法,还包括:
在将所述被保护高速缓存设置成可写模式之后,将新摘要保存在所述被保护高速缓存中;以及
在将所述新摘要保存在所述高速缓存中之后,自动将所述被保护高速缓存设置成只读模式。
7.如权利要求6所述的方法,还包括:
将新引导对象保存在所述数据处理***中;以及
其中所述新摘要包括所述新引导对象的密码散列值。
8.如权利要求6所述的方法,其中,确定是否已经授权所述用户更新所述被保护高速缓存、将所述被保护高速缓存设置成可写模式、将所述新摘要保存在所述被保护高速缓存中以及自动将所述被保护高速缓存设置成只读模式的所述操作在所述引导过程期间执行。
9.如权利要求6所述的方法,还包括:
在将所述被保护高速缓存设置成可写模式之后,自动监测所述用户是否在所述数据处理***在场;以及
响应检测到所述用户的不在场而自动撤回写特权。
10.如权利要求1所述的方法,还包括:
在所述引导过程期间,将引导配置数据记录在所述数据处理***的可信平台模块(TPM)的事件日志中,其中所述引导配置数据指示在所述引导过程期间是否使用所述HIS装置。
11.如权利要求1所述的方法,其中:
所述数据处理***包括可信平台模块(TPM);以及
将所述高完整性存储(HIS)装置与所述TPM集成。
12.如权利要求11所述的方法,其中:
从所述HIS装置的被保护高速缓存来检索所述引导对象的所述摘要的所述操作包括运行单个指令,所述指令使所述TPM从所述集成HIS存储装置来读取所述摘要以及将所述摘要扩展到所述TPM中的平台配置寄存器(PCR)。
13.如权利要求12所述的方法,其中,所述单个指令包括读扩展指令。
14.如权利要求11所述的方法,其中,在所述引导过程期间得到所述引导对象的所述摘要,而在那个引导过程期间不计算所述引导对象的所述摘要。
15.至少一个非暂时机器可访问介质,包括:
指令,在由数据处理***所运行时使所述数据处理***能够执行如权利要求1至14中的任一项所述的方法。
16.一种数据处理***,包括:
处理器;
响应所述处理器的至少一个非暂时机器可访问介质;以及
所述机器可访问介质中的指令,在由所述数据处理***所运行时使所述数据处理***能够执行如权利要求1至14中的任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/067873 WO2013101081A1 (en) | 2011-12-29 | 2011-12-29 | Methods and apparatus for trusted boot optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103299311A true CN103299311A (zh) | 2013-09-11 |
CN103299311B CN103299311B (zh) | 2015-04-29 |
Family
ID=48698317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180049417.1A Expired - Fee Related CN103299311B (zh) | 2011-12-29 | 2011-12-29 | 用于可信引导优化的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8892858B2 (zh) |
EP (1) | EP2798559B1 (zh) |
KR (1) | KR101359841B1 (zh) |
CN (1) | CN103299311B (zh) |
BR (1) | BR112014013583A8 (zh) |
WO (1) | WO2013101081A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250760A (zh) * | 2016-07-26 | 2016-12-21 | 浪潮电子信息产业股份有限公司 | 一种基于TPM2.0芯片的U‑Boot可信启动方法 |
CN106844241A (zh) * | 2017-02-27 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种安全卡、安全卡槽及板卡 |
CN108701048A (zh) * | 2017-09-29 | 2018-10-23 | 华为技术有限公司 | 数据加载方法及装置 |
CN110069361A (zh) * | 2018-01-24 | 2019-07-30 | 联想企业解决方案(新加坡)有限公司 | 用于tpm故障切换的方法和装置 |
CN112437924A (zh) * | 2018-05-11 | 2021-03-02 | 美国莱迪思半导体公司 | 用于可编程逻辑器件的安全引导***和方法 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5932837B2 (ja) | 2011-01-19 | 2016-06-08 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コードを更新および認証するための方法およびシステム、プログラムの完全性を試験する方法およびシステム |
US8892858B2 (en) | 2011-12-29 | 2014-11-18 | Intel Corporation | Methods and apparatus for trusted boot optimization |
US8793504B2 (en) * | 2012-02-22 | 2014-07-29 | International Business Machines Corporation | Validating a system with multiple subsystems using trusted platform modules and virtual platform modules |
US9367688B2 (en) * | 2012-06-22 | 2016-06-14 | Intel Corporation | Providing geographic protection to a system |
KR101563059B1 (ko) * | 2012-11-19 | 2015-10-23 | 삼성에스디에스 주식회사 | 안티 멀웨어 시스템 및 안티 멀웨어 시스템에서의 데이터 처리 방법 |
US9336395B2 (en) * | 2013-01-25 | 2016-05-10 | Hewlett-Packard Development Company, L.P. | Boot driver verification |
US9424425B2 (en) * | 2013-05-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Protecting anti-malware processes |
US9544293B2 (en) | 2013-09-20 | 2017-01-10 | Oracle International Corporation | Global unified session identifier across multiple data centers |
CN105556461B (zh) * | 2013-10-24 | 2021-03-12 | 英特尔公司 | 用于预os镜像重写以提供跨架构支持、安全性自省和性能优化的技术 |
US9721104B2 (en) * | 2013-11-26 | 2017-08-01 | Intel Corporation | CPU-based measured boot |
CN104951316B (zh) * | 2014-03-25 | 2018-09-21 | 华为技术有限公司 | 一种内核可信启动方法和装置 |
US9672361B2 (en) * | 2014-04-30 | 2017-06-06 | Ncr Corporation | Self-service terminal (SST) secure boot |
US9195831B1 (en) | 2014-05-02 | 2015-11-24 | Google Inc. | Verified boot |
US9438627B2 (en) | 2014-06-11 | 2016-09-06 | International Business Machines Corporation | Shared security utility appliance for secure application and data processing |
US20160042024A1 (en) * | 2014-08-08 | 2016-02-11 | Front Porch Digital, Inc. | Continuous data health check |
FR3024915B1 (fr) * | 2014-08-18 | 2016-09-09 | Proton World Int Nv | Dispositif et procede pour assurer des services de module de plateforme securisee |
US9621551B2 (en) * | 2014-09-15 | 2017-04-11 | Dell Products L.P. | Systems and methods for providing secure pre-boot and root authentication to an information handling system |
GB2531586A (en) | 2014-10-23 | 2016-04-27 | Ibm | Methods and systems for starting computerized system modules |
CN104809398A (zh) * | 2015-04-21 | 2015-07-29 | 深圳怡化电脑股份有限公司 | 密码键盘引导程序固件防篡改方法及装置 |
US10693859B2 (en) | 2015-07-30 | 2020-06-23 | Oracle International Corporation | Restricting access for a single sign-on (SSO) session |
US10581826B2 (en) * | 2015-10-22 | 2020-03-03 | Oracle International Corporation | Run-time trust management system for access impersonation |
US10528739B2 (en) * | 2016-04-20 | 2020-01-07 | Sophos Limited | Boot security |
US10541816B2 (en) | 2016-06-01 | 2020-01-21 | International Business Machines Corporation | Controlling execution of software by combining secure boot and trusted boot features |
US10365961B2 (en) * | 2016-09-09 | 2019-07-30 | Dell Products L.P. | Information handling system pre-boot fault management |
US10623501B2 (en) | 2016-09-15 | 2020-04-14 | Oracle International Corporation | Techniques for configuring sessions across clients |
US10262140B2 (en) | 2016-09-29 | 2019-04-16 | Intel Corporation | Methods and apparatus to facilitate blockchain-based boot tracking |
US10080693B1 (en) | 2017-04-26 | 2018-09-25 | Stryker Corporation | Harness system for patient transport apparatus |
US10397230B2 (en) * | 2017-06-15 | 2019-08-27 | International Business Machines Corporation | Service processor and system with secure booting and monitoring of service processor integrity |
US10528740B2 (en) | 2017-06-15 | 2020-01-07 | International Business Machines Corporation | Securely booting a service processor and monitoring service processor integrity |
US11290438B2 (en) | 2017-07-07 | 2022-03-29 | Oracle International Corporation | Managing session access across multiple data centers |
US10462664B2 (en) | 2017-08-02 | 2019-10-29 | Dell Products, Lp | System and method for control of baseboard management controller ports |
US11074348B2 (en) | 2017-08-24 | 2021-07-27 | International Business Machines Corporation | Securing and changing immutable data in secure bootup |
US11050730B2 (en) | 2017-09-27 | 2021-06-29 | Oracle International Corporation | Maintaining session stickiness across authentication and authorization channels for access management |
US10726132B2 (en) * | 2018-03-08 | 2020-07-28 | Hewlett Packard Enterprise Development Lp | Enclave launch and authentication |
US11409878B2 (en) | 2018-05-31 | 2022-08-09 | Hewlett-Packard Development Company, L.P. | Trusted sequence for computing devices via hashes |
US11238160B2 (en) * | 2018-09-28 | 2022-02-01 | Apple Inc. | Boot firmware sandboxing |
JP7187362B2 (ja) * | 2019-03-15 | 2022-12-12 | キオクシア株式会社 | ストレージ装置及び制御方法 |
TWI724424B (zh) * | 2019-05-17 | 2021-04-11 | 英商鼎通盛股份有限公司 | 開機驗證程序加速方法與電腦系統 |
CN110348180B (zh) * | 2019-06-20 | 2021-07-30 | 苏州浪潮智能科技有限公司 | 一种应用程序启动控制方法和装置 |
US11134078B2 (en) | 2019-07-10 | 2021-09-28 | Oracle International Corporation | User-specific session timeouts |
US11507387B2 (en) | 2020-05-26 | 2022-11-22 | Dell Products L.P. | Method to optimize system boot time of modules/driver's execution in UEFI pre-boot environment |
JP7408593B2 (ja) * | 2021-03-23 | 2024-01-05 | 株式会社東芝 | 制御装置、情報処理装置、および情報処理システム |
CN113101376A (zh) * | 2021-04-12 | 2021-07-13 | 中国科学院长春应用化学研究所 | 一种可用于基因治疗的复合基因载体及其制备方法和应用 |
US11803454B2 (en) * | 2021-04-30 | 2023-10-31 | Dell Products L.P. | Chained loading with static and dynamic root of trust measurements |
CN113254048B (zh) * | 2021-06-21 | 2021-09-28 | 深之蓝(天津)水下智能科技有限公司 | 引导程序更新方法、装置、设备及计算机可读介质 |
US11392705B1 (en) | 2021-07-29 | 2022-07-19 | Netskope, Inc. | Disk encryption key management for booting of a device |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999038070A1 (en) * | 1998-01-26 | 1999-07-29 | Intel Corporation | An interface for ensuring system boot image integrity and authenticity |
US20020166072A1 (en) * | 2001-05-02 | 2002-11-07 | International Business Machines Corporation | Data processing system and method for password protecting a boot device |
CN1685297A (zh) * | 2001-11-01 | 2005-10-19 | 英特尔公司 | 在多处理器环境中单方地加载安全操作***的装置和方法 |
US7055029B2 (en) * | 1998-02-03 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Cryptographic system enabling ownership of a secure process |
CN1801091A (zh) * | 2005-01-07 | 2006-07-12 | 微软公司 | 用可信处理模块安全地引导计算机的***和方法 |
CN1954288A (zh) * | 2004-05-08 | 2007-04-25 | 英特尔公司 | 固件接口运行时环境保护字段 |
US20080082828A1 (en) * | 2006-09-29 | 2008-04-03 | Infineon Technologies Ag | Circuit arrangement and method for starting up a circuit arrangement |
US20090259854A1 (en) * | 2008-04-10 | 2009-10-15 | Nvidia Corporation | Method and system for implementing a secure chain of trust |
US7765392B2 (en) * | 2006-06-29 | 2010-07-27 | Intel Corporation | Method and apparatus for establishing processor as core root of trust for measurement |
US20100235912A1 (en) * | 2009-03-12 | 2010-09-16 | International Business Machines Corporation | Integrity Verification Using a Peripheral Device |
CN102279760A (zh) * | 2010-06-11 | 2011-12-14 | 微软公司 | 利用初始保护组件来进行设备引导 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103529B2 (en) | 2001-09-27 | 2006-09-05 | Intel Corporation | Method for providing system integrity and legacy environment emulation |
US7127579B2 (en) | 2002-03-26 | 2006-10-24 | Intel Corporation | Hardened extended firmware interface framework |
US7210034B2 (en) | 2003-01-30 | 2007-04-24 | Intel Corporation | Distributed control of integrity measurement using a trusted fixed token |
US20050021968A1 (en) | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
US7562230B2 (en) | 2003-10-14 | 2009-07-14 | Intel Corporation | Data security |
US8332653B2 (en) | 2004-10-22 | 2012-12-11 | Broadcom Corporation | Secure processing environment |
US7523323B2 (en) | 2005-09-15 | 2009-04-21 | Intel Corporation | Method and apparatus for quick resumption |
US8190916B1 (en) * | 2006-07-27 | 2012-05-29 | Hewlett-Packard Development Company, L.P. | Methods and systems for modifying an integrity measurement based on user authentication |
US8510859B2 (en) | 2006-09-26 | 2013-08-13 | Intel Corporation | Methods and arrangements to launch trusted, co-existing environments |
US8984265B2 (en) | 2007-03-30 | 2015-03-17 | Intel Corporation | Server active management technology (AMT) assisted secure boot |
US8321931B2 (en) * | 2008-03-31 | 2012-11-27 | Intel Corporation | Method and apparatus for sequential hypervisor invocation |
US8726364B2 (en) | 2008-06-30 | 2014-05-13 | Intel Corporation | Authentication and access protection of computer boot modules in run-time environments |
US8296553B2 (en) | 2008-11-19 | 2012-10-23 | Intel Corporation | Method and system to enable fast platform restart |
US8413253B2 (en) * | 2009-12-30 | 2013-04-02 | Intel Corporation | Protecting persistent secondary platform storage against attack from malicious or unauthorized programs |
US8516551B2 (en) | 2010-07-28 | 2013-08-20 | Intel Corporation | Providing a multi-phase lockstep integrity reporting mechanism |
US8539245B2 (en) | 2010-08-06 | 2013-09-17 | Intel Corporation | Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode |
US8892858B2 (en) | 2011-12-29 | 2014-11-18 | Intel Corporation | Methods and apparatus for trusted boot optimization |
-
2011
- 2011-12-29 US US13/810,654 patent/US8892858B2/en not_active Expired - Fee Related
- 2011-12-29 KR KR1020137006741A patent/KR101359841B1/ko active IP Right Grant
- 2011-12-29 CN CN201180049417.1A patent/CN103299311B/zh not_active Expired - Fee Related
- 2011-12-29 EP EP11878914.8A patent/EP2798559B1/en not_active Not-in-force
- 2011-12-29 BR BR112014013583A patent/BR112014013583A8/pt not_active IP Right Cessation
- 2011-12-29 WO PCT/US2011/067873 patent/WO2013101081A1/en active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999038070A1 (en) * | 1998-01-26 | 1999-07-29 | Intel Corporation | An interface for ensuring system boot image integrity and authenticity |
US7055029B2 (en) * | 1998-02-03 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Cryptographic system enabling ownership of a secure process |
US20020166072A1 (en) * | 2001-05-02 | 2002-11-07 | International Business Machines Corporation | Data processing system and method for password protecting a boot device |
CN1685297A (zh) * | 2001-11-01 | 2005-10-19 | 英特尔公司 | 在多处理器环境中单方地加载安全操作***的装置和方法 |
CN1954288A (zh) * | 2004-05-08 | 2007-04-25 | 英特尔公司 | 固件接口运行时环境保护字段 |
CN1801091A (zh) * | 2005-01-07 | 2006-07-12 | 微软公司 | 用可信处理模块安全地引导计算机的***和方法 |
US7765392B2 (en) * | 2006-06-29 | 2010-07-27 | Intel Corporation | Method and apparatus for establishing processor as core root of trust for measurement |
US20080082828A1 (en) * | 2006-09-29 | 2008-04-03 | Infineon Technologies Ag | Circuit arrangement and method for starting up a circuit arrangement |
US20090259854A1 (en) * | 2008-04-10 | 2009-10-15 | Nvidia Corporation | Method and system for implementing a secure chain of trust |
US20100235912A1 (en) * | 2009-03-12 | 2010-09-16 | International Business Machines Corporation | Integrity Verification Using a Peripheral Device |
CN102279760A (zh) * | 2010-06-11 | 2011-12-14 | 微软公司 | 利用初始保护组件来进行设备引导 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250760A (zh) * | 2016-07-26 | 2016-12-21 | 浪潮电子信息产业股份有限公司 | 一种基于TPM2.0芯片的U‑Boot可信启动方法 |
CN106844241A (zh) * | 2017-02-27 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种安全卡、安全卡槽及板卡 |
CN108701048A (zh) * | 2017-09-29 | 2018-10-23 | 华为技术有限公司 | 数据加载方法及装置 |
CN108701048B (zh) * | 2017-09-29 | 2020-09-11 | 华为技术有限公司 | 数据加载方法及装置 |
US10838829B2 (en) | 2017-09-29 | 2020-11-17 | Huawei Technologies Co., Ltd. | Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium |
CN110069361A (zh) * | 2018-01-24 | 2019-07-30 | 联想企业解决方案(新加坡)有限公司 | 用于tpm故障切换的方法和装置 |
CN110069361B (zh) * | 2018-01-24 | 2023-12-01 | 联想企业解决方案(新加坡)有限公司 | 用于tpm故障切换的方法和装置 |
CN112437924A (zh) * | 2018-05-11 | 2021-03-02 | 美国莱迪思半导体公司 | 用于可编程逻辑器件的安全引导***和方法 |
Also Published As
Publication number | Publication date |
---|---|
KR101359841B1 (ko) | 2014-02-07 |
EP2798559A1 (en) | 2014-11-05 |
US20140025939A1 (en) | 2014-01-23 |
CN103299311B (zh) | 2015-04-29 |
WO2013101081A1 (en) | 2013-07-04 |
BR112014013583A2 (pt) | 2017-06-13 |
US8892858B2 (en) | 2014-11-18 |
EP2798559B1 (en) | 2019-03-13 |
KR20130094317A (ko) | 2013-08-23 |
BR112014013583A8 (pt) | 2017-06-13 |
EP2798559A4 (en) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103299311B (zh) | 用于可信引导优化的方法和设备 | |
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
US10152600B2 (en) | Methods and systems to measure a hypervisor after the hypervisor has already been measured and booted | |
US8522018B2 (en) | Method and system for implementing a mobile trusted platform module | |
US8544092B2 (en) | Integrity verification using a peripheral device | |
US9087188B2 (en) | Providing authenticated anti-virus agents a direct access to scan memory | |
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
US8505103B2 (en) | Hardware trust anchor | |
US8782801B2 (en) | Securing stored content for trusted hosts and safe computing environments | |
US9164925B2 (en) | Method and apparatus for authorizing host to access portable storage device | |
KR101281678B1 (ko) | 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체 | |
US20080235754A1 (en) | Methods and apparatus for enforcing launch policies in processing systems | |
US20110078791A1 (en) | Using chipset-based protected firmware for host software tamper detection and protection | |
WO2004051444A2 (en) | Providing a secure execution mode in a pre-boot environment | |
US10430589B2 (en) | Dynamic firmware module loader in a trusted execution environment container | |
EP3029564B1 (en) | System and method for providing access to original routines of boot drivers | |
Regenscheid | BIOS protection guidelines for servers | |
US11409541B2 (en) | Systems and methods for binding secondary operating system to platform basic input/output system | |
Zimmer | Platform Trust Beyond BIOS Using the Unified Extensible Firmware Interface. | |
KR20110048014A (ko) | 컴퓨터 플랫폼에서의 방법 및 장치 |
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: 20150429 Termination date: 20191229 |
|
CF01 | Termination of patent right due to non-payment of annual fee |