CN109074466A - 用于服务器的平台证明和注册 - Google Patents
用于服务器的平台证明和注册 Download PDFInfo
- Publication number
- CN109074466A CN109074466A CN201780029277.9A CN201780029277A CN109074466A CN 109074466 A CN109074466 A CN 109074466A CN 201780029277 A CN201780029277 A CN 201780029277A CN 109074466 A CN109074466 A CN 109074466A
- Authority
- CN
- China
- Prior art keywords
- platform
- processor
- key
- supply
- new
- 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.)
- Granted
Links
- 238000003860 storage Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000007789 sealing Methods 0.000 claims description 2
- 238000012795 verification Methods 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004224 protection Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 102000006479 Heterogeneous-Nuclear Ribonucleoproteins Human genes 0.000 description 1
- 108010019372 Heterogeneous-Nuclear Ribonucleoproteins Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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/12—Applying verification of the received information
-
- 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
-
- 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/0822—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 key encryption key
-
- 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
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
实施例包括***、方法、计算机可读介质和设备,其被配置为:针对平台的第一处理器生成平台根密钥;创建数据结构以封装平台根密钥,数据结构包括平台供应密钥和注册服务的标识;以及在安全连接上将数据结构发送到注册服务,以为平台的第一处理器注册平台根密钥。实施例包括***、方法、计算机可读介质和设备,其被配置为:存储从密钥生成设施接收的设备证书;从平台接收清单,清单包括与平台相关联的处理器的标识;以及使用存储的设备证书来验证处理器。
Description
相关申请的交叉引用
本申请要求享有于2016年7月2日提交的序列号为15/201,400的美国专利申请的优先权,所述申请根据美国专利法第119(e)条要求于2016年6月18日提交的美国临时专利申请第62/351,956号的利益。前述申请通过引用的方式全部并入本文。
技术领域
概括而言,本公开内容涉及计算机安全领域,而更具体而言,涉及用于服务器的平台证明和注册。
背景技术
可以在因特网上部署软件和服务。当服务提供者在线或空中上供应具有敏感内容的应用时,服务提供者将想要确信他们的秘密得到恰当保护。为此,服务提供者必须能够确切地知道什么软件正在远程平台上运行以及其正在什么环境中执行。
附图说明
图1是根据一个实施例的包括证明***的示例性***的简化示意图。
图2是根据一个实施例的包括支持安全飞地的示例性平台的示例性***的简化框图。
图3是根据一个实施例的表示应用证明的简化框图;
图4是根据一个实施例的表示支持证明的***的第一实施方式的简化框图。
图5是根据一个实施例的表示支持证明的***的第二实施方式的简化框图。
图6是根据一个实施例的表示支持证明的***的第三实施方式的简化框图。
图7是根据本公开内容的实施例的多包环境的示意性框图。
图8是根据本公开内容的实施例的平台实例的建立的示意图。
图9是根据本公开内容的实施例的注册和供应多包平台的示意图。
图10是根据本公开内容的实施例的用于替换建立的平台上的包的示意性框图。
图11是根据本公开内容的实施例的用于形成平台清单的过程流图。
图12是根据实施例的处理器的示例性说明。
图13是示例性移动设备的框图。
图14示出了根据实施例的以点对点(PtP)配置布置的计算***。
各附图中同样的附图标记和名称指示同样的元素。
具体实施方式
本公开内容涉及用于服务器的证明和注册。本公开内容描述了可以构成服务器环境的多于一个包之间的证明和注册。
图1是示出包括示例性证明***105的计算环境100的示例性实施例的简化框图。证明***105可以接收由在主机***(例如,110、115、120、125)上运行的安全逻辑组件或飞地(enclave)生成的数据或“引用”,以证明主机的另一应用或飞地的真实性和安全性(以及其他特性),并基于接收的引用来确认证明。引用可以是签名的,或者包括已由加密密钥、密码或其他元素(本文中统称为“密钥”)签名的数据,证明***可以根据密钥来认证或确认引用(从而也认证或确认了由引用证明的应用或飞地)的可信赖性。这样的密钥可以被称为证明密钥。供应***120可以用于在各种主机设备110、115、120、125上安全地提供这样的证明密钥。
在一些情况下,可以结合在主机***上托管的应用(例如,110、115、120、125)和由远程后端***(例如,140、145)托管的后端服务之间的客户端-服务器或前端-后端交互(例如,在一个或多个网络125上)来执行证明。敏感数据和交易可以在这样的交互中发生,并且应用可以使用证明***(例如,105)来证明其对后端***的可信赖性和安全性(反之亦然)。在一些实施方式中,证明***本身可以托管在后端***上。在其他情况下,后端***(例如,140)(或者甚至对等证明中的另一主机设备)可以消费单独的证明***(例如,105)的证明服务。
供应***可以维护映射到配备有用于实现可信执行环境或安全飞地的硬件和软件的各种主机设备(例如,110、115、120、125)的证书的数据库。每个证书可以从密钥导出,所述密钥本身基于在制造期间在主机设备(例如,110、115、120、125)上供应的持久维护的安全的秘密。秘密对于主机设备保密,并且可以被实现为熔丝(fuse)、安全持久存储器中的代码以及其他实施方式。密钥可以是秘密本身或从秘密导出的密钥。证书可能无法识别密钥,并且密钥可以是不可从证书导出的,然而,由密钥产生的签名可以被识别为源自主机设备中的特定一个,针对其基于相应证书来维护证书。以该方式,主机设备(例如,110、115、120、125)可以向供应***120进行认证,并且(由供应***120)提供与主机设备安全地相关联的证明密钥。然后,这些证明密钥可以由对应的主机设备(例如,110、115、120、125)上的安全飞地使用,以证明主机设备上存在的一个或多个应用或飞地。
在一些实施方式中,网络125可以包括局域网和广域网、无线网和有线网、公共网和私人网以及实现***之间的通信的任何其他通信网络。
通常,“服务器”、“设备”、“计算设备”、“主机设备”、“用户设备”、“客户端”、“服务器”、“计算机”、“平台”、“环境”、“***”等(例如,105、110、115、120、125、120、140、145等)可以包括可操作以接收、发送、处理、存储或管理与计算环境100相关联的数据和信息的电子计算设备。如本文档中使用的,术语“计算机”、“计算设备”、“处理器”或“处理设备”旨在涵盖适于执行与计算机可读指令的执行一致的计算任务的任何合适的处理设备。另外,任何、所有或一些计算设备可以适于执行任何操作***,包括Linux、UNIX、Windows Server等,以及适于虚拟化特定操作***的执行的虚拟机,所述特定操作***包括定制的和专有的操作***。计算设备还可以配备有通信模块,以促进在一个或多个网络(例如,125)上与其他计算设备的通信。这样的网络125可以包括局域网和广域网、无线网和有线网、公共网和私人网以及实现***之间的通信的任何其他通信网络。
主机设备(例如,110、115、120、125)还可以是被实现为一个或多个本地和/或远程客户端或终端用户设备的计算设备,例如应用服务器、个人计算机、膝上型计算机、智能手机、平板计算机、个人数字助理、媒体客户端、支持网络的电视、远程呈现***、游戏***、多媒体服务器、机顶盒、智能家电、车内计算***以及适于接收、查看、撰写、发送或以其他方式与之交互、访问、操纵、消费或以其他方式使用通过相应设备(或环境100)内或外部的服务器服务或提供的应用、程序和服务的其他设备。主机设备可以包括可操作以使用有线或无线连接至少与服务器、其他主机设备、网络和/或其他设备连接或通信的任何计算设备。在一些实例中,主机设备还可以包括至少一个图形显示设备和用户界面,包括触摸屏显示器,以允许用户查看环境100中提供的应用、工具、服务和其他软件的图形用户界面并与之交互。应当理解,可以存在与环境100相关联的任何数量的主机设备,以及环境100外部的任何数量的主机设备。此外,在不脱离本公开内容的范围的情况下,术语“主机设备”、“客户端”、“终端用户设备”、“端点设备”和“用户”可以酌情可互换地使用。此外,虽然可以依据由一个用户使用来描述每个终端用户设备,但是本公开内容预期了许多用户可以使用一个计算机或者一个用户可以使用多个计算机,以及其他示例。
虽然图1被描述为包含多个元素或与多个元素相关联,但不是图1的***100中示出的所有元素都可以在本公开内容的每个替代实施方式中被利用。另外,本文描述的元素中的一个或多个可以位于***100的外部,而在其他实例中,某些元素可以被包括在其他描述的元素中的一个或多个以及未在示出的实施方式中描述的其他元素内或作为其一部分。此外,图1中示出的某些元素可以与其他组件组合,并且可以用于替代或(附加于本文描述的那些目的的)另外的目的。
证明是反映如下信息的签名的断言:诸如(1)在飞地内正在运行什么软件;(2)谁签名了断言和版本信息;(3)硬件信息和硬件可信计算基础(TCB)之类的信息;以及来自飞地的信息(例如,可信密钥)。在实施例中,每个平台具有用于代表平台签名证明的经认证的证明密钥。
转到图2的示例,示出了简化框图200,其示出了***或计算环境,所述***或计算环境包括被配备为支持一个或多个安全飞地(例如,235、250、255、260、265)的主机***110。主机***110可以包括一个或多个处理器设备205、一个或多个存储器元素210,以及以硬件和/或软件实现的其他组件,包括操作***215和一组应用(例如,220、225、230)。可以使用安全飞地235或应用飞地来保护应用中的一个或多个。安全飞地可以在安全存储器240(与通用存储器245相对)中实现并利用主机***的处理器中的至少一个(例如,205)的安全处理功能来实现代码和数据的私有区域以提供应用的某个安全功能或受保护功能。可以在主机***110上提供以主机***的固件和/或软件(例如,主机的CPU的代码)实现的逻辑,其可以由应用或主机***本地的其他代码利用以留出代码和数据的需要保证提高的安全性的私有区域,以在***上实现一个或多个安全飞地。例如,安全飞地可以用于保护敏感数据免受以更高权限级别运行的流氓软件的未授权访问或修改,并保护敏感代码和数据的机密性和完整性,而不破坏合法***软件安排和管理平台资源的使用的能力。安全飞地可以使应用能够定义代码和数据的安全区域,即使攻击者拥有对平台的物理控制并可以对存储器进行直接攻击,所述安全区域也能维护机密性。安全飞地还可以允许主机设备(例如,110)的消费者保持对其平台的控制,包括依据他们的选择安装和卸载应用和服务的自由。安全飞地还可以使主机***平台能够测量对应的应用的可信代码并产生以处理器为根的签名的证明,所述签名的证明包括该测量结果以及代码已在可信环境中正确初始化的其他认证(并且能够提供安全飞地的安全性特征,例如以上示例中概述的)。通常,安全飞地(以及本文描述的其他安全飞地)可以采用或建立在例如软件保卫扩展编程参考以及其他示例性平台中描述的原理上。
暂时转向图3,应用飞地(例如,235)可以保护给定应用的全部或一部分并允许应用(及其安全性特征)被证明。例如,诸如后端服务或网络服务之类的服务提供者140可能偏好或要求与其对接的客户端具有某些安全性特征或保证,以使得服务140可以证实它正在与客户端所说的人进行交易。例如,恶意软件(例如,305)有时可以被构造以假冒用户或应用的身份,以试图从与服务140的交易中提取敏感数据、感染所述交易或以其他方式在所述交易中恶意表现。签名的证明(或简称为“证明”)可以允许应用(例如,230)证实它是应用的合法实例(即,而不是恶意软件)。未配备有安全应用飞地的其他应用(例如,220)可以是合法的,但可能无法证明服务提供者140,以使得服务提供者在某种程度上对应用的真实性和可信赖性存疑。此外,主机***平台(例如,210)可能被模拟(例如,由模拟器310)以尝试与服务140进行错误的交易。通过安全飞地的证明可以防止这样的不安全、恶意和错误的交易。
回到图2,可以基于使用在平台上安全地供应的证明密钥来签名的签名的数据或“引用”来提供证明。可以提供另外的安全飞地(即,与安全应用飞地235分开)以测量或评估应用及其飞地235、签名测量结果(被包括在引用中),并协助供应飞地中的一个或多个以及密钥,所述密钥用于签名引用和在飞地之间或在飞地和外部服务(例如,105、120、140)之间建立的安全通信信道。例如,可以提供一个或多个供应飞地250以与对应的供应***对接,以获得供引用飞地255和/或应用飞地使用的证明密钥。可以提供一个或多个引用飞地255以可靠地测量或评估应用230和/或对应的应用飞地235,并用通过对应的供应飞地250获得的证明密钥对测量结果进行签名。还可以提供供应认证飞地260,以对供应飞地(例如,250)的对应的供应***(例如,120)认证供应飞地。供应认证飞地260可以维护供应证明密钥,所述供应证明密钥基于主机平台110上的持久维护的、安全的秘密(例如,在制造期间在平台的熔丝265中设置的秘密),以支持供应飞地250对供应***120的可信赖性的证明,以使得供应飞地250在供应***120用证明密钥委托供应飞地250之前被认证。在一些实施方式中,供应认证飞地260可以证明在平台110上提供的潜在多个供应飞地250中的任何一个的真实性和安全性。例如,可以提供多个不同的供应飞地250,每个所述供应飞地与其自己相应的供应***对接,将其自己相应的证明密钥提供给在平台上提供的潜在多个引用飞地之一(例如,255)。例如,不同的应用飞地可以在对应应用的证明期间利用不同的引用飞地,并且每个引用飞地可以利用不同的证明密钥来支持证明。此外,通过使用多个供应飞地和供应服务,可以结合不同应用和服务的证明(例如,由后端***140托管)来使用不同的密钥类型和加密技术。
在一些实施方式中,不是从远程服务(例如,供应***120)获得证明密钥,而是一个或多个应用和引用飞地可以利用由在平台上提供的密钥生成飞地270生成的密钥。为了证明由密钥生成飞地提供的密钥的可靠性,供应认证飞地可以签名密钥(例如,由密钥生成飞地随机生成的密钥对的公钥),以使得由密钥签名的引用可以被识别为合法签名的引用。在一些情况下,密钥生成飞地(例如,270)和供应飞地(例如,250)可以在相同平台上被提供,而在其他实例中,密钥生成飞地(例如,270)和供应飞地(例如,250)可以被提供作为彼此的替代物(例如,在给定平台上仅提供密钥生成飞地或供应飞地),以及其他示例和实施方式。
转到图4,在一些平台中,提供单个引用飞地并且直接与供应飞地套件对接。对于***上提供的每个应用飞地,此处使用相同的引用飞地。供应密钥被托管在供应飞地套件中,并且被用于协商向证明密钥供应服务认证供应套件。证明密钥供应服务可以维护将设备(例如,设备序列号)映射到对应证书的设备证书(还被称为平台注册证书),每个证书基于在设备平台的硬件中设置(并保密)的根密钥来被生成。以该方式,可以提供证书,其不公开在设备处维护的基于硬件的秘密,但允许由证书持有者证实秘密的存在(例如,基于根据秘密或基于秘密的密钥生成的签名)。因此,供应飞地套件可以向证明密钥供应服务提供签名的数据以证明其真实性,并且它在已知拥有实现对安全的、可信赖的飞地的实例化和托管的功能的设备平台上实现。基于该证明,证明密钥供应服务可以协商证明密钥供应服务和供应飞地套件之间的安全信道,并作为响应向供应飞地套件提供证明密钥。实际上,由供应飞地套件签名的数据可以包括用于建立安全信道的信息(例如,签名的公钥、协议标识符等)。然后,供应飞地套件可以为引用飞地供应所接收的证明密钥。引用飞地可以测量或识别应用和/或应用飞地以及主机平台的属性,并且可以在包含数据的引用中提供该信息,其至少一部分使用引用飞地处的证明密钥来签名。例如,引用可以识别诸如以下各项之类的特性:平台处理器(例如,CPU、芯片组等)的类型和标识符、由处理器使用的固件版本、处理器的任何认证的代码模块(ACM)的标识和状态、可信引导功能的存在、所有可信设备的固件、提供安全服务的任何飞地的软件版本等。然后,引用飞地将签名的引用传递给应用飞地,所述应用飞地可以将引用传送给后端服务(例如,秘密所有者(例如,托管可由应用使用以解密数据或访问内容的秘密等))以证明应用的真实性。在该示例中,后端服务(例如,“秘密所有者”)可以利用证明服务的服务,所述证明服务可以接收由证明密钥供应服务生成的证明密钥证书和撤销列表,所述证明密钥供应服务生成由平台的引用飞地使用的证明密钥。通过这些证书,证明服务可以基于引用中包括的签名(由证明密钥供应服务提供的证明密钥签名)来证实引用的真实性。在证实了引用的真实性并根据引用中包括的应用飞地的描述进一步证实应用飞地的特性(例如,它是在有能力的平台上可靠地实现的飞地),证明服务可以将证明的结果传送给后端服务。根据这些结果,后端服务可以基于应用是否受到可信赖的应用飞地的保护来提供服务级别(或完全授予/拒绝服务)。
转到图5的示例,示出了简化的框图,其示出了在设备平台上提供的证明平台的改进版本。在该示例中,支持多个潜在供应飞地和引用飞地。例如,可以实例化基于增强型隐私ID(EPID)的供应飞地(对应于设备平台的制造商或者与设备平台的制造商相关联地提供)以供应使用第一类型的证明密钥的第一引用飞地,并且第二供应飞地(对应于第三方(即,除了平台的提供者或制造商以外))可以供应潜在地使用不同的、第二类型的证明密钥(例如,RSA密钥)的第二引用飞地,以及其他示例。实际上,可以提供两个或更多个不同的供应飞地以在两个或更多个不同的引用飞地上供应证明密钥。这些引用飞地中的每一个转而可以向一个或多个应用飞地提供证明支持(例如,一个引用飞地可以支持两个应用飞地,另一引用飞地可以支持另一应用飞地等)。这些多个供应飞地可以由单个供应认证飞地支持,所述供应认证飞地管理根据在设备制造期间设置的设备的持久且安全地维护的秘密(例如,根密钥)来生成的供应证明密钥。
在图5的示例中,各种供应飞地中的每一个可以与对应的供应服务相关联,相应的证明密钥要从所述对应的供应服务中获得。供应认证飞地可以有效地用于支持供应飞地对其对应的供应服务的证明。例如,为了用基于EPID的证明密钥来供应对应的引用飞地(例如,505),EPID供应飞地可以从使用供应证明密钥签名的供应认证飞地中请求证明引用。供应认证飞地可以使用供应证明密钥来生成签名,并将签名(或签名的证明引用)提供给EPID供应飞地。签名的引用可以与对应的供应服务(例如,510)共享,以向供应服务进行认证,并在供应服务和供应飞地之间建立安全信道。证明引用可以包括用于建立安全信道的信息(例如,签名的公钥、协议标识符等)。如在图4的示例中,(潜在多个不同的)供应服务中的每一个(例如,510)可以具有证书的副本,其已经被发布以用于被配置为支持安全飞地和证明的平台集合中的每一个并且其基于在制造时(或之后)在相应的设备平台中的每一个处设置的根密钥(或其他秘密)。这些证书模糊了供应证明密钥所基于的秘密,但是可以用于解密信息并证实使用这些供应证明密钥中的相应的一个(证书也基于其)生成的签名。因此,供应飞地可以提供用供应证明密钥签名的引用,所述引用是在可以访问处理器证书的供应服务中的任何一个处可验证的。可以基于供应飞地的证明(例如,使用公钥交换或其他技术)建立安全信道,在所述安全信道上供应服务还可以将证明密钥发送到对应的供应飞地。然后,供应飞地可以将接收的密钥供应到对应的引用飞地上。类似地,其他供应飞地(例如,515)也可以请求来自供应认证飞地的签名的引用,供应飞地可以将所述签名的引用用作与对应的供应服务(例如,520)协商其自己的安全信道的基础并证明其作为供应飞地的可信赖性。同样,可以将对应的证明密钥递送到供应飞地,所述供应飞地可以被传递到其对应的引用飞地(例如,525)以用于证明一个或多个对应的应用飞地。如在图4的示例中,应用飞地可以接收由它们相应的引用飞地签名(使用它们对应的证明密钥)的引用来证明各种后端***(例如,530、535)并且基于正受可信应用飞地保护的应用而享受提高的访问和功能。这样的证明可以提供各种特权和增强型服务和特征,例如授权服务、授权另外的服务(以客户端上存在应用飞地为前提)、从证书颁发机构颁发证书、允许传感器类型的平台与协调点配对和/或允许从传感器(例如,在物联网***中)接受数据,以及潜在无限的其他示例。
如上所述,在一些实施方式中,可以提供密钥生成器飞地270而不是(或附加于)供应飞地,其最终依赖于外部供应服务作为证明密钥的源以被传递到对应的引用飞地。例如,在由图6所示的简化框图示出的示例中,可以提供密钥生成器飞地270,其生成随机的公共/私有证明密钥对,以用于用证明密钥来供应一个或多个引用飞地(例如,605、610)。例如,密钥生成器飞地270可以(随机地)生成用于第一引用飞地605的第一证明密钥对(例如,RSA或椭圆曲线数字签名算法(ECDSA)密钥对)并且单独地生成用于另一引用飞地610的另一、第二证明密钥对。证明密钥对的私钥被传递到引用飞地605以用作引用飞地的证明密钥。
在生成了证明密钥对时,密钥生成器飞地270可以请求供应认证飞地615将对中的公钥签名为引用的形式,以证明密钥生成器飞地270的安全性和真实性。在一个实施方式中,供应认证飞地用基于硬件的供应证明密钥来对证明密钥对的公钥进行签名。签名的公钥可以用作使用供应证明密钥发布/签名的证书。由证明服务拥有的处理器证书可以基于供应证明密钥来证实由供应认证飞地产生的签名(如在其他示例中那样),这是因为处理器证书可以在制造时结合供应证明密钥所基于的基于硬件的秘密的供应来生成。在一个示例中,可以将签名的公钥(例如,通过供应认证飞地或另一飞地(未示出))发送到外部实体,以直接递送到证明服务。在其他示例中,可以将签名的公钥提供给引用飞地以附加到由引用飞地生成和签名的引用,以便最终递送到证明服务。证明服务可以从应用飞地接收引用(如由引用飞地605生成的)并标识对应的签名的公钥(例如,在引用本身中)。证明服务可以查询其处理器证书集合,以证实公钥由信誉良好的平台(的供应证明密钥)签名,以断定由引用飞地(例如,使用证明密钥对的私钥)签名的数据(例如,引用)同样可信。然后,证明服务还可以证实引用是由证明密钥对的私钥签名的,并消费描述引用中包含的应用的数据。
图7是根据本公开内容的实施例的多包环境700的示意性框图。软件防卫扩展使用在包之间共享的平台密钥。
多包环境700(还被称为平台700)可以包括一个或多个服务器或包括一个或多个包的机器。在本公开内容的上下文中,包包括微处理器、中央处理单元、处理器核心或其他处理电路元素。在图7中,环境700被示出为包括两个包,包A 702和包B 704。此外,在本公开内容的上下文中,多包环境还可以被称为平台。
图7示出了在多包平台(例如,用于包的安全启动)中的包之间共享的平台密钥的形成。可以生成并在包之间分发平台密钥。在平台700中存储和处理的用户数据可以由平台700生成的平台密钥保护。BIOS可以存储由每个包硬件密钥加密的平台密钥。
包可以基于随机数或伪随机数来生成平台密钥。每个包使用设备密钥来加密其平台密钥的副本。设备密钥是特定于包的硬件,因此平台的每个平台密钥将包括对用于加密平台密钥的设备密钥的指示。
可以通过由包中的一个或多个选择的一个或多个随机或伪随机值来生成密钥。如果多于一个包生成随机密钥,则可以合并随机密钥以产生单个密钥。在实施例中,每个包可以创建密钥的部分,并且可以组合若干密钥部分以形成表示包的组的单个密钥。
平台700包括相干存储器706。相干存储器可以包括受保护的存储器区域。包A可以从包A的硬件密钥中导出签名密钥的私有部分。该唯一的公钥/私钥对可以唯一地识别包A。包B还可以从包B的硬件密钥中导出签名密钥的私有部分。包A和包B可以选择在包A和包B之间共享的平台密钥。例如,包A可以使用包A的硬件密钥来加密{平台密钥,包B公钥}。当平台700重新启动时,包A可以再次解密平台密钥以将它们用于SGX。它还有其被允许与之通信的包列表(此处为包B)。如果在重新启动后出现包,则包A和包B二者都知道某些内容已更改。此外,为了加快启动过程,每个包都存储被它们用于传播平台密钥的安全通信密钥。在下次重新启动期间,它们可以重新加载这些密钥并跳过用于创建它们的昂贵协议。
存储在用于包B的闪速存储器中的包A身份可以包括平台供应密钥根和平台密封密钥根,以及用于包A和包B之间的通信的通信密钥(如图8所示)。
(以上结合图1-6描述的)供应***可能无法辨识针对多包环境700中的包生成的平台密钥。因此,向注册机构714注册平台密钥。平台清单712可以由平台700中的每个包生成。平台清单712可以包括平台密钥,并且可以包括描述平台中的包的信息。在一些实施例中,可以使用平台密钥来签名清单712。平台密钥还可以被称为平台根密钥。
注册服务714可以使用与从清单中识别的包相关联的平台注册证书来认证清单。换言之,每个包可以与由设备制造商分发的设备证书相关联。设备证书可以存储在与注册服务714相关联的仓库中。
如以上描述的,注册服务714可以确定平台的供应证明密钥。注册服务714可以将提供平台标识信息分发到(也在以上描述的)供应基础设施。在一些实施例中,注册服务714可以分发可以用于获取证明密钥的密钥。
图8是根据本公开内容的实施例的平台实例的建立的示意图。环境800包括两个包,包1 802和包2 804(其类似于来自图7的包A和B)。每个包使用设备密钥(例如,硬件密钥)来密封和存储平台密钥、包信息、平台供应密钥根、物理信道标识符和对应的注册服务的副本。可以存储与关联于包的平台密钥(例如,与包1 802相关联的平台密钥1 806;以及与包2相关联的平台密钥2 810)相关联的这样的信息。
每个包可以创建包括包标识信息的清单,并且可以由与包相关联的设备密钥签名。例如,对于包1 802,清单1 808可以包括包2标识信息,并且可以使用包1的设备密钥来签名。类似地,对于包2 804,清单1 812可以包括包1标识信息,并且可以使用包2的设备密钥来签名。
图9是根据本公开内容的实施例的注册和供应多包平台的示意图。环境900包括平台902,其被示出为包括CPU1 904和CPU2 906。如前所述,包的制造商将唯一的设备密钥放入每个处理器包中。包生成新的平台密钥并将平台密钥发送到注册服务910。注册服务910可以使用用于组分包标识的设备证书来认证每个平台密钥。注册服务910可以为平台密钥创建设备证书。
注册服务910可以将设备证书发送到供应服务912。供应服务912可以为平台902生成和供应证明密钥,并将证明密钥发送到平台902。证明密钥可以由平台902的对应的包上的安全飞地使用,以证明包上存在的一个或多个应用或飞地(例如,在发送到平台注册服务910的清单中标识的包904或906)。供应服务可以使用平台的设备证书来验证平台,所述证书可以应用于是平台的部分的(即,包括在清单中)任何包。
注册服务910可以维护从设备制造商接收的设备/包证书的数据库。设备证书可以用于证实从平台接收的清单上列出的包是否是真的。随着新的包/部件被制造,数据库可以被周期性地更新。注册服务910还可以存储可以用于撤销包真实性的撤销列表。
在一些实施例中,注册服务910还可以存储用于导出和认证平台供应签名密钥所必需的平台密钥。注册服务910可以发布供应服务可以用来供应证明密钥的设备/包证书。注册服务910还可以批准(或不批准)图10中讨论的平台修改。
平台902BIOS可能无法直接与注册服务910通信。平台902可以经由带内连接与注册服务910进行通信。例如,主机管理堆栈可以检测新的清单或包添加请求。软件可以通过网络连接来联系注册服务910。在一些实施例中,连接可以是带外的。例如,节点管理器或基板管理控制器(BMC)可以检测新的清单或包添加消息。清单可以被推送到注册服务910或由注册服务910的管理员拉取。
BMC是母板上的连接到维护网络的另外的处理器。如果平台无法启动,则管理员可以连接到所述BMC并请求其在平台上运行诊断程序。该访问被称为“带外”,这是因为它可以被认为是平台的侧门。
在一些实施例中,在创建清单之后,BIOS可以引导到维护环境中。平台902可以在处于维护环境中的同时连接到注册服务。
在任何情况下,连接在平台建立期间和处理器改变期间可用。
图10是根据本公开内容的实施例的用于替换建立的平台上的包的示意性框图。为帮助确保对平台和组分包的评估保持准确,平台密钥不能被暴露给未经授权的包。当将包添加或替换到建立的平台(即,已经历证明和注册的平台,如本文描述的)时,平台1002可以向注册服务1002发送关于新包(这里是CPU3)1006被添加到平台的请求。请求可以作为更新被发送到清单,所述清单包括另外的包以及包设备/包密钥(如以上描述的)。
注册服务1004可以使用存储在数据库中的包证书来证实新包1006的真实性。注册服务1004可以批准包1006并将批准消息发送回平台。先前批准的包(例如,包1008)可以与新包1006共享当前密钥。
在一些实施例中,为了添加新包,平台可以丢弃现有密钥,并为所有现有包和新包创建新清单(如以上描述的)。
图11是根据本公开内容的实施例的用于认证平台的过程流图1100。作为初始化步骤,包的制造商可以将包证书发送到注册服务,所述注册服务可以将包证书存储在数据库中(1101)。每个包包括(或被指派)对应的平台注册密钥证书(1102)。
平台中的每个包可以彼此问候以生成平台根密钥(1104)。平台的每个包可以生成清单,所述清单包括关于包的信息,包括平台根密钥和设备密钥,以及关于平台中的其他包的信息(1106)。包可以用平台注册密钥来签名清单(1108)。在一些实施例中,包还可以密封平台根密钥的副本(1110)。平台将清单发送到注册服务(1112)。
注册服务接收清单并且可以使用用于清单中的每个包的平台注册证书来认证清单(1114)。注册服务可以确定平台的供应证明密钥证书(1116)。注册服务可以将供应证明密钥证书分发给供应服务(1118)。
图12-15是可以根据本文公开的实施例使用的示例性计算机架构的框图。还可以使用本领域中已知的用于处理器、移动设备和计算***的其他计算机架构设计。通常,用于本文公开的实施例的合适的计算机架构可以包括但不限于图12-15所示的配置。
图12是根据实施例的处理器的示例性说明。处理器1200是可以结合以上实施方式使用的一类硬件设备的示例。
处理器1200可以是任何类型的处理器,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、多核处理器、单核处理器或用于执行代码的其他设备。尽管图12中仅示出了一个处理器1200,处理元素可以替代地包括图12所示的处理器1200中的一个以上的处理器。处理器1200可以是单线程核心,或者对于至少一个实施例,处理器1200可以是多线程的,这是因为它可以每核心包括一个以上硬件线程上下文(或“逻辑处理器”)。
图12还示出了根据实施例的耦合到处理器1200的存储器1202。存储器1202可以是本领域技术人员已知或以其他方式可获得的各种各样的存储器(包括存储器层级的各种层)中的任何一种。这样的存储器元素可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)的逻辑块、可擦除可编程只读存储器(EPROM)和电可擦除可编程ROM(EEPROM)。
处理器1200可以执行与本文详述的算法、过程或操作相关联的任何类型的指令。通常,处理器1200可以将元素或物品(例如,数据)从一个状态或事物转换为另一状态或事物。
可以是要由处理器1200执行的一个或多个指令的代码1204可以存储在存储器1202中,或者可以存储在软件、硬件、固件或其任何合适的组合中,或者在适当的情况下并基于特定需求而存储在任何其他内部或外部组件、设备、元素或对象中。在一个示例中,处理器1200可以遵循由代码1204指示的程序指令序列。每个指令进入前端逻辑单元1206并由一个或多个解码器1208处理。解码器可以生成微操作作为其输出,所述微操作例如采用预定义格式的固定宽度微操作,或者可以生成反映原始代码指令的其他指令、微指令或控制信号。前端逻辑单元1206还包括寄存器重命名逻辑单元1210和调度逻辑单元1212,其通常分配资源并将与指令相对应的操作排队以供执行。
处理器1200还可以包括具有执行单元集1216a、1216b、1216n等的执行逻辑单元1214。一些实施例可以包括专用于特定功能或功能集的多个执行单元。其他实施例可以包括仅一个执行单元或可以执行特定功能的一个执行单元。执行逻辑单元1214执行由代码指令指定的操作。
在完成对由代码指令指定的操作的执行之后,后端逻辑单元1218可以将代码1204的指令引退。在一个实施例中,处理器1200允许无序执行但是要求有序的指令引退。引退逻辑单元1220可以采用各种已知形式(例如,重新排序缓冲器等)。以该方式,至少在由解码器生成的输出、由寄存器重命名逻辑单元1210利用的硬件寄存器和表格以及由执行逻辑单元1214修改的任何寄存器(未示出)方面,处理器1200在代码1204的执行期间被转换。
尽管未在图12中示出,但是处理元素可以包括具有处理器1200的芯片上的其他元素。例如,处理元素可以包括存储器控制逻辑单元以及处理器1200。处理元素可以包括I/O控制逻辑单元并且/或者可以包括与存储器控制逻辑单元集成的I/O控制逻辑单元。处理元素还可以包括一个或多个高速缓存。在一些实施例中,非易失性存储器(例如,闪速存储器或熔丝)还可以与处理器1200一起被包括在芯片上。
现在参考图13,示出了示例性移动设备1300的框图。移动设备1300是本文描述的示例和实施方式的可能的计算***(例如,主机或端点设备)的示例。在实施例中,移动设备1300充当无线通信信号的发射机和接收机。具体而言,在一个示例中,移动设备1300可以是既能够发送又能够接收蜂窝网络语音和数据移动服务的。移动服务包括诸如完全因特网访问、可下载和流式传输视频内容之类的功能以及语音电话通信。
移动设备1300可以对应于常规的无线或蜂窝便携式电话,例如能够接收“3G”或“第三代”蜂窝服务的手持机。在另一示例中,移动设备1300可以是还能够发送和接收“4G”移动服务或任何其他移动服务的。
可以对应于移动设备1300的设备的示例包括蜂窝电话手持机和智能手机(例如,支持因特网访问、电子邮件和即时消息通信的设备),以及便携式视频接收和显示设备,并具有支持电话服务的能力。预期的是,参考本说明书的本领域技术人员将容易理解适合于实现如本文描述的本公开内容的不同方面的现代智能手机和电话手持机设备和***的性质。如此,图13所示的移动设备1300的架构以相对高的级别呈现。然而,预期的是,可以对该架构进行修改和替换,并且对于读者而言将显而易见的是,这样的修改和替换被预期在本说明书的范围内。
在本公开内容的一方面中,移动设备1300包括收发机1302,其连接到天线并与天线通信。收发机1302可以是射频收发机。而且,可以经由收发机1302发送和接收无线信号。收发机1302可以被构造为例如包括模拟和数字射频(RF)‘前端’功能、用于(经由中频(IF),如果被期望的话)将RF信号转换为基带频率的电路、模拟和数字滤波以及用于在现代蜂窝频率上执行无线通信的其他常规电路,例如适用于3G或4G通信的电路。收发机1302连接到处理器1304,所述处理器1304可以以基带频率执行对要传送的信号和接收的信号的大量数字信号处理。处理器1304可以向显示元素1308提供图形界面,用于向用户显示文本、图形和视频,并且可以提供用于接受来自用户的输入的输入元素1310,例如触摸板、按键板、滚轮鼠标和其他示例。处理器1304可以包括诸如参考图12的处理器1200示出和描述的实施例。
在本公开内容的一方面中,处理器1304可以是可以执行任何类型的指令以实现如本文详述的功能和操作的处理器。处理器1304还可以耦合到存储器元素1306,所述存储器元素1306用于存储在使用处理器1304执行的操作中使用的信息和数据。本文随后描述了示例性处理器1304和存储器元素1306的另外的细节。在示例性实施例中,移动设备1300可以被设计为具有片上***(SoC)架构,其在至少一些实施例中将移动设备的许多或所有组件集成到单个芯片中。
图14示出了根据实施例的以点对点(PtP)配置布置的计算***1400。具体而言,图14示出了一种***,其中,处理器、存储器和输入/输出设备通过多个点对点接口互连。通常,本文描述的计算***中的一个或多个可以以与计算***1400相同或相似的方式配置。
处理器1470和1480还可以均包括集成存储器控制器逻辑单元(MC)1472和1482以与存储器元素1432和1434通信。在替代实施例中,存储器控制器逻辑单元1472和1482可以是与处理器1470和1480分离的分立逻辑单元。存储器元素1432和/或1434可以存储要由处理器1470和1480用于实现本文概述的操作和功能的各种数据。
处理器1470和1480可以是任何类型的处理器,例如结合其他附图讨论的处理器。处理器1470和1480可以分别使用点对点接口电路1478和1488经由点对点(PtP)接口1450交换数据。处理器1470和1480均可以使用点对点接口电路1476、1486、1494和1498经由个别点对点接口1452和1454与芯片组1490交换数据。芯片组1490还可以经由高性能图形接口1439使用接口电路1492来与高性能图形电路1438交换数据,所述接口电路1492可以是PtP接口电路。在替代实施例中,图14所示的任何或所有PtP链路可以实现为多点总线而不是PtP链路。
芯片组1490可以经由接口电路1496与总线1420通信。总线1420可以具有在其上进行通信的一个或多个设备,例如总线桥1418和I/O设备1416。经由总线1410,总线桥1418可以与其他设备通信,所述其他设备例如键盘/鼠标1412(或其他输入设备,例如触摸屏、轨迹球等)、通信设备1426(例如,调制解调器、网络接口设备或可以通过计算机网络1460通信的其他类型的通信设备)、音频I/O设备1414和/或数据存储设备1428。数据存储设备1428可以存储代码1430,其可以由处理器1470和/或1480执行。在替代实施例中,总线架构的任何部分可以用一个或多个PtP链路来实现。
图14中描绘的计算机***是可以用于实现本文讨论的各种实施例的计算***的实施例的示意图。将领会的是,可以以片上***(SoC)架构或者能够实现本文提供的示例和实施方式的功能和特征的任何其他合适的配置组合图14中描绘的***的各种组件。
尽管已经关于有限数量的实施例描述了本发明,但是本领域技术人员将领会由此产生的许多修改和变型。所附权利要求旨在覆盖落入本发明的真实精神和范围内的所有这样的修改和变型。
设计可以经历从创建到模拟到制造的各个阶段。表示设计的数据可以以多种方式表示设计。首先,如在模拟中是有用的,可以使用硬件描述语言或另一功能描述语言来表示硬件。另外,可以在设计过程的一些阶段产生具有逻辑单元和/或晶体管栅极的电路级模型。此外,大多数设计在某个阶段达到表示硬件模型中各种设备的物理位置的数据级别。在使用常规半导体制造技术的情况下,表示硬件模型的数据可以是指定用于制造集成电路的掩模在不同掩模层上存在或不存在各种特征的数据。在设计的任何表示中,数据可以存储在任何形式的机器可读介质中。存储器或诸如光盘之类的磁或光存储装置可以是机器可读介质,所述机器可读介质用于存储经由被调制或以其他方式被生成以发送这样的信息的光波或电波发送的信息。当发送指示或携带代码或设计的电载波时,在执行对电信号的复制、缓冲或重传的程度上,制作新的副本。因此,通信提供者或网络提供者可以将体现本发明的实施例的技术的诸如编码到载波中的信息之类的物品至少临时地存储在有形的、机器可读介质上。
如本文使用的模块指代硬件、软件和/或固件的任何组合。作为示例,模块包括硬件(例如,微控制器),其与用于存储适于由微控制器执行的代码的非暂时介质相关联。因此,在一个实施例中对模块的引用指代被特别配置为辨识和/或执行要保持在非暂时介质上的代码的硬件。此外,在另一实施例中,模块的使用指代包括特别适于由微控制器执行以执行预定操作的代码的非暂时介质。并且,如可以推断的,在又一实施例中,术语模块(在该示例中)可以指代微控制器和非暂时介质的组合。经常地,被示出为单独的模块界限通常变化并且潜在地重叠。例如,第一模块和第二模块可以共享硬件、软件、固件或其组合,同时潜在地保留一些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括诸如晶体管、寄存器之类的硬件或诸如可编程逻辑器件之类的其它硬件。
在一个实施例中,短语“被配置为”的使用指代布置、放在一起、制造、提供以售卖、进口和/或设计用于执行指定或确定的任务的装置、硬件、逻辑或元素。在该示例中,没有在操作的装置或其元素仍‘被配置为’执行指定任务(如果其被设计、耦合和/或互连以执行所述指定任务)。纯粹作为说明性的示例,逻辑门可以在操作期间提供0或1。但是‘被配置为’提供使能信号到时钟的逻辑门不包括可以提供1或0的每个潜在的逻辑门。相反,该逻辑门是以在操作期间1或0输出要启用时钟的某种方式耦合的逻辑门。再次注意到,术语‘被配置为’的使用不要求操作,而是侧重于装置、硬件和/或元素的潜在状态,其中,在潜在状态下,装置、硬件和/或元素被设计为当装置、硬件和/或元素正在操作时执行特定任务。
此外,在一个实施例中短语“用于”、“能够/能”和/或“可操作”的使用指代以实现按指定方式实现装置、逻辑、硬件和/或元素的使用的方式设计的某种装置、逻辑、硬件和/或元素。如以上提到的,在一个实施例中,用于、能够或可操作的使用指代装置、逻辑、硬件和/或元素的潜在状态,其中,装置、逻辑、硬件和/或元素没有正在操作,但是以实现按指定方式使用装置的方式来设计。
如本文使用的,值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。经常地,逻辑电平、逻辑值或逻辑上的值的使用还被称为简单地表示二进制逻辑状态1和0。例如,1指代高逻辑电平,并且0指代低逻辑电平。在一个实施例中,诸如晶体管或闪存单元之类的存储单元可以是能够保持单个逻辑值或多个逻辑值的。然而,已经使用了计算机***中的值的其他表示。例如,十进制数十还可以被表示为二进制值1010和十六进制字母A。因此,值包括能够被保存在计算机***中的任何信息表示。
此外,状态可以由值或值的部分表示。作为示例,诸如逻辑一之类的第一值可以表示默认或初始状态,而诸如逻辑零之类的第二值可以表示非默认状态。另外,在一个实施例中,术语复位和置位分别指代默认值或状态和更新的值或状态。例如,默认值潜在地包括高逻辑值,即复位,而更新的值潜在地包括低逻辑值,即置位。注意,值的任何组合可以用于表示任何数量的状态。
以上阐述的方法、硬件、软件、固件或代码的实施例可以经由存储在机器可访问、机器可读、计算机可访问或计算机可读介质上的、可由处理元素执行的指令或代码来实现。非暂时性机器可访问/可读介质包括提供(即,存储和/或发送)采用可由诸如计算机或电子***之类的机器读取的形式的信息的任何机制。例如,非暂时性机器可访问介质包括随机存取存储器(RAM),例如静态RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪速存储器设备;电存储设备;光存储设备;声存储设备;用于保存从暂时(传播的)信号(例如,载波、红外信号、数字信号)接收的信息的其它形式的存储设备;等等,其要区别于可以从其接收信息的非暂时性介质。
用于对逻辑进行编程以执行本发明的实施例的指令可以存储在***中的存储器内,所述存储器例如DRAM、高速缓存、闪速存储器或其它存储装置。此外,指令可以经由网络或通过其它计算机可读介质的方式而被分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读形式存储或发送信息的任何机制,但不限于软盘、光盘、压缩光盘只读存储器(CD-ROM)和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪速存储器或用于经由电、光、声或其它形式的传播的信号(例如,载波、红外信号、数字信号等)在因特网上发送信息的有形的机器可读存储装置。因此,计算机可读介质包括适合于存储或发送采用机器(例如,计算机)可读形式的电子指令或信息的任何类型的有形机器可读介质。
以下示例涉及根据本说明书的实施例。一个或多个实施例可以提供装置、***、机器可读存储装置、机器可读介质、基于硬件和/或软件的逻辑单元以及用于用注册服务在平台内注册新包的方法。
示例1可以包括:生成平台根密钥;创建数据结构以封装平台根密钥,所述数据结构包括平台供应密钥和注册服务的标识;以及在安全连接上,将数据结构发送到注册服务,以为平台的第一处理器注册平台根密钥。
示例2可以包括示例1的主题,并且还包括使用用于第一处理器的设备密钥来加密数据结构的副本。
示例3可以包括示例1或2中任一项的主题,并且还包括导出平台密封密钥并存储用于导出平台供应密钥的平台供应密钥根。
示例4可以包括示例1或2或3中任一项的主题,其中,数据结构包括关于平台的第二处理器的信息。
示例5可以包括示例3的主题,其中,关于第二处理器的信息包括用于导出平台供应密钥的平台供应密钥根。
示例6可以包括示例1或2或3或4中任一项的主题,并且还包括:从用于平台的新处理器中识别唯一标识符;向注册服务发送用于将新处理器添加到平台的请求,所述请求包括平台的唯一标识符和新处理器的唯一标识符;接收用于将新处理器添加到平台的批准;以及向新处理器提供用于平台的一个或多个平台根密钥。
示例7是至少一种计算机可读存储介质,其上存储有指令,所述指令在机器上被执行时使机器执行以下操作:针对平台的第一处理器,生成平台根密钥;创建数据结构以封装平台根密钥,所述数据结构包括平台供应密钥和注册服务的标识;以及在安全连接上将数据结构发送到注册服务,为平台的第一处理器注册平台根密钥。
示例8可以包括示例7的主题,其中,指令在机器上被执行时使机器使用用于第一处理器的平台注册密钥来加密数据结构的副本。
示例9可以包括示例7或8中任一项的主题,其中,指令在机器上被执行时使机器存储平台密封密钥根以导出平台密封密钥并存储用于导出平台供应密钥的平台供应密钥根。
示例10可以包括示例7或8或9中任一项的主题,其中,数据结构包括关于平台的第二处理器的信息。
示例11可以包括示例7或8或9或10中任一项的主题,其中,关于第二处理器的信息包括用于导出平台供应密钥的平台供应密钥根。
示例12是至少一种计算机可读存储介质,其上存储有指令,所述指令在机器上被执行时使机器存储从密钥生成设施接收的设备证书;从平台接收清单,所述清单包括与平台相关联的处理器的标识;以及使用存储的设备证书来验证处理器。
示例13可以包括示例12的主题,其中,指令在机器上被执行时使机器用与清单中标识的处理器相关联的平台注册证书来认证清单。
示例14可以包括示例12或13中任一项的主题,其中,指令在机器上被执行时使机器导出用于平台的供应证明证书。
示例15可以包括示例12或13或14中任一项的主题,其中,指令在机器上执行时使机器将供应证明证书分发给供应服务。
示例16可以包括示例12或13或14或15中任一项的主题,其中,指令在机器上被执行时使机器执行以下操作:接收用于将新处理器添加到平台的请求,所述请求包括唯一的平台标识符和新处理器的唯一标识符;使用用于新处理器的平台注册证书对新处理器进行认证;以及向平台中的现有处理器发送包括用于新处理器的平台注册密钥的批准消息。
示例17是一种方法,包括:存储从密钥生成设施接收的设备证书;从平台接收清单,所述清单包括与平台相关联的处理器的标识;以及使用存储的设备证书来验证处理器。
示例18可以包括示例17的主题,并且还包括使用与清单中标识的处理器相关联的平台注册证书来认证清单。
示例19可以包括示例17或18中任一项的主题,并且还可以包括确定用于平台的供应证明证书。
示例20可以包括示例17或18或19中任一项的主题,并且还可以包括将供应证明证书分发给供应服务。
示例21可以包括示例17或18或19或20中任一项的主题,并且还可以包括:接收用于将新处理器添加到平台的请求,所述请求包括唯一的平台标识符和用于新处理器的唯一标识符;使用用于新处理器的平台注册证书来对新处理器进行认证;以及向平台中的现有处理器发送包括用于新处理器的平台注册密钥的批准消息。
示例22是一种装置,其可以包括用于执行以下操作的单元:生成平台根密钥;创建数据结构以封装平台根密钥,所述数据结构包括平台供应密钥和注册服务的标识;以及在安全连接上将数据结构发送到注册服务,以为平台的第一处理器注册平台根密钥。
示例23可以包括示例22的主题,并且还包括用于使用用于第一处理器的设备密钥来加密数据结构的副本的单元。
示例24可以包括示例22或23中任一项的主题,并且还包括用于导出平台密封密钥并存储用于导出平台供应密钥的平台供应密钥根的单元。
示例25可以包括示例22或23或24中任一项的主题,其中,数据结构包括关于平台的第二处理器的信息。
示例26可以包括示例25的主题,其中,关于第二处理器的信息包括用于导出平台供应密钥的平台供应密钥根。
示例27可以包括示例22或23或24或25中任一项的主题,并且还包括用于执行以下操作的单元:从用于平台的新处理器中识别唯一标识符;向注册服务发送用于将新处理器添加到平台的请求,所述请求包括平台的唯一标识符和新处理器的唯一标识符;接收用于将新处理器添加到平台的批准;以及向新处理器提供平台的一个或多个平台根密钥。
示例28是一种装置,包括用于执行以下操作的单元:存储从密钥生成设施接收的设备证书;从平台接收清单,所述清单包括与平台相关联的处理器的标识;以及使用存储的设备证书来验证处理器。
示例29可以包括示例28的主题,并且还包括用于使用与清单中标识的处理器相关联的平台注册证书来认证清单的单元。
示例30可以包括示例28或29中任一项的主题,并且还可以包括用于确定用于平台的供应证明证书的单元。
示例31可以包括示例28或29或30中任一项的主题,并且还可以包括用于将供应证明证书分发给供应服务的单元。
示例32可以包括示例28或29或30或31中任一项的主题,并且还可以包括用于执行以下操作的单元:接收用于将新处理器添加到平台的请求,所述请求包括唯一的平台标识符和新处理器的唯一标识符;使用用于新处理器的平台注册证书来对新处理器进行认证;以及向平台中的现有处理器发送包括用于新处理器的平台注册密钥的批准消息。
示例33是一种***,包括:至少一个处理器、至少一个存储器元素和注册服务模块。注册服务模块可由至少一个处理器执行以执行以下操作:存储从密钥生成设施接收的设备证书;从平台接收清单,所述清单包括与平台相关联的处理器的标识;以及使用存储的设备证书来验证处理器。
示例34可以包括示例33的主题,其中,注册服务模块可由至少一个处理器执行以使用与清单中标识的处理器相关联的设备证书来认证清单。
示例35可以包括示例33或34中任一项的主题,其中,注册服务模块可由至少一个处理器执行以发布用于平台的供应证明证书。
示例36可以包括示例33或34或35中任一项的主题,其中,注册服务模块可由至少一个处理器执行以将供应证明证书分发给供应服务。
示例37可以包括示例33或34或35或36中任一项的主题,其中,注册服务模块可由至少一个处理器执行以执行以下操作:接收用于将新处理器添加到平台的请求,所述请求包括唯一的平台标识符和新处理器的唯一标识符;使用用于新处理器的平台注册证书来认证新处理器;以及向平台中的现有处理器发送包括用于新处理器的平台注册密钥的批准消息。
贯穿本说明书对“一个实施例”或“实施例”的引用意指结合实施例描述的特定的特征、结构或特性被包括在本公开内容的至少一个实施例中。因此,贯穿本说明书在各处出现的短语“在一个实施例中”或“在实施例中”不一定都指代相同的实施例。此外,特定的特征、结构或特性可以以任何适合的方式组合在一个或多个实施例中。
在前面的说明书中,已经参考具体的示例性实施例给出了详细说明。然而,将显而易见的是,可以对其进行各种修改和改变,而不脱离如所附权利要求中阐述的本发明的更宽的精神和范围。说明书和附图因此应在说明性的意义而非限制性的意义上被考虑。此外,前面对实施例和其它示例性语言的使用不一定指代相同实施例或相同示例,而是可以指不同和独特的实施例以及潜在地相同实施例。
Claims (32)
1.至少一种计算机可读存储介质,其上存储有指令,所述指令在机器上被执行时使所述机器执行以下操作:
针对平台的第一处理器,生成平台根密钥;
创建数据结构以封装所述平台根密钥,所述数据结构包括平台供应密钥和注册服务的标识;以及
将所述数据结构发送到所述注册服务,以注册用于所述平台的所述第一处理器的所述平台根密钥。
2.如权利要求1所述的计算机可读存储介质,其中,所述指令在所述机器上被执行时使所述机器用于使用用于所述第一处理器的平台注册密钥来加密所述数据结构的副本。
3.如权利要求1所述的计算机可读存储介质,其中,所述指令在所述机器上被执行时使所述机器执行以下操作:存储用于导出平台密封密钥的平台密封密钥根,并且存储用于导出平台供应密钥的平台供应密钥根。
4.如权利要求1所述的计算机可读存储介质,其中,所述数据结构包括关于所述平台的第二处理器的信息。
5.如权利要求4所述的计算机可读存储介质,其中,关于所述第二处理器的所述信息包括从与所述第二处理器相关联的设备密钥导出的唯一公钥。
6.一种方法,包括:
生成平台根密钥;
创建数据结构以封装所述平台根密钥,所述数据结构包括平台根密钥和注册服务的标识;以及
在安全连接上将所述数据结构发送到所述注册服务,以注册用于所述平台的所述第一处理器的所述平台根密钥。
7.如权利要求6所述的方法,还包括:使用用于所述第一处理器的设备密钥来加密所述数据结构的副本。
8.如权利要求6所述的方法,还包括:
从设备密钥导出注册密封密钥;
使用所述注册密钥来加密所述平台根密钥。
9.如权利要求6所述的方法,其中,所述平台根密钥包括平台根供应密钥或平台根密封密钥中的一个或两个。
10.如权利要求6所述的方法,其中,所述数据结构包括关于所述平台的第二处理器的信息,其中,关于所述第二处理器的所述信息包括从与所述第二处理器相关联的设备密钥导出的用于所述第二处理器的唯一公钥。
11.如权利要求6所述的方法,还包括:
从用于所述平台的新处理器中识别唯一标识符;
将用于将所述新处理器添加到所述平台的请求发送到所述注册服务,所述请求包括所述平台的唯一标识符和所述新处理器的所述唯一标识符;
接收用于将所述新处理器添加到所述平台的批准;以及
向所述新处理器提供用于所述平台的一个或多个平台根密钥。
12.至少一种计算机可读存储介质,其上存储有指令,所述指令在机器上被执行时使所述机器执行以下操作:
存储从密钥生成设施接收的设备证书;
从平台接收清单,所述清单包括与所述平台相关联的处理器的标识;以及
使用存储的设备证书来验证所述处理器。
13.如权利要求12所述的计算机可读存储介质,其中,所述指令在所述机器上执行时,使所述机器用于使用与所述清单中标识的所述处理器相关联的平台注册证书来认证所述清单。
14.如权利要求12所述的计算机可读存储介质,其中,所述指令在所述机器上被执行时使所述机器用于发布用于所述平台的供应证明证书。
15.如权利要求14所述的计算机可读存储介质,其中,所述指令在所述机器上被执行时使所述机器用于将所述供应证明证书分发给供应服务。
16.如权利要求12所述的计算机可读存储介质,其中,所述指令在所述机器上被执行时使所述机器执行以下操作:
接收用于将新处理器添加到平台的请求,所述请求包括唯一的平台标识符和所述新处理器的唯一标识符;
使用用于所述新处理器的平台注册证书来认证所述新处理器;以及
将包括用于所述新处理器的平台注册密钥的批准消息发送到所述平台中的现有处理器。
17.一种***,包括:
至少一个处理器;
至少一个存储器元素;以及
注册服务模块,其能够由所述至少一个处理器执行以执行以下操作:
存储从密钥生成设施收的设备证书;
从平台接收清单,所述清单包括与所述平台相关联的处理器的标识;以及
使用存储的设备证书来验证所述处理器。
18.如权利要求17所述的***,其中,所述注册服务模块能够由所述至少一个处理器执行,以使用与所述清单中标识的所述处理器相关联的设备证书来认证所述清单。
19.如权利要求17所述的***,其中,所述注册服务模块能够由所述至少一个处理器执行以发布用于所述平台的供应证明证书。
20.如权利要求17所述的***,其中,所述注册服务模块能够由所述至少一个处理器执行以将所述供应证明证书分发给供应服务。
21.如权利要求17所述的***,其中,所述注册服务模块能够由所述至少一个处理器执行以执行以下操作:
接收用于将新处理器添加到平台的请求,所述请求包括唯一的平台标识符和所述新处理器的唯一标识符;
使用用于所述新处理器的平台注册证书来认证所述新处理器;以及
将包括用于所述新处理器的平台注册密钥的批准消息发送到所述平台中的现有处理器。
22.一种装置,包括:
用于生成平台根密钥的单元;
用于创建数据结构以封装所述平台根密钥的单元,所述数据结构包括平台供应密钥和注册服务的标识;以及
用于将所述数据结构发送到所述注册服务以注册用于所述平台的所述第一处理器的所述平台根密钥的单元。
23.如权利要求22所述的装置,还包括:
用于使用用于所述第一处理器的设备密钥来加密所述数据结构的副本的单元。
24.如权利要求22所述的装置,还包括:
用于导出平台密封密钥并且存储用于导出平台供应密钥的平台供应密钥根的单元。
25.如权利要求22所述的装置,其中,所述数据结构包括关于所述平台的第二处理器的信息。
26.如权利要求25所述的装置,其中,关于所述第二处理器的所述信息包括用于导出平台供应密钥的平台供应密钥根。
27.如权利要求22所述的装置,还包括:
用于从用于所述平台的新处理器中识别唯一标识符的单元;以及
用于向所述注册服务发送用于将所述新处理器添加到所述平台的请求的单元,所述请求包括所述平台的唯一标识符和所述新处理器的唯一标识符;
用于接收用于将所述新处理器添加到所述平台的批准的单元;以及
用于向所述新处理器提供用于所述平台的一个或多个平台根密钥的单元。
28.一种装置,包括:
用于存储从密钥生成设施接收的设备证书的单元;
用于从平台接收清单的单元,所述清单包括与所述平台相关联的处理器的标识;以及
用于使用存储的设备证书来验证所述处理器的单元。
29.如权利要求28所述的装置,还包括:
用于使用与所述清单中标识的所述处理器相关联的设备证书来认证所述清单的单元。
30.如权利要求28所述的装置,还包括:
用于确定用于所述平台的供应证明证书的单元。
31.如权利要求28所述的装置,还包括:
用于将所述供应证明证书分发到供应服务的单元。
32.如权利要求28所述的装置,还包括:
用于接收用于将新处理器添加到平台的请求的单元,所述请求包括唯一的平台标识符和所述新处理器的唯一标识符;
用于使用用于所述新处理器的平台注册证书来认证所述新处理器的单元;以及
用于将包括用于所述新处理器的平台注册密钥的批准消息发送到所述平台中的现有处理器的单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210024576.6A CN114374559A (zh) | 2016-06-18 | 2017-05-30 | 用于服务器的平台证明和注册 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662351956P | 2016-06-18 | 2016-06-18 | |
US62/351,956 | 2016-06-18 | ||
US15/201,400 | 2016-07-02 | ||
US15/201,400 US10708067B2 (en) | 2016-06-18 | 2016-07-02 | Platform attestation and registration for servers |
PCT/US2017/035080 WO2017218180A1 (en) | 2016-06-18 | 2017-05-30 | Platform attestation and registration for servers |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210024576.6A Division CN114374559A (zh) | 2016-06-18 | 2017-05-30 | 用于服务器的平台证明和注册 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074466A true CN109074466A (zh) | 2018-12-21 |
CN109074466B CN109074466B (zh) | 2023-11-21 |
Family
ID=60659862
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210024576.6A Pending CN114374559A (zh) | 2016-06-18 | 2017-05-30 | 用于服务器的平台证明和注册 |
CN201780029277.9A Active CN109074466B (zh) | 2016-06-18 | 2017-05-30 | 用于服务器的平台证明和注册 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210024576.6A Pending CN114374559A (zh) | 2016-06-18 | 2017-05-30 | 用于服务器的平台证明和注册 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10708067B2 (zh) |
CN (2) | CN114374559A (zh) |
DE (1) | DE112017002044T5 (zh) |
WO (1) | WO2017218180A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764779A (zh) * | 2019-10-21 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 封装方法、注册方法、装置和渲染设备 |
CN111400701A (zh) * | 2020-03-31 | 2020-07-10 | 广东金宇恒软件科技有限公司 | 一种高速处理数据的公共财政*** |
CN112262546A (zh) * | 2019-01-04 | 2021-01-22 | 百度时代网络技术(北京)有限公司 | 用于数据处理加速器的密钥分配和交换的方法和*** |
CN113632438A (zh) * | 2019-03-17 | 2021-11-09 | 微软技术许可有限责任公司 | 使用安全的全局注册表对物联网(iot)设备和服务的发现和匹配 |
CN113661681A (zh) * | 2019-04-04 | 2021-11-16 | 美光科技公司 | 将软件载入在安全装置上以生成装置身份以向远程服务器进行认证 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10708067B2 (en) | 2016-06-18 | 2020-07-07 | Intel Corporation | Platform attestation and registration for servers |
US10482034B2 (en) * | 2016-11-29 | 2019-11-19 | Microsoft Technology Licensing, Llc | Remote attestation model for secure memory applications |
US11443033B2 (en) * | 2017-01-24 | 2022-09-13 | Microsoft Technology Licensing, Llc | Abstract enclave identity |
US10956615B2 (en) * | 2017-02-17 | 2021-03-23 | Microsoft Technology Licensing, Llc | Securely defining operating system composition without multiple authoring |
US10211979B2 (en) * | 2017-05-19 | 2019-02-19 | Swfl, Inc. | Systems and methods securing an autonomous device |
US10819696B2 (en) * | 2017-07-13 | 2020-10-27 | Microsoft Technology Licensing, Llc | Key attestation statement generation providing device anonymity |
US10567359B2 (en) * | 2017-07-18 | 2020-02-18 | International Business Machines Corporation | Cluster of secure execution platforms |
EP4155996A1 (en) | 2018-04-30 | 2023-03-29 | Google LLC | Enclave interactions |
CN112005230B (zh) | 2018-04-30 | 2024-05-03 | 谷歌有限责任公司 | 通过统一的安全区接口管理安全区创建 |
CN112005237B (zh) | 2018-04-30 | 2024-04-30 | 谷歌有限责任公司 | 安全区中的处理器与处理加速器之间的安全协作 |
CN108769986A (zh) * | 2018-06-08 | 2018-11-06 | 廊坊新奥燃气设备有限公司 | 一种gprs远传燃气表加密通信方法 |
US11327735B2 (en) * | 2018-10-16 | 2022-05-10 | Intel Corporation | Attestation manifest derivation and distribution using software update image |
US10439825B1 (en) * | 2018-11-13 | 2019-10-08 | INTEGRITY Security Services, Inc. | Providing quality of service for certificate management systems |
US11063753B2 (en) * | 2019-03-20 | 2021-07-13 | Arris Enterprises Llc | Secure distribution of device key sets over a network |
CN110096887B (zh) | 2019-03-22 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种可信计算方法及服务器 |
KR20210017083A (ko) * | 2019-08-06 | 2021-02-17 | 삼성전자주식회사 | 퓨즈된 키에 기반하여 증명 인증서를 생성하는 전자 장치 및 방법 |
US11606215B2 (en) * | 2020-03-16 | 2023-03-14 | Uatc, Llc | Systems and methods for onboard vehicle certificate distribution |
US20210342169A1 (en) * | 2020-04-29 | 2021-11-04 | Hewlett Packard Enterprise Development Lp | Emulating physical security devices |
US11785462B2 (en) * | 2020-12-31 | 2023-10-10 | Verizon Patent And Licensing Inc. | Registration and authentication of a drone, ground control station, and user for flights leveraging a wide area network |
US20230068880A1 (en) * | 2021-08-27 | 2023-03-02 | EMC IP Holding Company LLC | Function-based service framework with trusted execution platform |
WO2023186328A1 (en) * | 2022-04-01 | 2023-10-05 | Huawei Technologies Co., Ltd. | Method and apparatus for providing an application-level attestation for trusted applications |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070042754A1 (en) * | 2005-07-29 | 2007-02-22 | Bajikar Sundeep M | Security parameter provisioning in an open platform using 3G security infrastructure |
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) |
CN102402657A (zh) * | 2010-09-15 | 2012-04-04 | 联想(新加坡)私人有限公司 | 用于使能安全处理器上的应用的装置和方法 |
US20120137137A1 (en) * | 2010-11-30 | 2012-05-31 | Brickell Ernest F | Method and apparatus for key provisioning of hardware devices |
US20130152180A1 (en) * | 2011-12-07 | 2013-06-13 | Azuki Systems, Inc. | Device using secure processing zone to establish trust for digital rights management |
CN103250441A (zh) * | 2010-12-07 | 2013-08-14 | 瑞典爱立信有限公司 | 使用密钥共享方案来提供临时标识模块的方法和装置 |
US20150178226A1 (en) * | 2013-12-24 | 2015-06-25 | Vincent R. Scarlata | Using authenticated manifests to enable external certification of multi-processor platforms |
US20150334114A1 (en) * | 2014-05-19 | 2015-11-19 | Intel Corporation | Method and apparatus for securely saving and restoring the state of a computing platform |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060136717A1 (en) * | 2004-12-20 | 2006-06-22 | Mark Buer | System and method for authentication via a proximate device |
US7587595B2 (en) | 2005-05-13 | 2009-09-08 | Intel Corporation | Method and apparatus for providing software-based security coprocessors |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US8555072B2 (en) * | 2006-08-31 | 2013-10-08 | International Business Machines Corporation | Attestation of computing platforms |
CN104767740A (zh) * | 2009-09-14 | 2015-07-08 | 交互数字专利控股公司 | 用于来自用户平台的可信认证和接入的方法 |
CN105243313B (zh) * | 2010-01-12 | 2018-12-25 | 维萨国际服务协会 | 用于对验证令牌的任何时候确认的方法 |
US8972746B2 (en) | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
US9026805B2 (en) | 2010-12-30 | 2015-05-05 | Microsoft Technology Licensing, Llc | Key management using trusted platform modules |
WO2013100922A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Privacy-enhanced car data distribution |
KR20140127303A (ko) * | 2012-03-08 | 2014-11-03 | 인텔 코오퍼레이션 | 다중 팩터 인증 기관 |
US20140006776A1 (en) | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Certification of a virtual trusted platform module |
US9189411B2 (en) | 2012-12-28 | 2015-11-17 | Intel Corporation | Logging in secure enclaves |
US9100192B2 (en) | 2013-06-07 | 2015-08-04 | Qualcomm Incorporated | Apparatus and method for provisioning an endorsement key certificate for a firmware trusted platform module |
KR20160025531A (ko) * | 2013-07-01 | 2016-03-08 | 톰슨 라이센싱 | Scep 및 각각의 관리 애플리케이션을 이용하여 디바이스에 대한 인증서를 등록하는 방법 |
US9998438B2 (en) * | 2013-10-23 | 2018-06-12 | Microsoft Technology Licensing, Llc | Verifying the security of a remote server |
CN107004091B (zh) * | 2014-09-26 | 2021-07-13 | 英特尔公司 | 安全地交换车辆传感器信息 |
CN104580250A (zh) * | 2015-01-29 | 2015-04-29 | 成都卫士通信息产业股份有限公司 | 一种基于安全芯片进行可信身份认证的***和方法 |
US10708067B2 (en) | 2016-06-18 | 2020-07-07 | Intel Corporation | Platform attestation and registration for servers |
US10742421B1 (en) * | 2019-03-08 | 2020-08-11 | Ares Technologies, Inc. | Methods and systems for anonymous hardware attestation |
-
2016
- 2016-07-02 US US15/201,400 patent/US10708067B2/en active Active
-
2017
- 2017-05-30 WO PCT/US2017/035080 patent/WO2017218180A1/en active Application Filing
- 2017-05-30 CN CN202210024576.6A patent/CN114374559A/zh active Pending
- 2017-05-30 CN CN201780029277.9A patent/CN109074466B/zh active Active
- 2017-05-30 DE DE112017002044.1T patent/DE112017002044T5/de active Pending
-
2020
- 2020-04-23 US US16/856,968 patent/US11489678B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070042754A1 (en) * | 2005-07-29 | 2007-02-22 | Bajikar Sundeep M | Security parameter provisioning in an open platform using 3G security infrastructure |
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) |
CN102402657A (zh) * | 2010-09-15 | 2012-04-04 | 联想(新加坡)私人有限公司 | 用于使能安全处理器上的应用的装置和方法 |
US20120137137A1 (en) * | 2010-11-30 | 2012-05-31 | Brickell Ernest F | Method and apparatus for key provisioning of hardware devices |
CN103229451A (zh) * | 2010-11-30 | 2013-07-31 | 英特尔公司 | 用于硬件设备的密钥供应的方法和装置 |
CN103250441A (zh) * | 2010-12-07 | 2013-08-14 | 瑞典爱立信有限公司 | 使用密钥共享方案来提供临时标识模块的方法和装置 |
US20130152180A1 (en) * | 2011-12-07 | 2013-06-13 | Azuki Systems, Inc. | Device using secure processing zone to establish trust for digital rights management |
US20150178226A1 (en) * | 2013-12-24 | 2015-06-25 | Vincent R. Scarlata | Using authenticated manifests to enable external certification of multi-processor platforms |
CN104850777A (zh) * | 2013-12-24 | 2015-08-19 | 英特尔公司 | 使用认证的清单来实现对多处理器平台的外部确认 |
US20150334114A1 (en) * | 2014-05-19 | 2015-11-19 | Intel Corporation | Method and apparatus for securely saving and restoring the state of a computing platform |
CN105095772A (zh) * | 2014-05-19 | 2015-11-25 | 英特尔公司 | 用于安全地保存并恢复计算平台状态的方法和装置 |
Non-Patent Citations (1)
Title |
---|
李新明;张功萱;施超;宋斌;: "可信计算机平台密钥管理", 南京理工大学学报(自然科学版), vol. 34, no. 04, pages 27 - 31 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112262546A (zh) * | 2019-01-04 | 2021-01-22 | 百度时代网络技术(北京)有限公司 | 用于数据处理加速器的密钥分配和交换的方法和*** |
CN112262546B (zh) * | 2019-01-04 | 2024-04-23 | 百度时代网络技术(北京)有限公司 | 用于数据处理加速器的密钥分配和交换的方法和*** |
CN113632438A (zh) * | 2019-03-17 | 2021-11-09 | 微软技术许可有限责任公司 | 使用安全的全局注册表对物联网(iot)设备和服务的发现和匹配 |
CN113661681A (zh) * | 2019-04-04 | 2021-11-16 | 美光科技公司 | 将软件载入在安全装置上以生成装置身份以向远程服务器进行认证 |
CN110764779A (zh) * | 2019-10-21 | 2020-02-07 | 百度在线网络技术(北京)有限公司 | 封装方法、注册方法、装置和渲染设备 |
CN110764779B (zh) * | 2019-10-21 | 2023-09-15 | 百度在线网络技术(北京)有限公司 | 封装方法、注册方法、装置和渲染设备 |
CN111400701A (zh) * | 2020-03-31 | 2020-07-10 | 广东金宇恒软件科技有限公司 | 一种高速处理数据的公共财政*** |
Also Published As
Publication number | Publication date |
---|---|
CN114374559A (zh) | 2022-04-19 |
US20170366359A1 (en) | 2017-12-21 |
US20210006416A1 (en) | 2021-01-07 |
US10708067B2 (en) | 2020-07-07 |
CN109074466B (zh) | 2023-11-21 |
US11489678B2 (en) | 2022-11-01 |
DE112017002044T5 (de) | 2019-01-10 |
WO2017218180A1 (en) | 2017-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074466A (zh) | 用于服务器的平台证明和注册 | |
US12041037B2 (en) | Techniques for shared private data objects in a trusted execution environment | |
US10491379B2 (en) | System, device, and method of secure entry and handling of passwords | |
US9875368B1 (en) | Remote authorization of usage of protected data in trusted execution environments | |
CN109074449A (zh) | 在安全飞地中灵活地供应证明密钥 | |
KR101712784B1 (ko) | 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법 | |
CN109075976A (zh) | 取决于密钥认证的证书发布 | |
CN109313690A (zh) | 自包含的加密引导策略验证 | |
CN108781210A (zh) | 具有可信执行环境的移动设备 | |
US20050137889A1 (en) | Remotely binding data to a user device | |
CN103051451A (zh) | 安全托管执行环境的加密认证 | |
Arfaoui et al. | Trusted execution environments: A look under the hood | |
CN103390124A (zh) | 安全输入和处理口令的设备、***和方法 | |
CN116362747A (zh) | 一种区块链数字签名*** | |
JP2019517229A (ja) | ポータブル電子デバイスと関連したデジタルシークレットの生成、格納、管理および使用のためのシステムおよび方法 | |
CN113574828A (zh) | 一种安全芯片、安全处理方法及相关设备 | |
Nyman et al. | Citizen electronic identities using TPM 2.0 | |
Cooijmans et al. | Secure key storage and secure computation in Android | |
US20080229433A1 (en) | Digital certificate based theft control for computers | |
US20180218363A1 (en) | Payment instrument management with key tokenization | |
US20180218357A1 (en) | Export high value material based on ring 1 evidence of ownership | |
KR102542840B1 (ko) | 오픈 api 기반의 금융 인증 서비스 제공 방법 및 시스템 | |
JP7515606B2 (ja) | セキュア通信のためのデバイス及び方法 | |
Tamrakar et al. | On rehoming the electronic id to TEEs | |
CN110059489A (zh) | 安全电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |