CN103299311A - 用于可信引导优化的方法和设备 - Google Patents

用于可信引导优化的方法和设备 Download PDF

Info

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
Application number
CN2011800494171A
Other languages
English (en)
Other versions
CN103299311B (zh
Inventor
N.M.史密斯
V.J.齐默
V.C.穆尔
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 CN103299311A publication Critical patent/CN103299311A/zh
Application granted granted Critical
Publication of CN103299311B publication Critical patent/CN103299311B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

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中的任一项所述的方法。
CN201180049417.1A 2011-12-29 2011-12-29 用于可信引导优化的方法和设备 Expired - Fee Related CN103299311B (zh)

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) BR112014013583A2 (zh)
WO (1) WO2013101081A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012098478A1 (en) 2011-01-19 2012-07-26 International Business Machines Corporation Updating software
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
US9495177B2 (en) * 2013-10-24 2016-11-15 Intel Corporation Techniques for pre-OS image rewriting to provide cross-architecture support, security introspection, and performance optimization
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
US10528740B2 (en) 2017-06-15 2020-01-07 International Business Machines Corporation Securely booting a service processor and monitoring service processor integrity
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
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
BR112014013583A8 (pt) 2017-06-13
EP2798559A4 (en) 2015-09-02
KR101359841B1 (ko) 2014-02-07
EP2798559B1 (en) 2019-03-13
US20140025939A1 (en) 2014-01-23
EP2798559A1 (en) 2014-11-05
US8892858B2 (en) 2014-11-18
CN103299311B (zh) 2015-04-29
KR20130094317A (ko) 2013-08-23
WO2013101081A1 (en) 2013-07-04
BR112014013583A2 (pt) 2017-06-13

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
CN101681407B (zh) 用于恶意软件检测的可信操作环境
US8782801B2 (en) Securing stored content for trusted hosts and safe computing environments
KR101281678B1 (ko) 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체
US9164925B2 (en) Method and apparatus for authorizing host to access portable storage device
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
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