CN116566613A - 使用平台密钥保护与安全处理器的通信 - Google Patents
使用平台密钥保护与安全处理器的通信 Download PDFInfo
- Publication number
- CN116566613A CN116566613A CN202210394745.5A CN202210394745A CN116566613A CN 116566613 A CN116566613 A CN 116566613A CN 202210394745 A CN202210394745 A CN 202210394745A CN 116566613 A CN116566613 A CN 116566613A
- Authority
- CN
- China
- Prior art keywords
- platform
- certificate
- key
- secure
- processor
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 78
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000012795 verification Methods 0.000 claims description 47
- 150000003839 salts Chemical class 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 22
- 238000013475 authorization Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 17
- 230000008901 benefit Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
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/44—Program or device authentication
-
- 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
-
- 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
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及使用平台密钥保护与安全处理器的通信。计算机平台包括安全处理器;至少一个硬件处理器;以及存储器。安全处理器存储表示私有平台密钥的数据。私有平台密钥是非对称密钥对的一部分,并且非对称密钥对包括公共平台密钥。存储器存储固件映像。固件映像包括表示公钥基础设施的根证书的数据,公钥基础设施对与计算机平台相关联的第二证书进行签名。第二证书包括公共平台密钥和将第二证书与计算机平台绑定的绑定信息。固件映像包括指令,指令在由(多个)硬件处理器执行时使(多个)硬件处理器访问表示第二证书的数据以及基于根证书和绑定信息来确定第二证书是否有效。指令在由(多个)硬件处理器执行时进一步使(多个)硬件处理器响应于确定第二证书有效,使用公共平台密钥来保护与安全处理器的通信。
Description
背景技术
计算机平台可能会受到安全攻击,其中,流氓实体试图访问存储在计算机平台上的信息或损害计算机平台的部件。为了防止安全攻击或至少抑制安全攻击造成的潜在危害的程度,计算机平台可以具有不同级别的保护。例如,计算机平台可以具有各种机制来限制访问,如防火墙、密码、密钥等等。作为另一个示例,计算机平台可以具有安全密码处理器,该安全密码处理器可以为计算机平台提供多个安全相关特征。例如,安全相关特征可以用于确保计算机平台始终如一地以预期方式运行并证明计算机平台是可信的。
附图说明
图1是根据示例实施方式的具有使用平台密钥保护与安全处理器的通信的特征的计算机平台的示意图。
图2是描绘根据示例实施方式的基于证书中包含的证书签名和平台绑定信息来验证安全处理器绑定证书的过程的流程图。
图3是根据示例实施方式的安全处理器绑定证书的绑定信息的图示。
图4是描绘根据示例实施方式的由平台固件执行以建立和使用与安全处理器的安全通信会话的过程的流程图。
图5是描绘根据示例实施方式的安全处理器门控对用于与安全处理器进行安全通信的平台密钥的使用的过程的流程图。
图6是根据示例实施方式的使用公共平台密钥来保护与计算机平台的安全处理器的通信的计算机平台的示意图。
图7是描绘根据示例实施方式的使用公共平台密钥来建立与安全处理器的安全通信会话并使用安全通信会话与安全处理器进行通信的过程的流程图。
图8是根据示例实施方式的存储在机器可读非暂态存储介质上的机器可执行指令的图示,其中,机器可执行指令在由机器执行时使机器使用公共平台密钥与机器的安全处理器建立安全通信会话。
具体实施方式
用于计算机平台的安全密码处理器或安全处理器可以为计算机平台提供可信计算操作,以确保计算机平台始终如一地以预期方式运行。作为可信计算操作的示例,安全处理器可以生成密码密钥;存储安全制品(例如,密码密钥和证书);访问安全制品;擦除安全制品;存储完整性测量摘要;为远程证明提供经签名的完整性测量摘要;对数据进行加密;对数据进行解密;将密码密钥密封到特定完整性测量摘要状态(例如,将对存储设备的密钥加密密钥与一组完整性测量绑定);解封密码密钥;为密码通信提供随机数;对证书进行签名;提供随机数或伪随机数;等等。可信计算操作还可以包括配置安全处理器的操作和拥有安全处理器的操作。可信平台模块或“TPM”是安全处理器的示例。
提交给安全处理器的请求和由安全处理器提供的响应可以通过安全处理器总线进行通信。安全处理器总线可能会受到窃听。这种窃听可能会泄露计算机平台的敏感或机密信息,如密码密钥、授权密码等等。
一种抑制(如果不能防止)对安全处理器总线进行窃听的解决方案是使用密码会话密钥封装总线上的通信。例如,由服务处理器提供的服务的调用者或请求者可以生成对称会话密钥并将会话密钥分发给服务处理器,使得可以通过会话密钥对服务处理器总线上的通信进行加密。为了请求者将会话密钥分发给服务进程,请求者可以首先生成随机值或伪随机值,称为“盐值”。请求者可以使用盐值作为特定算法的输入,以生成对应的会话密钥。根据示例实施方式,盐值可以是使用特定算法生成会话密钥的种子的一部分,并且种子的其他部分可以是已知的。请求者可以使用非对称密码密钥(也称为“非对称密钥对”)的公钥(或“公共部分”)对盐值进行加密,并将经加密的盐值发送到服务处理器。因为安全处理器具有非对称密钥的私钥(或“私有部分”),所以安全处理器可以解密盐值并使用盐值作为相同算法的输入以产生供安全处理器使用的会话密钥。
分发如上所述的会话密钥的一种方法是使用非对称背书密钥。背书密钥可以是安全处理器的背书层次结构的一部分。然而,由于操作***控制了背书层次结构(平台固件除外),这种分发会话密钥的方式可能不适用于平台固件。此外,背书密钥可能未捆绑或绑定到特定的计算机平台。
根据本文描述的示例实施方式,平台固件可以使用安全通信会话来保护与安全处理器的通信,该安全通信会话的会话密钥是使用非对称平台密钥分发的。非对称平台密钥可以是安全处理器的平台层次结构的一部分,并且非对称平台密钥可以包括两部分:私有平台密钥(安全地存储在安全处理器中)以及公共平台密钥。
公共平台密钥可以包含在证书中。在平台固件使用证书提供的公共平台密钥分发会话密钥之前,平台固件首先对证书进行验证,即平台确定证书是否可信。根据示例实施方式,平台固件执行证书的两部分验证。在验证的第一部分,平台固件验证对证书进行签名的公钥基础设施(PKI)的签名。PKI包括证书信任链,它以作为平台固件一部分的根证书颁发机构(CA)证书(或“根证书”)开始;包括零个、一个或多个中间证书;并以包含公共平台密钥的证书结束。
根据示例实施方式,包括公共平台密钥的证书还包括将特定计算机平台绑定到安全处理器的平台绑定信息(因为安全处理器具有对应的私有平台密钥)。由于绑定信息是证书的一部分,制造商可以通过对证书进行签名来将安全处理器与平台身份绑定。包括公共平台密钥和平台绑定信息的证书在本文中称为“安全处理器绑定证书”。
两部分验证的第二部分涉及平台固件验证安全处理器绑定证书中包含的平台绑定信息。顾名思义,绑定信息将安全处理器绑定证书与特定的计算机平台绑定。例如,根据一些实施方式,绑定信息列出计算机平台的清单,例如特定于计算机平台的信息等,如计算机平台的序列号、计算机平台的硬件部件的标识符、计算机平台的软件部件的标识符、计算机平台上的软件部件的散列等等。平台固件可以将平台列表(即,由平台固件获得的清单)与由绑定信息表示的清单进行比较。根据示例实施方式,如果两个清单匹配,则安全处理器绑定证书通过两部分验证的第二部分。
参考图1,作为更具体的示例,根据一些实施方式,计算机平台100包括安全处理器160以及一个或多个主处理核110(即,硬件处理器,如中央处理单元(CPU)处理核、图形处理单元(GPU)等等)。根据示例实施方式,计算机平台100可以是模块化单元,其包括框架或机箱。此外,该模块化单元可以包括安装到机箱并且能够执行机器可执行指令的硬件。根据示例实施方式,刀片服务器是计算机平台100的示例。然而,根据进一步实施方式,计算机平台100可以是除刀片服务器之外的任意数量的不同平台,如机架式服务器、独立服务器、客户端、台式机、智能电话、可穿戴计算机、网络部件、网关、网络交换机、存储阵列、便携式电子设备、便携式计算机、平板电脑、瘦客户端、膝上型计算机、电视、模块化交换机、消费电子设备、电器、边缘处理***、传感器***、手表、可移除***设备卡等等。
计算机平台100的一个或多个主处理核110可以执行机器可执行指令109(存储在***存储器114中),这使(多个)主处理核110形成计算机平台100的各种固件和软件部件。例如,一个或多个主处理核110可以执行平台固件指令,如从统一可扩展固件接口(UEFI)映像196得到的平台固件指令等,用于形成UEFI 132。UEFI 132可以为计算机平台100提供预引导服务和运行时服务。在这种情况下,“预引导服务”(也称为“引导服务”)是指在计算机平台100的上电或复位之后并且在控制被传送到操作***130之前由UEFI 132提供的服务或功能。预引导服务可以包括如初始化主处理核110和***存储器114等硬件部件的服务;以一定的顺序加载和执行驱动程序以初始化计算机平台100;执行硬件和软件安全检查;加载操作***130的引导加载程序;验证和加载来自I/O***设备的驱动程序,如快速***部件互连(PCIe)设备105等;等等。“运行时服务”是指在将计算机平台100的控制权交给操作***130之后由UEFI 132提供的服务。
作为提供预引导和运行时服务的一部分,UEFI 132可以与安全处理器160通信以用于执行可信计算操作,并且这些可信计算操作可能容易受到对安全处理器总线159的窃听的影响。例如,表示存储在安全处理器160中的平台秘密162的数据可以潜在地通过安全处理器总线159传送。作为示例,平台秘密162可以包括密码、保护计算机平台100的存储驱动器(未示出)上的数据的密钥加密密钥,等等。作为示例,安全处理器总线159可以是串行***接口(SPI)总线、增强型SPI总线、改进的内部集成电路(I3C)总线或其他总线,这取决于具体的实施方式。为了防止对总线159的窃听获取敏感信息(例如,表示秘密162的数据),可以使用密码会话密钥对总线159上的通信进行封装或加密。
更具体地,根据示例实施方式,总线159上的通信可以发生在与安全处理器160的通信会话中。在这种情况下,与安全处理器160的“会话”(或“通信会话”)是指安全处理器160与调用者(或“请求者”)之间的通信交换。作为示例,会话可以涉及与可信计算操作有关的数据的传送,并且可以涉及来自调用者或请求者(例如,UEFI 132)的请求(例如,包含命令的请求),以及对应的来自安全处理器160的响应。作为示例,会话可以包括从安全处理器160请求秘密162的请求者和提供秘密162的安全处理器160;请求平台配置寄存器(PCR)扩展的请求者和确认该请求的安全处理器160;请求解封密码密钥的请求者和响应该请求的安全处理器160;请求将密码密钥与具体PCR状态绑定的请求者和响应该请求的安全处理器160;请求随机数的请求者和提供随机数的安全处理器160;等等。
根据示例实施方式,会话可以涉及与可信计算操作有关的通信,该操作在可信计算组织发布的可信平台模块库规范,族2.0,级别00,修订版01.59(2019年11月)(以下称为“TPM 2.0规范”)中进行了描述。根据一些实施方式,通信会话可以涉及与TPM2.0规范中未描述的可信计算操作有关的通信。
UEFI 132与安全处理器16之间的给定通信会话的数据可以使用由UEFI 132生成并由UEFI 132分发给安全处理器160的对称会话密钥来加密。根据示例实施方式,UEFI132使用非对称密码密钥(即,包括公钥和对应私钥的密钥对)将会话密钥分发给安全处理器160,使得安全处理器160可以使用会话密钥来加密和解密在会话期间在总线159上传送的数据。根据示例实施方式,非对称密钥包括公共部分、公共平台密钥186,以及私有部分或私有平台密钥168,其中,该公共部分、公共平台密钥由安全处理器绑定证书182提供,该私有部分或私有平台密钥存储在安全处理器160的安全存储器166中。根据示例实施方式,计算机平台100的制造商向安全处理器160提供私有平台密钥168。
根据示例实施方式,UEFI映像196包含表示平台密钥根证书颁发机构(CA)证书134(本文称为“平台密钥根证书134”)的数据,因此,平台密钥根证书134是UEFI132的一部分。平台密钥根证书134是对安全处理器绑定证书182进行签名的PKI的一部分(假设由UEFI132验证)。平台密钥根证书134被UEFI 132信任并形成证书信任链的根,该证书信任链由UEFI 132作为UEFI对安全处理器绑定证书182的两部分验证的第一部分的一部分进行验证。证书信任链包括证书信任链末端的安全处理器绑定证书182;证书信任链开头的平台密钥根证书134;以及平台密钥根证书134与安全处理器绑定证书182之间的零个、一个或多个中间证书194。如图1中所描绘的,计算机平台100的持久性存储器或非易失性存储器180可以存储表示安全处理器绑定证书182、UEFI映像196以及一个或多个中间证书194的数据。
在本文的上下文中,“平台密钥”是指作为安全处理器160的平台层次结构的一部分的密钥。通常,“层次结构”是指一组相关的并且可以作为组进行管理的对象。安全处理器160可以具有一个或多个不同于平台层次结构的层次结构,如存储层次结构和背书层次结构。根据示例实施方式,平台层次结构由计算机平台100的制造商使用,并且如UEFI 132等平台固件拥有平台层次结构。
根据示例实施方式,在计算机平台100的制造期间,制造商通过将表示安全处理器绑定证书182的数据存储在非易失性存储器180中来为计算机平台100提供安全处理器绑定证书182。此外,制造商可以为安全处理器160提供私有平台密钥168。根据示例实施方式,安全处理器绑定证书182包含与私有平台密钥168相对应的公共平台密钥186。
除了公共平台密钥186之外,根据示例实施方式,安全处理器绑定证书182包含签名184和平台绑定信息188。根据一些实施方式,UEFI 132的安全处理器绑定证书验证引擎136执行安全处理器绑定证书182的两部分验证。验证的第一部分是基于签名的验证,其中,安全处理器绑定证书验证引擎136验证对安全处理器绑定证书182签名的PKI的签名。该验证包括验证以安全处理器绑定证书182结束并以平台密钥根证书134开始的证书信任链。
如果安全处理器绑定证书182通过基于签名的验证,则根据示例实施方式,安全处理器绑定证书验证引擎136执行验证的第二部分,该第二部分涉及基于包含在证书182中的平台绑定信息188来验证安全处理器绑定证书182。以这种方式,根据一些实施方式,在计算机平台100启动时,UEFI 132可以确定计算机平台100的平台清单或列表111。作为示例,平台列表111可以例如包含计算机平台100的型号、计算机平台100的序列号、安装在计算机平台100中的硬件部件的标识符、安装在计算机平台100中的软件部件的标识符或散列,等等。安全处理器绑定证书验证引擎136可以将包含在安全处理器绑定证书182中的平台绑定信息188与平台列表111进行比较。根据示例实施方式,如果平台绑定信息188的清单与平台列表111的清单相匹配,则安全处理器绑定证书182通过验证的第二部分,否则,验证的第二部分失败。
在验证安全处理器绑定证书182之后,UEFI 132然后可以使用公共平台密钥186将盐值分发给安全处理器160,使得安全处理器160和UEFI 132可以使用从盐值中生成的会话密钥。根据一些实施方式,UEFI 132在与安全处理器160的每个通信会话之前验证安全处理器绑定证书182。根据进一步实施方式,会话密钥可以用于多个会话,并且UEFI132可以在与安全处理器160的一组多个通信会话之前验证安全处理器绑定证书182。
根据示例实施方式,UEFI 132包括通信引擎138,该通信引擎执行同与安全处理器160通信的UEFI 132相关的功能。根据示例实施方式,这些功能可以包括生成盐值;使用公共平台密钥186对盐值进行加密;传送用于建立与安全处理器160的安全通信会话的请求;将经加密的盐值传送到安全处理器160;使用盐值作为输入来生成对称会话密钥;使用对称会话密钥对数据进行加密;使用对称会话密钥对数据进行解密;等等。
如图1中所描绘的,根据示例实施方式,计算机平台100的基板管理控制器(BMC)123可以控制对非易失性存储器180的访问。例如,根据示例实施方式,平台密钥验证引擎136可以向BMC 123提交请求以读取安全处理器绑定证书182,并且响应于该请求,BMC 123可以向引擎136提供表示安全处理器绑定证书182的内容的数据。
作为其管理平面的一部分,BMC 123可以为计算机平台100执行各种管理角色,包括监测传感器(例如,温度传感器、冷却风扇速度传感器);监测操作***状态;监测电源状态;记录计算机***事件;当主处理核110实例化UEFI 132时校验UEFI映像196;以及提供管理功能,该管理功能可以通过远程管理服务器进行远程控制。此外,BMC 123可以允许在计算机平台100断电时并且操作***已启动之前执行操作;并且BMC 123可以用于在操作***或计算机***出现故障之后执行恢复操作。根据示例实施方式,BMC123可以包括用于与远程管理服务器(未示出)通信的网络接口。根据进一步实施方式,BMC 123可以通过计算机平台100的PCIe设备105的透传通信与远程管理服务器通信。
作为其安全平面的一部分,BMC 123可以针对计算机平台100起各种安全有关作用,如在BMC 123执行固件之前验证BMC固件。安全有关作用还可以包括在计算机平台100上电或复位之后、在UEFI映像196中包含的固件指令由(多个)主处理核110执行之前验证UEFI映像196。安全有关作用可以包括监测软件测量(操作***内核测量)以检测安全问题。安全有关作用可以包括更新固件。此外,作为其安全有关作用的一部分,BMC123可以测量UEFI引导块并且利用所测量的UEFI引导状态扩展存储在安全处理器160中的PCR状态。BMC 123可以针对计算机平台100起多个其他安全有关作用中的任何一个。
如本文中所使用的,“BMC”或“基板管理控制器”是专用服务处理器,其使用传感器来监测服务器或其他硬件的物理状态并通过管理网络与管理***进行通信。基板管理控制器还可以通过以下各项与在操作***级别执行的应用程序进行通信:输入/输出控制器(IOCTL)接口驱动程序、代表性状态转移(REST)API、或促进基板管理控制器与应用程序之间的通信的某种***软件代理。基板管理控制器可以对位于包括***存储器的服务器机箱中的硬件设备进行硬件级别访问。基板管理控制器可以能够直接修改硬件设备。基板管理控制器可以独立于其中设置有基板管理控制器的***的操作***进行操作。基板管理控制器可以位于服务器或要监测的其他设备的母板或主电路板上。基板管理控制器安装在受管服务器/硬件的母板上或以其他方式连接或附接到受管服务器/硬件的事实并不妨碍基板管理控制器被认为与服务器/硬件是“分离”的。如本文所使用的,基板管理控制器具有对计算设备的子***的管理能力,并且与执行计算设备的操作***的处理资源分离。基板管理控制器与在***上执行高级操作***或管理程序的处理器(如中央处理单元)是分离的。
根据进一步实施方式,安全处理器绑定证书182可以存储在不通过BMC访问的存储器中。例如,根据进一步实施方式,表示安全处理器绑定证书182的数据可以存储在安全处理器160的安全存储器166中,并且安全处理器绑定证书验证引擎136可以从安全处理器160请求安全处理器绑定证书182。
根据示例实施方式,安全处理器160可以是用于存储的信任根和用于报告计算机平台100的信任根。在这种情况下,“信任根设备”或RoT设备可以是以预期方式表现的设备,因为可能无法检测到RoT设备的不良行为。换句话说,RoT设备可以是本质上可信的软件、硬件或其某种组合。RoT设备可以包括计算引擎。计算引擎可以是使用RoT设备中的硬件进行操作的软件、RoT设备的硬件、或其某种组合。例如,RoT设备可以包括存储信任根(RTS)。RTS可以是能够维护值的准确汇总的计算引擎。
根据示例实施方式,安全处理器160可以采用安装到计算机平台100的母板的半导体封装体(或“芯片”)的形式。安全处理器的安全存储器166可以存储平台秘密162,如密码密钥、密码、密封密码密钥、密码、证书、公钥、私钥等等。此外,安全存储器166可以存储表示测量摘要的数据。安全处理器160可以根据工业标准设计以提供基于硬件的安全功能,同时还抵抗篡改和恶意软件。根据一些实施方式,安全处理器160可以是TPM。
安全处理器160可以包含一个或多个处理核164(即,硬件处理器,如CPU处理核)以执行安全处理器160的功能,如执行可信计算操作、基于由UEFI 132提供的信息来构建通信会话密钥(如本文进一步描述的)、门控除了UEFI 132之外的实体是否可以使用基于平台密钥的安全通信与安全处理器160通信,等等。以这种方式,(多个)处理核164可以执行存储在安全处理器160的存储器170中的机器可执行指令171以执行这些功能。根据进一步实施方式,安全处理器160可以使用不执行机器可执行指令的电路来执行全部或部分功能,如现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)或专用集成电路(ASIC)。
根据进一步实施方式,安全处理器160可以是通过执行软件或固件形成的虚拟安全处理器。例如,根据一些实施方式,安全处理器160可以是虚拟TPM(或“vTPM”),其可以例如由计算机平台100的管理程序或其他实体提供。
根据示例实施方式,***存储器114、非易失性存储器180和安全存储器166是可以由以下项形成的非暂态存储介质:半导体存储设备、基于忆阻器的存储设备、磁存储设备、相变存储设备、这些存储技术中的一种或多种存储技术的设备的组合等等。***存储器114可以表示易失性存储器设备和非易失性存储器设备两者的集合。
在其其他特征中,根据示例实施方式,计算机平台100可以包括总线基础设施、I/O设备等等。根据示例实施方式,总线基础设施可以包括一个或多个桥118,该一个或多个桥可以连接到主处理核110、***存储器114、PCIe设备105、BMC 123以及安全处理器160,用于在这些部件之间建立通信。根据一些实施方式,主处理核110可以包括一个或多个半导体封装体(或“芯片”),并且主处理核110可以包括北桥118,该北桥包括存储器控制器(用于***存储器114访问)和PCIe根端口。计算机平台100还可以包括南桥118,该南桥提供I/O端口,如串行高级技术附件(SATA)端口、通用串行总线(USB)端口、低引脚数(LPC)端口、SPI端口、eSPI端口等等。根据一些实施方式,北桥118可以是主处理核110的一部分。根据进一步实施方式,北桥和南桥可以组合成单个桥118;并且根据一些实施方式,此单个桥118可以是主处理核110的一部分。
图2描绘了根据示例实施方式的由UEFI 132验证安全处理器绑定证书182并与安全处理器160通信的过程200。结合图1参考图2,过程200包括根据框204,UEFI 132的安全处理器绑定证书验证引擎136访问安全处理器绑定证书182。根据示例实施方式,安全处理器绑定证书验证引擎136验证安全处理器绑定证书182。根据示例实施方式,此验证有两个部分:第一部分,在该第一部分中,安全处理器绑定证书验证引擎136基于与证书182相关联的信任链来验证安全处理器绑定证书182;以及第二部分,在该第二部分中,安全处理器绑定证书验证引擎136验证绑定信息188。
关于验证的第一部分,根据过程200,安全处理器绑定证书验证引擎136确定(决策框208)安全处理器绑定证书182是否由证书182的发行者190签名。在这方面,安全处理器绑定证书182识别证书182的发行者190并且包含发行者的签名184。发行者可以是中间证书194或者可以是平台密钥根证书134。为了确定安全处理器绑定证书182是否由发行者190签名,安全处理器绑定证书验证引擎136可以例如确定安全处理器绑定证书182的内容的散列,使用发行者190的公钥解密签名184并将经解密的签名与散列进行比较以确定这些值是匹配(即,验证通过)还是不匹配(即,验证失败)。如果安全处理器绑定证书验证引擎136根据决策框208确定安全处理器绑定证书182没有被发行者190签名,则根据框216验证失败并且记录验证失败。
根据决策框208,如果安全处理器绑定证书验证引擎136确定安全处理器绑定证书182由发行者190签名,并且如果发行者190是平台密钥根证书134(决策框212),则基于签名的验证完成。如果安全处理器绑定证书验证引擎136根据决策框212确定发行者190不是平台密钥根证书134,则安全处理器绑定证书验证引擎136确定(决策框216)信任链的(多个)剩余证书是否得到验证。以这种方式,安全处理器绑定证书验证引擎136可以针对每个中间证书验证证书的签名。根据决策框216,如果安全处理器绑定证书验证引擎136确定信任链未得到验证,即验证失败,则根据框220,安全处理器绑定证书验证引擎136记录验证失败。
从决策框224开始,安全处理器绑定证书验证引擎136执行验证的第二部分,这涉及引擎136确定绑定信息188是否与平台列表111匹配。如图1中描绘的,平台列表111可以例如存储在计算机平台的存储器(如***存储器114)中,并且表示计算机平台100的所选硬件和/或软件部件的清单、计算机平台100的型号、计算机平台100的序列号,等等。如果列表111表示的清单与绑定信息188表示的清单相同,则根据示例实施方式,安全处理器绑定证书182通过验证。根据一些实施方式,安全处理器绑定证书验证引擎136通过将绑定信息188的散列与列表111的散列进行比较来比较这两个清单。以这种方式,根据示例实施方式,如果这两个散列相同,则验证通过。否则,验证失败,并且UEFI 132根据框228记录验证失败。
根据框232,在安全处理器绑定证书182得到验证的情况下,UEFI 132可以继续使用加盐值的通信会话与安全处理器160通信,该加盐值的通信会话使用非对称平台密钥对来分发会话密钥,如本文所述。
在本文使用的情况中,“散列”(本文中也称为“散列值”)是通过将密码散列函数应用于值(例如,如映像等输入)而产生的。“密码散列函数”可以是通过处理器(例如,一个或多个中央处理单元(CPU)、一个或多个CPU处理核等等)执行机器可读指令而提供的函数。密码散列函数可以接收输入,并且密码散列函数然后可以生成十六进制字符串以匹配该输入。例如,该输入可以包括数据串(例如,由起始存储器地址和结束存储器地址表示的存储器中的数据结构)。在这种示例中,密码散列函数基于数据串输出十六进制字符串。进一步地,该输入的任何微小变化都可能改变输出的十六进制字符串。在另一个示例中,密码散列函数可以是安全散列函数(SHA)、任何联邦信息处理标准(FIPS)批准的散列函数、任何国家标准与技术研究院(NIST)批准的散列函数、或任何其他密码散列函数。在一些示例中,代替十六进制格式,字符串可以使用另一种格式。
图3是根据示例实施方式的绑定信息188的图示。对于该示例,绑定信息188包括具体格式化的字段300(图1中描绘了P个示例字段300-1至300-P),其中,每个字段300被指定用于识别与具体部件相对应的信息。例如,字段300-1可以用于表示计算机平台100的序列号的数据,而另一个字段300-2可以被具体指定用于表示计算机平台100的型号标识符的数据。另一个字段(例如,字段300-3或字段300-N)可以是硬件标识符,用于具体类型或类别的硬件部件的序列号。作为另一个示例,可以为特定软件部件(例如,引导加载程序、操作***等)的具体散列值或版本号指定另一个字段(例如,字段300-N+2或字段300-P)。根据示例实施方式,如果特定计算机平台不具有用于绑定信息188的指定字段300的硬件或软件部件,则根据示例实施方式,将标识该部件不存在的指定数据放置在该字段中。以类似的方式,在构建列表111时,根据示例实施方式,UEFI132遵守绑定信息188的具体指定的字段300。因此,根据示例实施方式,如果安全处理器160被制造商特别指定为位于特定计算机平台100中,则列表111应该与绑定信息188相同。
图4描绘了根据示例实施方式的由UEFI 132的通信引擎138用来建立和使用安全通信会话来与安全处理器160通信的过程400。结合图1参考图4,根据过程400,通信引擎138生成(框404)盐值。根据示例实施方式,通信引擎138可以包含伪随机数生成器或随机数生成器以生成盐值。在这种情况下,“伪随机数”可以是几乎随机的数,并且根据示例实施方式,通信引擎138可以包括伪随机数生成器。作为示例,伪随机数生成器可以是在其输出处提供伪随机数的基于种子的生成器。例如,根据一些实施方式,通信引擎138可以包括基于多项式的伪随机数生成器,该伪随机数生成器基于用作多项式函数的输入的种子值来提供伪随机数。作为示例,种子值可以从将要生成伪随机数时的状态或状况得到,诸如由实时时钟(RTC)值、计数器值、测得的噪声值、寄存器值等提供的输入。根据进一步示例实施方式,通信引擎138可以使用实际随机数生成器或真随机数生成器。这种类型的生成器提供表示真随机数的输出。作为示例,真随机数生成器可以包括提供随机数字输出的模数转换器(ADC);并且ADC可以采样真随机模拟信号,如热噪声信号(例如,由电阻器提供的约翰逊–奈奎斯特噪声信号)或由天线接收的大气噪声信号。
根据过程400的框408,通信引擎138使用公共平台密钥186来对所生成的盐值加密,并使用密钥生成算法以及盐值作为算法的输入来生成(框412)对称会话密钥。通信引擎138然后将经加密的盐值传送(框416)到安全处理器160。注意,安全处理器160可以使用平台非对称密钥对的私钥解密盐值,并使用盐值作为相同密钥生成算法的输入,从而为安全处理器160产生相同的会话密钥。在通信引擎138和安全处理器160拥有会话密钥的情况下,根据框420,随后可以使用会话密钥在UEFI 132与安全处理器160之间以密码方式传送命令和响应。
图5描绘了由安全处理器160用来控制或门控用于与安全处理器160进行密码通信的平台密钥的可用性的过程500。以这种方式,如果由授权策略165(图1)授权,则除了UEFI132之外的实体,如计算机平台100的应用程序139(图1)或操作***130(图1),可以使用本文描述的基于平台密钥的安全通信来与安全处理器160通信。以这种方式,根据示例实施方式,UEFI 132可以不受任何限制地使用私有平台密钥,而安全处理器160可以代表计算机平台100的所有者(即,使用背书层次结构授权)在操作***130和应用程序139被准许对安全处理器160进行访问的情况下门控这些实体对私有平台密钥的使用。此外,根据示例实施方式,如果所有者希望在不公开所有者的背书授权的情况下授权使用私有平台密钥,则可以使用进一步的委托策略。
结合图1参考图5,根据过程500,安全处理器160接收(框504)用于创建加密通信会话的请求,其中,该请求包括所有权令牌和经加密的盐值。所有权令牌又可以是授权策略165的索引,基于所有权令牌控制对安全处理器160的使用。根据框508,安全处理器160检查授权策略165是否允许访问安全处理器160。根据决策框512如果允许访问,则安全处理器160以准许用于访问安全处理器160的请求作为响应(框516),基于私有平台密钥168解密(框520)经加密的盐值,以及使用安全通信会话与实体通信(框524),如本文所述。否则,根据决策框512如果拒绝访问安全处理器160,则安全处理器160以拒绝用于访问安全处理器160的请求作为响应(框526)。
设想了在所附权利要求的范围内的其他实施方式。例如,根据进一步实施方式,计算机平台可以具有与图1中描绘的架构不同的架构。例如,根据进一步实施方式,计算机平台可以不包括BMC。作为另一个示例,根据进一步实施方式,计算机平台可以具有BMC,但是证书相关的内容(例如,安全处理器绑定证书、中间证书等)可以存储在不在BMC后面的存储器或存储装置中。作为另一个示例,根据进一步实施方式,计算机平台可以具有BMC,并且某些内容(例如,UEFI映像)可以存储在BMC后面的存储器中,而其他内容(例如,证书内容)可以存储在不在BMC后面的存储器或存储装置中。作为另一个示例,根据进一步实施方式,计算机平台可以具有不同于BMC的管理控制器,如平台控制器或机箱管理控制器。根据进一步实施方式,计算机平台可以是除服务器之外的平台,如客户端、台式机、智能电话、可穿戴计算机、网络部件、网关、网络交换机、存储阵列、便携式电子设备、便携式计算机、平板电脑、瘦客户端、膝上型计算机、电视、模块化交换机、消费电子设备、电器、边缘处理***、传感器***、手表、可移除***设备卡等等。
参考图6,根据示例实施方式,计算机平台600包括安全处理器604;至少一个硬件处理器612;以及存储器630。安全处理器604存储表示私有平台密钥608的数据。私有平台密钥608是非对称密钥对的一部分,并且非对称密钥对包括公共平台密钥620。存储器630存储固件映像634。固件映像634包括表示公钥基础设施的根证书638的数据,该公钥基础设施对与计算机平台600相关联的证书616进行签名。证书616包括公共平台密钥620和将证书616与计算机平台600绑定的绑定信息624。固件映像634包括指令642,这些指令在由(多个)硬件处理器612执行时使该(多个)硬件处理器612访问表示证书616的数据,以及基于根证书638和绑定信息624确定证书616是否有效。指令642在由该(多个)硬件处理器612执行时进一步使该(多个)硬件处理器612响应于确定证书616有效,使用公共平台密钥620来保护与安全处理器604的通信。
参考图7,根据示例实施方式,过程700包括由计算机平台的至少一个硬件处理器访问(框704)表示与第二证书相对应的公钥基础设施的根证书的数据。第二证书包括公共平台密钥,并且公共平台密钥是非对称密钥对的一部分,该非对称密钥对包括私有平台密钥。第二证书包括将计算机平台与第二证书绑定的绑定信息。过程700包括由(多个)硬件处理器基于根证书和绑定信息来确定(框708)第二证书是否有效。根据框712,响应于确定第二证书有效,过程700包括由(多个)硬件处理器使用公共平台密钥来建立与计算机平台的安全处理器的安全通信会话。根据框716,过程700包括由(多个)硬件处理器使用安全通信会话与安全处理器进行数据通信。
参考图8,根据示例实施方式,非暂态机器可读存储介质800存储机器可执行指令804,这些指令在由机器执行时使机器基于存储在机器上的表示根证书的数据,验证第二证书的签名。指令804在由机器执行时进一步使机器验证第二证书的绑定信息。绑定信息表示机器的第一清单。验证绑定信息包括将机器的第二清单与第一清单进行比较。这些指令804在由机器执行时进一步使机器响应于签名的验证产生签名有效的结果并且绑定信息的验证产生绑定信息有效的结果,使用第二证书的公共平台密钥来建立与机器的安全处理器的安全通信会话。
根据示例实施方式,绑定信息包括与计算机平台的第一清单相对应的第一数据。这些指令在由(多个)硬件处理器执行时进一步使该(多个)硬件处理器生成表示计算机平台的第二清单的第二数据。这些指令在由(多个)硬件处理器执行时进一步使该(多个)硬件处理器基于第二数据与第一数据的比较来验证第二证书。特别的优点在于平台非对称密钥对可以捆绑或绑定到特定的计算机平台。
根据示例实施方式,第一数据包括表示第一清单的数据的第一散列,并且第二数据包括表示第二清单的数据的第二散列。这些指令在由(多个)硬件处理器执行时进一步使该(多个)硬件处理器确定第二散列是否与第一散列相同。特别的优点在于平台非对称密钥对可以捆绑或绑定到特定的计算机平台。
根据示例实施方式,绑定信息包括以下至少一项:计算机平台的型号、计算机平台的序列号、计算机平台的硬件部件的标识符、或计算机平台的软件部件的标识符。特别的优点在于平台非对称密钥对可以捆绑或绑定到特定的计算机平台。
根据示例实施方式,这些指令在由(多个)硬件处理器执行时进一步使该(多个)硬件处理器生成盐值;基于盐值生成会话密钥;以及基于公共平台密钥对盐值进行加密,以提供经加密的盐值。这些指令在由(多个)硬件处理器执行时进一步使该(多个)硬件处理器将经加密的盐值传送到安全处理器;以及在与安全处理器的通信会话中使用会话密钥。特别的优点在于平台非对称密钥对可以捆绑或绑定到特定的计算机平台。
根据示例实施方式,这些指令在由(多个)硬件处理器执行时进一步使该(多个)硬件处理器为计算机平台提供预引导环境服务和引导后环境服务。特别的优点在于平台固件与安全处理器之间的通信可以得到保护。
根据示例实施方式,存储器进一步存储与计算机平台的操作***或应用程序相关联的其他指令。(多个)硬件处理器执行其他指令以进一步使该(多个)硬件处理器使用公共平台密钥来保护与安全处理器的通信。特别的优点在于操作***或应用程序与安全处理器之间的通信可以得到保护。
尽管已经关于有限数量的实施方式描述了本公开,但受益于本公开的本领域技术人员将了解本公开的许多修改和变化。所附权利要求旨在覆盖所有这样的修改和变化。
Claims (20)
1.一种计算机平台,包括:
安全处理器,所述安全处理器用于存储表示私有平台密钥的数据,其中,所述私有平台密钥是非对称密钥对的一部分,并且所述非对称密钥对包括公共平台密钥;
至少一个硬件处理器;以及
存储器,所述存储器用于存储固件映像,其中:
所述固件映像包括表示公钥基础设施的根证书的数据,所述公钥基础设施对与所述平台相关联的第二证书进行签名;
所述第二证书包括所述公共平台密钥和将所述第二证书与所述平台绑定的绑定信息;并且
所述固件映像包括指令,所述指令在由所述至少一个硬件处理器执行时使所述至少一个硬件处理器进行以下操作:
访问表示所述第二证书的数据;
基于所述根证书和所述绑定信息来确定所述第二证书是否有效;以及
响应于确定所述第二证书有效,使用所述公共平台密钥来保护与所述安全处理器的通信。
2.如权利要求1所述的计算机平台,其中:
所述绑定信息包括与所述计算机平台的第一清单相对应的第一数据;并且
所述指令在由所述至少一个硬件处理器执行时进一步使所述至少一个硬件处理器生成表示所述计算机平台的第二清单的第二数据,并且基于所述第二数据与所述第一数据的比较来验证所述第二证书。
3.如权利要求1所述的计算机平台,其中:
所述第一数据包括表示所述第一清单的数据的第一散列;
所述第二数据包括表示所述第二清单的数据的第二散列;并且
所述指令在由所述至少一个硬件处理器执行时进一步使所述至少一个硬件处理器确定所述第二散列是否与所述第一散列相同。
4.如权利要求1所述的计算机平台,其中,所述绑定信息包括以下各项中的至少一项:所述计算机平台的型号、所述计算机平台的序列号、所述计算机平台的硬件部件的标识符、或所述计算机平台的软件部件的标识符。
5.如权利要求1所述的计算机平台,其中,所述指令在由所述至少一个硬件处理器执行时进一步使所述至少一个硬件处理器进行以下操作:
生成盐值;
基于所述盐值生成会话密钥;
基于所述公共平台密钥对所述盐值进行加密,以提供经加密的盐值;
将所述经加密的盐值传送到所述安全处理器;以及
在与所述安全处理器的通信会话中使用所述会话密钥。
6.如权利要求1所述的计算机平台,其中,所述指令在由所述至少一个硬件处理器执行时进一步使所述至少一个硬件处理器为所述计算机平台提供预引导环境服务和引导后环境服务。
7.如权利要求6所述的计算机平台,其中:
所述存储器进一步用于存储与所述计算机平台的操作***或应用程序相关联的其他指令;并且
所述至少一个硬件处理器用于执行所述其他指令以进一步使所述至少一个硬件处理器使用所述公共平台密钥来保护与所述安全处理器的通信。
8.如权利要求7所述的计算机平台,其中:
所述其他指令在由所述至少一个硬件处理器执行时进一步用于使所述至少一个硬件处理器向所述安全处理器传送对安全通信会话的请求,其中,所述请求包括所有权令牌;并且
所述安全处理器用于基于所述所有权令牌和授权策略来确定是否允许所述安全通信会话。
9.如权利要求1所述的计算机平台,其中:
所述指令在由所述至少一个硬件处理器执行时进一步用于使所述至少一个硬件处理器向所述安全处理器传送对安全通信会话的请求,其中,所述请求包括所有权令牌;并且
所述安全处理器用于基于所述所有权令牌和授权策略来确定是否允许所述安全通信会话。
10.如权利要求1所述的计算机平台,其中,所述指令在由所述至少一个硬件处理器执行时进一步用于使所述至少一个硬件处理器进行以下操作:
使用所述公共平台密钥与所述安全处理器建立安全通信会话;以及
在所述安全通信会话中,与所述安全处理器就表示所述计算机平台的秘密的数据进行通信。
11.如权利要求1所述的计算机平台,其中,所述安全处理器包括可信平台模块。
12.一种方法,包括:
由计算机平台的至少一个硬件处理器访问表示与第二证书相对应的公钥基础设施的根证书的数据,其中,所述第二证书包括公共平台密钥,所述公共平台密钥是非对称密钥对的部分,所述非对称密钥对包括私有平台密钥,并且所述第二证书包括将所述计算机平台与所述第二证书绑定的绑定信息;
由所述至少一个硬件处理器基于所述根证书和所述绑定信息来确定所述第二证书是否有效;
响应于确定所述第二证书有效,由所述至少一个硬件处理器使用所述公共平台密钥来建立与所述计算机平台的安全处理器的安全通信会话;以及
由所述至少一个硬件处理器使用所述安全通信会话与所述安全处理器进行数据通信。
13.如权利要求12所述的方法,进一步包括:
由所述至少一个硬件处理器来传送用于建立与所述安全处理器的所述安全通信会话的请求,其中,所述请求与所有权令牌相关联;以及
由所述安全处理器基于所有权策略对所述所有权令牌的应用来确定是否允许所述通信会话。
14.如权利要求12所述的方法,进一步包括:
执行平台固件指令,以访问表示所述根证书的数据,确定所述第二证书是否有效,使用所述公共平台密钥来建立所述安全通信会话,以及使用所述安全通信会话与所述安全处理器就所述数据进行通信。
15.如权利要求12所述的方法,进一步包括:
执行操作***指令,以访问表示所述根证书的数据,确定所述第二证书是否有效,使用所述公共平台密钥来建立所述安全通信会话,以及使用所述安全通信会话与所述安全处理器就所述数据进行通信。
16.如权利要求12所述的方法,进一步包括:
将固件映像存储在所述计算机平台的非易失性存储器中,其中,所述固件映像包括所述指令和所述根证书。
17.一种存储有机器可执行指令的非暂态机器可读存储介质,所述指令在由机器执行时使所述机器进行以下操作:
基于表示存储在所述机器上的根证书的数据,验证第二证书的签名;
验证所述第二证书的绑定信息,其中,所述绑定信息表示所述机器的第一清单,并且验证所述绑定信息包括将所述机器的第二清单与所述第一清单进行比较;以及
响应于所述签名的所述验证产生所述签名有效的结果并且所述绑定信息的所述验证产生所述绑定信息有效的结果,使用所述第二证书的公共平台密钥来建立与所述机器的安全处理器的安全通信会话。
18.如权利要求17所述的非暂态机器可读存储介质,其中,所述绑定信息包括表示以下各项中的至少一项的数据:所述机器的序列号或与所述机器的机器可执行指令相关联的散列值。
19.如权利要求17所述的非暂态机器可读存储介质,其中,所述指令在由所述机器执行时进一步使所述机器进行以下操作:
生成盐值;
基于所述盐值生成会话密钥;
基于所述公共平台密钥对所述盐值进行加密,以提供经加密的盐值;
将所述经加密的盐值传送到所述安全处理器;以及
在与所述安全处理器的所述安全通信会话中使用所述会话密钥。
20.如权利要求17所述的非暂态机器可读存储介质,其中,所述指令与预引导固件服务或引导后固件服务中的至少一个相关联。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/585,646 | 2022-01-27 | ||
US17/585,646 US20230237155A1 (en) | 2022-01-27 | 2022-01-27 | Securing communications with security processors using platform keys |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116566613A true CN116566613A (zh) | 2023-08-08 |
Family
ID=87068570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210394745.5A Pending CN116566613A (zh) | 2022-01-27 | 2022-04-14 | 使用平台密钥保护与安全处理器的通信 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230237155A1 (zh) |
CN (1) | CN116566613A (zh) |
DE (1) | DE102022109212A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230177190A1 (en) * | 2021-12-03 | 2023-06-08 | Dell Products L.P. | Systems and methods for transferring information handling systems |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11977505B2 (en) * | 2022-07-29 | 2024-05-07 | Dell Products L.P. | Data center asset client bridging via a passthrough device |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6584565B1 (en) * | 1997-07-15 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for long term verification of digital signatures |
GB9905056D0 (en) * | 1999-03-05 | 1999-04-28 | Hewlett Packard Co | Computing apparatus & methods of operating computer apparatus |
GB2357229B (en) * | 1999-12-08 | 2004-03-17 | Hewlett Packard Co | Security protocol |
US7069434B1 (en) * | 2000-06-13 | 2006-06-27 | Hewlett-Packard Development Company, L.P. | Secure data transfer method and system |
US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
US7890771B2 (en) * | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
US8019989B2 (en) * | 2003-06-06 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | Public-key infrastructure in network management |
GB2406246B (en) * | 2003-09-17 | 2006-05-31 | Hewlett Packard Development Co | Secure provision of image data |
US7552433B2 (en) * | 2003-11-12 | 2009-06-23 | Hewlett-Packard Development Company, L.P. | Non-platform-specific unique indentifier generation |
US7600134B2 (en) * | 2004-11-08 | 2009-10-06 | Lenovo Singapore Pte. Ltd. | Theft deterrence using trusted platform module authorization |
US7574593B2 (en) * | 2004-12-03 | 2009-08-11 | Hewlett-Packard Development Company, L.P. | Persistent memory manipulation using EFI |
US7986786B2 (en) * | 2006-11-30 | 2011-07-26 | Hewlett-Packard Development Company, L.P. | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor |
US8209542B2 (en) * | 2006-12-29 | 2012-06-26 | Intel Corporation | Methods and apparatus for authenticating components of processing systems |
US20090327741A1 (en) * | 2008-06-30 | 2009-12-31 | Zimmer Vincent J | System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid) |
US9052861B1 (en) * | 2011-03-27 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Secure connections between a proxy server and a base station device |
JP5809362B2 (ja) * | 2011-08-30 | 2015-11-10 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | 仮想トラステッドランタイムbiosとの通信 |
US20170249229A1 (en) * | 2014-11-20 | 2017-08-31 | Hewlett Packard Enterprise Development Lp | Query a hardware component for an analysis rule |
EP3345112B1 (en) * | 2016-01-28 | 2020-04-22 | Hewlett-Packard Development Company, L.P. | Thresholds on scripts executable by unified extensible firmware interface systems |
US20190228384A1 (en) * | 2018-01-25 | 2019-07-25 | Hewlett-Packard Development Company, L.P. | Operational metrics for electronic devices |
US10726132B2 (en) * | 2018-03-08 | 2020-07-28 | Hewlett Packard Enterprise Development Lp | Enclave launch and authentication |
-
2022
- 2022-01-27 US US17/585,646 patent/US20230237155A1/en active Pending
- 2022-04-14 DE DE102022109212.7A patent/DE102022109212A1/de active Pending
- 2022-04-14 CN CN202210394745.5A patent/CN116566613A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230177190A1 (en) * | 2021-12-03 | 2023-06-08 | Dell Products L.P. | Systems and methods for transferring information handling systems |
Also Published As
Publication number | Publication date |
---|---|
US20230237155A1 (en) | 2023-07-27 |
DE102022109212A1 (de) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7416775B2 (ja) | 周辺デバイス | |
KR100930218B1 (ko) | 소프트웨어 기반 보안 코프로세서를 제공하는 방법, 장치및 처리 시스템 | |
US8213618B2 (en) | Protecting content on client platforms | |
KR100737628B1 (ko) | 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 | |
US9602282B2 (en) | Secure software and hardware association technique | |
US7986786B2 (en) | Methods and systems for utilizing cryptographic functions of a cryptographic co-processor | |
US8364975B2 (en) | Methods and apparatus for protecting data | |
US8074262B2 (en) | Method and apparatus for migrating virtual trusted platform modules | |
US20050283826A1 (en) | Systems and methods for performing secure communications between an authorized computing platform and a hardware component | |
KR20190063264A (ko) | 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치 | |
US9015454B2 (en) | Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys | |
EP2947594A2 (en) | Protecting critical data structures in an embedded hypervisor system | |
JP2005527019A (ja) | マルチトークンのシール及びシール解除 | |
US9280687B2 (en) | Pre-boot authentication using a cryptographic processor | |
US20230237155A1 (en) | Securing communications with security processors using platform keys | |
US20230129610A1 (en) | Multiple physical request interfaces for security processors | |
US20230134324A1 (en) | Managing storage of secrets in memories of baseboard management controllers | |
US20230342446A1 (en) | Management controller-based verification of platform certificates | |
Futral et al. | Fundamental principles of intel® txt | |
US12019752B2 (en) | Security dominion of computing device | |
CN110059489B (zh) | 安全电子设备 | |
WO2023200487A1 (en) | Firmware controlled secrets | |
Talmi | Security Target | |
Akram et al. | Trusted Platform Module: State-of-the-Art to Future Challenges | |
Noller | Security Target |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |