CN115935363A - 计算设备的安全支配权 - Google Patents
计算设备的安全支配权 Download PDFInfo
- Publication number
- CN115935363A CN115935363A CN202210417917.6A CN202210417917A CN115935363A CN 115935363 A CN115935363 A CN 115935363A CN 202210417917 A CN202210417917 A CN 202210417917A CN 115935363 A CN115935363 A CN 115935363A
- Authority
- CN
- China
- Prior art keywords
- security
- token
- owner
- computing device
- management controller
- 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/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本文公开的示例涉及计算设备的安全支配权。计算设备的管理控制器可以访问与计算设备的物理所有者有关的物理所有者令牌。管理控制器可以访问与计算设备的安全支配权所有者有关的安全支配权所有者令牌。安全支配权所有者令牌跟踪计算设备的安全功能的责任性。与安全支配权所有者令牌相关联的安全支配权所有者最初被设置为第一实体。
Description
背景技术
服务提供商和制造商面临着例如通过提供具有管理控制器的计算设备向消费者传递质量和价值的挑战。管理控制器可以用于控制对计算设备(如服务器)的各种功能的管理。可以在这种管理控制器上使用固件。
附图说明
以下具体实施方式参考附图,在附图中:
图1和图2是根据各种示例的具有能够访问安全支配权的管理控制器的计算设备的框图;
图3是根据示例的用于基于安全支配权所有权来确定固件更新包的实施方式的方法的流程图;
图4是根据示例的能够访问安全支配权的管理控制器的框图;
图5是根据示例的用于将安全支配权所有权转移给另一个实体的方法的流程图;
图6是示出了根据示例的用于将安全支配权所有权转移给另一个实体的方法的简图。
在所有附图中,相同的附图标记可以表示相似但不一定相同的元件。附加在一些附图标记上的索引号“N”可以理解为仅指示复数个,并且对于具有这样的索引号“N”的每个附图标记而言可能不一定表示相同的数量。另外,本文中在附图标记在其他地方与索引号一起提及的情况下,这种附图标记在没有索引号的情况下的使用可以集体地或单个地概括指代对应的复数个元件。在另一个示例中,索引号“I”、“M”等可以用于代替索引号N。
在所有附图中,相同的附图标记指代相似但不一定相同的元件。附图不一定是按比例绘制的,并且一些部分的尺寸可以被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
在本公开中,除非上下文另外明确指示,否则使用术语“一个(a)”、“一种(an)”或“所述(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括(includes/including/comprises/comprising)”或“具有(have/having)”指明存在所述元件,但不排除存在或添加其他元件。
计算设备的客户希望计算设备是可管理的、安全的和可更新的。很多时候,计算设备的制造商为计算设备的部件提供固件以使计算设备保持最新和/或安全。在一些示例中,计算设备可以包括管理控制器。管理控制器可以用于管理计算设备。这可以包括监测关于计算设备的健康信息、执行更新、远程控制计算设备等。
当用户购买计算设备时,他们会查看与该计算设备相关联的徽标并了解到特定的供应商支持该计算设备。然而,当计算设备易手时,对该计算设备的证明会变得更加复杂。例如,对正在该计算设备上执行的固件的安全性的证明可能取决于固件在前一所有者的位置发生了什么。
管理控制器应该安全。确保安全性的一种方法是将计算设备固件的更改限制于制造商签署的软件。然而,一些客户可能希望自定义或更改其计算设备上使用的固件。例如,客户可能希望在计算设备部件(例如,管理控制器)上放置如开源固件、自定义固件或第三方固件等固件。然而,如果制造商无法控制固件,则制造商很难证明计算设备上的固件的安全性。例如,如果固件最初具有从管理控制器开始的信任根,则将固件替换为制造商签署的固件之外的固件将限制制造商证明系统安全性的能力,因为在安装其他固件时,事情可能已经改变。这可能很重要,例如,如果制造商翻新计算设备或改变计算设备的用途,或者如果原始所有者转售该设备。例如,制造商可以将计算设备出租给客户若干年,或者可以为客户提供退货或更新程序。制造商能够证明其安全性的计算设备可能比制造商不能证明计算设备在生命周期期间的安全性的计算设备更有价值。这可能是因为一些客户宁愿不使用这样的设备,或者会重视制造商证明安全性的能力。
相应地,本文的各种示例涉及允许转移计算设备的安全支配权(securitydominion)的方法。客户可以是计算设备的初始物理所有者。如本文所使用的,“安全支配权”是关于哪个实体对计算设备的硬件的安全性负责的表征。所描述的示例方法使得安全支配权在密码学上是无可辩驳的:1.安全支配权只能转移给当前的物理所有者;2.安全支配权只能由安全支配权所有者承担(assume);3.可以验证当前的安全支配权所有者。
为了实施这一理念,可以使用令牌。在一个示例中,令牌可以包括“所有者令牌”。如本文所使用的,所有者令牌是基于物理所有者的私钥的令牌。私钥用于对被授予者的公钥和随机数(NONCE)进行加密。物理所有者的转移令牌可以存储在计算设备的安全存储中。安全存储可以在管理控制器内部实施(例如,经由内部安全存储或安全包围区),或者作为外部安全存储的一部分实施。令牌还可以包括“安全支配权所有者令牌”。安全支配权所有者令牌用于对所有者的令牌进行加密。
在一些示例中,管理控制器的安全包围区(enclave)可以承担受信任代理的角色,并将转移事务保存在托管中,直到安全支配权转移完成。包围区或另一个实体也可以维护每次转移的分类账。
现在参考附图,图1和图2是根据各种示例的具有能够访问安全支配权的管理控制器的计算设备的框图。设备100、200包括可以用于跟踪计算设备的安全支配权的部件。相应的设备100、200可以是笔记本计算机、台式计算机、平板计算设备、服务器、工作站或包含与主机处理器分离以执行所描述的任务的管理控制器的任何其他计算设备。
计算设备100可以包括主机处理器102和存储器104。主机处理器102可以包括一个或多个物理处理部件。当计算设备开机时,主机处理器102可以在启动过程期间执行平台固件,然后将对计算设备的操作控制移交给更高级别的操作系统。
计算设备100还可以包括管理控制器106。管理控制器(例如基板管理控制器(BMC))具有与主机处理器102分离的芯片,并且与主机处理器102分开实施。管理控制器106可以由辅助电源轨供电。此外,管理控制器106可以包括处理元件212,该处理元件可以执行指令以执行本文描述的方法。
当计算设备通电时,管理控制器106可以开始验证序列。管理控制器106可以由信任根保护。验证序列可以开始于管理控制器106验证其启动代码是否有效(例如,通过测量启动代码并将测量结果与先前获取的值进行比较)。然后,启动代码可以测量该代码的要在管理控制器106上运行的其他部分。在一个示例中,一旦管理控制器106的代码通过验证,管理控制器就可以链接以验证其他固件。例如,管理控制器106可以经由对固件存储器、可编程逻辑器件、安全协处理器、另一个部件(例如,创新引擎或管理引擎)等进行的一次或多次测量来验证固件。
如本文所使用的,“信任根设备”或RoT设备可以是以预期方式表现的设备,因为可能无法检测到RoT设备的不良行为。换句话说,RoT设备可以是本质上可信的软件、硬件或其某种组合。RoT设备可以包括计算引擎。计算引擎可以是使用RoT设备中的硬件进行操作的软件、RoT设备的硬件、或其某种组合。例如,RoT设备可以包括存储信任根(Root of Trustfor Storage,RTS)。RTS可以是能够维护值的准确汇总的计算引擎。例如,可以使用可信平台模块(Trusted Platform Module,TPM)来实施RoT。在这样的示例中,TPM可以包括一个平台配置寄存器(Platform Configuration Register,PCR)(或多个PCR)。此外,RTS可以是一个PCR(或多个PCR)。在另一个示例中,RoT可以包括报告信任根(Root of Trust forReporting,RTR)。RTR可以是能够向请求设备发送所请求信息的计算引擎。该信息可以包括RoT的寄存器中的内容(或RTS的内容)和由请求者指定的信息。RoT可以包括这里未描述的其他计算引擎,如用于测量指定值的计算引擎或用于认证的计算引擎。
在上述结构中,与信任链或验证序列相关的安全功能始于对初始RoT的控制,然后是对启动代码的验证。如果验证序列中的启动代码或其他组件不受制造商控制,则制造商可能无法证明组件的安全性。
因此,描述了允许制造商之外的另一个实体证明计算设备的各种安全功能的方法。这些方法可以使用两个令牌。
如所指出的,计算设备可以包括物理所有者令牌108和安全支配权所有者令牌110。如本文所使用的,“物理所有者令牌”是基于物理所有者的私钥的令牌。
最初,物理所有者令牌108可以被提供给计算设备的第一个所有者。在一些情况下,这可能是计算设备的制造商。在其他情况下,这可能是计算设备的第一个所有者。此外,物理所有者令牌108可以用于识别所有者并针对各种任务对所有者进行认证。令牌是至少包括可以用于以密码方式加密活动的密钥的数据结构。在一个示例中,令牌可以是证书。在这个示例中,证书可以包括公钥。证书可以用于证明公钥的所有权。在一些示例中,证书包括关于公钥的信息、关于密钥所有者的信息以及验证证书内容的实体的数字签名。
如所指出的,“安全支配权所有者令牌110”也可以存储在计算设备100、200上(例如,存储在安全存储中,如管理控制器106的安全存储)。如所指出的,安全支配权所有者令牌与计算设备100、200的安全支配权所有者有关。
安全支配权所有者令牌110跟踪计算设备100、200的安全功能的责任性(accountability)。在一些示例中,安全支配权所有者令牌最初被设置为第一实体。在一些示例中,第一实体可以是计算设备的制造商。如本文所使用的,设置安全支配权所有者令牌意味着提供公钥/私钥集,在该公钥/私钥集中,第一实体拥有私钥。与物理所有者令牌108一样,安全支配权所有者令牌110可以以证书的形式实施。证书还可以包括标识符。该标识符可以用于识别第一实体(例如,在启动屏幕上显示第一实体的名称,经由BMC的消息或电子邮件发送关于第一实体是什么的通知等)。在一个示例中,安全支配权所有者的私钥用于控制固件更新。例如,安全支配权所有者的私钥可以用于签署要在计算平台上实施的固件。
在一个示例中,管理控制器106可以与安全存储、硬件信任根或其他安全功能相关联。在一个示例中,在首次将计算系统100、200启动到工厂中的服务操作系统(OS)或置备引擎时,生成唯一的私钥和公钥,并通过保存到管理控制器存储装置中来将该私钥和公钥“粘贴(glued)”到系统上。该存储装置可以是持久并且不可替换的。管理控制器106可以允许使用应用编程接口间接访问密钥。可以将这些值写入与管理控制器106相同的专用集成电路(ASIC)上的一次写入寄存器中。一次写入寄存器可以例如使用熔丝来实施。在一个示例中,私钥通过执行使用随机源的算法来创建,并且被编程。在另一个示例中,公钥是私钥的密码散列。在一些示例中,一旦经历编程,改变寄存器的能力就会被禁用(例如,切断例如写入线上的熔断器)。在一些示例中,管理控制器106可以用于确保计算系统100、200的固件是安全的(例如,通过确保除非固件是使用管理控制器106的私钥可以验证或解密的公钥进行签署或加密的,否则该固件不会被更新)。此外,在一些示例中,管理控制器106可以阻止计算系统100、200使用受损的固件启动。
在一些示例中,管理控制器106可以为管理控制器106加载启动加载程序,该启动加载程序可以使用管理控制器的密钥进行自我验证。之后,管理控制器106可以验证附加固件,例如,由安全支配权所有者的私钥控制的固件。
此外,在一些示例中,管理控制器106可以进一步包括密钥储存库。如本文所使用的,密钥储存库是包括至少一个私钥的存储装置,该至少一个私钥可以用于验证信息是否已由公钥签署。在一些示例中,公钥也可以包括在密钥储存库中。在一些示例中,作为信任根的一部分的私钥可以被认为是密钥储存库的一部分。此外,在一些示例中,设备唯一数据可以存储在密钥储存库中。
在一个示例中,安全功能是验证要在计算设备100、200上实施的固件更新包。在一个示例中,固件更新包是针对管理控制器106的。在另一个示例中,固件更新包是针对计算设备100、200的另一控制器或ASIC的(例如,键盘控制器、网络控制器、总线控制器、平台固件诸如基本输入输出系统或可扩展固件接口、创新引擎、管理引擎、存储控制器、可编程逻辑器件或现场可编程门阵列等)。固件包的实施方式可以采取各种形式,例如更新一个或多个ASIC或平台固件上的固件代码和/或更新一个或多个ASIC或平台固件的配置设置。
可以在管理控制器106处接收固件更新包。固件更新包可以来自经由与管理控制器106相关联的管理网络进行连接的网络设备或另一来源,如在通信地耦接到管理控制器106的主机处理器102上执行的操作系统。
管理控制器106可以基于安全支配权所有者令牌来确定固件更新包是否能够在计算设备100、200上实施。该确定可以基于一个或多个密码密钥。
在一些示例中,可以管理密钥,以便在安装固件之前使用安全支配权所有者令牌来对固件进行认证。在一个示例中,固件将由私钥签署,该私钥可以由与安全支配权所有者令牌110一起存储的密钥进行验证。在另一个示例中,可以使用密钥管理器。计算设备100、200可以包括密钥管理器,其中,使用安全支配权所有者令牌110来控制存储在密钥管理器上的密钥。
在一个示例中,为了将用于固件认证的密钥添加到由密钥管理器控制的安全存储中,需要安全支配权所有者令牌110。在这个示例中,在将密钥添加到安全存储之前,使用应用编程接口(API)来验证密钥的添加者是否拥有与安全支配权所有者令牌相关联的私钥。
在一个示例中,固件更新包用于更新管理控制器106的固件,管理控制器106可以执行该更新。在另一个示例中,更新是针对另一个ASIC或固件的。在某些示例中,管理控制器106可以具有直接更新ASIC或固件的权限和能力。在其他示例中,管理控制器106可以与另一个经授权实体通信以使用固件包更新固件。
在一些示例中,物理所有者令牌108和/或安全支配权所有者令牌110存储在与管理控制器106的同一芯片中。此外,在一些示例中,密钥的安全存储也可以存储在同一芯片上。在其他示例中,可以将另一个芯片用于安全存储。
如所指出的,第一实体可以是计算设备100、200的制造商。在其他示例中,第一实体可以是计算设备的第一个所有者。与制造商相关联的固件更新可以由制造商使用制造商的密钥来签署。管理控制器106可以验证要实施的任何固件是否被正确签署。可以使用各种方法来验证签名,例如,X509证书标准、证书颁发机构等。
在一些示例中,使用两步过程制作数字签名。第一步是对要签署的数据(例如,固件包)使用安全散列算法。第二步是使用私有签名密钥对该散列结果进行加密。签名将由公钥验证,该公钥可以对散列进行解密,该散列然后可以用来验证固件包。在这里的示例中,公钥可以存储在安全存储中,或者作为安全支配权所有者令牌的一部分被存储。在一些示例中,安全存储可以存储多个公钥,例如,一些密钥可以与制造商相关联,而其他密钥可以与控制安全支配权所有者令牌的实体相关联。
如所指出的,在一个示例中,设置了制造商或其他第一实体。如果计算设备100、200的物理所有者想要使用未由与制造商或其他第一实体相关联的私钥签署的固件,则物理所有者可以替换安全支配权所有者令牌110。在这个示例中,安全支配权所有者令牌被替换为第二安全支配权所有者令牌。这也可以将第二实体设置为安全支配权所有者。
可以使用安全的方法来替换安全支配权所有者令牌。如所指出的,在一些示例中,在转移安全支配权的方法中可能使用某些属性:1.安全支配权只能转移给当前的物理所有者;2.安全支配权只能由安全支配权所有者承担;3.可以验证当前的安全支配权所有者。
在一个示例中,为了替换安全支配权所有者令牌110,由管理控制器106对物理所有者进行认证。在一个示例中,可以使用质询-响应认证。在一个示例中,该方法可以包括密码技术。
一旦物理所有者通过认证,就可以使用安全支配权所有者令牌的私钥来对第二实体的公钥和随机数进行加密,以创建转移令牌。接收与第二实体相关联的被授予者令牌,并且该被授予者令牌包括从转移令牌中恢复随机数的能力的证明。第二安全支配权所有者令牌可以被包含在被授予者令牌中,并被用来替换原始安全支配权所有者令牌。如所指出的,安全支配权所有者令牌可以包括安全支配权所有者的标识符。
在这个示例中,标识符可以标识第二实体。在一些示例中,标识符可以被提供给计算设备100、200的用户。标识符可以例如作为图形输出被提供给显示器,例如提供给输出设备242。在其他示例中,输入/输出接口234可以用于输出带有安全支配权所有者标识符的消息。该消息可以是电子邮件、日志消息或其他消息。在一些示例中,该消息可以显示为用于从管理控制台控制计算设备100、200的管理界面的一部分。
主机处理器102(如适合于取得和执行指令和/或电子电路的中央处理单元(CPU)或微处理器(例如,具有处理元件212的管理控制器106))可以被配置为执行本文描述的各种实施方式。在某些情况下,指令和/或其他信息可以被包括在存储器232或其他存储器中。例如,令牌和/或密钥可以存储在安全存储、包围区等中。输入/输出接口234可以由计算设备200另外提供。例如,如键盘、传感器、触摸界面、鼠标、麦克风等输入设备240可以用于从计算设备200周围的环境接收输入。此外,如显示器等输出设备242可以用于向用户呈现信息。输出设备的示例包括扬声器、显示设备、放大器等。此外,在某些示例中,一些部件可以用于实施本文描述的其他部件的功能。如通信设备(如网络通信设备)或无线设备等输入/输出设备也可以被认为是能够使用输入/输出接口234的设备。
在一些示例中,管理控制器106可以用于实施计算设备200的服务。管理控制器106可以使用用于执行高级操作系统的与处理元件130分离的处理器来实施。如BMC等管理控制器可以为计算设备提供所谓的“无人值守”功能。即使计算设备上未安装操作系统或操作系统不起作用,无人值守功能也可以允许如系统管理员等用户在计算设备200上执行管理操作。此外,在一个示例中,管理控制器106可以以辅助电力运行,因此计算设备200不需要通电到“运转(on)”状态,在该运转状态下,对计算设备200的控制在启动之后移交到操作系统。作为示例,管理控制器106可以提供所谓的“超出范围(out-of-band)”服务,如远程控制台访问、远程重启和电力管理功能、监测系统的健康状况、访问系统日志等。如本文所使用的,管理控制器106具有对计算设备200的子系统的管理能力,并且与执行计算设备(例如,服务器或服务器组)的主操作系统的处理器或处理元件130分离。
如所指出的,在一些实例中,管理控制器106可以启用计算设备200的无人值守管理,该无人值守管理提供远程管理访问(例如,系统控制台访问),而不管计算设备200是否通电、主网络子系统硬件是否正在起作用、或OS是否正在运行或甚至是否已安装。管理控制器106可以包括管理员可以用于与管理控制器106远程通信的接口,如网络接口和/或串行接口。如本文所使用的,“超出范围”服务是由管理控制器106经由专用管理通道(例如,网络接口或串行接口)提供的、并且无论计算设备200是否处于通电状态都可用的服务。
在一些示例中,管理控制器106可以被包括作为外壳的一部分。在其他示例中,管理控制器106可以被包括在一个或多个服务器中(例如,作为服务器的管理子系统的一部分)或者经由接口(例如,外围接口)连接。在一些示例中,与管理控制器106相关联的传感器可以测量内部物理变量,如湿度、温度、电源电压、通信参数、风扇速度、操作系统功能等。管理控制器106还能够重启或断电重启设备。如所指出的,管理控制器106允许对设备进行远程管理,并且因此可以使用管理控制器106向集控站发出通知,或可以经由管理控制器106实施密码或其他用户输入。
平台固件可以使用可由处理器和/或逻辑执行的指令来实施。平台固件可以包括如基本输入/输出系统(BIOS)或统一可扩展固件接口(UEFI)等接口,以允许该平台固件被接口连接。平台固件可以位于计算设备100、200的处理元件(如主机处理器102(例如,CPU))启动的地址空间。在一些示例中,平台固件可以负责计算设备100、200的通电自检。在其他示例中,平台固件可以负责启动过程并且负责将哪种操作系统(如果有的话)加载到计算设备100、200上。此外,平台固件能够初始化计算设备100、200的各种部件诸如外围设备、存储器设备232、存储器控制器设置、存储控制器设置、总线速度、视频卡信息等。在一些示例中,平台固件还能够在计算设备100、200执行时执行各种低级功能。此外,在一些示例中,平台固件能够例如经由高级配置和电源接口(ACPI)与在CPU上执行的更高级别的操作系统通信。此外,如先前所指出的,平台固件可以是信任链的一部分,在该信任链中,加载到存储器中的每个组件都经过验证(例如,经由测量或安全启动方法)。
图3是根据示例的用于基于安全支配权所有权来确定固件更新包的实施方式的方法的流程图。图4是根据示例的能够访问安全支配权的管理控制器的框图。
管理控制器400包括例如处理元件410和机器可读存储介质420,该机器可读存储介质包括用于在计算设备上实施安全支配权的指令422、424、426、428。
处理元件410可以是一个或多个中央处理单元(CPU)、一个或多个基于半导体的微处理器、一个或多个图形处理单元(GPU)、适合于取得和执行存储在机器可读存储介质420中的指令的其他硬件设备、或其组合。处理元件410可以是物理设备。此外,在一个示例中,处理元件410可以包括芯片上的多个核。处理元件410可以获取、解码和执行指令422、424、426、428以实施方法300、500。作为取得和执行指令的替代或补充方案,处理元件410可以包括至少一个集成电路(IC)、其他控制逻辑、其他电子电路或其包括用于执行指令422、424、426、428的功能的多个电子部件的组合。
机器可读存储介质420可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。这样,机器可读存储介质可以是非暂态的。如本文详细描述的,机器可读存储介质420可以编码有一系列可执行指令,这些指令用于基于安全支配权所有者令牌来更新固件和/或用于转移计算设备的安全支配权。
尽管下面参考管理控制器400描述了方法300的执行,但是也可以利用其他适合于执行方法300的部件(例如,计算设备100、200)。另外,用于执行方法300的部件可以分布在多个设备之中。方法300可以以存储在如存储介质420等机器可读存储介质上的可执行指令的形式和/或以电子电路的形式来实施。
管理控制器400可能处于管理控制器400的所有者希望知道安全支配权所有者的身份的状态。如所指出的,管理控制器400可以是计算设备的一部分,其中,管理控制器400与计算设备的主机处理器或主机处理元件分离。
在302处,管理控制器可以通过执行物理令牌访问指令422来访问与管理控制器400所控制的设备的物理所有者有关的物理所有者令牌。在一些示例中,管理控制器400可以包括安全存储和API,该API允许管理控制器400与物理所有者令牌交互。在其他示例中,安全存储可以在管理控制器400的外部,并且安全存储可以提供到管理控制器400的API。
在304处,管理控制器400可以通过执行安全支配权所有者令牌访问指令424来访问安全支配权所有者令牌。如所指出的,安全支配权所有者令牌跟踪计算设备的安全功能的责任性。与安全支配权所有者令牌相关联的安全支配权所有者可以最初被设置为第一实体。这可以使用可以由制造商在制造现场进行的置备活动来执行。在一些示例中,制造商可以是第一实体。与物理令牌一样,API可以由管理控制器400提供,以访问安全支配权所有者令牌。在其他示例中,安全存储可以在管理控制器400的外部,并且安全存储可以提供到管理控制器400的API。
在一个示例中,管理控制器400可以执行识别指令426,以请求与安全支配权所有者令牌相关联的实体的标识符(306)。然后,管理控制器400可以提供标识符。该提供可以经由图形用户界面、日志、消息、电子邮件或其他通信方法进行。如所指出的,提供标识符的目的是让用户知道谁支持计算设备的安全性。这样做的原因之一是安全支配权所有者令牌被用于验证固件更新。
在308处,管理控制器400接收固件更新包以在计算设备上实施。如所指出的,固件更新包可以针对管理控制器或者另一个ASIC或平台固件。管理控制器可以经由串行通信或经由网络通信与固件更新包的提供者进行通信。提供者可以是计算设备或用户界面、或用于多个计算设备的集中管理站。可以对固件包进行签署,这可以包括固件包的散列,该散列使用密钥进行加密。
在310处,可以执行固件更新包指令428以确定是否实施固件更新包。该检查可以是可以由管理控制器实施的安全功能,并且与安全支配权所有者令牌相关。管理控制器400可以将散列提供给API以用于验证和/或解密。在一个示例中,安全支配权所有者令牌包括可以对散列进行解密的密钥。在另一个示例中,安全支配权所有者令牌用于访问密钥管理器,该密钥管理器包括可以对散列进行解密的密钥。在一些示例中,已签署的固件更新包可以包括关于加密散列的信息,例如,用于对散列进行加密的算法、用于测量固件更新包以生成散列的算法等。如果测量了固件更新包并且从测量的固件更新包生成的散列与解密的散列相匹配,则固件更新包可以通过验证。也可以使用其他方法来验证。在一个示例中,如果固件更新包通过了验证,则可以在计算设备上实施该固件更新包。
管理控制器可以执行固件更新包实施指令428来更新相关联的固件。在一个示例中,管理控制器400被更新。在另一个示例中,另一个固件或一组固件被更新。管理控制器400能够直接(例如,经由总线或内部更新)更新一个或多个固件,或者能够发送要经由另一个实体(例如,另一个控制器或操作系统)更新的包部分。在这种情况下,管理控制器可以随包提供验证证明。
图5是根据示例的用于将安全支配权所有权转移给另一个实体的方法的流程图。图6是示出了根据示例的用于将安全支配权所有权转移给另一个实体的方法的简图。方法500可以以存储在如存储介质420等机器可读存储介质上的可执行指令的形式和/或以电子电路的形式来实施。诸如计算设备100、200等其他设备也能够执行相关联的方法500。
如所指出的,在一个示例中,设置了制造商或其他第一实体。如果计算设备的物理所有者想要使用未由与制造商或其他第一实体相关联的私钥签署的固件,则物理所有者可以替换安全支配权所有者令牌。在这个示例中,安全支配权所有者令牌被替换为第二安全支配权所有者令牌。这也可以将第二实体设置为安全支配权所有者。
可以使用安全的方法来替换安全支配权所有者令牌。如所指出的,在一些示例中,在转移安全支配权的方法中可能使用某些属性:1.安全支配权只能转移给当前的物理所有者;2.安全支配权只能由安全支配权所有者承担;3.可以验证当前的安全支配权所有者。图6示出了等式602、604,这些等式示出了如何可以使用转移令牌To和Te来安全地转移安全支配权所有权的过程。
在502处,为了替换安全支配权所有者令牌,由管理控制器400对物理所有者进行认证。在一个示例中,可以使用质询-响应认证。在一个示例中,该方法可以包括密码技术。
在504处,一旦物理所有者通过认证,就可以使用安全支配权所有者令牌的私钥来对第二实体的公钥和随机数进行加密,以创建转移令牌To。随机数可以由随机数发生器、包围区或管理控制器的其他实体或功能生成。
在506处,将转移令牌To提供给第二实体。第二实体可以用其私钥对转移令牌To进行加密。在一些示例中,向第二实体的提供可以是将令牌提供给第二实体的代表(例如,带有膝上型计算机的员工、数据中心的管理员等)。在一些示例中,物理所有者是第二实体并且想要承担安全域所有权,例如,因为物理所有者想要在计算设备上放置自定义或开源固件。这样,可以向第二实体提供物理访问。然后,第二实体可以对转移令牌To执行密码加密功能,以创建安全被授予者令牌Te。第二实体可以提供并且管理控制器可以接收被授予者令牌,该被授予者令牌包括从转移令牌602中恢复随机数的能力的证明(508)。因此,可以创建新的安全支配权所有者令牌。转移令牌可以包括带有附加数据的证书,该附加数据如安全支配权所有者令牌的公钥、描述安全支配权所有者的信息等。
管理控制器可以包括跟踪所有权状态的分类账。在一个示例中,在安全启动(secure boot/secure start)过程期间,管理控制器可以检测正在实施的固件的签署者是否不同于Te或授权密钥。在另一个示例中,分类账可以创建关于存储To或Te的任何尝试的记录。在另外的示例中,跟踪可以基于当地的隐私法、是否尝试了未经授权的访问等。
尽管上面已经示出并描述了特定的实施方式,但是可以做出形式和细节上的各种改变。例如,已经关于一种实施方式和/或过程描述的一些特征可以与其他实施方式关联。换句话说,关于一种实施方式描述的过程、特征、部件和/或特性可用于其他实施方式。此外,应当理解,本文描述的系统和方法可以包括所描述的不同实施方式的部件和/或特征的各种组合和/或子组合。因此,参考一种或多种实施方式描述的特征可以与本文描述的其他实施方式组合。
Claims (20)
1.一种计算设备,包括:
至少一个主机处理器;
存储器;
管理控制器,所述管理控制器与所述至少一个主机处理器分离,所述管理控制器用于:
访问与所述计算设备的物理所有者有关的物理所有者令牌;以及
访问与所述计算设备的安全支配权所有者有关的安全支配权所有者令牌,
其中,所述安全支配权所有者令牌跟踪所述计算设备的安全功能的责任性,并且
其中,与所述安全支配权所有者令牌相关联的安全支配权所有者最初被设置为第一实体。
2.如权利要求1所述的计算设备,其中,所述管理控制器进一步用于:
接收要实施的固件更新包,
其中,所述安全功能涉及实施所述固件更新包的能力;
至少部分地基于所述安全支配权所有者令牌来确定所述固件更新包是否能够在所述计算设备上实施。
3.如权利要求2所述的计算设备,其中,所述管理控制器用于:
如果使用由所述安全支配权所有者令牌控制的安全存储中的密钥验证了与所述固件更新包相关联的签名,则确定能够实施所述固件更新包。
4.如权利要求3所述的计算设备,其中,所述固件更新包用于更新所述管理控制器的固件。
5.如权利要求4所述的计算设备,其中,所述物理所有者令牌存储在安全存储中,所述安全存储与所述管理控制器被包含在同一芯片中。
6.如权利要求1所述的计算设备,
其中,所述第一实体是所述计算设备的制造商,并且
其中,将所述安全支配权所有者令牌替换为第二安全支配权所有者令牌,并将第二实体设置为安全支配权所有者。
7.如权利要求6所述的计算设备,
其中,为了替换所述安全支配权所有者令牌:
由所述管理控制器对所述物理所有者进行认证;
使用所述安全支配权所有者令牌的私钥来对所述第二实体的公钥和随机数进行加密,以创建转移令牌;
接收与所述第二实体相关联的被授予者令牌,并且所述被授予者令牌包括从所述转移令牌中恢复所述随机数的能力的证明,
其中,所述第二安全支配权所有者令牌被包含在所述被授予者令牌中。
8.如权利要求7所述的计算设备,进一步包括,向所述计算设备的用户提供所述第二实体的标识符。
9.一种存储有指令的非暂态机器可读存储介质,所述指令在由计算设备的管理控制器的物理处理元件执行时使得所述管理控制器进行以下操作:
访问与所述计算设备的物理所有者有关的物理所有者令牌,其中,所述管理控制器与所述计算设备的主机处理元件分离;
访问与所述计算设备的安全支配权所有者有关的安全支配权所有者令牌,
其中,所述安全支配权所有者令牌跟踪所述计算设备的安全功能的责任性,
其中,与所述安全支配权所有者令牌相关联的安全支配权所有者最初被设置为第一实体;以及
提供所述计算设备的所述第一实体的标识符。
10.如权利要求9所述的非暂态机器可读存储介质,进一步包括指令,所述指令在由所述物理处理元件执行时使得所述管理控制器进行以下操作:
接收要实施的固件更新包,
其中,所述安全功能涉及实施所述固件更新包的能力;
至少部分地基于所述安全支配权所有者令牌来确定所述固件更新包是否能够在所述计算设备上实施。
11.如权利要求10所述的非暂态机器可读存储介质,进一步包括指令,所述指令在由所述物理处理元件执行时使得所述管理控制器:
因为使用由所述安全支配权所有者令牌控制的安全存储中的密钥验证了与所述固件更新包相关联的签名,确定能够实施所述固件更新包。
12.如权利要求11所述的非暂态机器可读存储介质,其中,所述固件更新包用于更新所述管理控制器的固件。
13.如权利要求12所述的非暂态机器可读存储介质,其中,所述物理所有者令牌存储在安全存储中,所述安全存储与所述管理控制器被包含在同一芯片中。
14.如权利要求9所述的非暂态机器可读存储介质,
其中,所述第一实体是所述计算设备的制造商,
其中,将所述安全支配权所有者令牌替换为第二安全支配权所有者令牌,并且其中,所述管理控制器进一步用于将第二实体设置为安全支配权所有者,并且
其中,所述管理控制器进一步用于提供所述第二实体的标识符。
15.如权利要求14所述的非暂态机器可读存储介质,
其中,为了替换所述安全支配权所有者令牌:
由所述管理控制器对所述物理所有者进行认证;
使用所述安全支配权所有者令牌的私钥来对所述第二实体的公钥和随机数进行加密,以创建转移令牌;
接收与所述第二实体相关联的被授予者令牌,并且所述被授予者令牌包括从所述转移令牌中恢复所述随机数的能力的证明,
其中,所述第二安全支配权所有者令牌被包含在所述被授予者令牌中。
16.一种方法,包括:
由计算设备的管理控制器访问与所述计算设备的物理所有者有关的物理所有者令牌,其中,所述管理控制器与所述计算设备的主机处理元件分离;
由所述管理控制器访问与所述计算设备的安全支配权所有者有关的安全支配权所有者令牌,
其中,所述安全支配权所有者令牌跟踪所述计算设备的安全功能的责任性,
其中,与所述安全支配权所有者令牌相关联的安全支配权所有者最初被设置为第一实体;
向用户提供所述计算设备的第一实体的标识符;
接收要实施的固件更新包,
其中,所述安全功能涉及实施所述固件更新包的能力;以及
至少部分地基于所述安全支配权所有者令牌来确定所述固件更新包是否能够在所述计算设备上实施。
17.如权利要求16所述的方法,进一步包括:
因为使用由所述安全支配权所有者令牌控制的安全存储中的密钥验证了与所述固件更新包相关联的签名,确定能够实施所述固件更新包。
18.如权利要求17所述的方法,
其中,所述固件更新包用于更新所述管理控制器的固件,并且
其中,所述物理所有者令牌存储在安全存储中,所述安全存储与所述管理控制器被包含在同一芯片中。
19.如权利要求16所述的方法,
其中,所述第一实体是所述计算设备的制造商,
其中,将所述安全支配权所有者令牌替换为第二安全支配权所有者令牌,并且其中,所述管理控制器进一步用于将第二实体设置为安全支配权所有者,并且
其中,所述管理控制器进一步用于提供所述第二实体的标识符。
20.如权利要求19所述的方法,
其中,替换所述安全支配权所有者令牌包括:
由所述管理控制器对所述物理所有者进行认证,其中,使用所述安全支配权所有者令牌的私钥来对所述第二实体的公钥和随机数进行加密,以创建转移令牌,
其中,接收与所述第二实体相关联的被授予者令牌,并且所述被授予者令牌包括从所述转移令牌中恢复所述随机数的能力的证明,并且
其中,所述第二安全支配权所有者令牌被包含在所述被授予者令牌中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/495,562 US20230106491A1 (en) | 2021-10-06 | 2021-10-06 | Security dominion of computing device |
US17/495,562 | 2021-10-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115935363A true CN115935363A (zh) | 2023-04-07 |
Family
ID=85570601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210417917.6A Pending CN115935363A (zh) | 2021-10-06 | 2022-04-20 | 计算设备的安全支配权 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230106491A1 (zh) |
CN (1) | CN115935363A (zh) |
DE (1) | DE102022108627A1 (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013009420A1 (en) * | 2011-06-09 | 2013-01-17 | Power Tagging Technologies, Inc. | System and method for grid based cyber security |
US9143492B2 (en) * | 2013-03-15 | 2015-09-22 | Fortinet, Inc. | Soft token system |
US9124573B2 (en) * | 2013-10-04 | 2015-09-01 | At&T Intellectual Property I, Lp | Apparatus and method for managing use of secure tokens |
US9967102B2 (en) * | 2015-12-18 | 2018-05-08 | International Business Machines Corporation | Managing transfer of device ownership |
US10839811B2 (en) * | 2018-06-08 | 2020-11-17 | The Toronto-Dominion Bank | System, device and method for enforcing privacy during a communication session with a voice assistant |
JP7447081B2 (ja) * | 2018-08-10 | 2024-03-11 | ティーゼロ・アイピー,エルエルシー | アップグレード可能な証券トークン |
US11121873B2 (en) * | 2019-02-08 | 2021-09-14 | Microsoft Technology Licensing, Llc | System and method for hardening security between web services using protected forwarded access tokens |
CN111475782B (zh) * | 2020-04-08 | 2022-11-08 | 浙江大学 | 基于sgx软件扩展指令的api密钥保护方法及系统 |
CN116964580A (zh) * | 2021-02-24 | 2023-10-27 | 谷歌有限责任公司 | 数字设备的可信计算 |
-
2021
- 2021-10-06 US US17/495,562 patent/US20230106491A1/en active Pending
-
2022
- 2022-04-08 DE DE102022108627.5A patent/DE102022108627A1/de active Pending
- 2022-04-20 CN CN202210417917.6A patent/CN115935363A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230106491A1 (en) | 2023-04-06 |
DE102022108627A1 (de) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8909940B2 (en) | Extensible pre-boot authentication | |
US11843705B2 (en) | Dynamic certificate management as part of a distributed authentication system | |
CN107077574B (zh) | 用于客户端设备的信任服务 | |
KR101190479B1 (ko) | 티켓 인증 보안 설치 및 부트 | |
US11861372B2 (en) | Integrity manifest certificate | |
US8201239B2 (en) | Extensible pre-boot authentication | |
KR101402542B1 (ko) | 지속형 보안 시스템 및 지속형 보안 방법 | |
US11106798B2 (en) | Automatically replacing versions of a key database for secure boots | |
CN107045611B (zh) | 安全启动方法及装置 | |
US20080168545A1 (en) | Method for Performing Domain Logons to a Secure Computer Network | |
US9015454B2 (en) | Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys | |
US20230237155A1 (en) | Securing communications with security processors using platform keys | |
CN113190880B (zh) | 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 | |
US11977640B2 (en) | Systems and methods for authenticating the identity of an information handling system | |
CN116049825A (zh) | 管理基板管理控制器的存储器中的秘密的存储 | |
US11822669B2 (en) | Systems and methods for importing security credentials for use by an information handling system | |
US9064118B1 (en) | Indicating whether a system has booted up from an untrusted image | |
US11822668B2 (en) | Systems and methods for authenticating configurations of an information handling system | |
US20230106491A1 (en) | Security dominion of computing device | |
Futral et al. | Fundamental principles of intel® txt | |
KR102369874B1 (ko) | 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스 | |
US20240037216A1 (en) | Systems And Methods For Creating Trustworthy Orchestration Instructions Within A Containerized Computing Environment For Validation Within An Alternate Computing Environment | |
US20230342446A1 (en) | Management controller-based verification of platform certificates | |
US11843707B2 (en) | Systems and methods for authenticating hardware of an information handling system | |
WO2023179745A1 (zh) | 可信验证方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |