CN102289627B - 固件映象的多拥有者部署 - Google Patents

固件映象的多拥有者部署 Download PDF

Info

Publication number
CN102289627B
CN102289627B CN201110153786.7A CN201110153786A CN102289627B CN 102289627 B CN102289627 B CN 102289627B CN 201110153786 A CN201110153786 A CN 201110153786A CN 102289627 B CN102289627 B CN 102289627B
Authority
CN
China
Prior art keywords
code
owner
firmware
access control
acl
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.)
Expired - Fee Related
Application number
CN201110153786.7A
Other languages
English (en)
Other versions
CN102289627A (zh
Inventor
P·沙提库马尔
R·C·斯旺森
V·J·齐默
M·A·罗思曼
M·布鲁苏
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 CN102289627A publication Critical patent/CN102289627A/zh
Application granted granted Critical
Publication of CN102289627B publication Critical patent/CN102289627B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

用于固件映象的多拥有者部署的方法、装置、系统和计算机程序产品。该方法包括获取签名的固件映象,所述签名的固件映象包括由第一代码拥有者签名的第一代码模块以及由第二代码拥有者签名的第二代码模块。该方法还包括获取更新的第一代码模块,所述更新的第一代码模块包括用于第一代码模块的更新的代码;验证更新的第一代码模块是由第一代码拥有者签名的;以及响应于验证了更新的第一代码模块是由第一代码拥有者签名的,用更新的第一代码模块来更新签名的固件映象。签名的固件映象还可以包括访问控制列表,所述访问控制列表授权第一代码拥有者更新第一代码模块以及授权第二代码拥有者更新第二代码模块。

Description

固件映象的多拥有者部署
版权声明
本文包含的内容是受版权保护的材料。当专利公开内容在专利和商标局专利文件或记录中出现时,本版权拥有者不反对任何人对其的复制,但是除此之外均保留对该版权的所有权利。
技术领域
本公开总体上涉及计算机系统中BIOS和其它固件代码的部署。
背景技术
最初开发用于IBM PC兼容计算机的基本输入/输出系统(BIOS)(也称为系统BIOS)是定义固件接口的事实标准。BIOS是引导固件,其被设计为在上电时由PC首先运行的代码。BIOS的初始功能是识别、测试和初始化诸如视频显示卡、硬盘和软盘以及其它硬件的系统设备。该初始化使机器进入已知状态,以使得存储在兼容介质上的诸如操作系统的软件可以被加载、执行以及给予对PC的控制。该过程被称为引导或者启动,其是自举引导的简称。
BIOS程序提供基本输入/输出函数的小型库,可以调用该小型库来操作和控制诸如键盘、文本显示功能等的外围设备。当系统上电时,BIOS检查系统配置设置并且将用作硬件部件和操作系统之间的翻译器的程序加载到存储器中。例如,当用户按下键盘上的按键时,信号被发送到键盘中断处理程序,该键盘中断处理程序告诉处理器该信号是什么并且将其传递到操作系统。
当处理器在16位处理器模式中运行并且可寻址存储器被限制于一兆字节的时候,针对IBM PC开发了BIOS,并且BIOS代码反映了IBM PC AT硬件依赖性。后来针对32位处理器开发的操作系统开始包括设备驱动程序来处理I/O,而非依赖于调用BIOS提供的16位运行时间接口。这些设备驱动程序常常由平台固件提供,并且在加载操作系统之前在BIOS初始化期间被加载到存储器中。由于操作系统可以连接大量外围设备,因此这种平台固件常常由除了系统制造商之外的实体来提供。随着大量实体介入,固件映象的分发变得复杂起来。
随着当今计算环境中恶意软件的扩散,验证固件的重要性也随之增加。数字签名或者数字签名方案是用于证明数字消息或者文档的真实性的数学方案。有效的数字签名给出了相信该消息由已知发送者创建并且在传输中没有被改变的可接受原因。数字签名通常用于软件分发,并且期望数字签名用于固件映象的分发。
附图说明
图1是现有技术的签名的固件映象的框图。
图2A是根据本发明的一个实施例的由根固件代码拥有者签名的固件映象的框图。
图2B是示出了根据本发明的一个实施例的用于根固件代码拥有者的访问控制列表的图2A中的固件映象的框图。
图2C是根据本发明的一个实施例的由根固件代码拥有者和OEM固件代码拥有者二者签名的固件映象的框图。
图2D是示出了根据本发明的一个实施例的用于OEM固件代码拥有者的访问控制列表的图2C中的固件映象的框图。
图2E是根据本发明的一个实施例的,由根固件代码拥有者、OEM固件代码拥有者和渠道分销商(channel distributor)固件代码拥有者签名的固件映象的框图。
图2F是根据本发明的一个实施例的示出了用于渠道分销商固件代码拥有者的访问控制列表的图2E中的固件映象的框图。
图3是示出了用于签名以及授予更新图2A至2F的签名的固件映象的权限的处理的流程图。
图4是根据本发明的一个实施例的用于更新图2A至2F以及图3的签名的固件映象的访问控制列表的方法的流程图。
图5是根据本发明的一个实施例的用于更新图2A至2F以及图3的签名的固件映象的方法的流程图。
图6是根据本发明的一个实施例的被配置为使得固件映象能够被多个承租人签名的系统的框图。
具体实施方式
本发明的实施例可以提供用于部署签名的根固件映象的方法、装置、系统和计算机程序产品,其中签名的根固件映象包括由系统分销渠道中的不同实体签名的代码模块。
在一个实施例中,一种方法包括获取签名的固件映象,所述签名的固件映象包括由第一代码拥有者签名的第一代码模块以及由第二代码拥有者签名的第二代码模块。该方法还包括获取包括用于第一代码模块的更新代码的更新的第一代码模块,验证更新的第一代码模块是由第一代码拥有者签名的,以及响应于验证了更新的第一代码模块是由第一代码拥有者签名的,用更新的第一代码模块来更新签名的固件映象。签名的固件映象还可以包括访问控制列表,所述访问控制列表授权由第一代码拥有者更新第一代码模块以及由第二代码拥有者更新第二代码模块。
该方法还可以包括获取访问控制令牌,其中,所述访问控制令牌包括用于第三代码拥有者的公钥以及对第三代码拥有者更新签名的固件映象的第三代码模块的授权;验证访问控制令牌是由来自所述访问控制列表的授权的代码拥有者签名的;验证授权的代码拥有者被授权来更新第三代码模块;以及更新访问控制列表以包括用于所述第三代码拥有者的公钥和对第三代码拥有者更新第三代码模块的授权。该方法还可以包括从第三代码拥有者接收更新的第三代码模块;验证更新的第三代码模块是由第三代码拥有者签名的;以及响应于验证了更新的第三代码模块是由第三代码拥有者签名的,使用更新的第三代码模块来更新签名的固件映象。
本发明改进了传统的BIOS/平台固件整体映象更新处理,并且允许不同的拥有者对单独的固件代码模块进行签名。本发明使得能够针对特定的BIOS/平台固件代码模块/驱动程序或者应用程序来执行更新。随着平台固件变得日益复杂并且提供诸如安全特征的关键功能,现在BIOS和平台固件中的缺陷可以立即被校正,并且这可以由企业管理服务器提供,而不需要原始设备制造商来为系统的闪速存储器的整个BIOS/平台固件区域提供新的整体映象。
本说明书对本发明的“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或者特性包括在本发明的至少一个实施例中。因此,贯穿说明书的各个位置出现的短语“在一个实施例中”、“根据一个实施例”等并不必然都指同一实施例。
为了解释的目的,阐述了特定的配置和细节以便于对本发明的透彻理解。然而,对本领域普通技术人员显而易见的是,可以在没有本文描述的具体细节的情况下实施本发明的实施例。此外,可以省略或简化公知的特征以免模糊本发明。可以贯穿本说明书给出各种示例。这些仅仅是本发明的特定实施例的描述。本发明的范围不限于给出的示例。
随着恶意软件复杂性的提高,期望诸如固件映象的系统软件的提供者证明固件映象的给出的版本是真实的并且没有遭到篡改。这种证明通常被提供为根据诸如Rivest Shamir Adleman(RSA)加密算法的加密方案的固件映象文件的数字签名,其中,该RSA加密算法提供公钥和私钥来对数据进行加密和签名。本领域技术人员将理解,本文描述的本发明不限于RSA加密算法下的数字签名,提供用于证明真实性的数字签名的任意方法均在本发明的范围内。
数字签名方案通常由三种算法构成:(1)密钥生成算法,该算法从一组可能的私钥中均匀随机地选择一私钥。该算法输出所述私钥和对应的公钥。(2)签名算法,给定消息和私钥,该算法产生一签名。(3)签名验证算法,给定消息、公钥和签名,该算法接受或者拒绝该消息对真实性的声明。需要两种主要的性质。首先,根据固定消息和固定私钥生成的签名应当通过使用对应的公钥来验证该消息的真实性。其次,为不拥有私钥的一方生成有效的签名应当是计算上不可行的。
图1是现有技术的签名的固件映象的框图。由单个实体的私钥120对根固件映象110进行签名。仅私钥120的拥有者可以对根固件映象110进行更新。例如,假设系统制造商已经使用系统制造商的私钥120对根固件映象110进行了签名。如果在对根固件映象110签名之后,部署链中的诸如OEM和渠道客户的其他实体需要对包含在根固件映象110中的模块进行更新,则这些实体必须将他们定制的固件映象代码模块提供给私钥120的拥有者,以包括在根固件映象110的随后的版本中。这种实现需要用于根据外部实体的计划来维护定制的固件映象模块并部署更新的根固件映象110的基础结构。
由除了私钥120的拥有者之外的实体提供的定制的固件映象代码模块所允许的安全性违反损害了整个根固件映象110的安全性。仅能够由私钥120的拥有者来校正这种安全性违反。由于这个原因,当今大多数实现仅由位于分发渠道较低端的实体来进行签名。由系统制造商和/或OEM提供的根固件映象代码模块通常是没有签名的,以避免上述问题。然而,在没有许多的固件映象代码模块的提供者的数字签名的情况下,系统的终端用户可能认为该固件映象是不值得信赖的。
图2A是根据本发明的一个实施例的由根固件代码拥有者签名的固件映象的框图。在该示例中,诸如系统制造商(本文称为“根”)的根固件映象的初始拥有者已经用根私钥220对五个固件卷(FV1 211、FV2 213、FV3215、FV4 217和FV5 219)中的固件映象代码模块中的每一个进行了签名。对代码模块进行签名可以包括将数字签名附加至该代码模块。在本文示出的示例中,将针对代码模块的签名说明为与包含该代码模块的固件卷相关联的签名。相似地,将对给定代码模块进行更新的权限描述为对包含该代码模块的固件卷进行更新的权限。本领域技术人员将理解,多于一个代码模块可以被包含在给定的固件卷中,并且一个固件卷中的不同代码模块可以具有不同的签名和/或更新权限,但是为了简单,在本文中将代码模块和固件卷描述为具有一对一的关系。
表230A提供了安全信息,该安全信息包括用于根代码拥有者“根”的公钥231和用于代码拥有者“根”的访问控制列表(ACL)232。ACL 232指示公钥231拥有的固件映象代码模块(即,固件卷)。图2B中提供了关于访问控制列表232的进一步的细节。
图2B是显示根据本发明的一个实施例的用于根固件代码拥有者“根”的访问控制列表的图2A的固件映象的框图。在所示出的示例中,ACL 232包含指向五个固件卷FV1 211、FV2 213、FV3 215、FV4 217和FV5 219中的每一个中的代码模块的指针232A到232E。下文将参考图3更详细地示出和解释这些指针。
图2C是根据本发明的一个实施例的由根固件代码拥有者和OEM固件代码拥有者(本文中称为“OEM”)二者签名的固件映象的框图。在该示例中,固件映象的代码模块的第二拥有者(诸如持有图2A中的公钥220的系统制造商的OEM客户)已经提供了定制的根固件组件。例如,OEM固件代码拥有者可以将计算机系统提供为刀片服务器产品,并且由代码拥有者“OEM”提供的固件映象代码模块可以将该固件配置为在刀片服务器配置中进行操作。
在图2C中,第二拥有者“OEM”已经使用OEM私钥240对当前被称为OEM固件映象210B的固件映象中的选择的固件卷进行了签名。在该示例中,已经用OEM私钥240对固件卷FV3 215和FV5 219进行了签名。表230B提供了新的安全信息,该新的安全信息包括用于“OEM”代码拥有者的公钥241和指示公钥241拥有的固件映象代码模块(即,固件卷)的访问控制列表(ACL)242。在图2D中提供了关于ACL 242的进一步的细节。
图2D是显示根据本发明的一个实施例的用于“OEM”固件代码拥有者的访问控制列表的图2C的固件映象的框图。在所示出的示例中,ACL 242包含指向两个固件卷FV3 215和FV5 219中的每一个的相应的指针242C和242E。该新的安全信息是表230B的一部分,表230B还包括如参考图2A和2B描述的用于固件代码拥有者“根”的公钥231和ACL 232。然而,根固件代码拥有者“根”将对FV3 215和FV5 219进行更新的权限授权给固件代码拥有者“OEM”,并且由ACL 242的指针242C和242E覆盖ACL 232的指针232C和232E。下面参照图3至图5进一步描述将更新固件代码模块的权限进行授权的处理。
图2E是根据本发明的一个实施例的由根固件代码拥有者“根”、OEM固件代码拥有者“OEM”和渠道分销商固件代码拥有者“Chnl”签名的固件映象的框图。在该示例中,固件映象的代码模块的第三拥有者(诸如持有图2B中的私钥240的OEM的渠道客户)已经提供了定制的根固件组件。第三拥有者“Chnl”已经使用信道(Chnl)私钥250对当前被称为渠道客户固件映象210C的固件映象中的一个固件卷进行了签名。在该示例中,已经用Chnl私钥250对固件卷FV5 219进行了签名。表230C提供了新的安全信息,该新的安全信息包括用于渠道客户拥有者“Chnl”的公钥251和指示公钥251拥有的固件映象代码模块(即,固件卷)的访问控制列表(ACL)252。
图2F是显示根据本发明的一个实施例的用于渠道分销商固件代码拥有者“Chnl”的访问控制列表的图2E的固件映象的框图。在所示出的示例中,ACL 252包含指向固件卷FV5 219的指针252E。该新的安全信息是表230C的一部分,表230C还包括如参考图2A和2B描述的用于根固件代码拥有者“根”的公钥231和ACL 232,以及如参考图2C和2D描述的用于固件代码拥有者“OEM”的公钥241和ACL 242。指针252E覆盖用于固件代码拥有者“根”的ACL 232的指针232E和用于固件代码拥有者“OEM”的ACL 242的指针242E二者。
图3是显示用于签名以及将更新图2A至2F的签名的固件映象的权限进行授权的处理的流程图。最初,如参照图2A的根固件映象210A所描述的,已由根固件代码拥有者“根”对根固件映象310A进行了签名。表330A指示具有公钥331的实体(其对应于具有私钥320的“根”拥有者)具有包含指针332A至332E的访问控制列表332,其允许公钥331的拥有者对包含在固件卷FV1 311、FV2 313、FV3 315、FV4 317和FV5 319的每一个中的代码模块进行更新。
在动作3.1中,私钥320的拥有者,即“根”,创建签名的令牌360,以授权随后对根固件映象310A的更新。通过对令牌360进行签名,私钥320的拥有者,即“根”固件代码拥有者,将“根”公钥321与令牌360相关联。令牌360被创建为包括授予权限的信息,诸如被授权来对根固件映象310A进行更新的实体的公钥362以及指示可以通过对应的公钥362更新的根固件映象310A中的固件模块的访问控制列表364。在该示例中,已经将用于固件代码拥有者“OEM”的公钥362包括在令牌360中,访问控制列表364允许OEM公钥362的拥有者对固件卷FV3 315和FV5 319进行更新。
在动作3.2中,在更新根固件映象310A之前,验证通过令牌360寻求授权的权限。根固件映象310A查阅表330A来确保用于令牌360的公钥的拥有者,即,令牌公钥321的拥有者,即“根”,被授权来更新包括在令牌360中的固件卷。在该示例中,查阅表330A以确保用于令牌360的公钥321的拥有者(“根”)出现在表330A中,并且用于令牌360的公钥321的拥有者(“根”)具有更新固件卷FV3 315和FV5 319的权限。
在动作3.3中,在确认用于令牌360的公钥321的拥有者“根”具有更新固件卷FV3 315和FV5 319的权限之后,对FV3 315和FV5 319中的代码进行更新以形成OEM固件映象310B。还对OEM固件映象310B中的表330B进行更新以包括用于“OEM”固件代码拥有者的公钥作为公钥333和对应的访问控制列表(ACL)334。作为对表330B进行更新的结果,访问控制列表现在包括用于“根”固件代码拥有者的三个指针,即指向FV1 311的指针332A、指向FV2 313的指针332B和指向FV4 317的指针332D,以及用于“OEM”固件代码拥有者的两个指针,即指向FV3 315的指针334C和指向FV5 319的指针334E。
在动作3.4中,“OEM”固件代码拥有者(私钥340的拥有者)创建签名的令牌370,以授权随后对OEM固件映象310B的更新。通过对令牌370进行签名,私钥340的拥有者,即“OEM”固件代码拥有者,将“OEM”公钥341与令牌370相关联。令牌370被创建为包括授予权限的信息,诸如被授权来对OEM固件映象310B进行更新的实体的公钥372和指示可以通过对应的公钥372进行更新的OEM固件映象310B中的固件模块的访问控制列表374。在该示例中,用于固件代码拥有者“Chnl”的公钥372已经被包括在令牌370中,访问控制列表374允许Chnl公钥372的拥有者来更新固件卷FV5 319。
在动作3.5中,在更新OEM固件映象310B之前,验证通过令牌370寻求授权的权限。OEM固件映象310B查阅表330B来确保用于令牌370的公钥341的拥有者被授权来更新包括在令牌370中的固件卷。在该示例中,查阅表330B以确保用于令牌370的公钥341的拥有者(“OEM”)出现在表330B中,并且用于令牌370的公钥341的拥有者(“OEM”)具有更新固件卷FV5 319的权限。
在动作3.6中,在确认用于令牌360的公钥的拥有者“OEM”具有更新固件卷FV5 319的权限之后,对FV5 319中的代码进行更新以形成渠道客户固件映象310C。还对渠道客户固件映象310C中的表330C进行更新以包括用于“Chnl”固件代码拥有者的公钥作为公钥335和对应的访问控制列表(ACL)336。作为对表330C进行更新的结果,访问控制列表现在包括用于“根”固件代码拥有者的三个指针,即指向FV1311的指针332A、指向FV2 313的指针332B和指向FV4 317的指针332D;用于“OEM”固件代码拥有者的一个指针,即指向FV3 315的指针334C;以及用于“Chnl”固件代码拥有者的一个指针,即指向FV5 319的指针336E。
图4是根据本发明的一个实施例的用于对图2A至2F以及图3的签名的固件映象的访问控制列表进行更新的方法的流程图。由诸如图3中的签名的根固件映象310A的现有固件映象的拥有者来执行图4中描述的步骤,以将对签名的固件映象进行更新的权限授权给另一实体。将更新固件映象的权限进行授权的实体在本文中被称为“授权实体”。在图2A至2F的先前的示例中,将由“根”固件代码拥有者来执行图4中描述的步骤以在动作3.2和3.3中将权限授权给“OEM”固件代码拥有者。相似地,将由“OEM”固件代码拥有者来执行图4的步骤,以在动作3.5和3.6中将权限授权给“Chnl”固件代码拥有者。图4的步骤将用来更新现有固件映象的访问控制列表,诸如根固件映象310A的访问控制列表330A或者OEM固件映象310B的访问控制列表330B。
在“获取访问控制(AC)转发令牌”步骤410中,从授权实体获取诸如图3的令牌360或者令牌370的访问控制令牌。如先前参考图2A至2F以及图3所描述的,可以由分销渠道中的一个实体来创建诸如图3的令牌360或者令牌370的访问控制令牌,以授权分销渠道中的随后的实体来修改固件映象的给定版本。使用授权实体的私钥来对访问控制令牌进行签名,并且因此,授权实体的公钥与访问控制令牌相关联。一旦从分销渠道中的授权实体获取了访问控制令牌,则控制继续到“识别授权实体并且将授权实体的公钥的签名与ACL相匹配”步骤420。
在“识别授权实体并且将授权实体的公钥的签名与ACL相匹配”步骤420中,授权实体被识别为已对访问控制令牌进行签名的实体。在图3的示例中,在执行动作3.2处,授权实体是“根”固件代码拥有者。将与访问控制令牌相关联的公钥与在要授予更新权限的固件映象的访问控制列表中出现的公钥相匹配。如果与访问控制令牌相关联的公钥出现在所述固件映象的访问控制列表中,则控制继续到“验证AC转发令牌的签名”步骤430。
在“验证AC转发令牌的签名”步骤430处,使用用于授权实体的公钥来验证访问控制令牌的签名。为了执行该签名验证,可以根据签名的访问控制令牌来计算散列值。该公钥还可以用来对数字签名和签名的数据进行解密,然后可以根据解密的数据来计算另一散列值。如果两个计算的散列值相匹配,则可以认为该数字签名是有效的。在验证了访问控制令牌的签名之后,控制继续到“识别需要对ACL进行改变的代码模块”步骤440。
在“识别需要对ACL进行改变的代码模块”步骤440处,识别要针对其授予权限的固件卷。在动作3.2的示例中,在访问控制令牌360中识别的固件卷是固件卷FV3 315和FV5 319。一旦识别了固件卷,则控制继续到“验证授权实体被授权来改变AC”步骤450。
在“验证授权实体被授权来改变AC”步骤450中,确定授权实体是否被授权来改变现有固件映象的访问控制列表。如上所述,授权实体,即“根”固件代码拥有者,已经被指定为用于固件卷FV1 311至FV5 319的访问控制列表的拥有者。因此,授权实体被授权来改变用于这些固件卷的访问控制列表。然后,控制继续到“更新ACL:输入新实体的公钥并且更新用于代码模块的ACL”步骤460。
在“更新ACL:输入新实体的公钥并且更新用于代码模块的ACL”步骤460处,将用于被授予权限的实体(在该示例中为“OEM”固件代码拥有者)的公钥添加到访问控制列表,并且更新用于固件卷FV3 315和FV5319的访问控制列表。对固件卷FV3 315和FV5 319进行更新的权限已经被授予给了“OEM”固件代码拥有者。
图5是根据本发明的一个实施例的用于更新图2A至2F以及图3的签名的固件映象的方法的流程图。在“处理签名的模块”步骤510处,诸如根固件映象310A的现有固件映象接收处理签名的模块的请求。处理签名的模块可以包括对诸如包括在签名的模块中的多个固件卷的信息进行破解和/或对用于对签名的模块进行签名的密钥进行破解。将根据图5中的步骤来处理每个签名的代码模块。控制继续到“将公钥的签名与ACL相匹配并识别更新实体”步骤520。
在“将公钥的签名与ACL相匹配并识别更新实体”步骤520中,将与用于对签名的模块进行签名的私钥对应的公钥与现有固件映象的访问控制列表进行比较,并且识别更新实体。如果用于签名的模块的公钥出现在现有固件映象的访问控制列表中,则控制继续到“验证模块的签名”步骤530。
在“验证模块的签名”步骤530处,验证模块的签名。为了执行该签名验证,可以根据签名的模块来计算散列值。公钥还可以用来对数字签名和签名的数据进行解密,然后可以根据解密的数据来计算另一散列值。如果两个计算的散列值相匹配,则可以认为该数字签名是有效的。在验证了模块的签名之后,控制继续到“识别用于更新的代码模块”步骤540。
在“识别用于更新的代码模块”步骤440处,识别在现有固件映象中要更新的固件卷中的代码模块。一旦识别了固件卷中的代码模块,则控制继续到“验证更新实体被授权来更新所请求的代码模块”步骤550。
在“验证更新实体被授权来更新所请求的代码模块”步骤550中,确定更新实体是否被授权来更新所请求的固件卷。如果更新实体被授权,则控制继续到“更新代码模块”步骤560。在“更新代码模块”步骤560处,更新现有固件映象中的代码模块。
图6是根据本发明的一个实施例的被配置为使得固件映象能够被多个代码拥有者签名的系统的框图。对应于主计算机系统的平台600包括经由桌面管理接口(DMI)611连接至芯片组620的处理器610。处理器610向平台600提供处理功率,并且其可以是单核或者多核处理器,并且可以在平台600中包括多于一个的处理器。处理器610可以经由一个或多个系统总线、通信路径或者介质(未示出)连接至平台600的其它部件。
芯片组620包括管理引擎(ME)630以管理平台600的配置和操作,该管理引擎可以被实现为独立于主机处理器610进行操作的嵌入式微处理器。在一个实施例中,处理器610在主机操作系统(未示出)的指导下进行操作,而管理引擎(ME)630提供不能被主机操作系统访问的安全和隔离的环境。在一个实施例中,管理引擎(ME)630鉴别用户,控制对外围设备的访问,管理用于对存储在平台600的存储设备上的数据进行保护的加密密钥,以及经由网络控制器660提供到企业服务670的接口。使用企业服务670,管理引擎(ME)630维持与用于配置和管理诸如平台600的平台的企业级策略的一致性,包括根据本发明的一个实施例的提供多拥有者签名的固件更新管理器。多拥有者签名的固件更新管理器可以被实现为由管理引擎(ME 630)执行的固件。
ME 630和企业服务670之间的通信经由带外通信信道671发生。在一个实施例中,带外通信信道671是主机系统上的管理引擎(ME)630和管理主机系统的企业服务670之间的安全通信信道。在制造芯片组620和管理引擎(ME)630期间,可以将使得平台600和企业服务670之间能够进行安全通信的加密/解密密钥存储在图6的闪速存储器690中。
在图6中所示的实施例中,管理引擎(ME)630经由管理引擎控制器接口(MECI)631而耦合至微控制器640。在一个实施例中,微控制器640是执行存储命令解码和其它加速操作的通用控制器。在所示的实施例中,管理引擎(ME)630控制微控制器640的行为,微控制器又控制存储控制器650的行为。微控制器640包括用于存储控制器650的驱动器以及与任意的磁盘加密功能有关的逻辑。存储控制器650是用于诸如存储设备652的存储设备的控制器,并且使得微控制器640和ME 630能够访问存储在存储设备652上的数据。
平台600还包括诸如动态随机存取存储器(DRAM)612、芯片组620中的静态随机存取存储器(SRAM)622、闪速存储器690以及可经由存储控制器650访问的存储设备652的存储设备。这些存储设备可以包括随机存取存储器(RAM)和只读存储器(ROM)。为了本公开的目的,术语“ROM”一般用于指诸如可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速ROM、闪速存储器等的非易失性存储设备。存储设备652可以包括诸如集成驱动电子(IDE)硬盘驱动器的大容量存储设备,和/或诸如软盘、光存储器、磁带、闪速存储器、存储棒、数字视频盘、生物学存储器等的其它设备或者介质。
闪速存储器690可以由芯片组620经由闪速接口691进行访问。可以对存储在存储设备652上的和/或存储在存储设备DRAM 612、SRAM 622和闪速存储器690中的数据进行加密。
闪速存储器690包含用于初始化平台600的固件。该初始化固件包括用于识别和初始化系统部件硬件(诸如视频显示卡和硬盘)以及包括管理引擎(ME)630的一些其它硬件设备的基本输入/输出系统(BIOS)固件692。BIOS固件692使平台600的系统部件硬件准备好在已知的低能力状态中操作,以使得存储在各种介质上的包括操作系统在内的其它软件程序可以被加载、执行以及被给予对平台600的控制。BIOS固件692包括BIOS/ME通信模块693,该模块支持引导处理期间管理引擎(ME)630的初始配置。在一个实施例中,管理引擎(ME)630向BIOS/ME通信模块693进行注册以刚好在操作系统被加载用于平台600之前接收到通知。该通知使得管理引擎(ME)630能够执行某些指令以为加载操作系统作准备。
闪速存储器690还包括用于配置网络控制器660的网络控制器固件695和用于配置芯片组620的芯片组固件696。闪速存储器690还包含数据区域698。在一个实施例中,数据区域698是加密的并且仅可以被管理引擎(ME)630读取。ME 630用来提供BIOS/引导固件多拥有者管理服务的信息可以被存储在闪速存储器690的数据区域698中或者存储设备652上。
处理器610还可以可通信地耦合至附加的部件,诸如视频控制器、小型计算机系统接口(SCSI)控制器、网络控制器、通用串行总线(USB)控制器、诸如键盘和鼠标的输入设备等。平台600还可以包括用于将各种系统部件可通信地耦合起来的一个或多个桥或中心设备,诸如存储器控制器中心、输入/输出(I/O)控制器中心、PCI根桥等。如本文所使用的,术语“总线”可以用来指共享的通信路径以及点对点路径。
诸如网络控制器660的一些部件可以被实现为具有用于与总线进行通信的接口的适配器卡(例如,PCI连接器)。在一个实施例中,可以使用诸如可编程或不可编程逻辑设备或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等的部件,将一个或多个设备实现为嵌入式控制器。
如本文使用的,术语“处理系统”和“数据处理系统”旨在广泛地包括单个的机器、或者一起操作的可通信地耦合的机器或者设备的系统。示例性处理系统包括但不限于:分布式计算系统、超级计算机、高性能计算系统、计算集群、大型计算机、小型计算机、客户机-服务器系统、个人计算机、工作站、服务器、便携式计算机、膝上型计算机、平板计算机、电话、个人数字助理(PDA)、手持设备、诸如音频和/或视频设备的娱乐设备以及用于处理或者发送信息的其它设备。
可以至少部分通过来自诸如键盘、鼠标等的传统输入设备的输入和/或通过从另一机器接收的命令、生物反馈或者其它输入源或信号来控制平台600。平台600可以诸如通过网络接口控制器(NIC)660、调制解调器或者其它的通信端口或者耦合,来使用到一个或多个远程数据处理系统(未示出)的一个或多个连接。
可以通过诸如局域网(LAN)、广域网(WAN)、内联网、互联网等的物理和/或逻辑网络的方式将平台600互联至其它的处理系统(未示出)。涉及网络的通信可以使用各种有线和/或无线短程或远程载波和协议,包括射频(RF)、卫星、微波、电气和电子工程师协会(IEEE)802.11、蓝牙、光学、红外线、线缆、激光等。
可以在硬件、软件、固件或者这些实现方法的组合中实现本文公开的机制的实施例。本发明的实施例可以实现为在可编程系统上执行的计算机程序,该可编程系统包括至少一个处理器、数据存储系统(包括易失和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。
可以将程序代码应用于输入数据以执行本文描述的功能并且生成输出信息。本发明的实施例还包括机器可访问的介质,该介质包含用于执行本发明的操作的指令或者包含定义本文描述的结构、电路、装置、处理器和/或系统特征的诸如HDL的设计数据。这些实施例还可以被称为程序产品。
这些计算机可访问存储介质可以包括但不限于:由机器或者设备制造或形成的粒子的有形排列,包括诸如硬盘、任意其它类型的盘(包括软盘、光盘、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)以及磁-光盘)的存储介质;诸如只读存储器(ROM)、随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))、可擦除可编程只读存储器(EPROM)、闪速可编程存储器(FLASH)、电可擦除可编程只读存储器(EEPROM)的半导体设备;磁或光卡;或者适合用于存储电子指令的任意其它类型的介质。
可以以已知的方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有处理器的任意系统,其中,所述处理器诸如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或者微处理器。
可以用高级过程编程语言或者面向对象的编程语言来实现该程序,以与处理系统进行通信。如果期望的话,还可以用汇编语言或者机器语言来实现该程序。实际上,本文描述的机制的范围不限于任意特定编程语言。在任意情况中,该语言可以是经过编译或者解释的语言。
本文提出的是用于部署多拥有者签名的固件的方法和系统的实施例。虽然已经示出并描述了本发明的特定实施例,但对本领域技术人员显而易见的是,可以在不背离所附权利要求的范围的情况下进行多种改变、变形和修改。因此,本领域技术人员将认识到,可以在不背离本发明更广泛方面的情况下进行改变和修改。所附权利要求旨在将落入本发明的真实范围和精神之内的所有这种改变、变形和修改包括在其范围内。

Claims (6)

1.一种计算机实现的方法,包括:
获取签名的固件映象,所述签名的固件映象至少包括由第一代码拥有者签名的第一代码模块以及访问控制列表,其中,所述访问控制列表授权所述第一代码拥有者更新所述第一代码模块;
获取更新的第一代码模块,所述更新的第一代码模块包括用于所述第一代码模块的更新的代码和更新的访问控制列表,所述更新的访问控制列表将更新所述第一代码模块的权限从所述第一代码拥有者授权给第二代码拥有者;
至少部分地基于所述更新的访问控制列表验证所述更新的第一代码模块是由所述第二代码拥有者签名的并且所述第二代码拥有者被授权进行更新;以及
响应于验证了所述更新的第一代码模块是由所述第二代码拥有者签名的并且所述第二代码拥有者被授权更新所述第一代码模块,用所述更新的第一代码模块来更新所述签名的固件映象。
2.根据权利要求1所述的方法,还包括:
获取访问控制令牌,其中,所述访问控制令牌包括针对所述第二代码拥有者的公钥以及对所述第二代码拥有者更新所述签名的固件映象的所述第一代码模块的授权;
验证所述访问控制令牌是由来自所述访问控制列表的授权的代码拥有者签名的;
验证所述授权的代码拥有者被授权更新所述第一代码模块;以及
更新所述访问控制列表以包括针对所述第二代码拥有者的所述公钥和对所述第二代码拥有者更新所述第一代码模块的所述授权。
3.根据权利要求1所述的方法,还包括:
在更新所述签名的固件映象之前,验证所述第一代码拥有者被授权更新所述第一代码模块。
4.一种计算机实现的系统,包括:
用于获取签名的固件映象的单元,所述签名的固件映象至少包括由第一代码拥有者签名的第一代码模块以及访问控制列表,其中,所述访问控制列表授权所述第一代码拥有者更新所述第一代码模块;
用于获取更新的第一代码模块的单元,所述更新的第一代码模块包括用于所述第一代码模块的更新的代码和更新的访问控制列表,所述更新的访问控制列表将更新所述第一代码模块的权限从所述第一代码拥有者授权给第二代码拥有者;
用于至少部分地基于所述更新的访问控制列表验证所述更新的第一代码模块是由所述第二代码拥有者签名并且所述第二代码拥有者被授权进行更新的单元;以及
用于响应于验证了所述更新的第一代码模块是由所述第二代码拥有者签名的并且所述第二代码拥有者被授权更新所述第一代码模块,用所述更新的第一代码模块来更新所述签名的固件映象的单元。
5.根据权利要求4所述的系统,还包括:
用于接收访问控制令牌的单元,其中,所述访问控制令牌包括针对所述第二代码拥有者的公钥以及对所述第二代码拥有者更新所述签名的固件映象的所述第一代码模块的授权;
用于验证所述访问控制令牌是由来自所述访问控制列表的授权的代码拥有者签名的单元;
用于验证所述授权的代码拥有者被授权更新所述第一代码模块的单元;以及
用于更新所述访问控制列表以包括针对所述第二代码拥有者的所述公钥和对所述第二代码拥有者更新所述第一代码模块的所述授权的单元。
6.根据权利要求4所述的系统,还包括:
用于在更新所述签名的固件映象之前,验证所述第一代码拥有者被授权更新所述第一代码模块的单元。
CN201110153786.7A 2010-06-11 2011-06-09 固件映象的多拥有者部署 Expired - Fee Related CN102289627B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/814,246 US8566613B2 (en) 2010-06-11 2010-06-11 Multi-owner deployment of firmware images
US12/814,246 2010-06-11

Publications (2)

Publication Number Publication Date
CN102289627A CN102289627A (zh) 2011-12-21
CN102289627B true CN102289627B (zh) 2015-07-29

Family

ID=44337607

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201110153786.7A Expired - Fee Related CN102289627B (zh) 2010-06-11 2011-06-09 固件映象的多拥有者部署
CN2011800273978A Pending CN102934073A (zh) 2010-06-11 2011-06-10 固件映像的多所有者部署

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2011800273978A Pending CN102934073A (zh) 2010-06-11 2011-06-10 固件映像的多所有者部署

Country Status (9)

Country Link
US (1) US8566613B2 (zh)
EP (1) EP2395449B1 (zh)
JP (1) JP5301609B2 (zh)
KR (1) KR101312832B1 (zh)
CN (2) CN102289627B (zh)
HK (1) HK1165038A1 (zh)
RU (1) RU2510952C2 (zh)
SG (1) SG176870A1 (zh)
WO (1) WO2011156738A2 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566613B2 (en) * 2010-06-11 2013-10-22 Intel Corporation Multi-owner deployment of firmware images
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex
US8924737B2 (en) * 2011-08-25 2014-12-30 Microsoft Corporation Digital signing authority dependent platform secret
CN103777971A (zh) * 2012-10-23 2014-05-07 新加坡商华科国际股份有限公司 电子装置、更新固件的方法与电脑可读取记录媒体
KR101416381B1 (ko) 2012-12-17 2014-08-06 현대자동차 주식회사 펌웨어 업데이트 시스템 및 방법
US9160542B2 (en) 2013-03-18 2015-10-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Authorizing use of a test key signed build
GB2515536A (en) * 2013-06-27 2014-12-31 Ibm Processing a guest event in a hypervisor-controlled system
US9524390B2 (en) * 2014-09-09 2016-12-20 Dell Products, Lp Method for authenticating firmware volume and system therefor
WO2016076880A1 (en) 2014-11-14 2016-05-19 Hewlett Packard Enterprise Development Lp Secure update of firmware and software
CN104636140B (zh) * 2015-01-29 2018-05-29 小米科技有限责任公司 固件压缩方法、固件解压方法和装置
KR101782378B1 (ko) * 2016-11-03 2017-09-27 시큐리티플랫폼 주식회사 서명된 공개 키를 이용한 시큐어 부트 방법
US10872155B2 (en) * 2016-11-16 2020-12-22 Samsung Electronics Co., Ltd. Computing system for managing firmware and firmware managing method thereof
US10489594B2 (en) 2017-07-19 2019-11-26 Dell Products, Lp System and method for secure migration of virtual machines between host servers
US10551814B2 (en) * 2017-07-20 2020-02-04 Fisher-Rosemount Systems, Inc. Generic shadowing in industrial process plants
DE102017219188A1 (de) * 2017-10-26 2019-05-02 Robert Bosch Gmbh Verfahren zum Aktualisieren von Softwarekomponenten eines Netzwerkteilnehmers eines Netzwerks
US11170105B2 (en) 2019-02-28 2021-11-09 International Business Machines Corporation Verifying updates based on update behavior-based profiles
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
US20220058270A1 (en) * 2020-08-21 2022-02-24 Arm Limited System, devices and/or processes for delegation of cryptographic control of firmware authorization management
US12039318B2 (en) * 2020-10-26 2024-07-16 Micron Technology, Inc. Endpoint customization via online firmware store
CN116964580A (zh) * 2021-02-24 2023-10-27 谷歌有限责任公司 数字设备的可信计算
CN117494079B (zh) * 2023-12-25 2024-03-26 飞腾信息技术有限公司 一种镜像权转移方法、安全启动方法及相关装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934073A (zh) * 2010-06-11 2013-02-13 英特尔公司 固件映像的多所有者部署

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US7069452B1 (en) 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
RU2258252C2 (ru) * 2000-07-25 2005-08-10 Макровижн Корпорейшн Система и способ проверки подлинности динамически подключаемых исполняемых образов
KR20030033396A (ko) 2001-10-22 2003-05-01 주식회사 지트랜코리아 무선 단말기의 업그레이드 방법
US7036007B2 (en) 2002-09-09 2006-04-25 Intel Corporation Firmware architecture supporting safe updates and multiple processor types
US7644288B2 (en) * 2003-03-19 2010-01-05 Ricoh Company, Ltd. Image forming apparauts that checks authenticity of an update program
JP2004303209A (ja) 2003-03-19 2004-10-28 Ricoh Co Ltd 画像形成装置、プログラム更新方法、及び更新用記憶媒体
US7017040B2 (en) 2003-12-04 2006-03-21 Intel Corporation BIOS update file
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US20050262497A1 (en) * 2004-05-19 2005-11-24 Microsoft Corporation System and method for generating embedded resource updates for output device
JP2006058995A (ja) 2004-08-18 2006-03-02 Nippon Telegr & Teleph Corp <Ntt> アクセス権限設定装置、方法およびシステム
US7730326B2 (en) 2004-11-12 2010-06-01 Apple Inc. Method and system for updating firmware stored in non-volatile memory
US8464348B2 (en) * 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
KR20070064872A (ko) * 2005-12-19 2007-06-22 엘지전자 주식회사 케이블 방송의 소프트웨어 수신방법
US20070294404A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Method and system for authorization and access control delegation in an on demand grid environment
US8001385B2 (en) 2006-06-21 2011-08-16 Intel Corporation Method and apparatus for flash updates with secure flash
US7770165B2 (en) 2006-08-25 2010-08-03 Microsoft Corporation Providing firmware updates to portable media devices
US20080126854A1 (en) * 2006-09-27 2008-05-29 Anderson Gary D Redundant service processor failover protocol
US8245307B1 (en) * 2006-12-18 2012-08-14 Nvidia Corporation Providing secure access to a secret
JP2008305035A (ja) * 2007-06-06 2008-12-18 Hitachi Ltd 装置、更新方法、および制御ソフト。
US8495354B2 (en) 2008-09-24 2013-07-23 Hewlett-Packard Development Company, L.P. Apparatus for determining during a power-on sequence, a value to be written to a first register in a secure area and the same value to a second register in non-secure area, which during a protected mode, the value is compared such that if it is equal, enabling writing to a memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934073A (zh) * 2010-06-11 2013-02-13 英特尔公司 固件映像的多所有者部署

Also Published As

Publication number Publication date
WO2011156738A2 (en) 2011-12-15
RU2011153332A (ru) 2013-07-10
HK1165038A1 (zh) 2012-09-28
US8566613B2 (en) 2013-10-22
CN102289627A (zh) 2011-12-21
EP2395449A1 (en) 2011-12-14
JP2012003758A (ja) 2012-01-05
SG176870A1 (en) 2012-01-30
US20110307712A1 (en) 2011-12-15
JP5301609B2 (ja) 2013-09-25
RU2510952C2 (ru) 2014-04-10
KR101312832B1 (ko) 2013-09-27
CN102934073A (zh) 2013-02-13
KR20110138165A (ko) 2011-12-26
EP2395449B1 (en) 2019-02-13
WO2011156738A3 (en) 2012-04-05

Similar Documents

Publication Publication Date Title
CN102289627B (zh) 固件映象的多拥有者部署
CN101176100B (zh) 提供基于软件的安全协处理器的方法和装置
US8296561B2 (en) Certifying device, verifying device, verifying system, computer program and integrated circuit
US8074262B2 (en) Method and apparatus for migrating virtual trusted platform modules
AU2014256377B2 (en) Systems and methods for secure processing with embedded cryptographic unit
US8099789B2 (en) Apparatus and method for enabling applications on a security processor
CN106063182B (zh) 电子签名方法、系统及设备
US20080082828A1 (en) Circuit arrangement and method for starting up a circuit arrangement
CN101251879A (zh) 用于保护数据的方法和装置
US9160542B2 (en) Authorizing use of a test key signed build
CA2308755A1 (en) Reconfigurable secure hardware apparatus and method of operation
US6983364B2 (en) System and method for restoring a secured terminal to default status
US11909882B2 (en) Systems and methods to cryptographically verify an identity of an information handling system
CN106156607B (zh) 一种SElinux安全访问方法和POS终端
US20060150246A1 (en) Program execution control device, OS, client terminal, server, program execution control system, program execution control method and computer program execution control program
US20080189542A1 (en) Computerized Apparatus And Method For Version Control And Management
US20030002667A1 (en) Flexible prompt table arrangement for a PIN entery device
US20060194603A1 (en) Architecture partitioning of a nonvolatile memory
Markantonakis et al. An overview of the GlobalPlatform smart card specification
CN105825116B (zh) 用于管理内容的方法和安全元件
US11481497B2 (en) Systems and methods for hardware attestation in an information handling system
US12019752B2 (en) Security dominion of computing device
KR102393537B1 (ko) 신뢰실행환경에 기반한 소프트웨어 라이선스 관리 방법 및 시스템
US20240037216A1 (en) Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment
CN115017475A (zh) 一种软件离线授权的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1165038

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1165038

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150729

Termination date: 20210609