CN101630353A - 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 - Google Patents
在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 Download PDFInfo
- Publication number
- CN101630353A CN101630353A CN200910139554A CN200910139554A CN101630353A CN 101630353 A CN101630353 A CN 101630353A CN 200910139554 A CN200910139554 A CN 200910139554A CN 200910139554 A CN200910139554 A CN 200910139554A CN 101630353 A CN101630353 A CN 101630353A
- Authority
- CN
- China
- Prior art keywords
- processor
- platform
- software image
- host
- voucher
- 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.)
- Pending
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
Abstract
本发明涉及在移动因特网设备上安全引导UEFI固件和UEFI感知操作系统的系统和方法,其中,在一些实施例中,本发明涉及增加平台所有者或管理员确保仅以所有者授权的方式执行固件的能力,诸如利用由安全性处理器所管理的签名组件。实施例通过在移动因特网设备(MID)中将耦合至安全性处理器的密码单元用作存储可信根(RTS)存储根密钥(SRK),将核心测量可信根(CRTM)扩展到统一可扩展固件接口(UEFI)平台初始化(PI)映象授权和引导管理器中。描述和要求保护其它实施例。
Description
版权公告
本文所包含的是受版权保护的资料。在本专利公开内容出现在专利商标局专利文件或记录中时,版权所有者不反对任何人复制本专利公开内容的复制,但在其它情况下始终保留属于版权的所有权利。
发明领域
本发明的实施例一般涉及移动计算平台,且更明确地,本发明的实施例增加了平台所有者或管理员确保仅以所有者授权的方式执行固件的能力,诸如利用签名的组件。实施例通过使用移动设备中的密码协处理器作为存储可信根(RTS)存储根密钥(SRK)可将核心度量可信根(CRTM)扩展到统一可扩展固件接口(UEFI)平台初始化(PI)映象授权和引导管理器中。
背景信息
存在用于安全引导的各种机制。统一可扩展固件接口(UEFI)规范定义了一种用于操作系统与平台固件之间的新接口模型。该接口由包含平台相关信息的数据表加上可用于操作系统及其加载程序的引导和运行时间服务调用组成。它们一起提供用于引导操作系统和运行预引导应用的标准环境。可在公共因特网上的URL www*uefi*org/home处找到有关UEFI的更多信息。请注意,在本文档中用星号代替句点以防止因疏忽造成的超链接。UEFI标准可用于协助平台的安全引导。
UEFI规范2.1的第26章描述安全引导协议。所定义的协议提供特定的设备路径来访问通用的认证信息。可在任何设备处理上使用该协议用于获得与物理或逻辑设备相关联的信息。公钥和证书可保留在固件上并检查第三方(U)EFI驱动程序和操作系统(OS)加载程序的数字签名。将公钥绑定到平台已经是一个布署问题。安全性仅和平台安全存储公钥的程度相同(即可怕的“密钥管理问题”)。在引导时撤消公钥或证书是不可能的,因为早期的引导环境不能访问网络并从服务器查明证书撤消列表(CRL)。仿造的加载程序可被插入到平台中以绕开安全性。因而,这种安全引导的方法在引导时仍易受到攻击。
移动设备以及更明确的移动因特网设备(MID)已经变得普遍使用。存在用于引导移动设备的各种机制,它们可能与用于引导台式或膝上型系统的方法不同。在台式和服务器平台中,可信平台模块(TPM)组件可用于协助安全引导,该TPM是一种由可信计算组(TCG)提供文档的芯片类型,其最新批准的变体是1.2版本。当这些类型的平台与诸如AMD公司的Presidio及其SKINIT指令或英特尔公司的使用SENTER指令的可信执行技术(TXT)(即akaLaGrande技术)之类的处理器/芯片组技术结合时,TPM可用于保护固件在这些类型的平台上的引导。然而,MID处理器不支持可信执行技术(TXT)或TCG 1.2TPM,因此要求固件的“安全引导”和平台中的可信根作为操作系统(OS)自举的一部分。需要在操作系统开始之前保护MID上的固件引导以增加安全性。因为诸如音乐和其它多媒体之类的高价值的内容可在MID系统上使用,需要内容供应商所要求的更强保护,所以这尤其正确。
附图简述
本发明的特征和优点将通过本发明下面的详细描述及附图而变得显而易见,这些附图是:
图1是例示用于确保在使用签名技术的系统中引导和系统完整性的签名密钥的分层结构的框图;
图2是例示根据本发明实施例当平台所有者取得所有权并借助于安全性处理器产生平台凭证时的流程的图;
图3是例示根据本发明实施例用于取得所有权并登记平台凭证的方法的流程图;
图4例示用于实现本发明实施例的示例性C代码;
图5是例示根据本发明实施例的证书数据库的示例性结构的框图;
图6是例示根据本发明实施例的平台所有者登记第三方认证凭证的方法的流程图;
图7是例示根据本发明实施例的平台所有者登记数字签名的方法的流程图;
图8是例示根据本发明实施例用于授权UEFI可执行程序的示例性方法的流程图;
图9是例示根据本发明实施例具有主处理器元件和安全性处理芯片组的平台的框图;以及
图10是根据本发明实施例具有嵌入式安全性处理器的示例性密码单元的框图。
详细描述
本发明实施例是与移动设备有关的系统和方法。为了说明,相关于移动因特网设备(MID)描述本发明实施例。然而应当理解,本发明实施例可应用于蜂窝电话、便携式MP3播放器、个人数字助理(PDA)或其它没有因特网访问的移动设备。本发明的实施例增加了平台所有者或管理员确保仅以所有者授权的方式执行固件的能力,诸如利用签名组件。实施例可通过使用移动设备中的密码协处理器作为存储可信根(RTS)存储根密钥(SRK)来将核心度量可信根(CRTM)扩展到统一可扩展固件接口(UEFI)平台初始化(PI)映象授权和引导管理器中。
在本说明书对本发明“一个实施例”或“一实施例”的引用指结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因而,出现整个说明书中各处的短语“在一个实施例中”不一定全都指同一实施例。
为了说明的目的,阐述了特定配置和细节以便提供对本发明的彻底理解。然而,对于本领域技术人员显而易见的是,本发明实施例可在没有本文提供的特定细节的情况下实践。而且,省略或简化了众所周知的特征以便不掩盖本发明。在本描述中给出了各种示例。这些仅仅是本发明特定实施例的描述。本发明的范围不受限于给出的示例。
本发明的实施例采用不透明的“OEM引导模块”并应用基于平台初始化(PI)的固件的UEFI安全引导和基于策略的分派,以实现安全性解决方案且支持出售MID的初始设备制造商(OEM)和初始设计制造商(ODM)。明确地,该技术涉及安全引导平台驱动程序、第三方选项ROM(O-ROM)和OS加载程序,诸如Winload.efi(用于微软Windows)和eLilo.efi(用于Linux)。eLilo是用于基于EFI的PC硬件的标准Linux引导加载程序。本实施例消除了在平台所有者必须在调用经认证的各种服务之前签名有效载荷时暴露私钥的危险。本实施例还补充了单点登录(Single Sign-On,SSO)情景和一触开通服务(1-touch provisioning)。例如,平台所有者可用同一授权数据取得OS和OS前阶段两者的所有权。
本发明的实施例使用MID上的安全性处理器来管理签名私钥。这允许带有安全性处理器策略引擎的UEFI安全引导无缝地集成到可管理性和服务提供的基础结构中。
参考图9,示出了例示具有主或主机处理器元件910和安全性处理芯片组930的平台900的框图。在本发明的实施例中,平台900具有主运行时间环境910,其中主处理器911需要安全OS引导来保护不受恶意软件侵害。处理器911以通信方式耦合至系统存储器905。安全性处理器芯片组单元930可具有安全性引擎或处理器931、系统控制器(ARC)933(它在加载x86固件之前完成某些平台初始化)和专用只读存储器(ROM)935。ROM可用于进一步保护代码和数据以确保安全引导;当它是只读时,代码和数据可不被恶意篡改改变。闪存920耦合至安全性处理器,并且保存用于引导主处理器911的引导软件映象921。重要的是确认要加载到主处理器911上的引导软件映象是授权的且无恶意软件。
在一实施例中,验证过的引导可使用安全性芯片组930来实现。安全性引擎931配置为实现密钥和签名过程,如下所述。由于安全性处理器931是一个专用设备,不能被主处理器911访问,所以保护安全性引擎不受到篡改。安全性引擎配置为在允许主处理器引导之前确认主处理器的引导ROM。在现有系统中,例如基于英特尔CoreTM 2Duo的个人计算机(PC),主处理器只是在无确认的情况下自动地将引导控制传递给在闪存部分——即引导ROM——中任何一切。在一些台式、膝上型或其它全性能PC中,TXT技术可介入以确认引导ROM和后续的处理。平台进入安全状态晚于进入开始过程;明确地,由SENTER指令开始的TXT微代码将同步平台上的所有处理器并且允许测量开始环境(MLE)独立于在它之前运行的所有软件,包括选项ROM的软件和平台BIOS。然而,TXT处理在MID和其它低成本平台上不可用。在实施例中,可将安全性处理器增加到MID上以确认引导ROM,作为其它系统中的TXT的替换。然而,在具有安全处理器的MID的实施例中,仅OEM引导模块能够被验证。
OEM引导模块951本质上是UEFI固件。安全性处理器930确认OEM引导模块951。一旦确认,安全性处理器930将OEM引导模块951复制至主处理器911的SRAM 905。OEM引导模块可包含预EFI初始化(PEI)和驱动程序执行环境(DXE)。要求这些阶段在开始操作系统(OS)之前运行。在一些系统中,一旦执行OEM引导模块,就从PEI阶段开始OS加载程序953。OS加载程序953开始可信OS 955。然而OS的信任在这些系统中是假设的,而非真正验证过。除了仅验证OEM引导模块951之外,允许本发明实施例确认OS加载程序和其它EFI模块。这提供存储多个签名OS实例并验证签名应用的能力。
应当理解,在现有的MID系统中,引导模块、OS加载程序和OS代码可存储为一个可执行映象。在MID上实现UEFI架构允许分离引导和操作系统加载的每个阶段的映象。本发明实施例利用UEFI架构构造,因此每个单独的映象具有其自己的数字签名,并且可独立地验证。在需要时,这还允许各个单独组件被更新或改变。
在一些实施例中,可能需要提供在MID中引导替换的操作系统的能力。例如,对于蜂窝电话用户更为方便的是,如果多个操作系统已经加载到电话上,或者能够远程加载并适当授权,则可改变同一智能电话上对不同蜂窝载体的预订。在该情形中,用户所需要的是,请求从一个新载体重新引导并且用其定制软件使该载体重新引导MID(智能电话)而非强迫用户购买新电话。还可能需要的是,基于设备中较佳的应用引导不同的操作系统,即使在处于同一载体的时候。然而,重要的是,要对新的操作系统开始进行确认和授权。将理解的是,即使为说明的目的参考了移动因特网设备,但可选择性地在移动设备上安装其它应用,诸如照相机能力或音乐存储和播放,但不要求因特网访问来实现本发明。
当MID使用UEFI架构时,替换的操作系统可使用UEFI OS加载程序,UEFI固件可与安全性处理器通信并且在非易失性存储器中存储用于签名EFI驱动程序和加载程序的认证变量和证书;认证变量可以存储在安全性处理器的非易失性存储器中和/或平台闪存的安全区中并且由安全性处理器的RSA引擎签名。安全性处理器可保证驱动程序执行环境(DXE)和预EFI初始化环境(PEI)代码是正确且未损坏的。DXE阶段随后可使用安全性处理器的能力来管理用于UEFI安全引导的凭证和证书。
安全性处理器具有其自己的存储器存储,它是主处理器不能访问的。密钥和证书可安全地存储在安全性处理器存储中,没有被在主处理器上执行的恶意代码篡改的危险。在另一个实施例中,密钥和证书可存储在主机处理器闪存的安全区中,它是主机处理器不可访问的。该划分可由平台芯片组支持的,并且只允许安全性处理器访问。
为了验证OEM引导模块,一般OEM将公钥存储在MID的芯片组上。OEM引导模块被签名并可用公钥来检查它。当安全性处理器验证了经签名的模块时,芯片组将该模块发布给主处理器以开始引导。
所需要的是,维护安全多媒体栈961、可安全管理性栈963(即媒体播放器软件诸如来自RealNetworks公司的Helix)并且验证要在MID上执行的各种应用之中的签名应用965;如果预引导环境不是可信的,则平台不能对这些应用建立信任,直至并包括OS加载程序。除了OEM引导模块之外,本发明的实施例确保这些应用得到验证。因而,本发明的实施例确保在MID主处理器上执行的所有模块已经使用密钥和签名技术进行验证和认证,其中密钥是由安全性处理器管理的。
现在参考图10,示出根据本发明实施例具有嵌入式安全性处理器的密码单元。密码单元1000具有嵌入式安全性处理器931。安全性处理器931可通信地耦合至ROM 935和系统RAM 937两者。密码单元1000还可包含安全调试管理器1010。安全调试管理器可耦合至联合测试行为组织(JTAG)标准测试接入端口1011和用于使用边界扫描测试印刷电路板的测试接入端口的边界扫描体系架构。密码核心1020一般是固定功能的硬件,它可耦合至环形振荡器1021。密码单元1000具有其自己的时钟1030和电源1040。时钟1030可由外部时钟1031驱动或与其同步。密码核心1020可加速由RSA算法或其它用于签名和验证的不对称和对称密码学算法所使用的模算术。由于使用X86处理器完成这些功能的成本,通常针对MID系统将固定功能硬件用于密码,其中成本是按价格、尺寸、效率和功率要求来度量的。密码单元1000的电源可由外部电源1041和复位1043单元来驱动或复位的。密码单元1000可具有非易失性存储器(NVM)管理器1050来控制非易失性存储器(NVM)单元1051。
密码单元1000可具有与高级高性能总线(AHB)主模块和高级外设总线(APB)从模块的系统接口1070。AHB互连于智能安全性处理器与主机之间。AHB可以保持若干未完成的命令。这些命令中的一些诸如密码操作可发送到APB以便在固定功能硬件中处理它们。让固定功能硬件处理密码是重要的,因为用于密码的特制电路的每秒数百万指令(MIPS)/瓦特效率比在通用处理器上处理密码要高得多。
在一实施例中,用于确保UEFI引导得到验证和认证的证书可存储在安全性处理器可访问的非易失性存储器1051中。诸如遵循x509v2标准的证书之类的证书各自存储n元组的信息。该信息可包括公钥、证书有效的日期/时间以及来自某个可信第三方(TTP)诸如Verisign或OS销售商的证书签名。如此,公钥1053可存储在密码单元1000的芯片组NVM 1051中以协助验证。用于认证引导的过程将在下面进一步讨论。在实施例中,所使用的证书签名和密钥技术与在使用签名密钥的现有系统中所使用的相似。然而,现有方法不能直接用在无篡改危险的MID主处理器上。
图1例示用于确保在当前使用签名技术的系统中的引导和系统完整性的签名密钥的分层结构。该签名分层结构是具有根和叶的规范存储。由虚线作为轮廓线的密钥可驻留在写保护存储中。在本发明的实施例中,该保护存储可由安全性设备访问,但不能由主处理器或设备操作系统访问。在示例性UEFI实施例中,PV-00、PV-01、PV-30和PV-31(101a-d)表示用于保护UEFI受保护变量的密钥。这些受保护变量(PV)指向签名的UEFI加载程序和驱动程序。KeK0 pub,KeK1 pub,KeK2 pub和KeK3 pub(103a-d)表示密码核心存储的公钥。UEFI固件通过发送到密码核心的命令使用公钥103来检查嵌入在UEFI驱动程序和加载程序中的数字签名以查看签名是否正确。一些密钥可不对应于受保护变量。每个操作系统加载程序一般具有其自己的密钥。例如,平台可具有Windows加载程序和Linux加载程序两者。两者都需要被保护。每个加载程序将具有其自己的公钥。每个OS销售商一般将数字签名它们的加载程序产品。平台密钥(PK)是平台所有者——诸如公司信息技术(IT)部门——给予平台的密钥。平台使用PK来加密/签名所有其它密钥。例如,来自OS销售商或独立硬件销售商(IHV)的密钥KEK 103是用PK 105来加密的。换言之,平台固件使用PK来保护KEK的安全。
平台_管理员_r107表示系统或平台的管理员或IT专业人员。该管理员一般开启密钥/签名/加密功能,并且安装PK 105。在一些系统中,平台管理员107可在管理控制台处并且通过网络诸如通过英特尔主动管理技术(iAMT)连网发送命令至UEFI机器来远程地安装和启动引导功能。对于蜂窝电话MID系统,平台管理员可通过无线蜂窝通信或者通过因特网连接,采用至管理控制台的可信信道(诸如TLS/SSL)或者使用其它技术诸如OMA(OpenMobileAlliance.org)协议来开启密钥/签名。
远程服务器110可在活动目录111中保存诸如平台密钥113a或OS加载程序密钥113b之类的公钥和证书和撤消列表。活动目录111是企业注册表。该注册表可保存有关所管理的平台的信息。良好/有效的密钥列表可存储在活动目录111中。在其它系统中,可管理性引擎(ME)或英特尔主动管理技术(iAMT)设备访问远程服务器110上的活动目录111来确定密钥是有效的还是已经被撤消。在替换方案中,ME可访问其它远程服务器或者网络例如通过公共因特网来检索良好或撤消的密钥列表。在本发明的实施例中,安全性处理器用于管理密钥和证书。尽管证书列表可存储在安全性处理器可访问而主处理器不可访问的非易失性存储器(NVM)中,但证书可用与上面所述的相同方式通过因特网访问在运行时间中更新或撤消,或者通过平台管理员将新的证书集合通过无线通信路径推压到MID来更新或撤消。
在实施例中,安全性处理器是MID上有源硬件片。UEFI安全引导增加用于强制确认的可信根(RTE/RTV),尽管它支持“安全引导”。事实上,如果软件状态不满足某种完整性度量诸如白名单中的散列或数字签名,则RTE和“安全引导”可使引导中止。UEFI允许这两种情形但提倡后者,因为可能的散列列表是无限的,这会是一个管理恶梦;公钥允许一个间接的层来将密钥映射到少量可信源,因而减轻了与布署相关联的管理问题。
本发明实施例所解决的问题包括:(1)拥有单一策略机制来管理第三方UEFI驱动程序、应用和OS加载程序的证明;以及(2)一旦平台所有者在OS前或OS中取得系统所有权,就授权第三方UEFI驱动程序、应用和OS加载程序执行。
安全性处理器允许平台所有者、平台固件和第三方(即OSV、OEM等)之间的信任关系。可使用两种类型描述信任关系的凭证。首先,可使用平台凭证来建立平台所有者与固件之间的信任关系。平台所有者创建平台凭证作为包含不对称密钥对的根凭证,它用于取得所有权并登记所有其它凭证。其次,第三方凭证可建立第三方销售商与固件之间的信任关系。平台所有者可登记可信第三方销售商的凭证,它们可用于授权第三方可执行程序的执行。这种凭证可包含销售商产生的公钥和销售商专用信息两者。
由于平台凭证包含公钥并且用于登记第三方凭证,因此本地机器要求明确的私钥操纵(即签名有效负荷)。在MID中,难以像在台式系统或其它现有系统中那样处理这两个问题。因而,本发明的实施例提供一种创新方法,它使用安全性处理器作为存储的可信根(RTS)来产生平台凭证并且关于第一个问题安全地存储私钥。对于后一问题,实施例使用安全性处理器在内部执行签名操作,这将不暴露任何私钥。
在一实施例中,从平台所有者的角度定义两个操作模式:建立(SETUP)模式和用户(USER)模式。在后一模式中强制实施安全性策略。明确地,建立的情况是,机器开放着以获得被提供的证书,而用户模式的情况是,UEFI固件将变成验证可信根(RTV)并且仅调用经数字签名的且相关联的验证公钥在安装在MID设备上的证书中的UEFI OS加载程序或驱动程序。
图2例示在平台所有者取得所有权并且借助于安全性处理器产生平台凭证的流程。图2演示了示例性实现。建立模式201取得所有权并且登记平台凭证,将控制传递给用户模式203。用户模式203登记第三方凭证。用户模式203还放弃所有权还给建立模式201。
这后一操作可在MID系统已经受到恶意软件攻击且UEFI固件不再引导机器时发生,因而让机器保持着像制门器一样的用途。自然响应用于设备所有者将它送回载体/厂商。回到工厂里,特定的硬件标记/刺激/或某种其它机制可用于将机器从用户模式转移回建立模式以便重新提供凭证和/或软件加载到机器上。
图3是例示根据本发明实施例取得所有权并且登记平台凭证的方法的流程图。它例示一种产生或更新设备上的证书数据库的可能方法。在蜂窝电话情形中的平台管理员310可以是蜂窝电话公司,它在框301确定所有权安装是否必要。如果是,则管理员可在框303断言物理存在(physical presence)。这通常在设备离开管理员的控制之前在制造期间完成。在一些实施例中,可使用带外(out-of-band)存在而非物理存在来登记凭证。可发送SecProcForceClear命令到安全性处理器以清除所有权。随后在框305用秘密的平台密钥(PK)清除所有者。在安全性处理器上进入建立模式。当所有者已经安装并且在清除所有权之后并进入建立模式时,可在框307设置管理口令。现在可在框309创建密钥对作为平台凭证的一部分。在框311可产生密钥对340,具有平台公钥PKpub、作为平台私钥(PKpri)的函数的加密操作(ESRK)。术语ESRK(PKpri)表示在平台私钥上的加密操作。在从不离开安全性处理器的私钥(PKpri)上的加密操作因而解决了一个公钥密码学问题,即如果有人得到你的私钥,他们就拥有了机器。安全性处理器代理在私钥上的这些操作,使得x86UEFI代码从来不必处理私钥本身。密钥对可存储在非易失性存储330中。可在安全性处理器320中执行SecProcCreateKey命令以产生密钥对。一旦创建了密钥对,安全性处理器就进入用户模式。在框313中可登记其它凭证。
图4例示用于实现本发明实施例的示例性C代码。在允许加载和开始每个映象之前,必须认证每个映象。在实施例中,UEFI映象通常是便携可执行程序和共同目标文件格式(PE/COFF)可执行程序映象。每个PE/COFF映象具有称为安全性目录的部分。安全性目录包含映象的数字签名和相关联的公钥。PE/COFF映象的散列和相关联的公钥可传递给安全性处理器以确认映象。安全性处理器可从证书数据库检索适当的证书并且使用芯片组上的密码硬件功能来验证映象。参考图4,对于每个UEFI映象,执行函数AuthenticateImageWithSecProc()401并且作出有关是否已经返回安全性违反(EFI_SECURITY_VIOLATION)的判断403。如果是,则执行下一个映象(NextImage())405函数来认证下一个映象。如果认证了引导或固件的映象,则通过执行LaunchImage()函数407来开始它。用安全性处理器对映象进行认证(AuthenticateImageWithSecProc())401包括确定映象凭证(Image Credential)是否在第三方证书数据库409内以及映象凭证是否由第三方认证证书数据库411验证过。如果是,则函数返回成功413。如果这些检查中任一失败,则函数返回安全性违反(EFI_SECURITY_VIOLATION)415。
这些凭证可存储为UEFI EFI证书数据库(EFI_CERTIFICATE_DATABASE)类型440,后者存储在持久或非易失性的存储中。本发明的实施例还可用于授权网络加载的预引导执行环境(PXE)映象。安全性处理器可用所提供的NVM和认证访问来保护该存储的安全。
应当理解,各种操作系统和加载程序可使用不同的格式,即不总是PE/COFF。安全性处理器可配置为接受所有允许的操作系统的格式。无论什么格式,映象将包含与安全性处理器可访问的而设备上的主处理器不可访问的证书数据库匹配的数字签名和公钥。
可用于证书数据库的数据结构的示例也在图4中示出。EFI_CERTIFICATE_DATABASE 440可包含数据库大小、证书列表计数和证书列表数据。证书列表(EFI_CERTIFICATE_LIST)数据结构450可包含证书列表大小、证书计数、证书类型、证书头部大小、证书头部和证书。证书数据结构可包含标识符和数据。标识符可以是全局唯一标识符(GUID)。证书数据(EFI_CERTIFICATE_DATA)460可以是具有GUID和任何大小的文本字段的结构。
图5更直观地例示根据本发明实施例的UEFI证书数据库500的结构。在左边示出数据库的一般结构,它具有头部501和三个证书列表503a-c。在右边示出证书列表510,它具有列表大小511、证书计数513、类型515、头部大小517、证书大小519、证书头部520和具有标识符521a-n和数据523a-n的各个证书530。
图6是例示根据本发明实施例平台所有者登记第三方认证凭证的方法的流程图。该登记可用于相关联的第三方可执行程序集合的单一授权执行,例如用于认证由OEM提供的所有UEFI驱动程序的凭证。在框601,平台管理员310开始检查以确定平台密钥(PK)是否已经产生。在框603通常要求口令询问来认证管理员。在框605,管理员授权签名第三方凭证。该签名可开始在安全性处理器320中执行创建密钥(SecProcCreateKey)、签名(SecProcSign)和卸载密钥(SecProcUnloadKey)函数。合适的存储根密钥(ESRK)640操作由安全性处理器从非易失性存储330返回。随后在框607登记第三方凭证,并且在609在数据库中登记签名;明确地,签名的登记是让证书连同其公钥存储在防篡改的位置中,或者保存可执行程序的散列供在后续的映象验证中使用。
图7是例示根据本发明实施例平台所有者登记签名的方法的流程图。该登记可用于与其它可执行程序无关地授权可执行程序的执行。在框701,平台管理员301开始签名的登记。在框703,使用Security_Arch_Protocol(安全性架构协议)认证签名。如果认证成功,如在框705确定的,则在框709可对管理员实行口令询问。如果认证未成功,则在框707使用平台销售商专用的策略作出有关是否无论如何应当添加签名的判断。如果否,则在框740在未完成的情况下退出登记。如果无论如何要添加签名,则处理继续在框709进行口令询问。一旦管理员输入了正确的口令,则在框711由安全性处理器320加载密钥(SecProcLoadKey)、签名(SecProcSign)且随后卸载密钥(SecProcUnloadKey)。随后在框713,通过设置变量(SetVariable函数)在NVM 330登记签名。过程在框760完成。这是执行管理动作来添加其它签名至数据库的过程。这在设备所有者希望开始新的操作系统加载程序或应用(其证书未在设备制造期间登记)时发生。
图8是例示根据本发明实施例授权UEFI可执行程序的示例性方法的流程图。在框801上电或复位MID。在框803存储初始密钥;这可以是工厂提供的NVM/数据库。在框805如上所述,安全性处理器通过相对于公钥检查签名来确定UEFI确认是否已经成功。如果确认失败,则在框809确定是否授权UEFI可执行程序。被授权的应用是签名的应用,在平台中具有相关联的验证公钥,并且UEFI映象中的数字签名通过验证测试。可稍后执行确认动作,例如在框823,其中映象可能还没有在数据库中,但在OS运行时间期间,OS可与远程权威通信并查询映象的状态或者查询用户以确定用户下次是否希望登记/运行该映象)。
如果UEFI可执行程序未授权,则在框813中可尝试下一个引导选项。在一些情形中,该引导选项可以是完全失败的设备引导。在其它情形中,引导选项可引导管理模式OS或者某种减少功能的OS。在框813尝试下一个引导选项的情况下,引导可推迟直至在框815平台管理员将UEFI签名添加到系统配置表。
当确认成功时,随后在框807可启动UEFI可执行程序。当确认失败但准予授权时,可在框807启动可执行程序之前,在框811将UEFI可执行程序签名保存到数据库830。
一旦在框821中已经开始OS,则可在框823作出有关OS应用是否由UEFI可执行程序确认的确定。如果否,则进程在框850结束。如果确认了,则在框825更新UEFI可执行程序签名数据库且进程在850结束。
移动因特网设备架构可故意避开“PC兼容性”以便更紧密地将蜂窝市场作为目标。这样做,他们省略/失去某些带内(in-band)处理器可信平台技术,诸如类似SENTER的TXT GETSEC指令。代之以MID架构可选择专用集成的安全性处理器,如上所述。这样做,MID与“OEM引导模块”有环境系统(eco-system)缺口要填。该“缺口”是因为BIOS销售商习惯于构建用于PC/AT平台的引导代码。通过与PC/AT分离,传统BIOS将不再在MID上工作。用于早期初始化的UEFI平台初始化(PI)代码和用于OS加载的UEFI接口的模块化平台无关设计在这里是有利的。可以将UEFI和PI代码的目标改为用于这个非传统(即非PC/AT)平台。通过UEFI可添加更多的形式并且还使用UEFI安全引导的所引入的安全性来联合安全性处理器一起亲密工作以将制造商信任保持到运行时间环境中。明确地,可教导安全性处理器来理解签名的UEFI PI固件卷,并且在DXE中的UEFI实现使用安全性处理器来存储证书(连同用于映象验证的公钥)并认证(即运行类似SHA的单向散列功能和类似RSA的数字签名算法)UEFI OS加载程序和驱动程序。
本发明的实施例使用安全性处理器作为存储可信根(RTS)来执行密钥管理,诸如密钥产生和存储以及一些密码操作如有效负荷签名,而没有暴露私钥的危险,如上所述。在现有系统中,使用认证变量必须让某种带内代码签名认证变量的AuthInfo(作者信息)字段,这在没有屏蔽位置时是危险的。安全性处理器允许屏蔽位置并在平台本身签名认证变量;这与签名必须在脱离机器的远程签名服务器上发生的一些方案形成对照。这后一种脱离机器的签名是不方便的,因为这随后就必须每当更新或管理动作发生时就要将移动设备与远程服务器同步。
本发明的实施例还通过以自顶向下方式布署不同的凭证来建立凭证分层结构,换言之,从平台凭证到第三方认证凭证和第三方可执行程序凭证。这消除了对单一凭证的依赖并且还区分凭证发行者。而且,本发明的实施例补充了单点登录场景。例如,平台所有者可用相同的授权数据在OS和OS前两个阶段中取得所有权。
另外,使用安全性处理器的本发明实施例可禁止未授权代码的执行以避免运行恶意软件引起的损坏。
安全性处理器是供MID使用的基于硬件的安全性引擎,诸如用于数字权利管理(DRM)、可信引导和安全存储。安全性处理器还为密码功能(对称、PKI)、散列功能和证明提供硬件加速。安全性处理器解析DRM许可证/权利对象(RO)(例如电影可以观看多久、歌曲可以播放多久等)并提取用于内容解密的密钥,并且从不向系统存储器暴露密钥。安全性处理器还可使用从DRM许可证/RO文件提取的密钥解密DRM内容。
本文描述的技术不限于任何特定的硬件或软件配置;它们可在任何计算、消费电子产品或处理环境中发现应用性。这些技术可用硬件、软件或两者的组合来实现。
对于仿真,程序代码可表示使用硬件描述语言或其它功能描述语言的硬件,它实质上提供期望执行如何设计的硬件的模型。程序代码可以是汇编或机器语言或者可编译的和/或解释的数据。此外,在本领域通常认为软件的一种或另一种形式是采取动作或导致结果。这样的表达仅仅是陈述由处理系统开始对程序代码的执行使处理器完成动作或产生结果的简略方式。
每个程序可用用于与处理系统通信的高级过程或面向对象编程语言来实现。然而需要的话,程序可以用汇编或机器语言来实现。在任一情况下,语言可以是编译的或者是解释的。
程序指令可用于使得用这些指令编程的通用或专用处理系统完成本文描述的操作。可替换地,这些操作可由包含用于执行这些操作的硬连线逻辑的特定硬件组件来完成,或者由编程的计算机组件和定制的硬件组件的任何组合来完成。本文描述的方法可作为计算机程序产品提供,其中可包括其上存储着用于编程处理系统或其它电子设备执行这些方法的指令的机器可访问介质。
例如,程序代码或指令可存储在易失性和/或非易失性存储器中,诸如存储设备和/或相关联的机器可读或机器可访问介质,其中包括固态存储器、硬驱动器、软盘、光存储、带、闪存、存储棒、数字视频盘、数字通用盘(DVD)等等,以及更不寻常的介质如机器可访问生物学状态保存存储。机器可读介质可包括用于存储、发送或接收机器可读形式的信息的任何机制,并且介质可包括有形介质诸如天线、光纤、通信接口等,编码了程序代码的电、光、声音或其它形式的传播信号或载波可通过这些有形介质。程序代码可以分组、串行数据、并行数据、传播信号等形式发送,并且可以用压缩或加密的格式来使用。
程序代码可实现为在可编程机器上执行的程序,可编程机器诸如移动或固定计算机、个人数字助理、蜂窝电话和寻呼机、消费电子设备(包括DVD播放器、个人录像机、个人视频播放器、卫星接收器、立体声接收器、有线电视接收器)和其它电子设备,上述设备各自包括处理器、处理器可读的易失性和/或非易失性存储器、至少一个输入设备和/或一或多个输出设备。程序代码可应用于使用输入设备输入的数据,以执行所述实施例并产生输出信息。输出信息可应用于一或多个输出设备。本领域技术人员可了解到,所揭示的主题的实施例可由各种计算机系统配置来实践,包括多处理器或多核处理系统、小型计算机以及可嵌入到实质上任何设备中的遍布或微型的计算机或处理器。所揭示的主题的实施例还可在分布式计算环境中实践,其中其任务或部分任务可由通过通信网络链接的远程处理设备来执行。
尽管作为有顺序的过程描述了操作,但一些操作实际上可并行地、同时和/或在分布式环境中执行,并且存储在本地和/或远程的程序代码可由单一或多个处理器机器访问。另外,在一些实施例中,操作的顺序在不脱离所揭示的主题的精神的情况下可重新排列。程序代码可由嵌入式控制器使用,或者结合嵌入式控制器使用。
尽管已经参考例示实施例描述了本发明,但该描述不旨在以限制意义来解释。例示实施例以及本发明的其它实施例的各种修改方案,对于本发明所属领域的技术人员是显然的,并且应当落在本发明的精神和范围之内。
Claims (22)
1.一种用于在移动平台上安全引导的系统,包括:
配置为执行主机操作系统和主机应用的主机处理器;
用于引导所述主机处理器的固件,所述固件配置为在引导期间使用一或多个签名密钥,每个签名密钥关联于要在引导期间加载到所述平台上的软件映象;以及
在所述平台上的安全性处理器,所述安全性处理器以通信方式耦合至安全存储器存储,所述安全存储器存储对于所述固件和其它主机处理器应用是不可访问的;所述安全性处理器配置为管理所述一或多个签名密钥以在引导期间控制映象加载。
2.如权利要求1所述的系统,其特征在于,所述安全存储器存储驻留在耦合到所述安全性处理器的非易失性存储器(NVM)存储中。
3.如权利要求1所述的系统,其特征在于,所述安全性处理器驻留在耦合至密码核心的芯片组中,所述密码核心配置为协助验证数字签名。
4.如权利要求3所述的系统,其特征在于,还包括:
耦合至所述平台上的芯片组的公钥;以及
存储在所述安全存储器存储中的证书数据库,其中所述证书数据库包括多个证书,其中每个证书对应于多个能够由所述主机处理器执行的软件映象之一,以及其中所述安全性处理器配置为针对所述证书数据库中所述相应的证书和嵌入在所述软件映象中的数字签名验证要加载到所述主机处理器上的每个软件映象,所述验证使用耦合至所述芯片组的所述公钥。
5.如权利要求4所述的系统,其特征在于,还包括:
用于由平台管理员取得所述移动平台的所有权的装置;以及
用于在所述证书数据库中登记凭证的装置,其中凭证包括平台凭证和第三方凭证中的至少一个。
6.如权利要求4所述的系统,其特征在于,所述软件映象兼容于统一可扩展固件接口(UEFI)架构。
7.如权利要求1所述的系统,其特征在于,如果关联于所述软件映象的所述签名密钥未能确认,则所述固件将不加载或开始所述软件映象。
8.如权利要求7所述的系统,其特征在于,确认失败是证书期满、证书缺失或证书撤消中的至少之一。
9.如权利要求1所述的系统,其特征在于,签名密钥包括平台密钥、受保护变量密钥或公钥中的至少之一。
10.如权利要求9所述的系统,其特征在于,所述一或多个签名密钥包括签名密钥的分层结构,其中较高层的密钥保护较低层的密钥。
11.如权利要求10所述的系统,其特征在于,所述平台密钥的层次比受保护变量密钥高,受保护变量密钥的层次比公钥高,其中公钥与要在引导期间加载的每个软件映象相关联。
12.如权利要求1所述的系统,其特征在于,所述系统具有配置为允许远程平台管理员更新耦合至所述安全性处理器的证书数据库的无线通信能力。
13.一种用于在移动平台上安全引导的方法,包括:
开始在所述平台上的主机处理器的安全引导;
由所述平台上的安全性处理器确定引导模块是否被数字签名并被授权加载到所述主机处理器上;
当所述引导模块被数字签名并且被授权时,则在所述主机处理器上加载并执行所述引导模块,并且由所述安全性处理器确定在所述引导模块被授权在所述主机处理器上加载之后是否要加载多个软件映象,以及在所述多个软件映象之一被授权时在所述主机处理器加载所述多个软件映象之一用于执行;以及
当所述数字签名的引导模块未被授权时,则执行平台管理员授权所述引导映象或者不能引导所述平台这两者的至少之一,以及当多个软件映象之一未被授权时,则不能在所述主机处理器上加载所述多个软件映象之一。
14.如权利要求13所述的方法,其特征在于,所述安全性处理器具有无线通信能力,所述方法还包括由所述安全性处理器通过与具有有关凭证的信息的远程管理员无线通信来管理凭证,所述凭证存储在可由所述安全性处理器访问的非易失性存储器中的证书数据库中,所述非易失性存储器对于所述主机处理器是不可访问的。
15.如权利要求13所述的方法,其特征在于,确定引导模块是否被数字签名并且是否被授权在所述主机处理器上加载还包括:
确定所述引导模块在所述证书数据库中是否具有映象凭证;以及
确定所述引导模块映象凭证针对所述证书数据库中的所述映象凭证是否得到验证。
16.如权利要求15所述的方法,其特征在于,由所述安全性处理器确定在所述引导模块被授权在所述主机处理器上加载之后是否要加载多个软件映象包括:
确定所述软件映象的每一个是否具有在所述证书数据库中的相应的映象凭证;以及
确定所述软件映象凭证的每一个针对所述证书数据库中的所述映象凭证是否得到验证。
17.如权利要求13所述的方法,其特征在于,还包括:
由驻留在与所述安全性处理器相同的芯片组中的密码核心验证所述引导模块和软件映象中的数字签名。
18.一种使用移动平台上的安全引导的装置,包括:
用于开始所述平台上的主机处理器的安全引导的装置;
用于由所述平台上的安全性处理器确定引导模块是否被数字签名并且被授权在所述主机处理器上加载的装置;
当所述引导模块被数字签名和被授权时,用于在所述主机处理器上加载并执行所述引导模块的装置,和用于由所述安全性处理器确定在所述引导模块被授权在所述主机处理器上加载之后是否要加载多个软件映象的装置,以及用于当所述多个软件映象之一被授权时,在所述主机处理器上加载所述多个软件映象之一以供执行的装置;以及
装置,用于当所述数字签名的引导模块未被授权时,有选择地执行由平台管理员授权所述引导映象或者不能引导所述平台这两者至少之一以及当所述多个软件映象之一未被授权时,则不能在所述主机处理器上加载所述多个软件映象之一。
19.如权利要求18所述的设备,其特征在于,所述安全性处理器具有无线通信能力,还包括由所述安全性处理器通过与具有有关凭证的信息的远程管理员无线通信来管理证书数据库中的凭证的装置,所述证书数据库存储在所述安全性处理器可访问的非易失性存储器中,所述非易失性存储器对于所述主机处理器是不可访问的。
20.如权利要求18所述的设备,其特征在于,确定引导模块是否被数字签名并且被授权在所述主机处理器上加载的装置还包括:
确定所述引导模块是否具有在所述证书数据库中的映象凭证的装置;以及
确定所述引导模块映象凭证针对所述证书数据库中的所述映象凭证是否得到验证的装置。
21.如权利要求20所述的设备,其特征在于,由所述安全性处理器确定在所述引导模块被授权在所述主机处理器上加载之后是否要加载多个软件映象的装置还包括:
确定所述软件映象的每一个是否具有在所述证书数据库中的相应的映象凭证的装置;以及
确定所述软件映象凭证的每一个针对所述证书数据库中的所述映象凭证是否得到验证的装置。
22.如权利要求18所述的装置,其特征在于,还包括:
由驻留在与所述安全性处理器相同的芯片组上的密码核心验证所述引导模块和软件映象中的数字签名的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/165,593 | 2008-06-30 | ||
US12/165,593 US20090327741A1 (en) | 2008-06-30 | 2008-06-30 | System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid) |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101630353A true CN101630353A (zh) | 2010-01-20 |
Family
ID=41152223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910139554A Pending CN101630353A (zh) | 2008-06-30 | 2009-06-30 | 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090327741A1 (zh) |
EP (1) | EP2141625B1 (zh) |
JP (1) | JP2010073193A (zh) |
CN (1) | CN101630353A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103250144A (zh) * | 2010-09-24 | 2013-08-14 | 英特尔公司 | 在计算装置的预启动阶段期间便于无线通信的系统和方法 |
CN104679553A (zh) * | 2013-11-26 | 2015-06-03 | 洛克威尔自动控制技术股份有限公司 | 用于嵌入式固件的安全分发的方法和装置 |
CN104850762A (zh) * | 2014-02-15 | 2015-08-19 | 联想(新加坡)私人有限公司 | 防止计算机的动作不良的方法、计算机程序以及计算机 |
CN106293708A (zh) * | 2016-07-29 | 2017-01-04 | 联想(北京)有限公司 | 信息处理方法及存储设备 |
CN106341381A (zh) * | 2015-07-06 | 2017-01-18 | 广达电脑股份有限公司 | 管理机架服务器系统的安全金钥的方法与系统 |
CN106951771A (zh) * | 2017-03-17 | 2017-07-14 | 上海与德科技有限公司 | 一种安卓操作系统的移动终端使用方法 |
CN107092832A (zh) * | 2017-04-17 | 2017-08-25 | 南京百敖软件有限公司 | 一种及时弥补Secure‑Boot安全漏洞的方法 |
CN109918919A (zh) * | 2014-06-27 | 2019-06-21 | 英特尔公司 | 认证变量的管理 |
CN110494856A (zh) * | 2017-03-28 | 2019-11-22 | 司亚乐无线通讯股份有限公司 | 用于计算设备安全启动的方法和装置 |
CN111159726A (zh) * | 2019-12-10 | 2020-05-15 | 中国电子科技网络信息安全有限公司 | 一种基于uefi环境变量的全盘加解密方法及系统 |
CN111199058A (zh) * | 2018-11-20 | 2020-05-26 | 硅实验室公司 | 用于确保数据的完整性和机密性的系统和方法 |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090238365A1 (en) * | 2008-03-20 | 2009-09-24 | Kinamik Data Integrity, S.L. | Method and system to provide fine granular integrity to digital data |
US8954804B2 (en) * | 2008-07-15 | 2015-02-10 | Ati Technologies Ulc | Secure boot circuit and method |
US8276196B1 (en) | 2008-08-18 | 2012-09-25 | United Services Automobile Association (Usaa) | Systems and methods for implementing device-specific passwords |
US20100083002A1 (en) * | 2008-09-30 | 2010-04-01 | Liang Cui | Method and System for Secure Booting Unified Extensible Firmware Interface Executables |
WO2010041464A1 (ja) * | 2008-10-10 | 2010-04-15 | パナソニック株式会社 | 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路 |
US8533830B1 (en) | 2009-03-31 | 2013-09-10 | Mcafee, Inc. | System, method, and computer program product for mounting an image of a computer system in a pre-boot environment for validating the computer system |
US8321656B2 (en) * | 2009-06-13 | 2012-11-27 | Phoenix Technologies Ltd. | Timer use in extensible firmware interface compliant systems |
US8812854B2 (en) | 2009-10-13 | 2014-08-19 | Google Inc. | Firmware verified boot |
CN102725737B (zh) * | 2009-12-04 | 2016-04-20 | 密码研究公司 | 可验证防泄漏的加密和解密 |
US9213838B2 (en) * | 2011-05-13 | 2015-12-15 | Mcafee Ireland Holdings Limited | Systems and methods of processing data associated with detection and/or handling of malware |
US8429387B2 (en) | 2010-05-21 | 2013-04-23 | Intel Corporation | Method and system for remote configuration of a computing device |
US9721101B2 (en) * | 2013-06-24 | 2017-08-01 | Red Hat, Inc. | System wide root of trust chaining via signed applications |
US8831221B2 (en) | 2010-09-28 | 2014-09-09 | Lsi Corporation | Unified architecture for crypto functional units |
US8332631B2 (en) * | 2010-11-22 | 2012-12-11 | Intel Corporation | Secure software licensing and provisioning using hardware based security engine |
US9256745B2 (en) | 2011-03-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Protecting operating system configuration values using a policy identifying operating system configuration settings |
WO2012127522A1 (ja) | 2011-03-18 | 2012-09-27 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US8850177B2 (en) | 2011-07-08 | 2014-09-30 | Openpeak Inc. | System and method for validating components during a booting process |
US8375221B1 (en) | 2011-07-29 | 2013-02-12 | Microsoft Corporation | Firmware-based trusted platform module for arm processor architectures and trustzone security extensions |
US8924737B2 (en) | 2011-08-25 | 2014-12-30 | Microsoft Corporation | Digital signing authority dependent platform secret |
WO2013046334A1 (ja) * | 2011-09-27 | 2013-04-04 | 富士通株式会社 | 情報処理装置,基本システム起動方法,及び基本システム起動プログラム |
US9390294B2 (en) * | 2011-09-30 | 2016-07-12 | Hewlett-Packard Development Company, L.P. | Virtualized device control in computer systems |
WO2013067486A1 (en) | 2011-11-04 | 2013-05-10 | Insyde Software Corp. | Secure boot administration in a unified extensible firmware interface (uefi)- compliant computing device |
JP5076021B1 (ja) * | 2011-11-17 | 2012-11-21 | 株式会社東芝 | 電子機器、電子機器の制御方法、電子機器の制御プログラム |
US8751800B1 (en) | 2011-12-12 | 2014-06-10 | Google Inc. | DRM provider interoperability |
US8856536B2 (en) | 2011-12-15 | 2014-10-07 | GM Global Technology Operations LLC | Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system |
US9666241B2 (en) * | 2012-01-19 | 2017-05-30 | Quixant Plc | Firmware protection and validation |
JP5519712B2 (ja) * | 2012-01-20 | 2014-06-11 | レノボ・シンガポール・プライベート・リミテッド | コンピュータをブートする方法およびコンピュータ |
US8966248B2 (en) | 2012-04-06 | 2015-02-24 | GM Global Technology Operations LLC | Secure software file transfer systems and methods for vehicle control modules |
US9038179B2 (en) | 2012-08-28 | 2015-05-19 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Secure code verification enforcement in a trusted computing device |
US8898654B2 (en) | 2012-08-29 | 2014-11-25 | Microsoft Corporation | Secure firmware updates |
US9218178B2 (en) | 2012-08-29 | 2015-12-22 | Microsoft Technology Licensing, Llc | Secure firmware updates |
US20140143885A1 (en) * | 2012-11-20 | 2014-05-22 | Ati Technologies Ulc | Firmware-implemented software licensing |
US9336395B2 (en) | 2013-01-25 | 2016-05-10 | Hewlett-Packard Development Company, L.P. | Boot driver verification |
US9594567B2 (en) * | 2013-02-21 | 2017-03-14 | Dell Products, Lp | Configuring a trusted platform module |
FR3002671B1 (fr) * | 2013-02-27 | 2016-07-29 | Inside Secure | Procede de mise a jour du systeme d'exploitation d'un microcircuit securise |
US9223982B2 (en) | 2013-03-01 | 2015-12-29 | Intel Corporation | Continuation of trust for platform boot firmware |
US9720716B2 (en) * | 2013-03-12 | 2017-08-01 | Intel Corporation | Layered virtual machine integrity monitoring |
US10205750B2 (en) * | 2013-03-13 | 2019-02-12 | Intel Corporation | Policy-based secure web boot |
US9870474B2 (en) | 2013-04-08 | 2018-01-16 | Insyde Software Corp. | Detection of secure variable alteration in a computing device equipped with unified extensible firmware interface (UEFI)-compliant firmware |
US9235710B2 (en) | 2013-05-23 | 2016-01-12 | Cisco Technology, Inc. | Out of band management of basic input/output system secure boot variables |
US9208105B2 (en) * | 2013-05-30 | 2015-12-08 | Dell Products, Lp | System and method for intercept of UEFI block I/O protocol services for BIOS based hard drive encryption support |
US9697358B2 (en) * | 2013-06-13 | 2017-07-04 | Google Inc. | Non-volatile memory operations |
US9633210B2 (en) | 2013-09-13 | 2017-04-25 | Microsoft Technology Licensing, Llc | Keying infrastructure |
US20150193620A1 (en) * | 2014-01-07 | 2015-07-09 | Dell Products, Lp | System and Method for Managing UEFI Secure Boot Certificates |
US10049216B2 (en) * | 2014-02-06 | 2018-08-14 | Intel Corporation | Media protection policy enforcement for multiple-operating-system environments |
US9575791B2 (en) | 2014-02-12 | 2017-02-21 | Dell Products, Lp | Unified extensible firmware interface system management mode initialization protections with system management interrupt transfer monitor sandboxing |
US9569620B2 (en) | 2014-02-18 | 2017-02-14 | Dell Products, Lp | Method for processing UEFI protocols and system therefor |
US9876991B1 (en) | 2014-02-28 | 2018-01-23 | Concurrent Computer Corporation | Hierarchical key management system for digital rights management and associated methods |
US9626196B2 (en) * | 2014-03-21 | 2017-04-18 | Intel Corporation | Broadcasting management information using fountain codes |
JP6054908B2 (ja) | 2014-05-22 | 2016-12-27 | レノボ・シンガポール・プライベート・リミテッド | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ |
WO2016024969A1 (en) * | 2014-08-13 | 2016-02-18 | Hewlett Packard Enterprise Development Lp | Non-volatile storage of management data |
US10796002B1 (en) * | 2014-09-08 | 2020-10-06 | Janus Technologies, Inc. | Method and apparatus for establishing a root-of-trust path for a secure computer |
US9524390B2 (en) | 2014-09-09 | 2016-12-20 | Dell Products, Lp | Method for authenticating firmware volume and system therefor |
US10097513B2 (en) | 2014-09-14 | 2018-10-09 | Microsoft Technology Licensing, Llc | Trusted execution environment extensible computing device interface |
US9767118B2 (en) | 2014-12-01 | 2017-09-19 | Dell Products, Lp | Optimized UEFI file system with network file system compound statements |
US9886580B2 (en) * | 2014-12-23 | 2018-02-06 | Dell Products, L.P. | Method for optimizing boot time of an information handling system |
US10282538B2 (en) * | 2014-12-27 | 2019-05-07 | Intel Corporation | Technologies for providing hardware subscription models using pre-boot update mechanism |
US9830457B2 (en) * | 2015-05-05 | 2017-11-28 | Dell Products, L.P. | Unified extensible firmware interface (UEFI) credential-based access of hardware resources |
KR102336663B1 (ko) | 2015-05-13 | 2021-12-07 | 삼성전자 주식회사 | 서버 시스템 및 이의 관리 방법 |
US10181036B2 (en) * | 2015-06-24 | 2019-01-15 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Automatic discovery and installation of secure boot certificates |
US10467015B2 (en) | 2015-09-08 | 2019-11-05 | Dell Products, Lp | Method for out of band device configuration deployment and system therefor |
US9785790B2 (en) | 2015-12-15 | 2017-10-10 | International Business Machines Corporation | Protecting computer security applications |
US10339317B2 (en) | 2015-12-18 | 2019-07-02 | Intel Corporation | Computing devices |
US10181956B2 (en) * | 2015-12-21 | 2019-01-15 | Hewlett-Packard Development Company, L.P. | Key revocation |
WO2017107122A1 (en) * | 2015-12-24 | 2017-06-29 | Intel Corporation | Techniques for coordinating device boot security |
WO2017131712A1 (en) | 2016-01-28 | 2017-08-03 | Hewlett-Packard Development Company, L.P. | Thresholds on scripts executable by unified extensible firmware interface systems |
US10708067B2 (en) * | 2016-06-18 | 2020-07-07 | Intel Corporation | Platform attestation and registration for servers |
US10148444B2 (en) * | 2016-08-04 | 2018-12-04 | Dell Products L.P. | Systems and methods for storing administrator secrets in management controller-owned cryptoprocessor |
US10242197B2 (en) * | 2016-09-23 | 2019-03-26 | Intel Corporation | Methods and apparatus to use a security coprocessor for firmware protection |
WO2018132211A1 (en) * | 2017-01-12 | 2018-07-19 | Google Llc | Verified boot and key rotation |
US10521216B2 (en) | 2017-01-17 | 2019-12-31 | Oracle International Corporation | Unified extensible firmware interface updates |
US11036408B2 (en) | 2017-03-26 | 2021-06-15 | Oracle International Corporation | Rule-based modifications in a data storage appliance monitor |
US10395037B2 (en) * | 2017-04-18 | 2019-08-27 | Dell Products, Lp | System and method for preserving data during an information handling system event using information handling system memory |
US10540501B2 (en) * | 2017-06-02 | 2020-01-21 | Dell Products, L.P. | Recovering an information handling system from a secure boot authentication failure |
US10909248B2 (en) * | 2017-06-29 | 2021-02-02 | Microsoft Technology Licensing, Llc | Executing encrypted boot loaders |
US10489594B2 (en) | 2017-07-19 | 2019-11-26 | Dell Products, Lp | System and method for secure migration of virtual machines between host servers |
AU2018329224B2 (en) * | 2017-09-06 | 2023-03-16 | Absolute Software Corporation | Secure firmware interface |
KR102434444B1 (ko) * | 2017-11-29 | 2022-08-19 | 한국전자통신연구원 | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 |
US11416616B2 (en) * | 2017-11-30 | 2022-08-16 | Forcepoint Llc | Secure boot chain for live boot systems |
US11269606B2 (en) | 2017-12-13 | 2022-03-08 | Absolute Software Corporation | Firmware publication of multiple binary images |
US11074151B2 (en) | 2018-03-30 | 2021-07-27 | Intel Corporation | Processor having embedded non-volatile random access memory to support processor monitoring software |
US10691466B2 (en) | 2018-04-02 | 2020-06-23 | Intel Corporation | Booting a computing system using embedded non-volatile memory |
US10855674B1 (en) * | 2018-05-10 | 2020-12-01 | Microstrategy Incorporated | Pre-boot network-based authentication |
CN110795742B (zh) * | 2018-08-02 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 高速密码运算的度量处理方法、装置、存储介质及处理器 |
US10956576B2 (en) * | 2018-09-06 | 2021-03-23 | Micron Technology, Inc. | Secure boot via system and power management microcontroller |
KR102126931B1 (ko) * | 2018-11-07 | 2020-06-25 | 시큐리티플랫폼 주식회사 | 시큐어 부팅 장치 및 방법 |
US10963592B2 (en) | 2019-02-05 | 2021-03-30 | Western Digital Technologies, Inc. | Method to unlock a secure digital memory device locked in a secure digital operational mode |
WO2020176110A1 (en) * | 2019-02-28 | 2020-09-03 | Hewlett-Packard Development Company, L.P. | Access to firmware settings with asymmetric cryptography |
US11232210B2 (en) | 2019-03-26 | 2022-01-25 | Western Digital Technologies, Inc. | Secure firmware booting |
US10942750B2 (en) | 2019-03-29 | 2021-03-09 | Dell Products L.P. | System and method to securely load non-UEFI based file format as OEM based UEFI custom capsule format in UEFI loader |
DE102019214678A1 (de) * | 2019-09-25 | 2021-03-25 | Continental Automotive Gmbh | System und Verfahren zum beschleunigten und sicheren Starten eines Systems |
US10997297B1 (en) | 2019-12-06 | 2021-05-04 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
WO2021262161A1 (en) * | 2020-06-24 | 2021-12-30 | Hewlett-Packard Development Company, L.P. | Authentication of hardware component firmware |
US11775647B2 (en) | 2020-06-25 | 2023-10-03 | Microsoft Technology Licensing, Llc | Secure user assigned device from manufacturer |
CN112487435B (zh) * | 2020-11-06 | 2022-09-06 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
US20230237155A1 (en) * | 2022-01-27 | 2023-07-27 | Hewlett Packard Enterprise Development Lp | Securing communications with security processors using platform keys |
CN114491565B (zh) * | 2022-03-31 | 2022-07-05 | 飞腾信息技术有限公司 | 固件安全启动方法、装置、计算设备和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1238087A (zh) * | 1996-09-30 | 1999-12-08 | 英特尔公司 | 安全引导 |
US6209099B1 (en) * | 1996-12-18 | 2001-03-27 | Ncr Corporation | Secure data processing method and system |
US20050182952A1 (en) * | 2004-02-12 | 2005-08-18 | Sony Corporation | Information processing apparatus and method and computer program |
CN1723425A (zh) * | 2002-10-09 | 2006-01-18 | 英特尔公司 | 在服务器管理协处理器子系统内封装tcpa可信平台模块功能 |
US20070130439A1 (en) * | 2005-12-01 | 2007-06-07 | Sony Ericsson Mobile Communications Ab | Secure digital certificate storing scheme for flash memory and electronic apparatus |
US20070192610A1 (en) * | 2006-02-10 | 2007-08-16 | Chun Dexter T | Method and apparatus for securely booting from an external storage device |
CN101340288A (zh) * | 2007-03-30 | 2009-01-07 | 英特尔公司 | 服务器主动管理技术协助的安全引导 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844986A (en) * | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5896499A (en) * | 1997-02-21 | 1999-04-20 | International Business Machines Corporation | Embedded security processor |
US6711684B1 (en) * | 1999-06-08 | 2004-03-23 | General Instrument Corporation | Variable security code download for an embedded processor |
US6775776B1 (en) * | 2000-06-27 | 2004-08-10 | Intel Corporation | Biometric-based authentication in a nonvolatile memory device |
FI114416B (fi) * | 2001-06-15 | 2004-10-15 | Nokia Corp | Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite |
US7395434B2 (en) * | 2002-05-01 | 2008-07-01 | Hewlett-Packard Development Company, L.P. | Method for secure storage and verification of the administrator, power-on password and configuration information |
US7509644B2 (en) * | 2003-03-04 | 2009-03-24 | Secure 64 Software Corp. | Operating system capable of supporting a customized execution environment |
US20050005108A1 (en) * | 2003-05-13 | 2005-01-06 | Bsi2000, Inc. | Cryptographically secure transactions with optical cards |
KR101081729B1 (ko) * | 2003-07-07 | 2011-11-08 | 로비 솔루션스 코포레이션 | 저작권 침해를 제어하고 쌍방향 컨텐츠를 인에이블시키기 위한 재프로그램가능한 보안 |
US20050091496A1 (en) * | 2003-10-23 | 2005-04-28 | Hyser Chris D. | Method and system for distributed key management in a secure boot environment |
US7207039B2 (en) * | 2003-12-24 | 2007-04-17 | Intel Corporation | Secure booting and provisioning |
US7577832B2 (en) * | 2004-12-14 | 2009-08-18 | Hewlett-Packard Development Company, L.P. | Apparatus and method for booting a system |
WO2007041501A2 (en) * | 2005-09-30 | 2007-04-12 | Phoenix Technologies Ltd. | Secure execution environment by preventing execution of unauthorized boot loaders |
US7733874B2 (en) * | 2006-10-27 | 2010-06-08 | International Business Machines Corporation | Communicating packets between devices involving the use of different communication protocols |
US8176498B2 (en) * | 2007-09-11 | 2012-05-08 | Hewlett-Packard Development Company, L.P. | Power setting adjustments by mission operating system in response to requests from platform manager |
US8583908B2 (en) * | 2007-12-31 | 2013-11-12 | Intel Corporation | Enhanced network and local boot of Unified Extensible Firmware Interface images |
-
2008
- 2008-06-30 US US12/165,593 patent/US20090327741A1/en not_active Abandoned
-
2009
- 2009-06-25 EP EP09251647.5A patent/EP2141625B1/en active Active
- 2009-06-26 JP JP2009152986A patent/JP2010073193A/ja active Pending
- 2009-06-30 CN CN200910139554A patent/CN101630353A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1238087A (zh) * | 1996-09-30 | 1999-12-08 | 英特尔公司 | 安全引导 |
US6209099B1 (en) * | 1996-12-18 | 2001-03-27 | Ncr Corporation | Secure data processing method and system |
CN1723425A (zh) * | 2002-10-09 | 2006-01-18 | 英特尔公司 | 在服务器管理协处理器子系统内封装tcpa可信平台模块功能 |
US20050182952A1 (en) * | 2004-02-12 | 2005-08-18 | Sony Corporation | Information processing apparatus and method and computer program |
US20070130439A1 (en) * | 2005-12-01 | 2007-06-07 | Sony Ericsson Mobile Communications Ab | Secure digital certificate storing scheme for flash memory and electronic apparatus |
US20070192610A1 (en) * | 2006-02-10 | 2007-08-16 | Chun Dexter T | Method and apparatus for securely booting from an external storage device |
CN101340288A (zh) * | 2007-03-30 | 2009-01-07 | 英特尔公司 | 服务器主动管理技术协助的安全引导 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI482091B (zh) * | 2010-09-24 | 2015-04-21 | Intel Corp | 在計算裝置的預先啓動階段期間有利於無線通訊的方法、非暫時性機器可讀取媒體以及計算裝置 |
CN103250144B (zh) * | 2010-09-24 | 2016-03-16 | 英特尔公司 | 在计算装置的预启动阶段期间便于无线通信的系统和方法 |
CN103250144A (zh) * | 2010-09-24 | 2013-08-14 | 英特尔公司 | 在计算装置的预启动阶段期间便于无线通信的系统和方法 |
CN104679553A (zh) * | 2013-11-26 | 2015-06-03 | 洛克威尔自动控制技术股份有限公司 | 用于嵌入式固件的安全分发的方法和装置 |
CN104679553B (zh) * | 2013-11-26 | 2018-06-12 | 罗克韦尔自动化技术公司 | 用于嵌入式固件的安全分发的方法和装置 |
CN104850762A (zh) * | 2014-02-15 | 2015-08-19 | 联想(新加坡)私人有限公司 | 防止计算机的动作不良的方法、计算机程序以及计算机 |
US10216936B2 (en) | 2014-02-15 | 2019-02-26 | Lenovo (Singapore) Pte. Ltd. | Method of preventing computer malfunction, computer program, and computer |
CN104850762B (zh) * | 2014-02-15 | 2019-03-05 | 联想(新加坡)私人有限公司 | 防止计算机的动作不良的方法、计算机程序以及计算机 |
CN109918919A (zh) * | 2014-06-27 | 2019-06-21 | 英特尔公司 | 认证变量的管理 |
CN109918919B (zh) * | 2014-06-27 | 2023-06-20 | 英特尔公司 | 认证变量的管理 |
CN106341381A (zh) * | 2015-07-06 | 2017-01-18 | 广达电脑股份有限公司 | 管理机架服务器系统的安全金钥的方法与系统 |
CN106341381B (zh) * | 2015-07-06 | 2019-08-09 | 广达电脑股份有限公司 | 管理机架服务器系统的安全金钥的方法与系统 |
CN106293708A (zh) * | 2016-07-29 | 2017-01-04 | 联想(北京)有限公司 | 信息处理方法及存储设备 |
CN106951771B (zh) * | 2017-03-17 | 2020-11-17 | 吉安县森博木业有限公司 | 一种安卓操作系统的移动终端使用方法 |
CN106951771A (zh) * | 2017-03-17 | 2017-07-14 | 上海与德科技有限公司 | 一种安卓操作系统的移动终端使用方法 |
CN110494856A (zh) * | 2017-03-28 | 2019-11-22 | 司亚乐无线通讯股份有限公司 | 用于计算设备安全启动的方法和装置 |
CN107092832A (zh) * | 2017-04-17 | 2017-08-25 | 南京百敖软件有限公司 | 一种及时弥补Secure‑Boot安全漏洞的方法 |
CN111199058A (zh) * | 2018-11-20 | 2020-05-26 | 硅实验室公司 | 用于确保数据的完整性和机密性的系统和方法 |
CN111199058B (zh) * | 2018-11-20 | 2023-04-07 | 硅实验室公司 | 用于确保数据的完整性和机密性的系统和方法 |
CN111159726A (zh) * | 2019-12-10 | 2020-05-15 | 中国电子科技网络信息安全有限公司 | 一种基于uefi环境变量的全盘加解密方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2141625B1 (en) | 2015-10-07 |
EP2141625A2 (en) | 2010-01-06 |
US20090327741A1 (en) | 2009-12-31 |
EP2141625A3 (en) | 2010-11-03 |
JP2010073193A (ja) | 2010-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101630353A (zh) | 在移动因特网设备上安全引导uefi固件和uefi感知操作系统的系统和方法 | |
EP3805968B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
US10395039B2 (en) | Customer-owned trust of device firmware | |
EP3458999B1 (en) | Self-contained cryptographic boot policy validation | |
KR101190479B1 (ko) | 티켓 인증 보안 설치 및 부트 | |
JP5079803B2 (ja) | ゲーム装置を認証するシステムおよび方法 | |
US9871821B2 (en) | Securely operating a process using user-specific and device-specific security constraints | |
EP3125149B1 (en) | Systems and methods for securely booting a computer with a trusted processing module | |
EP1674963B1 (en) | Secure license management | |
US8560820B2 (en) | Single security model in booting a computing device | |
CN101578609B (zh) | 安全启动计算设备 | |
US8984265B2 (en) | Server active management technology (AMT) assisted secure boot | |
US8789037B2 (en) | Compatible trust in a computing device | |
JP2010073193A5 (zh) | ||
US20110246778A1 (en) | Providing security mechanisms for virtual machine images | |
US20090259855A1 (en) | Code Image Personalization For A Computing Device | |
KR20000048724A (ko) | 안전 바이오스 | |
CN103119560A (zh) | 用于服务处理器复合体中的数据存储的基于需求的usb代理 | |
US11822669B2 (en) | Systems and methods for importing security credentials for use by an information handling system | |
US20230009032A1 (en) | Systems and methods for authenticating the identity of an information handling system | |
US11822668B2 (en) | Systems and methods for authenticating configurations of an information handling system | |
US11843707B2 (en) | Systems and methods for authenticating hardware of an information handling system | |
Holoubková | Rešerše a ukázka zabezpečení platformy (TPM) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100120 |