《平台固件铠装技术.pdf》由会员分享,可在线阅读,更多相关《平台固件铠装技术.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103119553 A(43)申请公布日 2013.05.22CN103119553A*CN103119553A*(21)申请号 201180045399.X(22)申请日 2011.09.1212/887,866 2010.09.22 USG06F 9/06(2006.01)G06F 9/44(2006.01)G06F 12/14(2006.01)(71)申请人英特尔公司地址美国加利福尼亚(72)发明人 AR威什曼 SD盖切M内韦德梅韦尔格尼US沃里尔 A卡拉尔DR莫兰 K布兰诺克(74)专利代理机构永新专利商标代理有限公司 72002代理人张晰 王英(54) 发明。
2、名称平台固件铠装技术(57) 摘要公开了一种方法、装置、方法、机器可读介质和系统。在一个实施例中,所述方法包括处理程序。所述处理程序包括在计算机平台的引导中,将位于所述计算机平台中的平台固件更新装置转换为平台固件铠装技术(PFAT)模式。所述计算机平台包括存储平台固件的平台固件存储单元。随后,所述方法响应于所述平台固件更新装置转换为PFAT模式而持续地锁定所述平台固件存储单元。当持续锁定时,仅在平台固件更新装置解锁程序之后,并且仅允许在运行平台中的认证代码模块来向平台固件存储单元进行写入。(30)优先权数据(85)PCT申请进入国家阶段日2013.03.21(86)PCT申请的申请数据PCT/。
3、US2011/051160 2011.09.12(87)PCT申请的公布数据WO2012/039971 EN 2012.03.29(51)Int.Cl.权利要求书4页 说明书9页 附图4页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书4页 说明书9页 附图4页(10)申请公布号 CN 103119553 ACN 103119553 A1/4页21.一种方法,包括:在计算机平台的引导中,将位于所述计算机平台中的平台固件更新装置转换为平台固件铠装技术(PFAT)模式,其中,所述计算机平台包括存储第一平台固件的平台固件单元;响应于所述平台固件更新装置转换为PFAT模式,持续地锁定。
4、所述平台固件存储单元,其中,当持续锁定时,不允许任何实体向所述平台固件存储单元进行写入,除非在平台固件更新装置解锁程序之后,由认证代码模块(ACM)进行写入。2.根据权利要求1所述的方法,其中,所述解锁程序还包括:所述平台固件更新装置启动对PFAT保护控制寄存器的特定存储器写入周期,其中,对所述PFAT保护控制寄存器的所述特定存储器写入周期致使耦合到所述平台固件存储单元的控制器接受从所述平台固件更新机构到所述平台固件存储单元的地址空间的写入命令。3.根据权利要求2所述的方法,还包括:将公共加密密钥提供给所述平台固件存储单元;接收用更新固件镜像来更新所述第一平台固件的非安全请求;响应所述非安全请。
5、求,将所述更新固件镜像加载到所述计算机平台中的系统存储器中;一旦将固件镜像完全地加载到系统存储器中,则调用所述ACM;使用所述公共加密密钥执行所述更新固件镜像的认证;响应于成功认证所述更新固件镜像,执行用于所述平台固件存储单元的解锁程序;以及将已认证的固件镜像从所述系统存储器拷贝到所述平台固件存储单元。4.根据权利要求3所述的方法,还包括:当所述固件镜像的认证失败时,发布错误。5.根据权利要求3所述的方法,其中,所述第一平台固件包括系统管理固件,并且其中,所述控制器包括平台部件中心。6.根据权利要求3所述的方法,其中,所述第一平台固件包括控制器管理固件,并且其中,所述控制器包括位于所述计算机平。
6、台中的控制器。7.根据权利要求6所述的方法,还包括:在所述计算机平台的每一次引导中,生成短暂密码;将所述短暂密码存储在仅能被所述ACM访问的安全单元;以及将所述短暂密码至少分配到与所述平台固件存储单元耦合的控制器。8.根据权利要求7所述的方法,还包括:响应于使用所述公共加密密钥成功地认证所述更新固件镜像,所述ACM向所述控制器发送安全请求来请求许可更新所述控制器管理固件,其中,所述安全请求包括所述短暂密码;所述控制器将从所述安全请求接收到的所述短暂密码与在所述计算机平台的最近引导期间接收到的所述短暂密码进行比较;并且响应于两个所述短暂密码是相同的,所述控制器允许所述ACM执行对所述控制器管理固。
7、件进行更新。权 利 要 求 书CN 103119553 A2/4页39.一种装置,包括:在计算机平台的引导中将位于所述计算机平台中的平台固件更新装置转换为平台固件铠装技术(PFAT)模式的逻辑,其中,所述计算机平台包括存储第一平台固件的平台固件存储单元;响应于所述平台固件更新装置转换为PFAT模式,持续地锁定所述平台固件存储单元的逻辑,其中,当持续锁定时,不允许任何实体向所述平台固件存储单元进行写入,除非在平台固件更新装置解锁程序之后,由认证代码模块(ACM)进行写入。10.根据权利要求9所述的装置,还包括逻辑用来:启动对PFAT保护控制寄存器的特定存储器写入周期,其中,对所述PFAT保护控制。
8、寄存器的所述特定存储器写入周期致使耦合到所述平台固件存储单元的控制器接受从所述平台固件更新装置到所述平台固件存储单元的地址空间的写入命令。11.根据权利要求10所述的装置,还包括逻辑用来:将公共加密密钥提供给所述平台固件存储单元;接收用更新固件镜像来更新所述第一平台固件的非安全请求;响应所述非安全请求,将所述更新固件镜像加载到所述计算机平台中的系统存储器中;一旦将固件镜像完全地加载到系统存储器中,则调用所述ACM;使用所述公共加密密钥执行所述更新固件镜像的认证;响应于成功认证所述更新固件镜像,执行用于所述平台固件存储单元的解锁程序;以及将已认证的固件镜像从所述系统存储器拷贝到所述平台固件存储单。
9、元。12.根据权利要求11所述的装置,还包括逻辑用来:当所述固件镜像的认证失败时,发布错误。13.根据权利要求11所述的装置,其中,所述第一平台固件包括系统管理固件,并且其中,所述控制器包括平台部件中心。14.根据权利要求11所述的装置,其中,所述第一平台固件包括控制器管理固件,并且其中,所述控制器包括位于所述计算机平台中的控制器。15.根据权利要求14所述的装置,还包括这样的逻辑:在所述计算机平台的每一次引导中,生成短暂密码;将所述短暂密码存储在仅能被所述ACM访问的安全单元;以及将所述短暂密码至少分配到与所述平台固件存储单元耦合的控制器。16.根据权利要求15所述的装置,还包括:响应于使用。
10、所述公共加密密钥成功地认证所述更新固件镜像,向所述控制器发送安全请求来请求许可更新所述控制器管理固件的逻辑,其中,所述安全请求包括所述短暂密码;在所述控制器内用于将从所述安全请求接收到的所述短暂密码与在所述计算机平台的最近引导期间接收到的所述短暂密码进行比较的逻辑;并且在所述控制器内用于响应于两个所述短暂密码是相同的而允许所述ACM执行对所述权 利 要 求 书CN 103119553 A3/4页4控制器管理固件更新的逻辑。17.一种其上存储有指令的机器可读介质,如果机器执行所述指令则致使所述机器执行包括以下步骤的方法:在计算机平台的引导中,将位于所述计算机平台中的平台固件更新装置转换为平台固件。
11、铠装技术(PFAT)模式,其中,所述计算机平台包括存储第一平台固件的平台固件存储单元;响应于所述平台固件更新装置转换为PFAT模式,持续地锁定所述平台固件存储单元,其中,当持续锁定时,不允许任何实体向所述平台固件存储单元进行写入,除非在平台固件更新装置解锁程序之后,由认证代码模块(ACM)进行写入。18.根据权利要求17所述的机器可读介质,其中,所述解锁程序还包括:所述平台固件更新装置启动对PFAT保护控制寄存器的特定存储器写入周期,其中,对所述PFAT保护控制寄存器的所述特定存储器写入周期致使耦合到所述平台固件存储单元的控制器接受从所述平台固件更新装置到所述平台固件存储单元的地址空间的写入命。
12、令。19.根据权利要求18所述的机器可读介质,其中,被执行的方法还包括:将公共加密密钥提供给所述平台固件存储单元;接收用更新固件镜像来更新所述第一平台固件的非安全请求;响应所述非安全请求,将所述更新固件镜像加载到所述计算机平台中的系统存储器中;一旦将固件镜像完全地加载到系统存储器中,则调用所述ACM;使用所述公共加密密钥执行所述更新固件镜像的认证;响应于成功认证所述更新固件镜像,执行用于所述平台固件存储单元的解锁程序;以及将已认证的固件镜像从所述系统存储器拷贝到所述平台固件存储单元。20.根据权利要求19所述的机器可读介质,其中,所述被执行的方法还包括:当所述固件镜像的认证失败时,发布错误。2。
13、1.根据权利要求19所述的机器可读介质,其中,所述第一平台固件包括系统管理固件,并且其中,所述控制器包括平台部件中心。22.根据权利要求19所述的机器可读介质,其中,所述第一平台固件包括控制器管理固件,并且其中,所述控制器包括位于所述计算机平台中的控制器。23.根据权利要求22所述的机器可读介质,其中,所述被执行的方法还包括:在所述计算机平台的每一次引导中,生成短暂密码;将所述短暂密码存储在仅能被所述ACM访问的安全单元;以及将所述短暂密码至少分配到与所述平台固件存储单元耦合的控制器。24.根据权利要求23所述的机器可读介质,其中,所述被执行的方法还包括:响应于使用所述公共加密密钥成功地认证所。
14、述更新固件镜像,所述ACM向所述控制器发送安全请求来请求许可更新所述控制器管理固件,其中,所述安全请求包括所述短暂密码;所述控制器将从所述安全请求接收到的所述短暂密码与在所述计算机平台的最近引权 利 要 求 书CN 103119553 A4/4页5导期间接收到的所述短暂密码进行比较;并且响应于两个所述短暂密码是相同的,所述控制器允许所述ACM执行对所述控制器管理固件进行更新。25.一种系统,包括:平台部件中心;用于存储平台固件的平台固件存储;用于存储认证代码模块(ACM)的系统存储器;在计算机平台的引导中,将位于所述计算机平台中的平台固件更新装置转换为平台固件铠装技术(PFAT)模式的逻辑,以。
15、及响应于所述平台固件更新装置转换为所述PFAT模式,所述平台部件中心持续地锁定所述平台固件存储单元,其中,当持续锁定时,不允许任何实体向所述平台固件存储单元进行写入,除非在平台固件更新装置解锁程序之后,由ACM进行写入。权 利 要 求 书CN 103119553 A1/9页6平台固件铠装技术技术领域0001 本发明涉及安全地更新计算机平台固件。背景技术0002 在计算机系统上操作的第一组指令源自平台固件。平台固件可以包括与基本输入/输出系统、可扩展固件、嵌入式控制器和微控制器固件相关联的固件,以及任意其他驻留在计算机平台内的存储单元处的这种固件。平台固件在贯穿计算机系统的生命期中通常不是静态的。
16、。如同有操作系统和软件应用的更新一样,也有平台固件的更新。因为固件指令对许多计算机系统的成功操作是非常重要的,所以当更新固件时,以安全的方式进行更新是至关重要的。附图说明0003 本发明通过示例的方式示出并且不受附图限制,在附图中类似的标记指示相似的元件,在其中:0004 图1示出了能够安全地更新平台固件的计算机系统的实施例。0005 图2是锁定平台部件中心使其不允许向系统管理固件存储空间写入的过程的实施例的流程图。0006 图3A示出了开始安全平台固件更新程序的过程的实施例的流程图。0007 图3B示出了继续安全平台固件更新程序的过程的实施例的流程图。0008 图4是安全地更新在计算机系统中。
17、的控制器固件的过程的实施例的流程图。具体实施方式0009 公开了能够安全地更新平台固件的装置、系统、方法和计算机可读介质的实施例。0010 在计算机系统中的固件提供了用于计算机系统中的一个或多个设备的多种类型的初始化、管理和操作指令。固件的更新通常充满安全漏洞。如果恶意实体能够将一块受到危害的固件提供给计算机系统,则破坏可能是严重的,这是因为在计算机系统的操作期间,固件通常是低于标准的病毒级别保护的级别。因此,在平台固件的更新期间,安全是极其重要的。0011 在许多实施例中,在计算机系统中启动了平台固件铠装技术(platform firmware armoring technology,PFA。
18、T)模式。PFAT模式限制了大多数实体更新平台固件的能力。确切地说,PFAT模式能要求在安全认证代码(AC)模式下由认证代码模块(ACM)执行系统管理固件更新。在标准的操作模式中,平台部件中心(PCH)可以停止任何写入到达存储。为了允许固件更新,逻辑可以调用ACM,并且ACM可以接着通过对CPU寄存器执行特定写周期以解锁固件存储来用于进行写入。在许多实施例中,ACM是仅有的可以执行特定写周期的实体,并且一旦解锁固件存储,ACM则是仅有的可以执行实际固件更新的实体。此外,ACM可以测量更新后的固件镜像以使用提供给CPU的公钥来验证其真实性。说 明 书CN 103119553 A2/9页70012。
19、 图1示出了能够安全更新平台固件的计算机系统的实施例。0013 示出了计算机系统100。计算机系统可以是台式机、服务器、工作站、膝上型电脑、手持型、电视机顶盒、媒体中心、游戏控制器、集成系统(例如在车中),或其他类型的计算机系统。在若干实施例中,计算机系统100包括一个或多个中央处理单元(CPU),也称为“处理器”。虽然在许多实施例中潜在地存在许多CPU,但是为了清楚,在图1示出的实施例中仅示出了CPU102。CPU102可以是公司的CPU或另一品牌的CPU。在不同的实施例中,CPU102包括一个或多个内核。示出的CPU102包括四个内核(内核104、106、108和110)。0014 在许多。
20、实施例中,每一个内核包括内部功能块,例如一个或多个执行单元、收回(retirement)单元、一组通用寄存器和专用寄存器等。在单线程内核中,每一个内核可被称为硬件线程。当内核是多线程或超线程时,则在每一个内核内操作的每一个线程也可以被称为硬件线程。因此,运行在计算机系统100中的执行的任意单线程均可被称作硬件线程。例如,在图1中,如果每一个内核是单线程的,则在系统中存在四个硬件线程(四个内核)。另一方面,如果每一个内核是多线程的并且具有同时维护两个线程状态的能力,则在系统中存在八个硬件线程(四个内核,每一个内核有两个线程)。0015 CPU102还可以包括一个或多个高速缓存,例如高速缓存112。
21、。在许多未示出的实施例中,可以实施除了高速缓存112以外的另外的高速缓存,使得在存储器和每一个内核中的执行单元之间存在多个级别的高速缓存。在不同的实施例中,可以用不同的方式分配高速缓存112。此外,在不同的实施例中,高速缓存112可以具有许多不同大小。例如,高速缓存112可以是8兆字节(MB)高速缓存、16MB高速缓存等。此外,在不同的实施例中,高速缓存可以直接映射高速缓存、全相联高速缓存、多路组相联高速缓存,或具有另一类型映射的高速缓存。在许多实施例中,高速缓存112可以包括一个在所有内核间共享的大的部分,或者高速缓存112可以被划分为若干个独立的功能片(例如,对于每一个内核划分一个片)。高。
22、速缓存112还可以包括在所有内核间共享的一个部分和为用于每个内核的独立功能片的若干个其他部分。0016 在许多实施例中,CPU102包括提供与系统存储器116进行通信的接口的集成系统存储器控制器114。在另一未示出的实施例中,存储器控制器114可以位于计算机系统100中的分立的其他单元。0017 系统存储器116可以包括动态随机存取存储器(DRAM),例如双倍数据速率(DDR)类型的DRAM;非易失性存储器,例如闪存、相变存储器(PCM);或其它类型的存储器技术。系统存储器116可以是存储待由CPU102操作的数据和指令的通用存储器。此外,在计算机系统100内可以有其他潜在的设备,所述设备具有。
23、读取和写入系统存储器的能力,例如能直接存储器存取(DMA)的I/O(输入/输出)设备。0018 将CPU102与系统存储器116耦合的链路(即,总线、互连等)可以包括能够传输数据、地址、控制和时钟信息的一个或多个光纤、金属或其他电线(即,线路)。0019 平台控制器中心118(例如,I/O控制器中心)包括使得能够在CPU102和外部I/O设备之间进行通信的I/O接口。该中心可以包括一个或多个I/O适配器,例如I/O适配器120。I/O适配器将在CPU102内使用的主机通信协议转换为与特定I/O设备(例如I/O设备122)兼容的协议。给定的I/O适配器可以转换的一些协议包括外围部件互连(PCI)。
24、、通用串行总线(USB)、IDE、SCSI和1394“火线”等。此外,可以有一个或多个无线协议I/O适说 明 书CN 103119553 A3/9页8配器。无线协议的示例有蓝牙、基于IEEE802.11的无线协议,和蜂窝协议等。0020 在许多实施例中,控制器设备124驻留在计算机系统100内。控制器设备124可以并入多个功能。例如,RAID存储控制器设备可以存在于计算机系统100内。RAID控制器可以管理硬盘驱动器阵列或固态硬盘(SSD)阵列。控制器设备的其他示例可以是分立式带外管理引擎、嵌入式微控制器,或其它类型的控制器。0021 CPU内高速接口126可以提供耦合到一个或多个另外的CPU。
25、的链路的接口,并且允许进行CPU内通信。例如,CPU内高速接口可以是快速路径互连或其他类似的接口。0022 虽然没有示出,但是在许多实施例中,计算机系统100包括能够提供使一个或多个客户操作系统(OS)运行在虚拟机(VM)环境中的虚拟化环境的硬件和软件逻辑。虚拟机监视器(VMM)或管理程序可以在系统内的逻辑中实现,以隔离每一个VM的操作环境(即,使每一个VM和OS以及运行其中的应用与系统中存在的其它VM隔离的,并且不会感知系统中存在的其他VM)。0023 在许多实施例中,在系统100中存在管理引擎128。管理引擎可以包括多个特征,所述特征包括涉及远程管理、安全管理和电源管理的管理逻辑。在许多实。
26、施例中,管理引擎128使用带外(OOB)通信通道,其在计算机系统100中运行的操作系统(OS)的级别之下操作。OOB通道通常将能够维持与远程系统的通信而不论OS的状态。在许多实施例中,虽然计算机系统100处于低功率状态或完全关闭,但是OOB通道也能继续通信。在一些实施例中,管理引擎128包括主动管理技术硬件逻辑。在其他的实施例中,使用了另一形式的硬件逻辑。0024 在许多实施例中,固件存储在计算机系统100中。存储在计算机系统100中的任意单元的固件可被称为“平台固件”。更具体地,可以存在多种类型的固件。例如,系统管理固件存储单元130可以存储系统管理固件132。系统管理固件130可以包括可扩。
27、展固件、基本输入/输出系统(BIOS),和/或可被用来例如在引导过程期间提供用于计算机系统100的关键指令的其他类型的固件。在计算机系统中的另一固件可以包括用于控制器设备124的平台控制器固件134。可将这个固件存储在平台控制器固件存储136中,其与控制器设备124相耦合。平台控制器固件132可以提供关于管理控制器设备124的特征的指令。0025 在许多实施例中,在系统中的每个固件存储单元(例如,系统管理固件存储单元130、平台控制器固件存储单元136等)包括例如NAND闪存、NOR闪存、相变存储器的一种非易失性类型的存储器,或另一形式的非易失性存储器。0026 虽然为了清楚的目的而没有示出,。
28、但是CPU可以具有另外的接口,例如处理图形和网络业务的高速I/O接口。在许多实施例中,这些高速I/O接口可以包括一个或多个PCI-Express接口。0027 计算机系统100存储代码来安全地启动认证代码模块(ACM)138,该认证代码模块138是CPU102调用并签名(即,模块的安全测量)的软件模块。可以使用CPU102的生产厂商管理的私钥利用非对称加密对ACM138进行签名。当CPU102调用ACM138时,首先使用提供的公钥的散列进行认证,所述公钥存储在CPU102、芯片组相关电路(例如分立的PCH),或在计算机系统中的其他硬件中。使用公钥对由内部私钥加密的信息进行解密。一般来说,公钥将。
29、是不变的。通过使用这些公知的安全程序来测量ACM138,能够证实模块为可信任执行环境。出于安全的目的,ACM可以运行在认证代码(AC)模式中。当在AC模式中时,所有说 明 书CN 103119553 A4/9页9的系统中断和事件都不可中断ACM,并且保护ACM不受其他系统和DMA代理的影响。当以AC模式运行时,仅有一个硬件线程是活动的,因此集合所有其他硬件线程并使其进入静止/睡眠状态。0028 在计算机系统100的首次引导期间或在此之前,可以提供固件更新公钥140并将其存储在系统管理固件存储130中。可以使用固件更新公钥140来认证固件镜像信息。在一些实施例中,排他地使用公钥140用于认证固件。
30、镜像。虽然使用了术语“公钥”并且一些实施例存储了实际字母数字、未加密密钥,但是在其他的实施例中,“公钥”可以指公钥的散列。可将公钥存储在处理器中的只读存储器(ROM)中或其他存储单元。可以存储散列而非完整的公钥来潜在地节省存储空间。将被写入到计算机系统中的固件镜像可以包括公钥。然后可以散列化在镜像中的公钥并将其与已经存储在系统ROM中的公钥的散列进行比较。在某些实施例中,出于另外的安全目的可以将散列加密。0029 在许多实施例中,计算机系统100能够进入平台固件铠装技术(PFAT)模式。PFAT模式致使平台固件的锁定。当在PFAT模式中时,仅允许运行在AC模式中的ACM执行对计算机系统100中。
31、的固件存储单元的更新(即,写入)。并且甚至要求ACM执行特定的过程以允许对平台固件存储进行写入。一旦在PFAT模式中,计算机系统不能退出该模式。在许多实施例中,在每次计算机系统引导时进入的PFAT模式致使任何固件所在的存储器地址空间锁定。例如,因为系统管理固件存储130通过平台控制器中心118与CPU102相耦合,所以任何针对系统管理固件存储130的写入会路由通过平台控制器中心118。当系统在PFAT模式中时,平台控制器中心118将拒绝任何向保留用于系统管理固件存储130的存储器单元的尝试性写入(没有首先使用安全的基于ACM的解锁程序)。安全的基于ACM的解锁程序将在下面讨论。0030 在许多。
32、实施例中,在引导过程期间在固件内执行的代码将设置启动PFAT模式的一次写入寄存器。例如,位于平台中的PFAT管理寄存器可以具有PFAT启动位来启动PFAT模式。在一些实施例中,PFAT管理寄存器位于平台控制器中心118(PFAT寄存器142A)中。在其他的实施例中,PFAT管理寄存器位于CPU非内核的其他地方(PFAT寄存器142B)。这种寄存器可以具有与管理PFAT模式相关的若干个位。例如,PFAT寄存器可以包括PFAT模式启动位,当设置所述启动位时启动PFAT模式。另外,PFAT寄存器还可以包括PFAT模式锁定位,当设置所述锁定位时不允许进一步更新PFAT模式启动位(至少到系统完全重置前)。
33、。锁定位消除了恶意实体在计算机系统100正常操作期间使PFAT模式失效的能力。0031 如讨论的,一旦在PFAT模式中,则不允许定期的向表示系统管理固件存储130的存储器地址空间写入。在许多实施例中,当计算机系统100进入PFAT模式时,平台控制器中心118设置内部PCH锁寄存器144,其指示向系统管理固件存储130的写入是不允许的。当设置PCH锁寄存器114时,平台控制器中心118将丢弃任何尝试向固件存储130写入的事务。0032 此外,在许多实施例中,运行在OS顶层的固件更新逻辑146存在于系统存储器116中。固件更新逻辑146可以接收更新在计算机系统100中存在的特定固件的请求。这个更新。
34、请求可以来自网络上的系统管理员,它可以来自于系统内部(例如,来自修复OS的修改),或来自其他单元。在许多实施例中,更新固件的请求伴随着实际更新的镜像。固件镜像要么可以直接伴随请求,要么在稍后于接收并接受请求时到达。固件镜像可以是固件的完全重说 明 书CN 103119553 A5/9页10写(例如,新的版本)或可以是整个固件的较小部分的更新(例如,重写整个固件的小部分)。在某个时间点,固件更新逻辑146接收实际的更新镜像。固件更新镜像存储在系统存储器116中的固件镜像测试存储148中。一旦固件更新逻辑146将整个镜像存储到测试存储中,则调用ACM138并且系统进入AC模式。在从运行固件更新逻辑。
35、146的标准模式转换到运行在AC模式中的ACM138期间,固件更新逻辑146将指向系统存储器116中的固件镜像测试存储148单元的指针传递给ACM138。这种传递可以使用在CPU102中的寄存器来存储指针,或者指针可以存储在系统存储器116中的已知传递单元。0033 一旦在AC模式中并且准备好存储固件镜像的单元,ACM138使用公钥140来初始化固件镜像的认证程序。认证程序使用不对称加密来解密并且测量接收到的固件镜像。在许多实施例中,可以使用存储在计算机系统中的不可变的公钥来验证从供应商处接收到的固件镜像是可信的。在许多实施例中,公钥对任何实体是可取得的,在其他的实施例中,一组有限的实体具有访。
36、问特权来读取存储公钥的存储单元。例如,在一些实施例中,在AC模式中的ACM138是仅有的能够访问存储在CPU102中的公钥140的实体。0034 ACM138执行公钥测量以认证存储在固件镜像测试存储148中的固件镜像。如果能够成功认证固件镜像(即,镜像的安全性没有受到危害),则ACM138对CPU102中的锁寄存器150执行特定的写周期。在许多实施例中,在CPU102中的锁寄存器150是特定的MSR(模型相关寄存器),其仅能被AC模式中的ACM写入。因此,这个寄存器对于标准模式的OS或另一类似的实体来说是禁止的。对锁寄存器150的这个特定写周期致使CPU102生成向平台控制器中心118发送的安。
37、全的基于ACM的解锁命令。当这个安全的解锁命令到达时,在平台控制器中心118内的逻辑将清除PCH锁寄存器144。当清除了PCH锁寄存器114时,平台控制器中心118将允许写入系统管理固件存储130地址空间。0035 一旦允许写入固件存储,ACM138就将认证的固件镜像从固件镜像测试存储148单元拷贝到系统管理固件存储130。一旦拷贝结束,ACM138可以这样发出随后的锁命令:通过向CPU锁寄存器150发出另一特定写周期,该写周期接着致使生成向平台控制器中心118发送的安全的基于ACM的锁命令。当平台部件中心118接收到锁命令时,在中心内的逻辑设置PCH锁寄存器144,并且再一次阻止系统管理固件。
38、存储130接收任何写入。0036 在图1中的前述示例涉及系统管理固件132的更新。在另一示例中,更新可以涉及平台控制器固件134。0037 在计算机系统100每一次引导期间,可以生成短暂的(即,临时的)密码。生成这个短暂密码的逻辑可以在CPU102中、在系统管理固件132中或在计算机系统100的其他单元中。短暂密码通常由操作系统在计算机系统的正常操作之前的早期引导序列中生成。生成的短暂密码内部地存储在CPU102中的临时密码寄存器152中。还将这个同样的密码分配给在计算机系统中需要在正常操作期间与CPU进行安全握手的任何控制器或其他设备。例如控制器设备124的控制器可以具有内部临时密码存储单元154,用以存储在引导时间密码分配期间接收到的密码。通常在安全引导过程期间创建、分配并存储这个短暂密码来获得更高的安全性。安全引导过程比在正常操作期间更少可能受到危害,因此在这个时间期间分配短暂密码将使得密码更少可能被盗取。0038 随后,在计算机系统100完全操作之后(例如,正在运行OS),固件更新逻辑146可以接收更新平台控制器固件134的请求。当接收到这个请求时,进行关于将更新镜像拷贝说 明 书CN 103119553 A10。