CN110892672A - 提供设备匿名性的密钥认证声明生成 - Google Patents
提供设备匿名性的密钥认证声明生成 Download PDFInfo
- Publication number
- CN110892672A CN110892672A CN201880046669.0A CN201880046669A CN110892672A CN 110892672 A CN110892672 A CN 110892672A CN 201880046669 A CN201880046669 A CN 201880046669A CN 110892672 A CN110892672 A CN 110892672A
- Authority
- CN
- China
- Prior art keywords
- computing device
- public
- key pair
- private key
- authentication
- 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
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 17
- 238000012795 verification Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000036541 health Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000001010 compromised effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication 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/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/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
-
- 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/73—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 by creating or determining hardware identification, e.g. serial numbers
-
- 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/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- 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/0435—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 symmetric encryption, i.e. same key used for encryption and decryption
-
- 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
- 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
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- 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/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/0827—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) involving distinctive intermediate devices or communication paths
-
- 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/321—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 a third party or a trusted authority
-
- 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/3265—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 chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种计算系统,其向认证服务发送针对认证凭证的请求,以及与设备的硬件和/或软件相关的信息。认证服务处理该请求并且验证从所述设备接收的信息。在验证了该信息之后,认证服务从可重复使用的公钥/私钥对集合中选择公钥/私钥对,并且针对所述设备和公钥/私钥对中的公钥来生成认证凭证。该认证凭证由认证服务数字签名,并且被返回至该设备。所选择的公钥/私钥对中的私钥也被加密至该设备的可信安全组件,以确保该密钥不会被恶意软件偷取且在另一设备上重复使用,并且该密钥被返回至该设备。该设备使用该认证凭证来访问依赖方,并且可选地生成另外的公钥/私钥对和认证凭证。
Description
背景技术
计算设备之间的互连变得越来越紧密,这使得为这些设备的用户提供大量信息和/或功能的服务对这些设备可用。所述信息和功能的可用性对用户是有帮助的,但也存在一些问题。一个这样的问题是,用户通常也希望保持其隐私。然而,访问这些服务可能涉及对用户和/或用户的设备的至少一些识别,如果这些识别传播到其他服务或与其他服务共享,则会降低用户具有的隐私性。这可能会导致用户对他们的设备和/或他们所访问的服务不满意。
发明内容
提供了该发明内容以用简化形式引入对在以下的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来帮助确定所要求保护的主题的范围。
根据一个或多个方面,在认证服务中,从计算设备接收针对计算设备的认证凭证的请求。该请求包括描述计算设备的硬件和/或软件的信息。对所接收的信息进行验证,并且从非对称密钥对集合中选择非对称密钥对,所选择的密钥对也被选择用于多个另外的计算设备。生成计算设备的认证凭证,该认证凭证将所选择的密钥对中的公钥与该认证凭证相关联。所选择的密钥对中的私钥是针对第一计算设备而被加密的。将所选择的密钥对中的经加密的私钥以及认证凭证返回至该第一计算设备。
根据一个或多个方面,在计算设备中,针对计算设备的认证凭证的请求被发送至认证服务,该请求包括描述计算设备的硬件和/或软件的信息。从认证服务接收公钥/私钥对以及将该公钥/私钥对与计算设备的可信安全组件相关联的认证凭证。公钥/私钥对中的私钥被存储在可信安全组件的安全存储单元中。在不访问认证服务的情况下,生成一个或多个另外的公钥/私钥对和一个或多个另外的认证凭证,其中每个另外的认证凭证都向上链接至认证服务。
附图说明
参考附图描述了具体实施方式。在附图中,附图标记中最左边的数字标识了该附图标记第一次出现的图。在描述和图中的不同实例中所使用的相同的附图标记可以指示相似或相同的项。在图中所表示的实体可以指示一个或多个实体,并且因此,以下讨论中的实体的单数或复数形式是以可互换的方式来引用的。
图1示出了根据一个或多个实施例的、实现提供设备匿名性的密钥认证声明生成的示例系统。
图2示出了根据一个或多个实施例的示例认证服务。
图3示出了根据一个或多个实施例的示例可信安全组件。
图4是示出了根据一个或多个实施例的、用于实现提供设备匿名性的密钥认证声明生成的示例过程的流程图。
图5是示出了根据一个或多个实施例的、用于实现提供设备匿名性的密钥认证声明生成的另一示例过程的流程图。
图6示出了包括示例计算设备的示例系统,该示例计算设备代表可以实现在本文中所描述的各种技术的一个或多个系统和/或设备。
具体实施方式
在本文中讨论了提供设备匿名性的密钥认证声明生成。为了让计算设备访问需要该计算设备是其所声称的设备的证明的系统,计算设备从可信的第三方获得认证凭证。该可信的第三方也被称为认证服务或凭证机构。计算设备向认证服务发送针对认证凭证的请求,以及与该计算设备的硬件和可选地在计算设备上运行的软件相关的信息。该信息来自计算设备的可信安全组件,并且因此能够由该认证服务信任。计算设备还将加密密钥中的公钥发送至该认证服务。该加密密钥是驻留在计算设备的可信安全组件中的非对称密钥对,这确保加密密钥中的私钥不能够被来自计算设备和在其他地方使用的恶意软件所获得。
认证服务处理认证凭证请求并验证从计算设备所接收的信息。该验证可以包括各种动作,例如验证计算设备包括特定的硬件,验证特定的软件正在计算设备上运行,等等。在认证服务验证了认证凭证请求的硬件和/或软件属性之后,认证服务确保所述属性是真实的,因此其可以通过以下归纳来验证:如果真实的属性证明了属于可信安全组件的加密密钥的存在,则加密至加密密钥中的公钥的任何内容仅能够由该可信安全组件来解密。
认证服务保存可重用的公钥/私钥对集合。在验证了从计算设备所接收的信息之后,认证服务从可重用的所述公钥/私钥对集合中选择公钥/私钥对,并且针对计算设备和公钥/私钥对中的公钥而生成认证凭证。该认证凭证由认证服务进行数字签名,以保证所选择的公钥/私钥对中的公钥与计算设备的可信安全组件相关联。因此,该认证凭证也被称为认证声明或密钥认证声明。
认证服务将认证凭证连同所选择的公钥/私钥对中的私钥一起返回至计算设备。私钥是利用绑定到计算设备的可信安全组件的密钥来加密的,这允许将私钥安全地传输至计算设备的可信安全组件。所述可信安全组件接收并存储该认证凭证以及该公钥/私钥对。
当随后与期望该计算设备是其声称的实体的证明的依赖方进行通信时,可信安全组件向该依赖方提供拥有认证凭证和公钥/私钥对的证明。该证明可以以各种方式来提供,例如通过使用公钥/私钥对中的私钥来对由依赖方提供至可信安全组件的数据值(例如,随机数(nonce)进行数字签名。
认证服务可以并且确实从公钥/私钥对集合中为请求认证凭证的多个不同计算设备选择了相同的公钥/私钥对。由此,多个不同的计算设备将同时使用相同的公钥/私钥对。允许多个不同的计算设备具有相同的公钥/私钥对防止不同的依赖方相互勾结并且确定特定计算设备的身份。例如,如果两个不同的依赖方由使用相同的公钥/私钥对和认证凭证的一个或多个计算设备来访问,则这两个不同的依赖方无法知道是相同的计算设备访问他们两者还是两个不同的计算设备被给予了相同的公钥/私钥对。这为计算设备提供了匿名性,因为依赖方不能够串通和共享与特定计算设备相关的信息,这是由于依赖方不能够确保它们在与同一计算设备进行通信。
另外地,可信安全组件可以可选地使用从认证服务所接收的公钥/私钥对来生成其自己的公钥/私钥对和向上链接至认证服务的认证凭证。这允许可信安全组件生成新的公钥/私钥对和认证凭证,以供不同的依赖方使用。此外,这些新的公钥/私钥对中的每一个公钥/私钥对向上链接至认证服务中之前被提供至多个不同的计算设备的密钥,因此这允许可信安全组件快速地生成新的公钥/私钥对(而无需访问认证服务),同时仍然提供为不同的计算设备选择同一公钥/私钥对的匿名性。
在本文中引用了对称密钥加密、公钥加密、和公钥/私钥对。尽管这样的密钥加密对于本领域技术人员而言是公知的,但在这里包括对这样的加密的简要概述以帮助读者。在公钥加密(也被称为非对称公钥/私钥对加密)中,实体(例如,用户、硬件或软件组件、设备、域等等)将公钥/私钥对与之相关联。该公钥/私钥对也被称为非对称密钥对。公钥可以被使得公开可获得,但是实体将私钥保密。没有私钥,在计算上难以将使用公钥加密的数据解密。因此,数据能够由任何实体利用公钥来加密,并且仅能够由实体利用对应的私钥来解密。另外地,可以通过使用数据和私钥来生成该数据的数字签名。在没有私钥的情况下,在计算上难以创建能够使用公钥来验证的签名。具有公钥的任何实体可以通过以下操作来使用该公钥验证该数字签名:对该公钥、签名、和被签名的数据执行合适的数字签名验证算法。
另一方面,在对称密钥加密中,共享的密钥(也被称为对称密钥)为两个实体所知道和保密。具有共享的密钥的任何实体通常都能够解密利用该共享的密钥加密的数据。没有该共享的密钥,在计算上难以解密利用该共享的密钥加密的数据。因此,如果两个实体都知道该共享的密钥,则每个实体都可以加密能够由另一个实体解密的数据,但是其他实体在其不知道该共享的密钥的情况下则不能够解密该数据。类似地,具有共享的密钥的实体能够加密能够由该同一实体解密的数据,但其他实体在其不知道该共享的密钥的情况下则不能够解密该数据。另外地,可以基于对称密钥加密来生成数字签名,例如使用密钥散列(keyed-hash)消息验证码机制。具有共享的密钥的任何实体都可以生成和验证数字签名。例如,可信的第三方可以基于特定实体的身份来生成对称密钥,并且接着可以生成且验证该特定实体的数字签名(例如,通过使用对称密钥来对数据进行加密或解密)。
图1示出了根据一个或多个实施例的、实现提供设备匿名性的密钥认证声明生成的示例系统100。系统100包括计算设备102,其可以经由网络108与认证服务104和依赖方系统106进行通信。网络108可以是多种不同的网络,包括互联网、局域网(LAN)、电话网络、内联网、其他公共和/或专用网络、其组合,等等。
计算设备102可以是多种不同类型的设备。例如,计算设备102可以是台式计算机、服务器计算机、膝上型或上网本计算机、移动设备(例如,平板计算机或平板电话设备、蜂窝或其他无线电话(例如,智能电话)、笔记本计算机、移动站)、可穿戴设备(例如,眼镜、头戴显示器、手表、手环、增强现实(AR)设备、虚拟现实(VR)设备)、娱乐设备(例如,娱乐家电、与显示设备可通信地耦合的机顶盒、游戏机)、物联网设备(例如,带有允许与其他设备通信的软件、固件、和/或硬件的对象或事物)、电视机或其他显示设备、汽车计算机等。因此,计算设备102的范围可以从具有大量存储器和处理器资源的满资源设备(例如,个人计算机、游戏机)到具有有限存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持游戏机)。
认证服务104是由相同或不同类型的一个或多个计算设备实现的服务或系统。与对计算设备102的讨论类似,认证服务104可以由多种不同类型的设备实现,所述设备的范围从具有大量存储器和处理器资源的满资源设备到具有有限存储器和/或处理资源的低资源设备。
依赖方系统106是由相同或不同类型的一个或多个计算设备实现的。与对计算设备102的讨论类似,依赖方系统106可以由多种不同类型的设备实现,所述设备的范围从具有大量存储器和处理器资源的满资源设备到具有有限存储器和/或处理资源的低资源设备。
图1示出了示例系统100,其具有单个计算设备102、单个认证服务104、和单个依赖方系统106。然而,应当注意的是,系统100可以包括多个计算设备102、多个认证服务104、和/或多个依赖方系统106。
计算设备102包括可信安全组件112、一个或多个应用114、和操作系统116。可信安全组件112是认证服务104认为可信的组件。可信安全组件112将在下文更加详细地被讨论,并且其可以包括特定的硬件组件、特定的软件组件、以特定的方式或顺序对计算设备102的加载或启动,等等。
操作系统116包括向计算设备102提供各种功能的一个或多个程序,所述功能包括促进与计算设备102的硬件组件的通信。可以在操作系统116上运行一个或多个应用114,例如娱乐应用、教育应用、生产力应用等等。操作系统116和/或应用114的程序可以访问依赖方系统106。尽管被示出为与可信安全组件112是分开的,但一个或多个应用114可以被包括在可信安全组件112中,和/或操作系统116的至少一部分可以被包括在可信安全组件112中。
依赖方系统106可以是向计算设备102提供信息或功能的多种不同系统中的任何一种。这些可以例如是允许计算设备102访问各种不同类型的娱乐内容(例如,音频和/或视频内容)的系统,允许计算设备102运行各种教育或生产力应用的系统,允许计算设备102访问安全或机密信息的系统,等等。
为了访问依赖方系统106,可信安全组件112从认证服务104获得认证凭证。在一个或多个实施例中,在本文中所讨论的认证凭证是根据X.509凭证标准(例如,针对评论的网络工作组请求1422(1993年2月))的X.509凭证。可信安全组件112向认证服务104发送认证凭证请求,其包括描述计算设备102的信息,该信息包括描述可信安全组件112的信息。
认证服务104包括支持客户端匿名性的认证凭证系统122和密钥集合124。密钥集合124是多个公钥/私钥对集合。密钥集合124可以以多种不同的方式被保存,例如在存储设备(例如,磁驱动器、固态驱动器)中或在其他存储器(例如,随机存取存储器(RAM))中。支持客户端匿名性的认证凭证系统122从可信安全组件112接收认证凭证请求,并且验证作为该认证凭证请求的一部分所接收的信息。该验证将在下文更加详细地被讨论,并且可以包括各种动作,例如验证计算设备包括特定的硬件、验证特定的软件正在计算设备上运行等等。基于可信安全组件112被实现的方式,验证被执行的方式可以有所不同。
如果支持客户端匿名性的认证凭证系统122不能够验证作为认证凭证请求的一部分所接收的信息,则支持客户端匿名性的认证凭证系统122就不向计算设备102发出认证凭证。然而,如果支持客户端匿名性的认证凭证系统122验证了作为认证凭证请求的一部分所接收的信息,则支持客户端匿名性的认证凭证系统122从密钥集合124中选择公钥/私钥对并且为计算设备102生成认证凭证。该认证凭证将可信安全组件112与所选择的公钥/私钥对相关联,并且由支持客户端匿名性的认证凭证系统122进行数字签名。
支持客户端匿名性的认证凭证系统122将该认证凭证连同所选择的公钥/私钥对中的私钥一起返回至计算设备102。支持客户端匿名性的认证凭证系统122利用绑定到可信安全组件112的密钥(例如,可信安全组件112的公钥/私钥对中的公钥)来对私钥进行加密,以允许所选择的公钥/私钥对中的私钥被安全地传输至可信安全组件112。可信安全组件112接收认证凭证和公钥/私钥对并将其存储在密钥存储单元126中。
计算设备102可以通过向依赖方系统106提供已由认证服务104向可信安全组件112发布了认证凭证的证明来使用依赖方系统106。已知为计算设备102选择的认证凭证和公钥/私钥对,该证明可以以各种不同的方式被提供至依赖方系统106。例如,依赖方系统106可以向可信安全组件112提供随机数,并且可信安全组件112使用从认证服务104所接收的公钥/私钥对中的私钥来对该随机数进行数字签名。认证凭证上的认证服务104的数字签名可以由依赖方系统106使用认证服务104的公钥来验证。该随机数上的数字签名也可以由依赖方系统106使用包括在认证凭证中的公钥来验证,由此向依赖方系统106证明:认证凭证(和该认证凭证所引用的公钥)是由认证服务104提供至计算设备102的。
依赖方系统106可选地包括各种另外的检查或验证,以便允许计算设备102使用依赖方系统106。例如,依赖方系统106可以施加以下约束:计算设备102的可信安全组件112必须至少是特定的版本号。
图2示出了根据一个或多个实施例的示例认证服务104。认证服务104包括支持客户端匿名性的认证凭证系统122和密钥集合124。支持客户端匿名性的认证凭证系统122包括通信模块202、验证模块204、密钥选择模块206、和认证凭证生成模块208。
通信模块202从图1的计算设备102接收针对认证凭证的请求。尽管参考图1中的计算设备102进行了讨论,但应当注意的是,认证服务104可以并且通常也确实从多个不同计算设备102接收针对认证凭证的请求。如上文所讨论的,该请求包括描述计算设备102的信息。
验证模块204验证描述计算设备102的信息。从计算设备102所接收的具体信息可以有所不同,并且验证模块204验证描述计算设备102的信息的方式也至少部分地基于可信安全组件112被实现方式而有所不同。
返回图1,通常实现可信安全组件112以使得可信安全组件112包括允许计算设备102在认证服务104信任的状态下运行的硬件和/或软件。认证服务104信任的状态是针对可能攻击计算设备102的恶意软件得到保护的状态,其允许认证服务104确保认证服务104与计算设备102(或计算设备102的可信安全组件112)而不是冒充计算设备102和/或可信安全组件112等的另一设备进行通信。
在一个或多个实施例中,可信安全组件112包括作为可信平台模块(TPM)的安全加密处理器。TPM包括各种功能,例如密钥生成、加密、解密、安全存储(例如,平台配置寄存器)等。在一个或多个实施例中,TPM符合可信计算组可信平台模块规范版本2.0,其是作为可信平台模块库规范、系列“2.0”、级别00、修订01.16(2014年10月30日)、第1-4部分发布的。尽管在本文中对TPM进行了引用,但可信安全组件112可以可替代地使用提供类似于TPM的功能的一个或多个其他加密处理器。
可信安全组件112具有相关联的公钥/私钥对。这允许其他设备或组件使用可信安全组件的公钥/私钥对中的公钥来加密数据,以使得只有可信安全组件112能够解密该数据。在一个或多个实施例中,可信安全组件112只有在计算设备102已经引导到特定模式中或以特定顺序引导了加载软件的情况下,才能够从TPM获取其相关联的公钥/私钥对。这为可信安全组件112提供了另外的保护,以允许可信安全组件112仅在计算设备已经引导到特定的已知模式(例如,安全或可信模式)中或引导有特定的软件(例如,没有恶意软件)的情况下,才能够访问其相关联的公钥/私钥对。
在一个或多个实施例中,伴随针对认证凭证的请求的描述计算设备102的信息指示计算设备102的健康(或健康认证)。可以以多种方式来指定计算设备的健康102,例如,对哪个模块在引导计算设备102时被加载的指示,对特定的模块或功能是否在引导计算设备102时被加载的指示,对计算设备102是否在特定的模式中(例如,在安全引导模式中)被引导的指示,对特定的安全特性是打开的还是关闭的指示,对虚拟安全模式(VSM)是否在计算设备102中运行(例如,作为可信安全组件112的一部分)的指示,等等。
另外地或可替代地,伴随针对认证凭证的请求的描述计算设备102的信息指示可信安全组件112是受认证服务104(也被称为密钥认证)信任的组件(例如,硬件组件)。可信安全组件112可以具有公钥/私钥对,并且该公钥/私钥对中的公钥可以是认证服务104已知的。因此,可信安全组件112可以通过使用可信安全组件112的公钥/私钥对中的私钥来对一个值(例如,随机数)进行数字签名从而提供其的确是可信安全组件112的指示。
返回图2,验证模块204验证伴随针对认证凭证的请求的描述计算设备102的信息。例如,针对健康认证,验证模块204可以验证从计算设备102所接收的信息指示:特定的模块在引导计算设备102时被加载,计算设备102在特定的模式中(例如,在安全引导模式中)被加载,特定的安全特性是打开的还是关闭的,等等。作为另一示例,针对密钥认证,验证模块204可以验证由可信安全组件112数字签名的值(例如,随机数)上的数字签名。
如果验证模块204没有验证从计算设备102所接收的信息,则没有为计算设备102选择密钥并且没有为计算设备102生成认证凭证。然而,如果验证模块204确实验证了从计算设备102所接收的信息,则密钥选择模块206从密钥集合124中选择非对称密钥对(公钥/私钥对)。该选择可以是随机地、伪随机地、或者是根据其他各种规则或标准被执行的。
密钥集合124可以具有任何数量的非对称密钥对,例如数十、数百、数千、或更多。密钥集合124中的非对称密钥对可以是先前生成(例如,在从计算设备102接收到针对认证凭证的请求之前由密钥选择模块206或认证服务104的另一模块生成)的,并且被保存在密钥集合124中,接着当密钥选择模块206期望时从中选择。在密钥集合124中包括的非对称密钥对的数量可以基于各种不同的因素而不同。在一个或多个实施例中,在密钥集合124中包括的非对称密钥对的数量是通过以下方式来确定的:将计算设备的匿名性针对在密钥受到威胁(例如,被恶意软件发现或潜在地发现)的事件中无效认证凭证的需要进行平衡。例如,较少的非对称密钥对引起计算设备的增加的匿名性,这是因为较多的计算设备得到相同的非对称密钥对,但是也引起对在非对称密钥对受到威胁的事件中无效大量认证凭证的需要,这是因为大量的计算设备接收了受到威胁的非对称密钥对。
还应当注意的是,在密钥集合124中包括的非对称密钥对可以随着时间改变。例如,密钥选择模块206可以生成新的非对称密钥对,以定期或不定期地将其添加至密钥集合124,并且可以定期或不定期地从密钥集合124中删除非对称密钥对。
认证凭证生成模块208生成这样的凭证,其将该凭证与所选择的公钥/私钥对中的公钥相关联。认证凭证还将可信安全组件112(和/或计算设备102)与所选择的公钥/私钥对中的公钥相关联。该关联例如是通过以下方式执行的:认证包括所选择的公钥/私钥对中的公钥,以及所选择的公钥/私钥对中的私钥被安全地提供至可信安全组件112(例如,使用可信安全组件112的密钥加密的)。为了保持可信安全组件112(和/或计算设备102)的匿名性,不需要将可信安全组件112和/或计算设备102的名称或其他标识符包括在所生成的凭证中。认证凭证生成模块208使用认证服务104的公钥/私钥对中的公钥来对凭证进行数字签名,以创建这样的认证凭证,该认证凭证允许依赖方知道认证服务104验证了可信安全组件112,并且给予了可信安全组件112所选择的公钥/私钥对。
通信模块202将认证凭证以及由密钥选择模块206所选择的公钥/私钥对中的私钥返回至可信安全组件112。所选择的公钥/私钥对中的私钥被加密(例如,使用可信安全组件112的公钥/私钥对中的公钥),以使得私钥被安全地传输至可信安全组件112,并且不能够由任何窃听或其他中间设备读取。认证凭证也可以但不需要被加密,以便被安全地传输至可信安全组件112。
因此,由认证凭证生成模块208生成的认证凭证包括所选择的公钥/私钥对中的公钥。认证凭证由认证凭证生成模块208进行数字签名,以证明所选择的公钥/私钥对中的公钥是与该认证凭证一起被给出的。接着,将所选择的公钥/私钥对中的私钥安全地提供至可信安全组件112。当计算设备102随后期望访问依赖方104时,依赖方104可以向计算设备的可信安全组件112提供随机数。可信安全组件112使用所选择的公钥/私钥对中的私钥来对随机数进行数字签名,并且将经签名的随机数以及认证凭证发送至依赖方104。依赖方104使用认证服务104的公钥来验证认证凭证生成模块208确实对认证凭证进行了数字签名(并且因此给出该认证凭证)。此外,依赖方104可以使用认证凭证中的公钥来验证随机数被认证服务104所信任的可信安全组件进行了数字签名(因为可信安全组件112将仅具有私钥,该私钥是与认证中的公钥相同的公钥/私钥对的一部分,如果认证服务信任可信安全组件112并且将私钥给予可信安全组件112的话)。因此,依赖方104可以验证可信安全组件112受到认证服务104的信任,但是依赖方104所依赖的凭证不需要具有特定的可信安全组件112和/或计算设备102的名称或其他标识符。
图3示出了根据一个或多个实施例的示例可信安全组件112。可信安全组件112包括密钥存储单元126、认证凭证获取模块302、认证凭证生成模块304、密钥生成模块306、和凭证存储单元308。
认证凭证获取模块302与认证服务104进行通信,以发送针对认证凭证的请求,并且从认证服务104接收认证凭证和经加密的私钥。从认证服务104所接收的公钥/私钥对(或至少是公钥/私钥对中的私钥)被存储在密钥存储单元126中。从认证服务104所收的认证凭证也被存储在凭证存储单元308中。密钥存储单元126是仅能够由可信安全组件112的模块访问的安全存储单元。凭证存储单元308可以但不一定是安全存储单元。另外地或可替代地,认证凭证可以被存储在可信安全组件112的外部。
可信安全组件112受到认证服务104的信任,并且因此,认证凭证生成模块304也可以生成认证凭证。密钥生成模块306使用多种公共或专用技术中的任何一种来生成公钥/私钥对。认证凭证生成模块304生成这样的凭证,其将该凭证与新生成的公钥/私钥对中的公钥相关联。认证凭证还可以将可信安全组件112(和/或计算设备102)与由密钥生成模块306新生成的公钥/私钥对中的公钥相关联。例如,该关联是通过以下方式执行的:认证包括新生成的公钥/私钥对中的公钥,并且新生成的公钥/私钥对中的私钥由可信安全组件112安全地保存(例如,存储在密钥存储单元126中)。为了保持可信安全组件112(和/或计算设备102)的匿名性,在新生成的凭证中不需要包括可信安全组件112和/或计算设备102的名称或其他标识符。认证凭证生成模块304使用从认证服务104所接收的公钥/私钥对中的公钥来对凭证进行数字签名以创建认证凭证,该认证凭证向上链接至认证服务104并且因此允许依赖方知道认证服务104验证了可信安全组件112。此外,因为由认证凭证生成模块304所生成的认证凭证是使用从认证服务104所接收的公钥/私钥对中的公钥进行数字签名的并且基于该公钥而链接至认证服务104,并且多个不同的计算设备将接收该相同的公钥并且基于该相同的公钥生成认证凭证,尽管计算设备102生成了其自己的认证凭证,但仍然保持了计算设备102的匿名性。
由密钥生成模块306所生成的公钥/私钥对(或至少是公钥/私钥对中的私钥)被存储在密钥存储单元126中。由认证凭证生成模块304所生成的认证凭证被存储在凭证存储单元308中。
认证凭证生成模块304和密钥生成模块306可以根据需要生成新的密钥和认证凭证。这允许在不针对每个新的密钥和认证凭证访问网络108和认证服务104的情况下生成新的密钥和认证凭证,以减少获得新的密钥和认证凭证所需的时间量。作为示例,可以为由计算设备102所访问的每个新的依赖方系统106、为由在计算设备102上运行的网络浏览器所访问的每个新的网站等来生成新的公钥/私钥对和认证凭证。
图4是示出了根据一个或多个实施例的、用于实现提供设备匿名性的密钥认证声明生成的示例过程400的流程图。过程400是由认证服务(例如,图1或图2的认证服务104)实行的,并且可以在软件、固件、硬件或其组合中被实现。过程400被示出为一组动作,并且不限于用于执行各种动作的操作所示出的顺序。过程400是用于实现提供设备匿名性的密钥认证声明生成的示例过程;在本文中参考不同的附图而包括对实现提供设备匿名性的密钥认证声明生成的另外的讨论。
在过程400中,接收针对计算设备的认证凭证的请求(动作402)。该请求包括描述计算设备的软件和/或硬件的信息。所述信息可以指示计算设备的健康和/或指示可信安全组件是受到如上所述的认证服务信任的组件。
验证所接收的信息(动作404)。认证服务验证信息的方式至少部分地基于上文讨论的所接收的信息而不同。
从非对称密钥的集合中选择非对称密钥对(动作406)。密钥的集合中的每个非对称密钥都是公钥/私钥对,并且所述密钥对中的一个密钥对是以上文所讨论的各种方式被选择的,例如随机地或伪随机地。
生成计算设备的认证凭证和所选择的密钥对(动作408)。该认证凭证将所选择的密钥对中的公钥与认证凭证相关联。
也针对计算设备来对所选择的密钥对中的私钥进行加密(动作410)。可以加密所选的非对称密钥对,或者只加密所选择的非对称密钥对中的私钥。所选择的密钥对中的私钥是使用计算设备的可信安全组件的公钥/私钥对中的公钥来加密的。可信安全组件的公钥可以被包括在在动作402中所接收的描述计算设备的信息中,或者可以通过其他方式获得。
将所选择的密钥对中的经加密的私钥和认证凭证返回至计算设备(动作412)。所选择的密钥对中的经加密的私钥和认证凭证可以以各种方式被返回,例如经由网络被传输至计算设备。
图5是示出了根据一个或多个实施例的、用于实现提供设备匿名性的密钥认证声明生成的另一示例过程500的流程图。过程500可以由计算设备(例如,图1中的计算设备102)实行,并且可以在软件、固件、硬件或其组合中被实现。过程500被示出为一组动作,并且不限于用于执行各种动作的操作所示出的顺序。过程500是用于实现提供设备匿名性的密钥认证声明生成的示例过程;在本文中参考不同的附图而包括对实现提供设备匿名性的密钥认证声明生成的另外的讨论。
在过程500中,将针对计算设备的认证凭证的请求发送至认证服务(动作502)。该请求包括描述计算设备的软件和/或硬件的信息。所述信息可以指示计算设备的健康和/或指示可信安全组件是受到如上所述的认证服务信任的组件。
响应于该请求,从认证服务接收公钥/私钥对和认证凭证(动作504)。如果在动作502中发送至认证服务的计算设备的信息被认证服务验证,则接收公钥/私钥对和认证凭证。认证凭证将所接收的公钥/私钥对中的公钥与计算设备(和/或该计算设备的可信安全组件)相关联。该关联例如是通过以下方式执行的:认证凭证包括所选择的公钥/私钥对中的公钥,并且所选择的公钥/私钥对中的私钥被安全地提供至该计算设备(例如,使用该计算设备的可信安全组件的密钥加密的)。
存储所接收的公钥/私钥对和认证凭证(动作506)。所接收的公钥/私钥对中的私钥被存储在计算设备的可信安全组件的安全存储单元中。所接收的公钥/私钥对中的公钥以及认证凭证可以被存储在安全存储单元中或可替代地被存储其他地方。
生成向上链接至认证服务的一个或多个另外的公钥/私钥对和认证凭证(动作508)。所述另外的公钥/私钥对和认证凭证是由可信安全组件在不访问认证服务的情况下生成的。
尽管参考特定的模块在本文中讨论的特定的功能,但应当注意的是,在本文中所讨论的个体模块的功能可以被分成多个模块,和/或多个模块的至少一些功能可以被组合成单个模块。额外地,在本文中被讨论为执行动作的特定模块包括执行该动作的该特定模块本身,或者可替代地,调用或者以其他方式访问执行该动作(或者结合该特定模块执行该动作)的另一组件或模块的该特定模块。因此,执行动作的特定模块包括执行该动作的该特定模块本身,和/或由执行该动作的该特定模块调用或者以其他方式访问的另一模块。
图6在600处一般地示出了示例系统,其包括代表可以用于实现在本文中所描述的各种技术的一个或多个系统和/或设备的示例计算设备602。计算设备602可以是例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统、和/或任何其他合适的计算设备或计算系统。
如图所示的示例计算设备602包括彼此通信地耦合的处理系统604、一个或多个计算机可读介质606、以及一个或多个I/O接口608。尽管未示出,但计算设备602还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传输系统。系统总线可以包括不同的总线结构中的任何一个或组合,所述不同的总线结构例如存储器总线或存储器控制器、外围总线、通用串行总线、和/或使用多种总线架构中的任何一种的处理器或本地总线。还可以构想多种其他示例,例如,控制和数据线路。
处理系统604代表用于使用硬件来执行一个或多个操作的功能。从而,处理系统604被示出为包括可以被配置为处理器、功能块等的硬件元件610。这可以包括以硬件来作为专用集成电路或者使用一个或多个半导体形成的其他逻辑设备的实现。硬件元件610不由形成其的材料或者其中所采用的处理机制来限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))构成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质606被示出为包括存储器/存储设备612。存储器/存储设备612表示与一个或多个计算机可读介质相关联的存储器/存储设备容量。存储器/存储设备612可以包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如,只读存储器(ROM)、阻抗性RAM(ReRAM)、闪速存储器、光盘、磁盘等)。存储器/存储设备612可以包括固定的介质(例如,RAM、ROM、固定的硬盘驱动器等)以及可移动介质(例如,闪速存储器、可移动硬盘驱动器、光盘等)。存储器/存储设备612可以包括例如从加州Santa Clara市的Intel公司或者从Idaho州Boise市的美光科技公司可获得的诸如3D Xpoint存储器之类的存储级存储器(SCM)。计算机可读介质606可以以如在下文中所进一步描述的多种其他的方式来配置。
所述输入/输出接口608代表用于允许用户向计算设备602输入命令和信息,并且还允许利用各种输入/输出设备向用户和/或其他组件或设备呈现该信息的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置以对物理接触进行检测的电容或其他传感器)、相机(例如,可以采用可见或非可见波长(例如,红外频率)来检测运动不包含作为手势的触摸的)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网络卡、触觉反应设备等。因此,计算设备602可以用如在下文中所进一步描述的多种方式被配置以支持用户交互。
在一个或多个实施例中,计算设备602是图1的计算设备102,并且包括可信安全组件614。可信安全组件614从认证服务获得认证凭证,并且也生成向上链接至认证服务的另外的公钥/私钥对和认证凭证。可信安全组件614可以实现例如图1或图3的可信安全组件112。
可替代地,计算设备602是实现图1或图2的认证服务104的至少一部分的计算设备。在这样的情况下,计算设备602不需要包括可信安全组件614。相反,计算设备602包括支持客户端匿名性的认证凭证系统,例如图1或图2的支持客户端匿名性的认证凭证系统122。
可以在本文中在软件、硬件元件、或程序模块的一般性的上下文中描述各种技术。通常而言,这样的技术包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、元件、组件、数据结构等。如在本文中所使用的术语“模块”、“功能”、和“组件”通常表示软件、固件、硬件、或其组合。在本文中所描述的技术的特征是与平台无关的,意思是可以在具有多种处理器的多种计算平台上实现这些技术。
所描述的模块和技术的实现可以存储在一些形式的计算机可读介质上或者跨一些形式的计算机可读介质传输。计算机可读介质可以包括可以由计算设备602访问的多种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”指的是与仅仅是信号传输、载波、或信号本身相对的支持信息的持久存储的介质和/或设备,和/或有形的存储。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括以适合于存储信息(例如,计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其他数据)的方法或技术实现的硬件,例如易失性和非易失性、可移动和不可移动介质和/或存储设备。计算机可读存储介质的示例可以包括但不限于,RAM、ROM、EEPROM、闪速存储器、或者其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、硬盘、盒式磁带、磁带、磁盘存储或其他磁存储设备、或者其他存储设备、有形的介质、或者适合于存储期望的信息并且可以由计算机访问的制品。
“计算机可读信号介质”指的是被配置以将指令传输(例如,经由网络)至计算机设备602的硬件的信号承载介质。通信介质通常可以实施计算机可读指令、数据结构、程序模块、或经调制的数据信号中的其他数据,例如,载波、数据信号、或其他传输机制。信号介质还包括任何信息传递介质。术语“经调制的数据信号”意指将其特征中的一个或多个以将信息编码在信号中的方式来设置或改变的信号。作为示例而非限制,通信介质包括有线介质(例如,有线网络或直接连接)和无线介质(例如,声学、射频(RF)、红外、和其他无线介质)。
如前所述,硬件元件611和计算机可读介质606代表以硬件形式实现的指令、模块、可编程设备逻辑和/或固定的设备逻辑,其可以在一些实施例中被采用以实现在本文中所描述的技术中的至少一些方面。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)、以及硅或其他硬件设备中的其他实现。在该上下文中,硬件元件可以运行为执行由指令、模块、和/或逻辑所定义的程序任务的处理设备,所述指令、模块和/或逻辑由被使用以存储指令以用于执行的硬件元件以及硬件设备(例如,之前所描述的计算机可读存储介质)来实施。
也可以采用上述的组合来实现在本文中所描述的各种技术和模块。从而,软件、硬件、或程序模块和其他程序模块可以被实现为在某种形式的计算机可读存储介质上实施和/或由一个或多个硬件元件610实施的一个或多个指令和/或逻辑。计算设备602可以被配置以实现对应于软件和/或硬件模块的特定的指令和/或功能。从而,能够由计算设备602作为软件执行的模块作为模块的实现可以至少部分地以硬件(例如,通过对处理系统的计算机可读存储介质和/或硬件元件610的使用)来完成。指令和/或功能可以由制品(例如,一个或多个计算设备602和/或处理系统604)执行/操作以实现在本文中所描述的技术、模块、和示例。
如在图6中进一步示出的,当在个人计算机(PC)、电视设备、和/或移动设备上运行应用时,示例系统600支持针对无缝的用户体验的普遍的环境。对于当在使用应用程序、玩可视游戏、观看视频等的过程中从一个设备转移到下一个时的普通的用户体验而言,服务和应用在所有三种环境中大体相似地运行。
在示例系统600中,多个设备通过中央计算设备被互连。中央计算设备可以对于多个设备来说是本地的或者可以远程于多个设备。在一个或多个实施例中,中央计算设备可以是通过网络、互联网、或其他数据通信链路连接至多个设备的一个或多个服务器计算机的云。
在一个或多个实施例中,该互连架构支持待跨多个设备而被传递以向多个设备的用户提供共同和无缝的体验的功能。多个设备中的每个都可以具有不同的物理要求和能力,并且中央计算设备使用平台以使能够将既针对该设备定制并且还对所有设备共同的体验传递至设备。在一个或多个实施例中,创建了一类目标设备,并且针对一般类型的设备来定制体验。可以由设备的物理特征、使用类型、或者其他共同的特性来定义设备的类。
在各种实现中,计算设备602可以假设多种不同的配置,例如,以供计算机616、移动618、以及电视620使用。这些配置中的每个都包括可以具有一般不同结构和能力的设备,并且因此计算设备602可以根据不同的设备类中的一个或多个而被配置。例如,计算设备602可以被实现为设备的计算机616类,该类包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
计算设备602还可以被实现为设备的移动618类,该类包括移动设备,例如,移动电话、便携式音乐播放机、便携式游戏设备、平板计算机、多屏幕计算机等。计算设备602还可以被实现为设备的电视620类,其包括具有或连接至随意查看环境中的通常较大的屏幕的设备的。这些设备包括电视、机顶盒、游戏控制器等。
在本文中所描述的技术可以由计算设备602的这些各种配置支持,并且不限于在本文中所描述的技术的具体的示例。该功能还可以全部或部分地通过对分布式系统的使用(例如,如在下文中所描述的通过经由平台624的“云”622)而被实现。
云622包括和/或代表资源626的平台624。平台624提取了云622的硬件(例如,服务器)和软件资源的基础功能。资源626可以包括当在远程于计算设备602的服务器上执行计算机处理时可以被使用的应用和/或数据。资源626还可以包括通过互联网和/或通过订阅者网络(例如,蜂窝或Wi-Fi网络)提供的服务。
平台624可以提取资源和功能以将计算设备602与其他计算设备进行连接。平台624还可以用来提取资源的放缩,以对针对经由平台624所实现的资源626的所遇到的需求而提供对应的放缩等级。从而,在经互连的设备实施例中,在本文中所描述的功能的实现可以遍布系统600而分布。例如,功能可以被部分地在计算设备602上被实现,以及经由提取云622的功能的平台624而被实现。
在本文的讨论中,描述了各种不同的实施例。应当领会和理解的是,在本文中所描述的每个实施例可以自己使用,或者结合在本文中所描述的一个或多个实施例来使用。在本文中所讨论的另外的方面涉及以下实施例中的一个或多个。
一种在认证服务中实现的方法,所述方法包括:从第一计算设备接收针对所述第一计算设备的认证凭证的第一请求,所述请求包括描述所述第一计算设备的硬件和/或软件的信息;验证所接收的信息;从非对称密钥对集合中选择非对称密钥对,所选择的密钥对也是针对多个另外的计算设备选择的;生成所述第一计算设备的所述认证凭证,所述认证凭证将所选择的密钥对中的公钥与所述认证凭证相关联;针对所述第一计算设备来对所选择的密钥对中的私钥进行加密;以及将所选择的密钥对中的经加密的私钥和所述认证凭证返回至所述第一计算设备。
对于在本文中所描述的方法、系统、或计算设备可替代地或另外地,以下项中的任何一项或组合:其中,针对所述第一计算设备来对所选择的密钥对中的所述私钥进行加密包括使用所述第一计算设备的可信安全组件的公钥/私钥对中的公钥来对所选择的密钥对中的所述私钥进行加密;其中,选择所述非对称密钥对包括从所述非对称密钥对集合中随机地或者伪随机地选择所述非对称密钥对;还包括在接收到所述第一请求之前,在所述非对称密钥对集合中生成所述非对称密钥对;还包括在一个或多个间隔处改变所述非对称密钥对集合中的所述非对称密钥对;还包括:从第二计算设备接收针对所述第二计算设备的认证凭证的第二请求,所述第二请求包括描述所述第二计算设备的硬件和/软件的信息,验证所接收的描述所述第二计算设备的所述硬件和/软件的信息,从所述非对称密钥对集合中选择与针对所述第一计算设备所选择的密钥对相同的密钥对,生成所述第二计算设备的所述认证凭证,所述认证凭证将所选择的密钥对中的所述公钥与所述第二计算设备的所述认证凭证相关联,对所述第二计算设备的所选择的密钥对中的所述私钥进行加密,以及将所选择的密钥对中的经加密的私钥和所述第二计算设备的所述认证凭证返回至所述第二计算设备;所述认证凭证不具有所述第一计算设备的名称或标识符。
一种在计算设备中实现的方法,所述方法包括:向认证服务发送针对所述计算设备的认证凭证的请求,所述请求包括描述所述计算设备的硬件和/或软件的信息;从所述认证服务接收公钥/私钥对以及所述认证凭证,所述认证凭证将所述公钥/私钥对与所述计算设备的可信安全组件相关联;将所述公钥/私钥对中的私钥存储在所述可信安全组件的安全存储单元中;在不访问所述认证服务的情况下,生成一个或多个另外的私钥/公钥对以及一个或多个另外的认证凭证,每个另外的认证凭证向上链接至所述认证服务。
对于在本文中所描述的方法、系统、或计算设备可替代地或另外地,以下项中的任何一项或组合:所接收的公钥/私钥对是与由所述认证服务提供至多个其他计算设备的公钥/私钥对相同的公钥/私钥对;还包括针对所述计算设备的网络浏览器所访问的每个网站来生成所述一个或多个另外的公钥/私钥对中的一个公钥/私钥对和一个或多个另外的认证凭证;还包括针对所述计算设备所访问的多个不同的依赖方系统中的每个依赖方系统来生成所述一个或多个另外的公钥/私钥对中的一个公钥/私钥对和一个或多个另外的认证凭证;还包括使用所述可信安全组件的私钥来对从所述认证服务所接收的公钥私钥对进行解密;所述可信安全组件包括可信平台模块。
一种系统,包括:一个或多个处理器;以及具有存储在其上的多个指令的计算机可读存储介质,所述指令响应于由所述一个或多个处理器执行,使得所述一个或多个处理器进行以下操作:从第一计算设备接收针对所述第一计算设备的认证凭证的第一请求,所述请求包括描述所述第一计算设备的硬件和/或软件的信息;验证所接收的信息;从非对称密钥对集合中选择非对称密钥对,所选择的密钥对也是针对多个另外的计算设备选择的;生成所述第一计算设备的所述认证凭证,所述认证凭证将所选择的密钥对中的公钥与所述认证凭证相关联;针对所述第一计算设备来对所选择的密钥对中的私钥进行加密;以及将所选择的密钥对中的经加密的私钥和所述认证凭证返回至所述第一计算设备。
对于在本文中所描述的方法、系统、或计算设备可替代地或另外地,以下项中的任何一项或组合:其中,针对所述第一计算设备来对所选择的密钥对中的所述私钥进行加密包括使用所述第一计算设备的可信安全组件的公钥/私钥对中的公钥来对所选择的密钥对中的所述私钥进行加密,所述可信安全组件包括可信平台模块;其中,选择所述非对称密钥对包括从所述非对称密钥对集合中随机地或者伪随机地选择所述非对称密钥对;所述多个指令还使得所述一个或多个处理器在一个或多个间隔处改变所述非对称密钥对集合中的所述非对称密钥对;所述多个指令还使得从第二计算设备接收针对所述第二计算设备的认证凭证的第二请求,所述第二请求包括描述所述第二计算设备的硬件和/软件的信息,验证所接收的描述所述第二计算设备的所述硬件和/软件的信息,从所述非对称密钥对集合中选择与针对所述第一计算设备所选择的密钥对相同的密钥对,生成所述第二计算设备的所述认证凭证,所述认证凭证将所选择的密钥对中的所述公钥与所述第二计算设备的所述认证凭证相关联,对所述第二计算设备的所选择的密钥对中的所述私钥进行加密,以及将所选择的密钥对中的经加密的私钥和所述第二计算设备的所述认证凭证返回至所述第二计算设备;所述认证凭证不具有所述第一计算设备的名称或标识符。
一种计算设备,包括:一个或多个处理器;以及具有存储在其上的多个指令的计算机可读存储介质,所述指令响应于由所述一个或多个处理器执行,使得所述一个或多个处理器进行以下操作:向认证服务发送针对所述计算设备的认证凭证的请求,所述请求包括描述所述计算设备的硬件和/或软件的信息;从所述认证服务接收公钥/私钥对以及所述认证凭证,所述认证凭证将所述公钥/私钥对与所述计算设备的可信安全组件相关联;将所述公钥/私钥对中的私钥存储在所述可信安全组件的安全存储单元中;在不访问所述认证服务的情况下,生成一个或多个另外的私钥/公钥对以及一个或多个另外的认证凭证,每个另外的认证凭证向上链接至所述认证服务。
尽管用特定于结构特征和/或方法动作的语言描述了实施例,但是应当理解的是,所附权利要求中定义的实施例不一定限于所描述的特定特征或动作。相反,特定特征和动作是作为实现所要求保护的实施例的示例形式公开的。
Claims (15)
1.一种在认证服务中实现的方法,所述方法包括:
从第一计算设备接收针对所述第一计算设备的认证凭证的第一请求,所述请求包括描述所述第一计算设备的硬件和/或软件的信息;
验证所接收的信息;
从非对称密钥对集合中选择非对称密钥对,所选择的密钥对也是针对多个另外的计算设备选择的;
生成所述第一计算设备的所述认证凭证,所述认证凭证将所选择的密钥对中的公钥与所述认证凭证相关联;
针对所述第一计算设备来对所选择的密钥对中的私钥进行加密;以及
将所选择的密钥对中的经加密的私钥和所述认证凭证返回至所述第一计算设备。
2.根据权利要求1所述的方法,其中,针对所述第一计算设备来对所选择的密钥对中的所述私钥进行加密包括使用所述第一计算设备的可信安全组件的公钥/私钥对中的公钥来对所选择的密钥对中的所述私钥进行加密。
3.根据权利要求1或权利要求2所述的方法,其中,选择所述非对称密钥对包括从所述非对称密钥对集合中随机地或者伪随机地选择所述非对称密钥对。
4.根据权利要求1至3中的任何一项所述的方法,还包括:在接收到所述第一请求之前,在所述非对称密钥对集合中生成所述非对称密钥对。
5.根据权利要求1至4中的任何一项所述的方法,还包括:在一个或多个间隔处改变所述非对称密钥对集合中的所述非对称密钥对。
6.根据权利要求1至5中的任何一项所述的方法,还包括:
从第二计算设备接收针对所述第二计算设备的认证凭证的第二请求,所述第二请求包括描述所述第二计算设备的硬件和/或软件的信息;
验证所接收的描述所述第二计算设备的所述硬件和/或软件的信息;
从所述非对称密钥对集合中选择与针对所述第一计算设备所选择的密钥对相同的密钥对;
生成所述第二计算设备的所述认证凭证,所述认证凭证将所选择的密钥对中的所述公钥与所述第二计算设备的所述认证凭证相关联;
对所述第二计算设备的所选择的密钥对中的所述私钥进行加密;以及
将所选择的密钥对中的经加密的私钥和所述第二计算设备的所述认证凭证返回至所述第二计算设备。
7.根据权利要求1至6中的任何一项所述的方法,所述认证凭证不具有所述第一计算设备的名称或标识符。
8.一种在计算设备中实现的方法,所述方法包括:
向认证服务发送针对所述计算设备的认证凭证的请求,所述请求包括描述所述计算设备的硬件和/或软件的信息;
从所述认证服务接收公钥/私钥对以及所述认证凭证,所述认证凭证将所述公钥/私钥对与所述计算设备的可信安全组件相关联;
将所述公钥/私钥对中的私钥存储在所述可信安全组件的安全存储单元中;以及
在不访问所述认证服务的情况下,生成一个或多个另外的私钥/公钥对以及一个或多个另外的认证凭证,每个另外的认证凭证向上链接至所述认证服务。
9.根据权利要求8所述的方法,所接收的公钥/私钥对是与由所述认证服务提供至多个其他计算设备的公钥/私钥对相同的公钥/私钥对。
10.根据权利要求8或权利要求9所述的方法,还包括:针对所述计算设备的网络浏览器所访问的每个网站来生成所述一个或多个另外的公钥/私钥对和所述一个或多个另外的认证凭证中的一项。
11.根据权利要求8-10中的任何一项所述的方法,还包括:针对所述计算设备所访问的多个不同的依赖方系统中的每个依赖方系统来生成所述一个或多个另外的公钥/私钥对和所述一个或多个另外的认证凭证中的一项。
12.根据权利要求8-11中的任何一项所述的方法,还包括:使用所述可信安全组件的私钥来对从所述认证服务所接收的公钥/私钥对进行解密。
13.根据权利要求8-12中的任何一项所述的方法,所述可信安全组件包括可信平台模块。
14.一种系统,包括:
一个或多个处理器;以及
具有存储在其上的多个指令的计算机可读存储介质,所述指令响应于由所述一个或多个处理器执行,使得所述一个或多个处理器进行以下操作:
从第一计算设备接收针对所述第一计算设备的认证凭证的第一请求,所述请求包括描述所述第一计算设备的硬件和/或软件的信息;
验证所接收的信息;
从非对称密钥对集合中选择非对称密钥对,所选择的密钥对也是针对多个另外的计算设备选择的;
生成所述第一计算设备的所述认证凭证,所述认证凭证将所选择的密钥对中的公钥与所述认证凭证相关联;
针对所述第一计算设备来对所选择的密钥对中的私钥进行加密;以及
将所选择的密钥对中的经加密的私钥和所述认证凭证返回至所述第一计算设备。
15.根据权利要求14所述的系统,其中,针对所述第一计算设备来对所选择的密钥对中的所述私钥进行加密包括使用所述第一计算设备的可信安全组件的公钥/私钥对中的公钥来对所选择的密钥对中的所述私钥进行加密,所述可信安全组件包括可信平台模块。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/649,085 US10819696B2 (en) | 2017-07-13 | 2017-07-13 | Key attestation statement generation providing device anonymity |
US15/649,085 | 2017-07-13 | ||
PCT/US2018/034795 WO2019013886A1 (en) | 2017-07-13 | 2018-05-28 | GENERATION OF KEY CERTIFICATION DECLARATION PROVIDING DEVICE ANONYMAT |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110892672A true CN110892672A (zh) | 2020-03-17 |
CN110892672B CN110892672B (zh) | 2023-10-20 |
Family
ID=62621070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880046669.0A Active CN110892672B (zh) | 2017-07-13 | 2018-05-28 | 提供设备匿名性的密钥认证声明生成 |
Country Status (17)
Country | Link |
---|---|
US (2) | US10819696B2 (zh) |
EP (1) | EP3652882A1 (zh) |
JP (1) | JP7077394B2 (zh) |
KR (1) | KR102451109B1 (zh) |
CN (1) | CN110892672B (zh) |
AU (1) | AU2018299716B2 (zh) |
BR (1) | BR112020000220A2 (zh) |
CA (1) | CA3067540A1 (zh) |
CL (1) | CL2020000081A1 (zh) |
CO (1) | CO2020000162A2 (zh) |
IL (1) | IL271812B2 (zh) |
MX (1) | MX2020000328A (zh) |
PH (1) | PH12020550006A1 (zh) |
RU (1) | RU2763516C2 (zh) |
SG (1) | SG11201912738WA (zh) |
WO (1) | WO2019013886A1 (zh) |
ZA (1) | ZA201908494B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310050B2 (en) | 2018-09-17 | 2022-04-19 | Microsoft Technology Licensing, Llc | Verifying a computing device after transport |
US10423791B2 (en) * | 2017-04-27 | 2019-09-24 | Microsoft Technology Licensing, Llc | Enabling offline restart of shielded virtual machines using key caching |
US10819696B2 (en) * | 2017-07-13 | 2020-10-27 | Microsoft Technology Licensing, Llc | Key attestation statement generation providing device anonymity |
US10447486B2 (en) * | 2017-07-19 | 2019-10-15 | Spyrus, Inc. | Remote attestation of a security module's assurance level |
US11770373B2 (en) * | 2017-09-25 | 2023-09-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Provisioning of vendor credentials |
GB2578628B (en) * | 2018-11-01 | 2021-09-15 | Trustonic Ltd | Device attestation techniques |
CN113508380A (zh) * | 2019-01-25 | 2021-10-15 | 华为技术有限公司 | 用于终端实体认证的方法 |
US10742421B1 (en) | 2019-03-08 | 2020-08-11 | Ares Technologies, Inc. | Methods and systems for anonymous hardware attestation |
US10735205B1 (en) | 2019-03-08 | 2020-08-04 | Ares Technologies, Inc. | Methods and systems for implementing an anonymized attestation chain |
US11374771B2 (en) | 2019-03-08 | 2022-06-28 | Ares Technologies, Inc. | Methods and systems for implementing mixed protocol certificates |
US11394565B2 (en) * | 2019-06-18 | 2022-07-19 | Intel Corporation | Asymmetric device attestation using physically unclonable functions |
KR20210017083A (ko) | 2019-08-06 | 2021-02-17 | 삼성전자주식회사 | 퓨즈된 키에 기반하여 증명 인증서를 생성하는 전자 장치 및 방법 |
US11539678B2 (en) * | 2019-08-16 | 2022-12-27 | Red Hat, Inc. | Asymmetric key management for cloud computing services |
US11265721B1 (en) * | 2019-08-20 | 2022-03-01 | Facebook Technologies, Llc | Secure device attestation and mutual authentication of artificial reality devices |
US11431689B2 (en) * | 2020-01-10 | 2022-08-30 | Lennox Industries Inc. | Secure payload delivery |
US11595213B2 (en) * | 2020-06-29 | 2023-02-28 | Izuma Tech, Inc. | Methods and apparatus for performing attestation |
WO2022006574A1 (en) * | 2020-06-29 | 2022-01-06 | Arm Cloud Technology, Inc. | Device attestation |
CN111953675B (zh) * | 2020-08-10 | 2022-10-25 | 四川阵风科技有限公司 | 一种基于硬件设备的密钥管理方法 |
KR102318947B1 (ko) * | 2020-08-21 | 2021-10-27 | 세종대학교산학협력단 | 개인 정보 보호 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템 |
WO2022115200A2 (en) | 2020-10-28 | 2022-06-02 | Ares Technologies, Inc. | Systems and methods for a cryptographic agile bootloader for upgradable secure environment |
US11665148B2 (en) * | 2021-03-22 | 2023-05-30 | Cisco Technology, Inc. | Systems and methods for addressing cryptoprocessor hardware scaling limitations |
US11750384B2 (en) * | 2021-05-27 | 2023-09-05 | Microsoft Technology Licensing, Llc | Binding with cryptographic key attestation |
US20230388110A1 (en) * | 2022-05-31 | 2023-11-30 | Microsoft Technology Licensing, Llc | Using attestation client code to attest health of a computing device |
US20240007354A1 (en) * | 2022-06-30 | 2024-01-04 | Amazon Technologies, Inc. | Automatic onboarding of heterogeneous devices onto a client network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132182A1 (en) * | 2003-12-12 | 2005-06-16 | International Business Machines Corporation | System and method for providing endorsement certificate |
US20100131765A1 (en) * | 2008-11-26 | 2010-05-27 | Microsoft Corporation | Anonymous verifiable public key certificates |
WO2011139135A1 (en) * | 2010-05-07 | 2011-11-10 | Mimos Berhad | System and method for issuing endorsement key credential in trusted computing environment using local certificate authority |
US20110296172A1 (en) * | 2010-05-28 | 2011-12-01 | Christina Fu | Server-side key generation for non-token clients |
US20160127327A1 (en) * | 2014-11-05 | 2016-05-05 | Microsoft Technology Licensing, Llc. | Roaming content wipe actions across devices |
Family Cites Families (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165174B1 (en) * | 1995-02-13 | 2007-01-16 | Intertrust Technologies Corp. | Trusted infrastructure support systems, methods and techniques for secure electronic commerce transaction and rights management |
US7631188B2 (en) * | 1997-05-16 | 2009-12-08 | Tvworks, Llc | Hierarchical open security information delegation and acquisition |
US6233685B1 (en) * | 1997-08-29 | 2001-05-15 | Sean William Smith | Establishing and employing the provable untampered state of a device |
JP2000049766A (ja) * | 1998-07-27 | 2000-02-18 | Hitachi Ltd | 鍵管理サーバシステム |
US7194620B1 (en) * | 1999-09-24 | 2007-03-20 | Verizon Business Global Llc | Method for real-time data authentication |
US6996710B1 (en) * | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
US20020019938A1 (en) * | 2000-08-04 | 2002-02-14 | Aarons Michael Thomas | Method and apparatus for secure identification for networked environments |
US20020078347A1 (en) * | 2000-12-20 | 2002-06-20 | International Business Machines Corporation | Method and system for using with confidence certificates issued from certificate authorities |
US20020129261A1 (en) * | 2001-03-08 | 2002-09-12 | Cromer Daryl Carvis | Apparatus and method for encrypting and decrypting data recorded on portable cryptographic tokens |
US7925878B2 (en) * | 2001-10-03 | 2011-04-12 | Gemalto Sa | System and method for creating a trusted network capable of facilitating secure open network transactions using batch credentials |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US6963873B2 (en) * | 2002-01-02 | 2005-11-08 | Intel Corporation | Method and system for automatic association of a signed certificate with a certificate signing request |
CA2491662C (en) | 2002-07-12 | 2015-11-24 | Privaris, Inc. | Personal authentication software and systems for travel privilege assignation and verification |
US7181016B2 (en) * | 2003-01-27 | 2007-02-20 | Microsoft Corporation | Deriving a symmetric key from an asymmetric key for file encryption or decryption |
US20040193917A1 (en) * | 2003-03-26 | 2004-09-30 | Drews Paul C | Application programming interface to securely manage different execution environments |
US7797544B2 (en) * | 2003-12-11 | 2010-09-14 | Microsoft Corporation | Attesting to establish trust between computer entities |
US7424610B2 (en) * | 2003-12-23 | 2008-09-09 | Intel Corporation | Remote provisioning of secure systems for mandatory control |
US7350072B2 (en) * | 2004-03-30 | 2008-03-25 | Intel Corporation | Remote management and provisioning of a system across a network based connection |
US20050251857A1 (en) * | 2004-05-03 | 2005-11-10 | International Business Machines Corporation | Method and device for verifying the security of a computing platform |
US20050278253A1 (en) * | 2004-06-15 | 2005-12-15 | Microsoft Corporation | Verifying human interaction to a computer entity by way of a trusted component on a computing device or the like |
US7055742B2 (en) * | 2004-06-29 | 2006-06-06 | Microsoft Corporation | Method for secure on-line voting |
US8356175B2 (en) * | 2005-06-29 | 2013-01-15 | Intel Corporation | Methods and apparatus to perform associated security protocol extensions |
US8417640B2 (en) * | 2005-10-31 | 2013-04-09 | Research In Motion Limited | Secure license key method and system |
US8989390B2 (en) | 2005-12-12 | 2015-03-24 | Qualcomm Incorporated | Certify and split system and method for replacing cryptographic keys |
US7600123B2 (en) * | 2005-12-22 | 2009-10-06 | Microsoft Corporation | Certificate registration after issuance for secure communication |
US8145917B2 (en) * | 2005-12-30 | 2012-03-27 | Nokia Corporation | Security bootstrapping for distributed architecture devices |
US9135444B2 (en) * | 2006-10-19 | 2015-09-15 | Novell, Inc. | Trusted platform module (TPM) assisted data center management |
US8281389B2 (en) * | 2006-12-21 | 2012-10-02 | Seagate Technology Llc | System and method for tamper evident certification |
US8984280B2 (en) * | 2007-02-16 | 2015-03-17 | Tibco Software Inc. | Systems and methods for automating certification authority practices |
US7975290B2 (en) * | 2007-06-07 | 2011-07-05 | Alcatel Lucent | Verifying authenticity of instant messaging messages |
US7971261B2 (en) * | 2007-06-12 | 2011-06-28 | Microsoft Corporation | Domain management for digital media |
CN100566251C (zh) * | 2007-08-01 | 2009-12-02 | 西安西电捷通无线网络通信有限公司 | 一种增强安全性的可信网络连接方法 |
US20090125996A1 (en) * | 2007-09-19 | 2009-05-14 | Interdigital Patent Holdings, Inc. | Virtual subscriber identity module |
DE102007044905A1 (de) * | 2007-09-19 | 2009-04-09 | InterDigital Patent Holdings, Inc., Wilmington | Verfahren und Vorrichtung zur Ermöglichung einer Dienstnutzung und Feststellung der Teilnehmeridentität in Kommunikationsnetzen mittels softwarebasierten Zugangsberechtigungsausweisen (vSIM) |
US8862874B2 (en) * | 2008-05-09 | 2014-10-14 | International Business Machines Corporation | Certificate distribution using secure handshake |
FR2932229B1 (fr) * | 2008-06-05 | 2011-06-24 | Renault Sas | Pilotage de l'alimentation electrique d'une bougie d'allumage d'un moteur a combustion interne |
US9122895B2 (en) * | 2008-06-25 | 2015-09-01 | Microsoft Technology Licensing, Llc | Authorization for transient storage devices with multiple authentication silos |
US8538890B2 (en) * | 2008-08-28 | 2013-09-17 | Motorola Mobility Llc | Encrypting a unique cryptographic entity |
US8751791B2 (en) * | 2008-09-17 | 2014-06-10 | Motorola Solutions, Inc. | Method and device for confirming authenticity of a public key infrastructure (PKI) transaction event |
US20120137364A1 (en) | 2008-10-07 | 2012-05-31 | Mocana Corporation | Remote attestation of a mobile device |
US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
CN101807998A (zh) | 2009-02-13 | 2010-08-18 | 英飞凌科技股份有限公司 | 认证 |
US8544092B2 (en) | 2009-03-12 | 2013-09-24 | International Business Machines Corporation | Integrity verification using a peripheral device |
US8509448B2 (en) * | 2009-07-29 | 2013-08-13 | Motorola Solutions, Inc. | Methods and device for secure transfer of symmetric encryption keys |
US9490984B2 (en) * | 2009-09-14 | 2016-11-08 | Interdigital Patent Holdings, Inc. | Method and apparatus for trusted authentication and logon |
CN101699891B (zh) * | 2009-10-21 | 2012-07-25 | 西安西电捷通无线网络通信股份有限公司 | 一种传感器网络密钥管理和节点鉴别方法 |
US8700893B2 (en) * | 2009-10-28 | 2014-04-15 | Microsoft Corporation | Key certification in one round trip |
US8327424B2 (en) * | 2009-12-22 | 2012-12-04 | Motorola Solutions, Inc. | Method and apparatus for selecting a certificate authority |
US20120174196A1 (en) * | 2010-12-30 | 2012-07-05 | Suresh Bhogavilli | Active validation for ddos and ssl ddos attacks |
US8806196B2 (en) * | 2011-11-04 | 2014-08-12 | Motorola Solutions, Inc. | Method and apparatus for authenticating a digital certificate status and authorization credentials |
US9754253B1 (en) * | 2011-11-28 | 2017-09-05 | Amazon Technologies, Inc. | Conditioned use of certificates |
US9413538B2 (en) * | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
US9054871B2 (en) * | 2012-02-21 | 2015-06-09 | California Institute Of Technology | Physical key-protected one time pad |
US8782423B2 (en) | 2012-06-19 | 2014-07-15 | Microsoft Corporation | Network based management of protected data sets |
US20140006776A1 (en) * | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Certification of a virtual trusted platform module |
US9411962B2 (en) * | 2012-07-18 | 2016-08-09 | Sequitur Labs Inc. | System and methods for secure utilization of attestation in policy-based decision making for mobile device management and security |
US8782401B2 (en) | 2012-09-26 | 2014-07-15 | Intel Corporation | Enhanced privacy ID based platform attestation |
US9374228B2 (en) * | 2012-10-12 | 2016-06-21 | International Business Machines Corporation | Verifying a geographic location of a virtual disk image executing at a data center server within a data center |
US9794602B2 (en) * | 2012-10-29 | 2017-10-17 | Echostar Technologies L.L.C. | Systems and methods for securely providing streaming media content on-demand |
US9935953B1 (en) * | 2012-11-06 | 2018-04-03 | Behaviometrics Ab | Secure authenticating an user of a device during a session with a connected server |
US9124637B2 (en) * | 2013-01-18 | 2015-09-01 | Apple Inc. | Data protection for keychain syncing |
US9594567B2 (en) * | 2013-02-21 | 2017-03-14 | Dell Products, Lp | Configuring a trusted platform module |
KR101717263B1 (ko) * | 2013-03-06 | 2017-03-16 | 인텔 코포레이션 | 가상 머신들의 측정용 신뢰 루트 |
US20140259132A1 (en) * | 2013-03-06 | 2014-09-11 | Go Daddy Operating Company, LLC | System for creating a security certificate |
US20140281497A1 (en) * | 2013-03-13 | 2014-09-18 | General Instrument Corporation | Online personalization update system for externally acquired keys |
US9219607B2 (en) * | 2013-03-14 | 2015-12-22 | Arris Technology, Inc. | Provisioning sensitive data into third party |
US9332002B1 (en) * | 2013-03-14 | 2016-05-03 | Amazon Technologies, Inc. | Authenticating and authorizing a user by way of a digital certificate |
CA2902285A1 (en) * | 2013-03-15 | 2014-09-18 | Ologn Technologies Ag | Systems, methods and apparatuses for remote attestation |
DE102013205051A1 (de) | 2013-03-21 | 2014-09-25 | Siemens Aktiengesellschaft | Aktualisieren eines digitalen Geräte-Zertifikats eines Automatisierungsgeräts |
JP6079394B2 (ja) | 2013-04-11 | 2017-02-15 | 富士通株式会社 | 証明書生成方法、証明書生成装置、情報処理装置、通信機器、及びプログラム |
US9094377B2 (en) * | 2013-08-16 | 2015-07-28 | Netflix, Inc. | Key generation and broadcasting |
US9998438B2 (en) | 2013-10-23 | 2018-06-12 | Microsoft Technology Licensing, Llc | Verifying the security of a remote server |
US9391980B1 (en) | 2013-11-11 | 2016-07-12 | Google Inc. | Enterprise platform verification |
CN105900375B (zh) * | 2014-01-13 | 2020-02-07 | 维萨国际服务协会 | 用于在认证交易中保护身份的设备、系统和方法 |
US9652604B1 (en) * | 2014-03-25 | 2017-05-16 | Amazon Technologies, Inc. | Authentication objects with delegation |
US9680872B1 (en) * | 2014-03-25 | 2017-06-13 | Amazon Technologies, Inc. | Trusted-code generated requests |
US10049202B1 (en) * | 2014-03-25 | 2018-08-14 | Amazon Technologies, Inc. | Strong authentication using authentication objects |
US10050787B1 (en) * | 2014-03-25 | 2018-08-14 | Amazon Technologies, Inc. | Authentication objects with attestation |
US20160344725A1 (en) * | 2014-04-02 | 2016-11-24 | William B. SEVERIN | Signal haystacks |
EP2937806A1 (en) * | 2014-04-22 | 2015-10-28 | ALSTOM Renewable Technologies | Method and system for securing electronic data exchange between an industrial programmable device and a portable programmable device |
US9652631B2 (en) * | 2014-05-05 | 2017-05-16 | Microsoft Technology Licensing, Llc | Secure transport of encrypted virtual machines with continuous owner access |
US9692599B1 (en) * | 2014-09-16 | 2017-06-27 | Google Inc. | Security module endorsement |
US9705879B2 (en) * | 2014-09-17 | 2017-07-11 | Microsoft Technology Licensing, Llc | Efficient and reliable attestation |
US9716716B2 (en) * | 2014-09-17 | 2017-07-25 | Microsoft Technology Licensing, Llc | Establishing trust between two devices |
US9331989B2 (en) | 2014-10-06 | 2016-05-03 | Micron Technology, Inc. | Secure shared key sharing systems and methods |
US10348727B2 (en) * | 2015-02-13 | 2019-07-09 | International Business Machines Corporation | Automatic key management using enterprise user identity management |
US10015173B1 (en) * | 2015-03-10 | 2018-07-03 | Symantec Corporation | Systems and methods for location-aware access to cloud data stores |
AU2016235539B2 (en) | 2015-03-20 | 2019-01-24 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
WO2016168503A1 (en) * | 2015-04-15 | 2016-10-20 | Melrok, Llc | Secure broadcast systems and methods for internet of things devices |
US20160364553A1 (en) * | 2015-06-09 | 2016-12-15 | Intel Corporation | System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network |
US10230696B2 (en) * | 2015-06-09 | 2019-03-12 | Intel Corporation | System, apparatus and method for managing lifecycle of secure publish-subscribe system |
ES2791956T3 (es) * | 2015-06-11 | 2020-11-06 | Siemens Ag | Aparato y procedimiento de autorización para una emisión autorizada de un token de autenticación para un dispositivo |
US10333903B1 (en) * | 2015-06-16 | 2019-06-25 | Amazon Technologies, Inc. | Provisioning network keys to devices to allow them to provide their identity |
US9923721B2 (en) * | 2015-06-22 | 2018-03-20 | Intel IP Corporation | Key agreement and authentication for wireless communication |
CN105141593A (zh) | 2015-08-10 | 2015-12-09 | 刘澄宇 | 一种私有云平台安全计算方法 |
US10397255B1 (en) * | 2015-09-23 | 2019-08-27 | StackRox, Inc. | System and method for providing security in a distributed computation system utilizing containers |
US20170093586A1 (en) * | 2015-09-25 | 2017-03-30 | Qualcomm Incorporated | Techniques for managing certificates on a computing device |
US9906513B2 (en) * | 2015-09-28 | 2018-02-27 | Bank Of America Corporation | Network authorization system |
US9917687B2 (en) * | 2015-10-12 | 2018-03-13 | Microsoft Technology Licensing, Llc | Migrating secrets using hardware roots of trust for devices |
US9832024B2 (en) * | 2015-11-13 | 2017-11-28 | Visa International Service Association | Methods and systems for PKI-based authentication |
US9740867B2 (en) * | 2015-11-16 | 2017-08-22 | Dell Products, L.P. | Securely passing user authentication data between a pre-boot authentication environment and an operating system |
US10009179B2 (en) * | 2015-11-30 | 2018-06-26 | Microsoft Technology Licensing, Llc | Trusted platform module (TPM) protected device |
US10169591B2 (en) * | 2015-12-07 | 2019-01-01 | Amazon Technologies, Inc. | Chained security systems |
US10536271B1 (en) * | 2016-01-10 | 2020-01-14 | Apple Inc. | Silicon key attestation |
US10341325B2 (en) * | 2016-01-29 | 2019-07-02 | Vmware, Inc. | System and method for transferring device identifying information |
US10169602B2 (en) * | 2016-02-22 | 2019-01-01 | Dell Products, L.P. | Method for local key management setup and recovery |
US10412191B1 (en) * | 2016-03-30 | 2019-09-10 | Amazon Technologies, Inc. | Hardware validation |
US10277407B2 (en) * | 2016-04-19 | 2019-04-30 | Microsoft Technology Licensing, Llc | Key-attestation-contingent certificate issuance |
US11256746B2 (en) * | 2016-04-25 | 2022-02-22 | Oracle International Corporation | Hash-based efficient secondary indexing for graph data stored in non-relational data stores |
GB201607476D0 (en) * | 2016-04-29 | 2016-06-15 | Eitc Holdings Ltd | Operating system for blockchain IOT devices |
US10447467B2 (en) * | 2016-05-04 | 2019-10-15 | International Business Machines Corporation | Revocable PKI signatures |
US9916452B2 (en) * | 2016-05-18 | 2018-03-13 | Microsoft Technology Licensing, Llc | Self-contained cryptographic boot policy validation |
US10115250B2 (en) * | 2016-05-23 | 2018-10-30 | Fuji Xerox Co., Ltd. | Systems and methods for location enabled electronic lock controls |
US10135622B2 (en) * | 2016-06-03 | 2018-11-20 | Intel Corporation | Flexible provisioning of attestation keys in secure enclaves |
US10601787B2 (en) * | 2016-06-06 | 2020-03-24 | Cisco Technology, Inc. | Root of trust of geolocation |
US10708067B2 (en) * | 2016-06-18 | 2020-07-07 | Intel Corporation | Platform attestation and registration for servers |
US20180007037A1 (en) * | 2016-07-01 | 2018-01-04 | Kenneth Wade Reese | Transaction-specific shared secret in one-time password device |
US10135921B2 (en) * | 2016-09-20 | 2018-11-20 | Keir Finlow-Bates | System and method for announcing cryptographic keys on a blockchain |
US10733284B2 (en) * | 2016-10-06 | 2020-08-04 | Samsung Electronics Co., Ltd. | Trusted execution environment secure element communication |
US10498712B2 (en) * | 2016-11-10 | 2019-12-03 | Ernest Brickell | Balancing public and personal security needs |
US10447681B2 (en) * | 2016-12-07 | 2019-10-15 | Vmware, Inc. | Secure asymmetric key application data sharing |
US10574648B2 (en) * | 2016-12-22 | 2020-02-25 | Dashlane SAS | Methods and systems for user authentication |
US10229270B2 (en) * | 2016-12-23 | 2019-03-12 | Amazon Technologies, Inc. | Host attestation |
US20180183578A1 (en) * | 2016-12-27 | 2018-06-28 | Intel Corporation | Provisioning keys for virtual machine scaling |
US20180183586A1 (en) * | 2016-12-28 | 2018-06-28 | Intel Corporation | Assigning user identity awareness to a cryptographic key |
US11405177B2 (en) * | 2017-01-24 | 2022-08-02 | Microsoft Technology Licensing, Llc | Nested enclave identity |
US10530777B2 (en) * | 2017-01-24 | 2020-01-07 | Microsoft Technology Licensing, Llc | Data unsealing with a sealing enclave |
US11443033B2 (en) * | 2017-01-24 | 2022-09-13 | Microsoft Technology Licensing, Llc | Abstract enclave identity |
US11036875B2 (en) * | 2017-01-24 | 2021-06-15 | Microsoft Technology Licensing, Llc | Dependent enclave binaries |
US20180241572A1 (en) * | 2017-02-22 | 2018-08-23 | Intel Corporation | Techniques for remote sgx enclave authentication |
US10341864B2 (en) * | 2017-03-03 | 2019-07-02 | Verizon Patent And Licensing Inc. | Network-based device registration for content distribution platforms |
US20180287920A1 (en) * | 2017-03-30 | 2018-10-04 | Ca, Inc. | Intercepting application traffic monitor and analyzer |
US10397005B2 (en) * | 2017-03-31 | 2019-08-27 | Intel Corporation | Using a trusted execution environment as a trusted third party providing privacy for attestation |
US10440006B2 (en) * | 2017-06-21 | 2019-10-08 | Microsoft Technology Licensing, Llc | Device with embedded certificate authority |
US10819696B2 (en) * | 2017-07-13 | 2020-10-27 | Microsoft Technology Licensing, Llc | Key attestation statement generation providing device anonymity |
-
2017
- 2017-07-13 US US15/649,085 patent/US10819696B2/en active Active
-
2018
- 2018-05-28 JP JP2020501161A patent/JP7077394B2/ja active Active
- 2018-05-28 EP EP18731699.7A patent/EP3652882A1/en active Pending
- 2018-05-28 IL IL271812A patent/IL271812B2/en unknown
- 2018-05-28 MX MX2020000328A patent/MX2020000328A/es unknown
- 2018-05-28 SG SG11201912738WA patent/SG11201912738WA/en unknown
- 2018-05-28 AU AU2018299716A patent/AU2018299716B2/en active Active
- 2018-05-28 CN CN201880046669.0A patent/CN110892672B/zh active Active
- 2018-05-28 RU RU2020106575A patent/RU2763516C2/ru active
- 2018-05-28 BR BR112020000220-8A patent/BR112020000220A2/pt unknown
- 2018-05-28 KR KR1020207000801A patent/KR102451109B1/ko active IP Right Grant
- 2018-05-28 CA CA3067540A patent/CA3067540A1/en active Pending
- 2018-05-28 WO PCT/US2018/034795 patent/WO2019013886A1/en unknown
-
2019
- 2019-12-19 ZA ZA2019/08494A patent/ZA201908494B/en unknown
-
2020
- 2020-01-02 PH PH12020550006A patent/PH12020550006A1/en unknown
- 2020-01-08 CO CONC2020/0000162A patent/CO2020000162A2/es unknown
- 2020-01-10 CL CL2020000081A patent/CL2020000081A1/es unknown
- 2020-08-27 US US17/004,929 patent/US11750591B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132182A1 (en) * | 2003-12-12 | 2005-06-16 | International Business Machines Corporation | System and method for providing endorsement certificate |
US20100131765A1 (en) * | 2008-11-26 | 2010-05-27 | Microsoft Corporation | Anonymous verifiable public key certificates |
WO2011139135A1 (en) * | 2010-05-07 | 2011-11-10 | Mimos Berhad | System and method for issuing endorsement key credential in trusted computing environment using local certificate authority |
US20110296172A1 (en) * | 2010-05-28 | 2011-12-01 | Christina Fu | Server-side key generation for non-token clients |
US20160127327A1 (en) * | 2014-11-05 | 2016-05-05 | Microsoft Technology Licensing, Llc. | Roaming content wipe actions across devices |
Also Published As
Publication number | Publication date |
---|---|
JP7077394B2 (ja) | 2022-05-30 |
RU2020106575A (ru) | 2021-08-13 |
RU2763516C2 (ru) | 2021-12-30 |
PH12020550006A1 (en) | 2020-10-12 |
BR112020000220A2 (pt) | 2020-07-07 |
SG11201912738WA (en) | 2020-01-30 |
AU2018299716B2 (en) | 2023-09-21 |
CA3067540A1 (en) | 2019-01-17 |
ZA201908494B (en) | 2021-03-31 |
EP3652882A1 (en) | 2020-05-20 |
US10819696B2 (en) | 2020-10-27 |
IL271812B2 (en) | 2024-01-01 |
IL271812A (en) | 2020-02-27 |
WO2019013886A1 (en) | 2019-01-17 |
NZ759830A (en) | 2023-10-27 |
IL271812B1 (en) | 2023-09-01 |
CO2020000162A2 (es) | 2020-01-17 |
CL2020000081A1 (es) | 2020-07-31 |
US20190020647A1 (en) | 2019-01-17 |
AU2018299716A1 (en) | 2020-01-02 |
US11750591B2 (en) | 2023-09-05 |
KR102451109B1 (ko) | 2022-10-07 |
US20200396217A1 (en) | 2020-12-17 |
CN110892672B (zh) | 2023-10-20 |
MX2020000328A (es) | 2020-07-13 |
KR20200027500A (ko) | 2020-03-12 |
RU2020106575A3 (zh) | 2021-08-13 |
JP2020527305A (ja) | 2020-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11750591B2 (en) | Key attestation statement generation providing device anonymity | |
US11055385B2 (en) | Multi-factor user authentication framework using asymmetric key | |
EP3265950B1 (en) | Device attestation through security hardened management agent | |
CN106716914B (zh) | 用于漫游的受保护内容的安全密钥管理 | |
CN107431924B (zh) | 将设备标识符和用户标识符相关联的设备盗窃防护 | |
CN107077567B (zh) | 标识计算设备上的安全边界 | |
CN109075976A (zh) | 取决于密钥认证的证书发布 | |
CN112187803B (zh) | 使用服务器的tpm的远程密码服务 | |
US10229272B2 (en) | Identifying security boundaries on computing devices | |
NZ759830B2 (en) | Key attestation statement generation providing device anonymity |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024477 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |