CN116964580A - 数字设备的可信计算 - Google Patents

数字设备的可信计算 Download PDF

Info

Publication number
CN116964580A
CN116964580A CN202180094009.1A CN202180094009A CN116964580A CN 116964580 A CN116964580 A CN 116964580A CN 202180094009 A CN202180094009 A CN 202180094009A CN 116964580 A CN116964580 A CN 116964580A
Authority
CN
China
Prior art keywords
designator
signature
computing device
private key
key
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
Application number
CN202180094009.1A
Other languages
English (en)
Inventor
奥斯卡·格哈德·森夫特
米格尔·安杰尔·奥索里奥
蒂莫西·杰伊·陈
多米尼克·安托尼·里佐
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN116964580A publication Critical patent/CN116964580A/zh
Pending legal-status Critical Current

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本文档描述了用于提供数字设备的可信计算的技术和系统。所述技术和系统可以使用密码算法来提供可信计算和处理。通过这样做,这些技术有助于确保真实计算并防止恶意行为。例如,描述了一种接收与指定者相关联的签名(290)并验证该签名(290)的方法。签名(290)可以与主机计算设备(102)的指定者相关联,并且签名(290)可以根据与主机计算设备(102)的集成电路(120)相关联的固件和第一非对称密钥对的第一私钥来生成。签名验证可以基于具有第二私钥(210)和第二公钥(214)的第二非对称密钥对,第二私钥(210)被存储在主机计算设备(102)的一次写入存储器(110)中。

Description

数字设备的可信计算
背景技术
数字计算设备通常由各种集成电路组成。这些集成电路可能需要不时的修正。修正可以远程源自互联网、可移动介质或另一实施工具。为了防止不法和恶意行为,芯片和设备设计者严格采用机制来限制对底层固件的更改。
尽管它们通常是安全的,但是上述机制限制了数字计算设备和各种集成电路的可配置性。与保障措施的常见情况一样,安全性可能会挑战数字计算设备的易用性、修正、适应和返工。
发明内容
本文档包括用于提供数字设备的可信计算的技术和装置,其旨在改进计算系统的安全性和复原能力。这些技术可以为计算系统建立信任,从而为系统资源提供安全引导功能和安全处理。
这些技术和系统可以使用密码算法来提供可信计算和处理。通过这样做,这些技术有助于确保真实计算并防止恶意行为。例如,描述了一种接收与指定者相关联的第一签名并验证该第一签名的方法。签名可以与主机计算设备的指定者相关联,并且签名可以根据与主机计算设备的集成电路相关联的固件和第一非对称密钥对的第一私钥来生成。当使用第二非对称密钥对时,签名验证具有第二私钥和第二公钥,第二私钥被存储在主机的一次写入存储器中。
本文档还描述了一种具有数字存储器的计算机可读介质。数字存储器包括只读、一次写入分区和非易失性部分。计算机可读介质可以包括在只读、一次写入分区上存储的第二私钥和在非易失性部分上存储的第一公钥。以计算机可读形式在数字存储上存储的验证程序通过将由私钥签名并且用公钥解密的摘要与原始文件的摘要进行比较来验证签名。
一个方面的可选特征,诸如上述方法,可以与其他方面组合。
本文档还描述了具有数字存储和处理器的系统。数字存储包括只读、一次写入分区和非易失性部分。计算机可读介质可以包括在只读、一次写入分区上存储的第二私钥和在非易失性部分上存储的第一公钥。计算机可读介质还包括以计算机可读形式存储在数字存储上的验证程序,其验证接收到的签名。
这些使得信任系统能够确保主机计算系统上的可信处理和计算,防止未授权的固件修正在主机计算设备的集成电路上执行。
提供该发明内容以介绍关于数字设备的可信计算的简化概念,这将在下面的具体实施方式和附图中进一步描述。该发明内容并不旨在识别所要求保护的主题的基本特征,也不旨在用于确定所要求保护的主题的范围。
附图说明
在本文档中参考以下附图描述了提供数字设备的可信计算的一个或多个方面的细节。贯穿附图中使用相同的数字来引用相似的特征和部件:
图1图示了根据本公开的一个或多个实施方式能够实现数字设备的可信计算的技术可以被实现的示例环境;
图2图示了根据本公开的一个或多个实施方式的示例计算设备;
图3图示了根据本公开的一个或多个实施方式的示例计算机可读介质;
图4图示了根据本公开的一个或多个实施方式的用于更新清单的示例方法;
图5图示了根据本公开的一个或多个实施方式的用于限制软件的执行的示例方法;以及
图6图示了根据本公开的一个或多个实施方式的用于激活指定者的示例方法。
具体实施方式
概述
示例计算系统(例如,服务器刀片)包括安装到母板或其他印刷电路板的各种集成电路和硬件部件。集成电路和硬件部件互连以进行通信和交互。部件之间的通信和交互可以基于密码机制建立信任。
假设计算系统具有以分层结构进行通信的各种部件。作为示例,根部件可以与加密密钥(例如,公钥-私钥对)相关联。该密钥中的一者或两者可以被存储在根部件上。作为示例,根部件可以容纳公钥以提供由私钥签名的固件的验证。签名或认可(endorsement)是由私钥加密并由公钥验证的消息。该消息可以是位集合或该位集合的摘要。当固件由计算系统接收时,根部件下游的部件必须接收来自根部件的授权以根据公钥运行固件。
如果私钥由原始设备制造商或指定者保存,则计算系统的固件只能由私钥的拥有者更新。如贯穿本公开所讨论的,私钥被存储在根部件或其他安全存储上,以防止未经授权的访问并允许发布可替代密钥作为授权指定。作为示例,主密钥可以用于发布附加的私钥-公钥对并且允许那些私钥-公钥对签署和验证旨在用于计算系统的固件。这样,与根部件相关联的公钥可以进一步验证私钥-公钥对是合法的以及由所发布对签名和验证的固件是合法的。
作为由本公开教导的示例,根部件可以保存已发布的有效私钥-公钥对的清单(manifest)或存储库。清单可以保存与每个私钥-公钥对相关联的标识符、公钥和摘要,以跟踪、更新和移除计算系统的所发布的签名权限。
如本公开所教导的,这样的计算系统可以针对攻击向量来被强化。例如,可以设置熔断器来阻止对根部件的物理访问。计算系统可以进一步针对竞争条件(例如,检查时间到使用时间)来被强化。作为示例,根部件对接收到的固件进行签名,并且平台的下游部件针对与根部件关联的公钥检查签名。这样,入侵无法执行跟工具包和其他恶意行为。
在该示例中,根据根部件维持对于固件更新和硬件部件操作的验证。通过允许在制造后发布公钥-私钥对,计算系统和设备可以在甚至寿命结束或支持结束时得到维护。事实上,通过发布新的公私-私钥对,支持可以被无缝转移到附加实体。
在可替代或附加示例中,根部件的公钥-私钥对可以在制造时被写入根部件。基于型号类型或型号,密钥对于设备可以是独特的或基本上独特的。作为示例,密钥可以基于随机数生成器和计算系统上的其他硬件部件标识符来生成。可能存在密钥值的重叠或可能的有意重叠的数值概率。密钥值可以进一步基于时间(例如,数据时间)值或在制造时提供的其他信息(例如,位置、品牌、型号)。所有者或指定者可以是在制造时与设备相关联的一方或在制造后指定为固件管理员的一方。例如,设备或电路可以由A公司制造,仅用于终止对该设备的支持,或将对该设备的支持传递给B公司。B公司可被指定为一个或多个固件或其中的芯片组的所有者或管理者,并使用此授权来签署该设备的固件更新。
本公开的一个示例包括私钥在计算系统上的存储。为计算系统上的其他部件签名和执行固件的权限可以基于该私钥。事实上,本公开中提供的该实施方式和其他实施方式的这种应用增加了用户体验并延长了设备维护持续时间。这些只是所描述的技术和设备可以如何被使用来改进计算系统的安全性的几个示例,贯穿本文档描述了其他示例和实施方式。本文档现在转向示例操作环境,之后描述示例设备、方法和系统。
操作环境
图1图示了根据本公开的一个或多个实施方式的可以认证和隐藏数据的主机计算设备102的示例设备图100。为了清楚起见,主机计算设备102可以包括图1中省略的附加部件和接口。主机计算设备102可以是各种电子设备或用户设备。例如,主机计算设备102可以是移动电话102-1、平板设备102-2、膝上型计算机102-3、台式计算机102-4、服务器、云计算机或使用数字逻辑的计算实施工具。
主机计算设备102包括一个或多个处理器104。处理器104可以具有任何实施工具并且可以与计算机可读介质106相关联。计算机可读介质106可以包括随机存取存储器(RAM)108、只读存储器(ROM)110或非易失性存储器(NVM)112并且是非暂时性的。一个提供安全引导和其他可信计算实施工具的示例在图1中示出。任何组合和数量的处理器或计算机可读介质可以被使用。计算机可读介质可以位于主机计算设备102的机上或机外或其任何组合。作为示例,计算机可读介质106可以是网络可访问位置(例如,云)或可移动设备(例如,拇指驱动器)。
任何类型的计算机可读介质106(例如,随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、非易失性RAM(NVRAM)、只读存储器(ROM)、闪存)可以被使用用于存储主机计算设备102的数据并且提供处理缓冲器。数据可以包括操作系统、一个或多个应用、用户数据和多媒体数据。数据可以包括计算机可读形式的指令,包括验证程序,该验证程序包括可操作以实现本公开的教导的指令。指令可以具有任何实施工具并且可以包括现场可编程门阵列(FPGA)、机器代码、汇编代码、高阶代码(例如,RUBY)或其任何组合。处理器可以执行指令以遵循本公开中提供的步骤和执行的组合。
主机计算设备102可以包括集成电路120作为许多电子部件或芯片中的一个。集成电路120可以是与主机计算设备102相关联的整体电路或伪整体电路。作为示例,集成电路120可以是可信平台模块(TPM)。集成电路可以是与主机计算设备102相关联的任何芯片、部件、电路系统或其任何组合。集成电路120可以包括安装的固件122。作为示例,安装的固件122可以包括用于操作集成电路120的任何指令集。安装的固件122可以被保存在与集成电路120相关联的任何类型的存储器中。安装的固件122可以包括向较高级软件提供服务的任何数量的基本或基础功能。指定者130或任何其他实体(例如,用户、控制器)可能期望用修正固件124来更新安装的固件122。修正固件124可以是对安装的固件122的任何类型的软件更新。
图2图示了根据本公开的一个或多个实施方式的示例主机计算设备102。主机私钥210可以被设置在ROM 110上。ROM 110可以是通过熔断器或防止ROM 110改变的其他机制绑定到ROM基底的一次写入存储器。附加地,ROM 110可以包括在尝试更改或未经授权的访问的情况下锁定主机计算设备102的防篡改证据机制。ROM 110与NVM 112电通信。ROM 110和NVM 112之间的电通信可以是双向的,其中,在NVM 112中存储的清单220包括由主机私钥210签名以确保该清单220的真实性的签名。关于清单220或其中的条目,它可以由主机私钥签名并与密码库212一起被存储在NVM 112中。关于密码库212,它可以具有对主机私钥210和NVM 112的隔离访问。
主机私钥210和本文讨论的其他密钥可以具有各种实施工具。可以使用各种算法来生成主机私钥210。作为示例,可以使用RSA-SHA3-512。
在示例中,密码库212包括用于生成由主机私钥210签名的私钥和公钥的指令。该库可以是开源的(例如,OPENSSL)或闭源的。密码库212用于基于主机私钥210生成先前指定者条目230。先前指定者条目230可以在制造期间被配置并且包括当前指定者公钥232。
取决于指定状态,清单220可以包括多于一个条目230、240。作为示例,当前指定者条目240包括新指定者公钥242并且为新指定者配备附加密钥。分别与条目230、240相关联的公钥232、242被存储在集成电路120上以验证修正固件124。
修正固件124可以根据当前指定者132来被发布,并且当前指定者132可以是为集成电路120提供修正固件124的各种实体。在示例中,当前指定者132使用与先前指定者条目230相关联并且与公钥232相关联的指定者私钥234对修正固件124进行签名以形成指定者签名290。换言之,指定者私钥234和指定者公钥232是非对称密钥对;指定者私钥234用于对修正固件124进行数字签名,从而生成指定者签名290。指定者签名290和修正固件124通过互联网200被发送到主机计算设备102的网络接口卡250。在引导时,集成电路120检查在主机计算设备102内存储的修正固件124以确保修正固件124有效,并且主机公钥214可以用于检查修正固件124以确保修正固件124由主机私钥210认可的私钥签名。修正固件124可以由主机公钥214或指定者公钥232检查,以确保固件由被分配给先前指定者条目230的当前指定者的私钥签名。
参考图3,示出了根据本公开的一个或多个实施方式的示例计算机可读介质106。计算机可读介质106可以通过主机计算设备102而不是特定的单独部件来分布。在示例中,计算机可读介质106包括ROM 110,ROM 110还可以包括主机私钥210和密码库212。计算机可读介质106可以进一步包括NVM 112,NVM 112包括闪存信息部分330。闪存信息部分330可以容纳清单220,包括先前指定者条目230和当前指定者条目240。计算机可读介质106可以进一步包括一个或多个闪存库350。闪存银行350可以存储ROM扩展存储器352、指定者证书存储器354、引导加载程序(bootloader)存储器356、内核存储器358以及与主机计算设备102相关联的其他数据存储器360。ROM扩展存储器352包含在NVM 112中存储并且由主机私钥210签名的信息。ROM扩展存储器352还可以包括功能;一个这样的功能可以在将执行特权移交给下一引导阶段之前禁用对清单220的访问。
ROM扩展存储器352可以表示扩展ROM 110的功能的可修正代码。ROM 110可以负责初始引导、安全引导和安全配置。ROM扩展存储器352可以与应用补丁来纠正硬件问题、应用安全设置以及执行密钥的配备相关联。
引导加载程序存储器356可以由指定者私钥234签名,并且内核存储器358也可以由指定者私钥234签名。这样,在引导加载程序存储器356和内核存储器358中存储的信息的真实性可以由指定者公钥232来验证。主机公钥214可以进一步被存储在ROM扩展存储器352中,并且由主机私钥210签名的ROM扩展签名来保护完整性。
本文讨论的密钥可以基于集成电路120或与主机计算设备102相关联的其他部件。密钥可以从与集成电路120相关联的信息被导出。作为示例,密钥可以从集成电路120的序列号或型号被导出。
示例方法
转向图4,示出了根据本公开的一个或多个实施方式的用于更新清单220的示例方法400。方法400被示出为框的集合,其指定所执行的操作和步骤,但不一定限于所示的用于由相应框执行操作的次序或组合。此外,一个或多个操作中的任何一个可以被重复、组合、重新组织、省略或链接以提供各种各样的附加和/或可替代方法。在以下讨论的部分中,可以进行对前述附图的示例的参考,对其参考仅用于示例。这些技术不限于由一个实体或在一个设备上操作的多个实体执行。
清单220被示出为具有与槽指定402、标识符指定404、公钥储存库406和摘要储存库408相对应的组织指定,以清单220的先前指定者条目230告终。公钥储存库406可以包括指定者公钥232。槽指定402可以限于两个值,将条目分配给先前指定者条目230(例如,先前或原始指定者)和当前指定者条目240(例如,当前指定者)。标识符指定404可以独特地标识条目230、240。作为示例,条目230、240可以被分配递增以与主机计算系统102的每个指定者相对应的标识符。公钥存储库406可以包括与先前指定者130和当前指定者132相关联的密钥。继续跨列,摘要储存库408包括与第一条目或先前指定者条目230相关联的先前指定者摘要410。先前指定者摘要410可以是消息认证代码(MAC)、密钥散列消息认证代码(HMAC)或另一种类型的完整性和真实性函数。
先前指定者摘要410可以基于由密码库212管理的对称密钥。该对称密钥在制造期间被配备并且被存储在ROM 110的一次写入存储中。在先前指定者摘要410与先前指定者条目230相关联的实例中,与当前指定者条目240相关联的当前指定者摘要412可以基于先前指定者摘要410,以努力将密钥绑定到托管链。
在初始化步骤420期间,主机计算设备102可以利用在ROM 110和ROM扩展存储器352中存储的函数来生成先前指定者条目230。配备步骤440向清单220发出附加条目或当前指定者条目240,包括与当前指定者132相关联的公钥,以验证由指定者私钥234签名的签名。激活步骤460发出具有仅一个激活条目——当前指定者条目240——的清单220。先前指定者条目230从清单220中被删除或者否则使先前指定者条目230不被激活。
在图5中,示出了根据本公开的一个或多个实施方式的用于限制软件的执行的示例方法500。方法500可以由主机计算设备102执行。在框502中,指定者签名290被接收。指定者签名290可以基于安装的固件122或修正固件124。应当理解,指定者签名290可以基于私钥。私钥可以在制造期间被分配给主机并且被存储在ROM 110或其他地方。在另一示例中,私钥可以被分配给当前指定者132并且由当前指定者132安全地存储。
在框504中,指定者签名290由主机计算系统102验证。指定者签名290可以以多种方式并通过多个过程和步骤来被验证。作为一个非限制性示例,指定者签名290可以通过对指定者公钥232的散列进行计算并且通过主机公钥214对指定者公钥232的认可进行解密来被验证,以确保指定者公钥232由主机私钥210认可。认可可以被存储在与指定者公钥232相关联的先前指定者条目230中。
可替代地或附加地,指定者签名290可以通过对ROM扩展存储器352的散列进行计算并且用主机公钥214对ROM扩展存储器352的认可进行解密来被验证。主机公钥214可以被直接或间接地使用,以验证由主机私钥210对指定者公钥232的任何认可。主机私钥210可以对指定者公钥232、ROM扩展存储器352、与主机计算设备102相关联的其他存储器或其任何组合进行认可来验证指定者公钥232。
指定者签名290可以通过对修正固件124的散列进行计算来被验证。指定者签名290可以用指定者公钥232来被解密。任何独特性算法或密码机制可以被用于本文讨论的散列化、加密和解密(例如,循环冗余校验、校验和、带密钥的加密散列函数、无密钥的加密散列函数)。可以与其他信息或其任何部分一起对修正固件124执行独特性算法。在示例中,如果修正固件124的散列等同于(例如,等于)解密的指定者签名290并且所使用的解密密钥由主机公钥214认证,则固件124被认为是真实的并且能够在集成电路120上被执行。
在框506中,修正固件124根据诸如指定者公钥232的指定者公钥来被验证。作为示例,指定者公钥232可以被存储在NVM 112上并且被访问以对指定者签名290或整个固件124进行解密。可以执行比较以验证固件124由指定者132加密或由指定者132签名。这样,固件124可以通过包括两个公钥验证的过程来被验证。验证中的一个可以确保指定者公钥232有效并且由主机私钥210使用根签名进行签名。这样的验证可以由主机公钥214来执行。验证中的另一个可以确保固件124由指定者132使用指定者私钥234进行签名。这样,该过程允许由主机计算设备102通过在主机计算设备102内存储的信任根来向不同的指定者132转移所有权。
在框508中,修正固件124的执行可以由集成电路120或另一实施工具来限制。作为示例,集成电路120可以包括基于以上讨论的一个或多个比较的逻辑结果的使能位。如果散列和解密的指定者签名290不相等,则固件124在集成电路120上的执行被阻止。固件的执行限制可以被扩展到主机计算设备102的任何固件。可以去除对集成电路的供电。
主机私钥210可以基于集成电路120、在主机计算设备102上布置的其他集成电路、随机数、与制造商相关的任何其他信息(例如,主机计算设备102的模型、软件或电路系统)或其任何组合。主机私钥210对于主机计算设备102可以大体上是独特的,或者对于主机计算设备102集合(例如,模型类型、型号)是独特的。型号可以是由制造商用于识别产品的各种指定。模型类型可以是由制造商用于识别产品或型号的组的各种指定。
绝对独特性可能无法通过数值算法在数值上实现,并且大体上独特可以包括类似主机计算设备102的特定集合在该集合内具有独特主机私钥210的独特性。事实上,在另一示例中,制造商意图而不是实现的现实可以限定实质上的独特性。
转向图6,图示了根据本公开的一个或多个实施方式的用于激活指定者的示例方法。在框602中,随机数被发送。该随机数可以是一次性使用数并且可以基于主机计算设备102的时钟。该随机数可以基于主机计算设备102的确定性随机位生成器。主机计算设备102可以响应于所有权转移请求而发送随机数。在示例中,随机数和与主机计算设备102相关联的设备标识符一起被分派。设备标识符、随机数和请求然后由主机计算设备102签名。作为进一步的示例,假设新的指定者可以请求所有权转移。该新的指定者可以是不同于制造商和当前指定者的实体,诸如当由于生命周期终止或支持终止发布而必需新的指定者时。
在框604中,签名的解锁命令被接收。主机计算设备102可以请求解锁命令。基于云的应用或另一实施工具可以接收由主机计算设备102发送的解锁命令请求。当前指定者132可以被授权访问解锁命令请求并且可以授权传输由指定者私钥签名的解锁命令。签名的解锁命令对主机计算设备102进行授权以解锁NVM 112的所有权状态以写入当前指定者条目240或与新指定者相对应的另一条目。
在框606中,主机计算设备102验证由当前指定者132对解锁命令的签名,如由指定者私钥234签名的签名。验证可以包括将解锁命令的散列与解锁命令的解密签名进行比较。签名的命令的验证对NVM 112进行解锁以允许当前指定者条目240被写入。
在框608中,主机计算设备102计算当前指定者摘要412。当前指定者摘要412可以是消息认证码(MAC)、密钥散列消息认证码(HMAC)或另一种类型的完整性和真实性函数。当前指定者摘要412可以基于由密码库212管理的对称密钥。对称密钥可以为新指定者或设备制造商所知,以使得能够安全传送所发布的公钥和私钥。对称密钥在制造期间被配备并被存储在ROM 110的一次写入存储中。在先前指定者摘要410与先前指定者条目230相关联的实例中,与当前指定者条目240相关联的当前指定者摘要412可以基于先前指定者摘要410,以努力将密钥绑定到托管链。
在框610中,当前指定者摘要412被写入NVM 112。在写入当前指定者摘要412时,主机计算设备102可以对清单220、ROM扩展354、闪存银行350的其余部分、或它们的任何组合进行重新签名。在框612中,先前指定者条目230被从清单220中删除、擦除或以其他方式消除。在删除先前指定者摘要410时,主机计算设备102可以对清单220、ROM扩展354、闪存银行350的其余部分、或它们的任何组合进行重新签名。
在框614中,新的公钥可以被写入公钥储存库406并且与当前指定者条目240相关联。新的公钥可以是指定者公钥232。这样,在框616中,新的公钥可用于使用贯穿本公开讨论的方法来对固件修正进行授权。应当理解,这些步骤中的任何步骤——本文中被称为框——可以被省略、重新排列或重复。
结论
虽然已经以特定于特征和/或方法的语言描述了用于数字设备的可信计算的技术和使能实现该可信计算的装置的实施方式,但是应当理解,所附权利要求的主题不一定限于所描述的特定的特征或方法。相反,特定的特征和方法作为使能实现数字设备的可信计算的示例实施方式被公开。

Claims (15)

1.一种方法,包括:
接收(502)与主机计算设备(102)的指定者相关联的签名(290),所述签名(290)根据与所述主机计算设备(100)的集成电路相关联的固件以及第一非对称密钥对的第一私钥(234)而被生成;以及
基于具有第二私钥(210)和第二公钥(214)的第二非对称密钥对验证(504)所述签名(290),所述第二私钥被存储在所述主机计算设备(102)的一次写入存储器(110)中。
2.根据权利要求1所述的方法,其中,验证所述签名进一步基于通过所述第二公钥与所述固件相关联的第一公钥。
3.根据权利要求2所述的方法,进一步包括用所述第一公钥验证所述固件。
4.根据权利要求1至3中任一项所述的方法,进一步包括基于所述签名和所述第二私钥来限制所述固件的执行。
5.根据权利要求4所述的方法,其中,所述限制执行进一步根据由所述第二私钥限定的根签名。
6.根据权利要求1至5中任一项所述的方法,其中,所述第二私钥在所述主机计算设备的制造期间被写入到所述一次写入存储器。
7.根据权利要求1至6中任一项所述的方法,其中,所述签名由所述第一私钥认可。
8.根据权利要求1至7中任一项所述的方法,其中,所述第二私钥是从与所述集成电路相关联的信息导出的,并且相对于具有与所述主机计算设备相同型号类型的其他计算设备,所述第二私钥对于所述主机计算设备是独特的。
9.根据权利要求1至8中任一项所述的方法,其中,所述第二私钥是从与所述主机计算设备的控制器相关联的信息导出的,并且相对于具有与所述主机计算设备相同型号的设备,所述第二私钥对于所述主机计算设备是独特的。
10.一种方法,包括:
发送具有对在主机计算设备的一次写入存储器中存储的第二私钥独特的设备标识符的随机数;
接收基于所述随机数和所述设备标识符的签名的命令;以及
根据与所述主机计算设备的指定者相关联的第一公钥来验证所述签名的命令。
11.根据权利要求10所述的方法,进一步包括:
基于对称密钥和与新指定者相关联的新指定者标识符生成认证码;
将所述认证码写入只读存储器扩展的附加条目;以及
从所述只读存储器扩展中删除与所述指定者相关联的先前指定者条目。
12.根据权利要求11所述的方法,进一步包括:
将新非对称密钥对的新公钥写入所述附加条目。
13.根据权利要求12所述的方法,进一步包括:将所述新非对称密钥对的新私钥发送给所述新指定者。
14.根据权利要求13所述的方法,进一步包括:
接收根据与所述新指定者相关联的所述新私钥而生成的签名;以及
基于具有所述第二私钥和第二公钥的第二非对称密钥对来验证所述签名。
15.一种包括指令的计算机可读介质,所述指令在被执行时配置计算设备的处理器以执行根据权利要求1至权利要求14所述的方法中的任一个。
CN202180094009.1A 2021-02-24 2021-02-24 数字设备的可信计算 Pending CN116964580A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/019399 WO2022182341A1 (en) 2021-02-24 2021-02-24 Trusted computing for digital devices

Publications (1)

Publication Number Publication Date
CN116964580A true CN116964580A (zh) 2023-10-27

Family

ID=74885077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180094009.1A Pending CN116964580A (zh) 2021-02-24 2021-02-24 数字设备的可信计算

Country Status (6)

Country Link
US (1) US20240126886A1 (zh)
EP (1) EP4147148A1 (zh)
JP (1) JP2024507531A (zh)
KR (1) KR20230137422A (zh)
CN (1) CN116964580A (zh)
WO (1) WO2022182341A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12019752B2 (en) * 2021-10-06 2024-06-25 Hewlett Packard Enterprise Development Lp Security dominion of computing device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069452B1 (en) * 2000-07-12 2006-06-27 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
US20070277038A1 (en) * 2006-05-25 2007-11-29 General Dynamics C4 Systems, Inc. Method for authentication of software within a product
US8566613B2 (en) * 2010-06-11 2013-10-22 Intel Corporation Multi-owner deployment of firmware images

Also Published As

Publication number Publication date
JP2024507531A (ja) 2024-02-20
KR20230137422A (ko) 2023-10-04
EP4147148A1 (en) 2023-03-15
WO2022182341A1 (en) 2022-09-01
US20240126886A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
CN109313690B (zh) 自包含的加密引导策略验证
EP3284000B1 (en) Secure software authentication and verification
CN109937419B (zh) 安全功能强化的设备的初始化方法及设备的固件更新方法
US10474823B2 (en) Controlled secure code authentication
JP5703391B2 (ja) 耐タンパー性ブート処理のためのシステム及び方法
US10482255B2 (en) Controlled secure code authentication
CN111030822A (zh) 用于保护固件的方法和系统,以及计算机可读介质
US10282549B2 (en) Modifying service operating system of baseboard management controller
US10853472B2 (en) System, apparatus and method for independently recovering a credential
EP3292495B1 (en) Cryptographic data
CN109814934B (zh) 数据处理方法、装置、可读介质和系统
JP6387908B2 (ja) 認証システム
Schleiffer et al. Secure key management-a key feature for modern vehicle electronics
US11861182B2 (en) Integrated circuit device with an authentication module
US20240126886A1 (en) Trusted Computing for Digital Devices
CN116710914A (zh) 边缘设备的密钥撤销
US10067770B2 (en) Platform key hierarchy
US20240249029A1 (en) Utilizing hardware tokens in conjunction with HSM for code signing
CN116992403A (zh) 一种防止授权数据回退的方法、装置设备及存储介质
CN117997544A (zh) 存储控制器和提供固件映像的方法
CN116089967A (zh) 数据防回滚方法和电子设备
WO2019212545A1 (en) Updating a security policy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination