CN107743624B - 用于对等证实的方法、系统和机器可读介质 - Google Patents
用于对等证实的方法、系统和机器可读介质 Download PDFInfo
- Publication number
- CN107743624B CN107743624B CN201680024917.2A CN201680024917A CN107743624B CN 107743624 B CN107743624 B CN 107743624B CN 201680024917 A CN201680024917 A CN 201680024917A CN 107743624 B CN107743624 B CN 107743624B
- Authority
- CN
- China
- Prior art keywords
- key
- identity
- endorsement
- combination
- tpm
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- 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
-
- 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
-
- 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
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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
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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
提供用于对等证实的技术。示例方法包括:在第一设备处接收来自第二设备的发现消息;基于所述发现消息,在所述第一设备与所述第二设备之间建立通信信道;在所述第一设备处接收来自所述第二设备的身份信息,所述身份信息包括以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值,或具有所述身份密钥的所述PCR值的引用;在所述第一设备处验证所述PCR值、所述引用或所述认可密钥证书中的一个或多个;以及基于从所述第二设备接收到的对签名的验证来认证所述通信信道或所述第二设备的所述身份信息中的一个或多个。
Description
背景技术
本发明一般涉及可信计算中的证实。
发明内容
所公开的主题涉及对等证实。
在一些创新性实施方案中,所公开的主题可以在方法中实施。所述方法包括在第一设备处接收来自第二设备的发现消息;基于所述发现消息,在所述第一设备与所述第二设备之间建立通信信道;在所述第一设备处接收来自所述第二设备的身份信息,所述身份信息包括以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台配置寄存器(PCR)值或具有所述身份密钥的所述PCR值的引用;在所述第一设备处验证所述PCR值、所述引用或所述认可密钥证书中的一个或多个;以及基于所述验证,从所述第一设备向所述第二设备发送包括签名密钥的消息,其中所述签名密钥包括由所述第一设备生成的随机值;在所述第一设备处使用认可公共密钥来对所述签名密钥和与所述身份密钥相关联的信息的组合进行加密;将所加密的组合从所述第一设备提供给所述第二设备;当在所述提供之后在所述第一设备处接收到来自所述第二设备的响应时,验证所述响应中包括的签名;以及基于对所述签名的所述验证来认证所述通信信道或所述第二设备的所述身份信息中的一个或多个。
在一些创新性实施方案中,所公开的主题可以在机器可读介质中实施。所述机器可读介质包括在由处理器执行时使处理器执行操作的指令,所述操作包括:在第一设备处接收来自第二设备的发现消息;基于所述发现消息,在所述第一设备与所述第二设备之间建立通信信道;在所述第一设备处接收来自所述第二设备的身份信息,所述身份信息包括以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值或具有所述身份密钥的所述PCR值的引用;在所述第一设备处验证所述PCR值、所述引用或所述认可密钥证书中的一个或多个;以及基于所述验证,从所述第一设备向所述第二设备发送包括与所建立的通信信道相关联的连接性信息的消息;在所述第一设备处使用认可公共密钥来对所述连接性信息和与所述身份密钥相关联的信息的组合进行加密;将所加密的组合从所述第一设备提供给所述第二设备;当在所述提供之后在所述第一设备处接收到来自所述第二设备的响应时,验证所述响应中包括的签名;以及基于所述验证来认证所述通信信道或所述第二设备的所述身份信息中的一个或多个。
在一些创新性实施方案中,所公开的主题可以在系统中实施。所述系统包括含有指令的存储器以及处理器,所述处理器被配置成执行所述指令以:在第一设备处接收来自第二设备的发现消息;基于所述发现消息,在所述第一设备与所述第二设备之间建立通信信道;在所述第一设备处接收来自所述第二设备的身份信息,所述身份信息包括以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值、非对称签名密钥的公共部分、所述身份密钥对所述非对称签名密钥的公共部分的签名,或具有所述身份密钥的所述PCR值的引用;在所述第一设备处验证所述非对称签名密钥的证书;基于所述验证,从所述第一设备向所述第二设备发送包括签名密钥的消息,其中所述签名密钥包括由所述第一设备生成的随机值;在所述第一设备处使用认可公共密钥来对所述签名密钥和与所述身份密钥相关联的信息的组合进行加密;将所加密的组合从所述第一设备提供给所述第二设备;当在所述提供之后在所述第一设备处接收到来自所述第二设备的响应时,验证所述响应中包括的签名;以及基于对所述签名的所述验证来鉴定所述通信信道或所述第二设备的所述身份信息中的一个或多个。
应当理解,所属领域的技术人员将从以下具体实施方式中显而易见本发明技术的其它配置,其中通过说明的方式示出和描述了本主题技术的各种配置。如将认识到,在不脱离本发明技术的范围的情况下,本主题技术能够具有其它且不同的配置,并且能够在各种其它方面对其各种细节进行修改,。因此,附图和具体实施方式在本质上应视为是说明性的而不是限制性的。
附图说明
在所附权利要求书中阐述了本发明技术的新颖特征。然而,出于解释的目的,在以下概述的附图中阐述了本发明技术的几种配置。
图1是适用于实践本发明技术的一些实施方案的示例性设备和网络环境的图。
图2示出了根据一些实施方案的对等证实系统中的示例信任图。
图3示出了根据一些实施方案的示例流程图。
图4示出了根据一些实施方案的另一示例流程图。
图5是使用图1的示例设备来实践本主题技术的实施方案的示例过程。
图6示出了使用图1的示例设备来实践本主题技术的实施方案的另一示例过程。
图7示出了使用图1的示例设备来实践本主题技术的实施方案的又一示例过程。
具体实施方式
以下阐述的具体实施方式旨在作为本主题技术的各种配置的描述,而并非意图表示可以实践本主题技术的唯一配置。附图并入本文,并构成具体实施方式的一部分。本主题技术不限于本文阐述的具体细节,并且可以在没有这些具体细节的情况下实践。
可信平台可以是具有以安全模块为形式的可信组件的计算平台,可信平台使用所述可信组件为软件过程创建信任基础。这种安全模块的示例是可信平台模块或TPM。TPM通常在计算设备上实现为防篡改集成电路(IC)。TPM可以与允许计算设备将自身表示为可信平台的固件(例如,基本输入/输出系统(BIOS)固件)相关联。
包括安全模块(例如TPM)的计算设备的合法性认可通常涉及在制造时将认可密钥(例如,软件验证——诸如非对称密钥对和用于相对应的公共密钥的证书)嵌入安全模块的认可主管机构。在某些情况下,认可密钥可以包括关于计算设备或安全模块的制造商的粗略信息。在其它情况下,认可密钥可以包括关于产品类型(例如,笔记本电脑或手机)的信息。由特定制造商制造的硬件设备可能够向服务器证明(或证实)它是特定制造商的合法产品。硬件设备还可能够以特定模式操作、通知服务器硬件设备是什么样的产品(例如笔记本电脑、音频扬声器、网络路由器等)以及硬件设备所处的特定模式。这种证实可能需要因特网连接并访问制造商提供的适当软件服务。然而,这种方法对于某些用例可能并不充分,特别是当因特网连接可能不可用时。例如,硬件设备可能希望通过蓝牙共享WiFi凭证,但是可能只希望与符合某些特征的合法或证实过的设备共享此类凭证。在另一示例中,特定类型的多个设备可能希望在彼此接近时相互协调。
所公开的实施例使得能够在两个或更多个设备(例如,第一设备和第二设备)之间进行对等证实。例如,在第一设备处,接收来自第二设备的发现消息。基于发现消息,可以在第一设备与第二设备之间建立通信信道。在第一设备处,可以接收来自第二设备的身份信息。身份信息可以包括但不限于以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值,或具有身份密钥的PCR值的引用。
然后,第一设备可以验证PCR值、引用或认可密钥证书中的一个或多个。基于验证,第一设备可以向第二设备发送包括签名密钥的消息,其中所述签名密钥包括由第一设备生成的随机值。第一设备还可以使用认可公共密钥来对签名密钥和与身份密钥相关联的信息的组合进行加密。然后,第一设备可以将所加密的组合提供给第二设备。
当在将加密组合提供给第二设备之后在第一设备处接收到来自第二设备的响应时,第一设备可以验证响应中包括的签名。当签名被验证时,第一设备基于对签名的验证来认证通信信道或第二设备的身份信息中的一个或多个。
以这种方式,即使当因特网(或类似)连接可能不可用时,第一设备和第二设备也可能够通过对等方法向彼此证实它们的身份。例如,硬件设备可能够通过蓝牙与符合某些特征的合法或验证的设备共享WiFi凭证。在另一示例中,如果特定类型的多个设备相互接近,它们可能够彼此协调。所公开的实施方案不限于两个设备,并且可以在任何数量的设备和任何类型的有线或无线网络的情况下工作。
本主题技术的一些方面包括存储关于计算设备硬件的信息。用户可以选择阻止这些信息的存储。用户也有机会控制程序或特征是收集还是共享此类信息。因此,用户可以控制如何收集关于计算设备硬件的信息以及服务器如何使用信息。
图1是示出根据本主题技术的一些实施方案的用于安全模块认可的示例架构的图。安全模块180包括处理器112、存储器120、存储装置126和总线124。安全模块180还可以与输入/输出模块、输入设备、输出设备和通信模块相关联。存储器120包括认可引擎132、寄存器134、密钥生成器136、签名引擎138和加密引擎142。
安全模块180可以贮存于计算设备190中。计算设备190可以包括一个或多个处理器、存储器和存储装置。计算设备190可以另外包括输出设备(例如,触摸屏显示器、非触摸屏显示器)、接收用户输入的输入设备(例如,键盘、触摸屏或鼠标)。在一些实施方案中,计算设备190可以包括一个或多个模块,用于促进通过浏览器或在计算设备190上执行的专用应用程序的用户交互。计算设备190可以被实现为具有单个处理器的单个机器、多处理器机器,或包括具有多个处理器的多个机器的服务器群。计算设备190上的通信模块可以允许安全模块180(或计算设备190)通过网络170向设备信息数据库194、认可服务器196和证书主管机构服务器110发送和接收数据。应当理解,计算设备192也可以包括但不限于计算设备190中所包括的一个或多个组件。例如,计算设备192也可以包括安全模块、处理器、存储器、存储装置和总线。安全模块也可以与输入/输出模块、输入设备、输出设备和通信模块相关联。计算设备192的存储器也可以包括认可引擎、寄存器、密钥生成器、签名引擎和加密引擎。
在一些实施方案中,安全模块180可以与设备信息数据库194相关联。设备信息数据库194可以包括标识设备和设备的特征的数据。标识符可以是数字、字母数字字符串、散列值或任何其它形式的标识。设备可以包括但不限于笔记本电脑、移动设备、平板计算机、家庭自动化设备和传感器、支持因特网的硬件设备等。特征可以包括但不限于可能由不同制造商制造的设备的类别、型号或批次。在一些实施方案中,设备及其相应的特征可以与相应的专用认可凭证和扩展完整性测量相关联。在一些实施方案中,此信息可以存储在设备信息数据库194的数据库表中,并且可以通过专用认可凭证进行索引。
在一些实施方案中,设备信息数据库194可以标识(例如标记)无效的专用认可凭证和相应的扩展完整性测量设备。提供这种无效凭证的安全模块(例如,安全模块180)并不具有证实身份凭证,所述证实身份凭证将证实或确认安全模块的真实性以及由此的安全模块所贮存的计算设备的真实性。类似地,在一些实施方案中,设备信息数据库194可以标识有效的专用认可凭证和相应的扩展完整性测量。
在一些实施方案中,证书主管机构服务器110、设备信息数据库194、认可服务器196、客户端计算设备190(或192)以及安全模块180可以通过网络170彼此通信。网络170可以包括因特网、内联网、局域网、广域网、有线网、无线网或虚拟专用网(VPN)。虽然仅示出了一个证书主管机构服务器110、认可服务器196、计算设备190、设备信息数据库194和安全模块180,但本主题技术可以结合任何数量的证书主管机构服务器110、客户端计算设备190、设备信息数据库194和安全模块180来实现。在一些非限制性实施方案中,单个计算设备可以实现证书主管机构服务器110和设备信息数据库194以及图1中所示的其它组件的功能。
客户端计算设备190和192可以是膝上型计算机、台式计算机、移动电话、个人数字助理(PDA)、平板电脑、上网本、具有嵌入其中或与其耦合的一个或多个处理器的电视机、物理机或虚拟机。客户端计算设备190和192可以各自包括键盘、鼠标、显示器或触摸屏中的一个或多个。客户端计算设备190和192可以各自包括被配置成显示web内容的web应用程序。或者,客户端计算设备190和192可以包括用于访问web内容的专用应用程序(例如,移动电话或平板电脑应用程序)。安全模块180可以在计算设备190和192的制造期间嵌入计算设备190和192中。
在一些实施方案中,对等证实可以允许一个设备即使没有因特网连接或无法访问云计算服务也可以向其它设备证明自身的属性。计算设备可能需要一种方式来知晓其是否可以信任来自其它设备的声明(例如,信息或数据访问请求)。这种信任源于其自身的硬件信任根(HRoT)、对等设备的HRoT以及对等设备TPM的制造商。图2示出了示例信任图,其描绘根据所公开的实施方案的对等证实系统中的信任流。作为示例,系统内任何单个信任根的妥协意味着任何计算设备(例如,计算设备190或192)所验证的声明均可以不持有任何值。作为非限制性示例,对于一些计算设备,有可能通过物理访问来篡改设备的HRoT,但是不可能远程地进行篡改。参考图2,TPM制造商认可202验证芯片是按照TPM标准制造的,并且芯片供应链是针对性的。
每个TPM制造商都认可他们生产的模块。HRoT(自身)204是持有设备引导时执行的第一指令的只读非易失性存储器。HRoT(对等设备)206可以是对等设备上的相同存储器。验证启动(自身)208可以是验证启动过程,其中基于第一执行代码来验证整个系统。对验证启动的信任是基于对HRoT的信任。验证启动(对等设备)210可以是对等设备上相同的处理。
认可证书列表212可以是认可证书主管机构根证书的列表,例如每个TPM产品线一个列表。PCR值214可以是在启动期间测量的对等TPM的平台配置寄存器(PCR)值。每个PCR值可以保存关于设备的信息(例如,操作模式、设备类型等)。身份密钥216可以是能被证明受对等TPM保护的密钥。PCR引用218可以是身份密钥216对PCR值的签名。
在验证了PCR引用时存储验证的声明220,然后验证由对等设备给出的声明(PCR值)并且可以信任所述声明(假定可信根)。验证密钥222可以是可选扩展或由受同一对等TPM保护的对等身份密钥验证的密钥。
如上所述,安全模块180的存储器120可以包括认可引擎132、寄存器134、密钥生成器136、签名引擎138和加密引擎142。
所公开的实施例可以实现两个或更多个设备(例如,计算设备190和计算设备192)之间的安全信道认证和对等证实。例如,在计算设备190处,接收来自计算设备192的发现消息。作为示例并参考图3,此消息M0可以是发现消息。基于发现消息,可以在计算设备190与192之间建立通信信道。在计算设备190处,可以接收来自计算设备192的身份(或其它的设备声明)信息。作为示例并参考图3,消息M1可以是身份和声明消息。身份信息可以包括但不限于以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值,或具有身份密钥的PCR值的引用。
然后,计算设备190可以验证PCR值、引用或认可密钥证书中的一个或多个。基于验证,计算设备190可以向计算设备192发送包括签名密钥的消息,其中签名密钥包括由计算设备192生成的随机值。计算设备190还可以使用认可公共密钥来对签名密钥和与身份密钥相关联的信息的组合进行加密。然后计算设备190可以将所加密的组合提供给计算设备192。参考图3,此所加密的组合可以包括在可以是“询问”消息M2的消息中。
当将所加密的组合提供给计算设备192之后在计算设备190(第一设备)处接收到来自计算设备192的响应(例如,图3的询问响应M3)时,计算设备190可以验证响应中包括的签名。当签名被验证时,计算设备190基于对签名的验证来认证通信信道或第二设备的身份信息中的一个或多个。
以这种方式,即使当因特网(或类似)连接可能不可用时,计算设备190和192也可能够通过对等方法向彼此证实它们的身份。例如,计算设备190可能够通过蓝牙与计算设备192共享WiFi凭证。在另一示例中,如果特定类型的多个设备相互接近,它们可能够彼此协调。所公开的实施方案不限于两个设备,并且可以在任何数量的设备和任何类型的有线或无线网络情况下工作。
在一些实施方案中,由计算设备192的制造商提供TPM认可密钥证书。在一些实施方案中,可以由计算设备190针对存储在计算设备190处的有效认可根主管机构列表来验证认可密钥证书。组合可以是客户端计算设备190或192处的TPM可读的数据结构。在一些实施方式中,当计算设备192的TPM包括对于认可公共密钥的私有密钥和身份密钥时,可以由计算设备192根据所加密的组合恢复签名密钥。在一些实施方案中,当计算设备192能够根据所加密的组合恢复签名密钥时,从计算设备192接收响应。在一些实施方案中,来自计算设备192的响应包括使用签名密钥对所加密的组合的签名。
在一些实施方案中,WiFi(或其它无线或有线)连接性数据可以用于对等证实或计算设备190与192之间的证实。在一些实施方案中,在计算设备190处,接收到来自计算设备192的发现消息(例如,图4的消息M0)。基于发现消息,可以在计算设备190与192之间建立通信信道。在计算设备190处,可以接收来自计算设备192的身份信息(例如,图4的消息M1)。身份信息可以包括但不限于以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值,或具有身份密钥的PCR值的引用。
然后,计算设备190可以验证PCR值、引用或认可密钥证书中的一个或多个。基于验证,计算设备190可以向计算设备192发送包括与建立的通信信道相关联的连接性信息(例如,WiFi连接性信息)的消息。计算设备190还可以使用认可公共密钥来对连接性信息和与身份密钥相关联的信息的组合进行加密。接着,计算设备190可以将所加密的组合提供给计算设备192。参考图4,此所加密的组合可以包括在可以是“询问”消息M2的消息中。
当将所加密的组合提供给计算设备192之后在计算设备190(第一设备)处接收到来自计算设备192的响应时,计算设备190可以验证响应中包括的签名。当签名被验证时,计算设备190基于对签名的验证来认证通信信道或第二设备的身份信息中的一个或多个。
以这种方式,即使当因特网(或类似)连接可能不可用时,计算设备190和192也可能够通过对等方法向彼此证实它们的身份。
例如,计算设备190可能够通过蓝牙与计算设备192共享WiFi凭证。在另一示例中,如果特定类型的多个设备相互接近,它们可能够彼此协调。所公开的实施方案不限于两个设备,并且可以在任何数量的设备和任何类型的有线或无线网络的情况下使用。
在一些实施方案中,所公开的方面可以用于计算设备190与192之间的设备配对。在一些实施方案中,在计算设备190处接收来自计算设备192的发现消息。基于发现消息,可以在计算设备190与192之间建立通信信道。在计算设备190处,可以接收来自计算设备192的身份信息。身份信息可以包括但不限于以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值、非对称签名密钥的公共部分、通过身份密钥对非对称签名密钥的公共部分的签名,或具有身份密钥的PCR值的引用。
计算设备190可以验证非对称签名密钥的证书。基于验证或如果证书被验证,计算设备190可以向计算设备192发送包括与建立的通信信道相关联的连接性信息(例如,WiFi连接性信息)的消息。计算设备190还可以使用认可公共密钥来对连接性信息和与身份密钥相关联的信息的组合进行加密。接着,计算设备190可以将所加密的组合提供给计算设备192。
当所加密的组合被提供给计算设备192之后在计算设备190(第一设备)处接收到来自计算设备192的响应时,计算设备190可以验证响应中包括的签名。当签名被验证时,计算设备190基于对签名的验证来认证通信信道或第二设备的身份信息中的一个或多个。
以这种方式,即使当因特网(或类似)连接可能不可用时,计算设备190和192也可能够通过对等方法向彼此证实它们的身份。
在一些实施方案中,在启动过程期间,在计算设备190的包括BIOS、启动加载程序和操作系统内核的一个或多个软件和固件组件被加载到计算设备190的存储器中之前,安全模块180可以测量所述一个或多个软件和固件组件(例如,生成其散列)。通过在软件和固件组件执行之前进行这些完整性测量并将它们存储在安全模块180,可以隔离测量并保护测量免受后续修改尝试。完整性测量可以由安全模块180存储在寄存器134中。
在一些实施方案中,表征计算设备190的信息可以包括硬件标识符。硬件标识符可以标识计算设备的批次、型号或类别中的一个或多个。硬件标识可以是数字、字母数字字符串、散列值或任何其它形式的标识。硬件标识符可以在计算设备190的制造期间存储在安全存储装置(例如,存储装置126)中。安全存储装置可以例如是非易失性随机存取存储器(NVRAM)索引。在一些实施方案中,对安全存储装置的访问基于计算设备190的加密密钥或当前操作状态中的一个或多个。
在一些实施方案中,签名引擎138可以用数字签名对完整性测量进行数字签名。在一些实施方案中,数字签名可以是由加密引擎142生成的散列值或加密值。
在一些实施方案中,认可引擎132可以在对证实身份凭证的请求中向证书主管机构服务器110提供专用认可凭证,并且从证书主管机构服务器110接收证实身份凭证144。证实身份凭证144的接收可以向安全模块180和计算设备190指示安全模块180是可信的。当安全模块被认证时,计算设备上的软件过程可以信任和使用该安全模块以例如存储密码、数字证书、敏感数据以及与软件过程相关的任何其它数据。
图5是使用图1的示例架构来实践本主题技术的实施方案的示例过程500。虽然参考图1的元件描述图5,但是图5的过程不限于此,并且也可以应用于其它系统。
过程500从在第一设备处接收来自第二设备的发现消息时的阶段502开始。基于发现消息,可以在第一设备与第二设备之间建立通信信道(阶段504)。在第一设备处,可以通过所建立的通信信道接收来自第二设备的身份信息(阶段506)。身份信息可以包括但不限于以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值,或具有身份密钥的PCR值的引用。
接着,第一设备可以验证PCR值、引用或认可密钥证书(阶段508)中的一个或多个。基于验证,第一设备可以向第二设备发送包括签名密钥的消息,其中所述签名密钥包括由第一设备生成的随机值(阶段510)。第一设备还可以使用认可公共密钥来对签名密钥和与身份密钥相关联的信息的组合进行加密(阶段512)。然后,第一设备可以将所加密的组合提供给第二设备(阶段514)。
当在将所加密的组合提供给第二设备之后在第一设备处接收来自第二设备的响应时,第一设备可以验证响应中包括的签名(阶段516)。当签名被验证时,第一设备基于对签名的验证来鉴定通信信道或第二设备的身份信息中的一个或多个(阶段518)。
图6是使用图1的示例架构来实践本主题技术的实施方案的示例过程600。虽然参考图1的元件描述图6,但是图6的过程不限于此,并且也可以应用于其它系统。
过程600从在第一设备处接收来自第二设备的发现消息时的阶段602开始。基于发现消息,可以在第一设备与第二设备之间建立通信信道(阶段604)。在第一设备处,可以通过所建立的通信信道接收来自第二设备的身份信息(阶段606)。身份信息可以包括但不限于以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值,或具有身份密钥的PCR值的引用。
然后,第一设备可以验证PCR值、引用或认可密钥证书(阶段608)中的一个或多个。基于验证,第一设备可以向第二设备发送包括与建立的通信信道相关联的连接性信息的消息(阶段610)。第一设备还可以使用认可公共密钥来对连接性信息和与身份密钥相关联的信息的组合进行加密(阶段612)。接着,第一设备可以将所加密的组合提供给第二设备(阶段614)。
当第二设备解密数据包时,通信信道(例如,WiFi)共享完成(阶段616)。
图7是使用图1的示例设备来实践本主题技术的实施方案的示例过程700。虽然参考图1的元件描述图7,但是图7的过程不限于此,并且也可以应用于其它系统。
过程700从在第一设备处接收来自第二设备的发现消息时的阶段702开始。基于发现消息,可以在第一设备与第二设备之间建立通信信道(阶段704)。在第一设备处,可以通过所建立的通信信道接收来自第二设备的身份信息(阶段706)。身份信息可以包括但不限于以下中的一个或多个:可信平台模块(TPM)认可密钥证书、身份密钥的公共部分、一个或多个平台控制寄存器(PCR)值、非对称签名密钥的公共部分、通过身份密钥对非对称签名密钥的公共部分的签名,或具有身份密钥的PCR值的引用。
然后,第一设备可以验证非对称签名密钥的证书(阶段708)。基于验证,第一设备可以向第二设备发送可选地包括与建立的通信信道相关联的连接性信息的消息(阶段710)。第一设备还可以使用认可公共密钥来对签名密钥和与身份密钥相关联的信息的组合进行加密(阶段712)。接着,第一设备可以将所加密的组合提供给第二设备(阶段714)。
当在将加密组合提供给第二设备之后在第一设备处接收到来自第二设备的响应时,第一设备可以验证响应中包括的签名(阶段716)。当签名被验证时,第一设备基于对签名的验证来认证通信信道或第二设备的身份信息中的一个或多个(阶段718)。
返回图1,在某些方面,可以使用硬件或软件和硬件的组合来实现安全模块180,无论是在专用服务器、计算设备中还是集成到另一个实体中,或分布在多个实体上。
安全模块180包括用于通信信息的总线124或其它通信机构,以及与总线124耦合以处理信息的处理器112。处理器112可以是通用微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、状态机、门控逻辑、离散硬件组件,或可以执行信息的计算或其它操作的任何其它合适的实体。
除了硬件之外,安全模块180还可以包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或存储器120中存储的这些中的一个或多个的组合的代码。存储器120可以包括随机存取存储器(RAM)、闪速存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除PROM(EPROM)、寄存器、硬盘、可移动磁盘、CD-ROM、DVD或任何其它合适的存储设备,其耦合到总线124以用于存储由处理器112执行的信息和指令。处理器112和存储器120可以由专用逻辑电路补充或并入其中。
指令可以存储在存储器120中并且在一个或多个计算机程序产品中,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块中实施,所述指令供安全模块180执行或用于控制安全模块180的操作,并且根据所属领域的技术人员熟知的任何方法,包括但不限于例如面向数据的语言(例如,SQL、dBase)、系统语言(例如,C、Objective-C、C++、Assembly)、架构语言(例如,Java、.NET)和应用程序语言(例如,PHP、Ruby、Perl、Python)的计算机语言。指令也可以用计算机语言实现,例如阵列语言、面向方面的语言、汇编语言、创作语言、命令行界面语言、编译语言、并行语言、卷笔括号语言、数据流语言、数据结构语言、声明语言、深奥语言、扩展语言、第四代语言、功能语言、交互模式语言、解释语言、迭代语言、基于列表的语言、小语言、基于逻辑的语言、机器语言、宏语言、元编程语言、多字典语言、数字分析、非英语语言、面向对象的基于类的语言、面向对象的基于原型的语言、离线规则语言、过程语言、反射语言、基于规则的语言、脚本语言、基于堆栈的语言、同步语言、语法处理语言、视觉语言、wirth语言、可嵌入语言以及基于xml的语言。存储器120还可以用于在执行由处理器112执行的指令期间存储临时变量或其它中间信息。
本文所讨论的计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以将计算机程序部署为在一个计算机上执行,或在位于一个站点处或分布在多个站点并由通信网络互连的多个计算机上执行。本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。
安全模块180还包括耦合到总线124以存储信息和指令的数据存储设备126,例如磁盘或光盘、固态存储器、非易失性存储器等。客户端190可以通过输入/输出模块耦合到各种设备。输入/输出模块可以是任何输入/输出模块。示例输入/输出模块包括例如USB端口的数据端口。输入/输出模块可以被配置成连接到通信模块。示例通信模块包括例如以太网卡和调制解调器的网络接口卡。在某些方面,输入/输出模块被配置成连接到例如输入设备和/或输出设备等多个设备。示例输入设备包括键盘和指示设备,例如鼠标或轨迹球,用户可以通过所述输入设备向客户端计算设备190和安全模块180提供输入。也可以使用其它类型的输入设备来提供与用户的互动,例如触觉输入设备、视觉输入设备、音频输入设备或脑机接口设备。例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;来自用户的输入可以任何形式来接收,包括声音、语音、触觉或脑波输入。示例输出设备包括用于向用户显示信息的显示设备,例如发光二极管(LED)、阴极射线管(CRT)或液晶显示器(LCD)屏幕。
根据本发明的一个方面,响应于处理器112执行包括在存储器120中的一个或多个指令的一个或多个序列,可以在客户端计算设备190中实现安全模块180。此类指令可以从诸如存储设备126的另一机器可读介质读入存储器120中。主存储器120中包括的指令序列的执行使处理器112执行本文所述的处理块。也可以采用呈多处理布置的一个或多个处理器来执行包括在存储器120中的指令序列。在替代方面,可以使用硬连线电路代替软件指令或与软件指令组合以实现本发明的各种方面。因此,本发明的方面不限于硬件电路和软件的任何特定组合。
本说明书中描述的主题的各个方面可以在计算系统中实现,所述计算系统包括后端组件,例如作为数据服务器,或包括中间件组件,例如应用服务器,或包括前端组件,例如具有图形用户界面或Web浏览器的客户端计算机——用户可以通过所述图形用户界面或Web浏览器与本说明书中描述的主题的实施方案进行交互,或一个或多个此类后端、中间件或前端组件的组合。系统的组件可以通过例如通信网络的数字数据通信的任何形式或介质互连。通信网络(例如,网络170)可以包括例如以下网络中的一种或多种:个人局域网(PAN)、局域网(LAN)、校园区域网(CAN)、城域网(MAN)、广域网(WAN)、宽带网(BBN)、因特网等。此外,通信网络可以包括但不限于例如以下网络拓扑中的任何一种或多种:包括总线网络、星形网络、环网、网状网络、星形总线网络、树或分层网络等。通信模块可以例如是调制解调器或以太网卡。
客户端计算设备190可以例如是但不限于台式计算机,膝上型计算机或平板计算机。客户端计算设备190还可以嵌入在另一设备中,例如但不限于移动电话、个人数字助理(PDA)、移动音频播放器,全球定位系统(GPS)接收器,视频游戏控制台和/或电视机顶盒。
本文所用的术语“机器可读存储介质”或“计算机可读介质”是指参与向处理器112提供指令或数据以供执行的任何介质。这种介质可以采用许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质包括例如光盘、磁盘或快闪存储器,例如数据存储设备126。易失性介质包括例如存储器120的动态存储器。传输介质包括同轴电缆、铜线和光纤,包括具有总线124的导线。机器可读介质的常见形式包括例如软盘、软磁盘、硬盘、磁带、任何其它磁性介质、CD-ROM、DVD、任何其它光学介质、打孔卡、纸带、具有孔图案的任何其它物理介质、RAM、PROM、EPROM、FLASH EPROM、任何其它存储器芯片或盒,或计算机可以从其读取的任何其它介质。机器可读存储介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组成,或者其中的一个或多个的组合。
如本文所使用,在一系列项目之前的短语“……中的至少一个”与用于分开任何项目的术语“和”或者“或”将整个列表修改为整体,而不是列表的每个成员(即每个项目)。短语“……中的至少一个”不需要选择至少一个项目;相反,所述短语允许以下含义:包括项目中的任何一个项目中的至少一个,和/或项目的任何组合中的至少一个,和/或项目中的每一个项目中的至少一个。作为示例,短语“A、B和C中的至少一个”或“A、B或C中的至少一个”各自指仅A、仅B或仅C;A、B和C的任何组合;和/或A、B和C中的每一个中的至少一个。
此外,就说明书或权利要求书中使用术语“包括”、“具有”等来说,按照与当把术语“包括”用作权利要求书中的过渡语时解释此术语的方式类似的方式,此类术语意指包括性的。
除非具体说明,否则提及单数形式的元素并不旨在表示“一个且仅一个”,而是“一个或多个”。本领域普通技术人员已知或稍后已知的在整个本公开中描述的各种配置的元件的所有结构和功能等效物通过引用明确地并入本文,并且旨在由本主题技术涵盖。此外,无论在上述描述中是否明确地叙述了此公开内容,本文所公开的任何内容都不会被公开给公众。
虽然本说明书包括许多具体细节,但是这些不应被解释为对所要求保护的范围的限制,而应被解释为对主题的特定实施方案的描述。在本说明书中在单独方面的上下文中描述的某些特征也可以在单个方面组合地实现。相反,在单个方面的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个方面实现。此外,虽然特征可能在上面被描述为在某些组合中起作用,甚至最初要求这样,但是在一些情况下,来自所要求保护的组合的一个或多个特征可以从组合中删去并且所要求保护的子组合可以指向子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行此类操作,或者执行所有所说明操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,在上述方面,各种系统组件的分离不应被理解为在所有方面都需要此种分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或被打包成多个软件产品。
已经根据特定方面描述了本说明书的主题,但是其它方面可以被实现并且在所附权利要求的范围内。例如,权利要求中所述的动作可以按不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中所描绘的过程不一定需要所示的特定顺序或按序顺序来实现期望的结果。在某些实施方案中,多任务和并行处理可能是有利的。其它变化在所附权利要求书的范围内。
这些和其它实施方案在以下权利要求的范围内。
Claims (20)
1.一种用于对等证实的计算机实现方法,包括:
在第一设备处接收来自第二设备的发现消息;
基于所述发现消息,在所述第一设备与所述第二设备之间建立通信信道;
在所述第一设备处接收来自所述第二设备的身份信息,所述身份信息包括身份密钥的公共部分和以下中的一个或多个:可信平台模块TPM认可密钥证书、一个或多个平台控制寄存器PCR值,或具有所述身份密钥的所述PCR值的引用;
在所述第一设备处验证所述PCR值、所述引用或所述认可密钥证书中的一个或多个;以及
基于所述验证,从所述第一设备向所述第二设备发送包括签名密钥的消息,其中所述签名密钥包括由所述第一设备生成的随机值;
在所述第一设备处使用认可公共密钥来对所述签名密钥和与所述身份密钥相关联的信息的组合进行加密;
将所加密的组合从所述第一设备提供给所述第二设备;
当在所述提供之后在所述第一设备处接收到来自所述第二设备的响应时,验证所述响应中包括的签名;以及
基于对所述签名的所述验证来认证所述通信信道或来自所述第二设备的所述身份信息中的一个或多个。
2.根据权利要求1所述的方法,其中由所述第二设备的制造商提供所述TPM认可密钥证书。
3.根据权利要求1所述的方法,其中针对所述第一设备处存储的有效认可根主管机构列表来验证所述认可密钥证书。
4.根据权利要求1所述的方法,其中所述组合是由所述第一设备或所述第二设备处的TPM可读的数据结构。
5.根据权利要求1所述的方法,其中当所述第二设备的TPM包括所述认可公共密钥的私有密钥和所述身份密钥时,由所述第二设备根据所加密的组合恢复所述签名密钥。
6.根据权利要求5所述的方法,其中当所述第二设备能够根据所加密的组合恢复所述签名密钥时,从所述第二设备接收到所述响应。
7.根据权利要求1所述的方法,其中来自所述第二设备的所述响应包括使用所述签名密钥的所加密的组合的签名,所述签名密钥由所述第二设备恢复。
8.一种非暂时性机器可读介质,包括存储在其中的指令,所述指令当由处理器执行时使所述处理器执行操作,所述操作包括:
在第一设备处接收来自第二设备的发现消息;
基于所述发现消息,在所述第一设备与所述第二设备之间建立通信信道;
在所述第一设备处接收来自所述第二设备的身份信息,所述身份信息包括身份密钥的公共部分和以下中的一个或多个:可信平台模块TPM认可密钥证书、一个或多个平台控制寄存器PCR值,或具有所述身份密钥的所述PCR值的引用;
在所述第一设备处验证所述PCR值、所述引用或所述认可密钥证书中的一个或多个;以及
基于所述验证,从所述第一设备向所述第二设备发送包括与所建立的通信信道相关联的连接性信息的消息,其中所述连接性信息包括由所述第一设备生成的随机值;
在所述第一设备处使用认可公共密钥来对所述连接性信息和与所述身份密钥相关联的信息的组合进行加密;
将所加密的组合从所述第一设备提供给所述第二设备;
当在所述提供之后在所述第一设备处接收到来自所述第二设备的响应时,验证所述响应中包括的签名;以及
基于所述验证来认证所述通信信道或来自所述第二设备的所述身份信息中的一个或多个。
9.根据权利要求8所述的非暂时性机器可读介质,其中由所述第二设备的制造商提供所述TPM认可密钥证书。
10.根据权利要求8所述的非暂时性机器可读介质,其中针对所述第一设备处存储的有效认可根主管机构列表来验证所述认可密钥证书。
11.根据权利要求8所述的非暂时性机器可读介质,其中所述组合是由所述第一设备或所述第二设备处的TPM可读的数据结构。
12.根据权利要求8所述的非暂时性机器可读介质,其中当所述第二设备的TPM包括所述认可公共密钥的私有密钥和所述身份密钥时,由所述第二设备根据所述加密组合恢复所述连接性信息。
13.根据权利要求12所述的非暂时性机器可读介质,其中当所述第二设备能够根据所加密的组合恢复所述连接性信息时,从所述第二设备接收到所述响应。
14.根据权利要求8所述的非暂时性机器可读介质,其中来自所述第二设备的所述响应包括使用所述连接性信息的所述加密组合的签名,所述连接性信息由所述第二设备恢复。
15.一种用于对等证实的系统,包括:
存储器,所述存储器包括指令,以及
处理器,所述处理器被配置成执行所述指令以:
在第一设备处接收来自第二设备的发现消息;
基于所述发现消息,在所述第一设备与所述第二设备之间建立通信信道;
在所述第一设备处接收来自所述第二设备的身份信息,所述身份信息包括身份密钥的公共部分和以下中的一个或多个:可信平台模块TPM认可密钥证书、一个或多个平台控制寄存器PCR值、非对称签名密钥的公共部分、所述身份密钥对所述非对称签名密钥的所述公共部分的签名,或具有所述身份密钥的所述PCR值的引用;
在所述第一设备处验证所述PCR值、所述引用、所述认可密钥证书或所述非对称签名密钥的证书中的一个或多个;以及
基于所述验证,从所述第一设备向所述第二设备发送包括签名密钥的消息,其中所述签名密钥包括由所述第一设备生成的随机值;
在所述第一设备处使用认可公共密钥来对所述签名密钥和与所述身份密钥相关联的信息的组合进行加密;
将所加密的组合从所述第一设备提供给所述第二设备;
当在所述提供之后在所述第一设备处从所述第二设备接收到响应时,验证所述响应中包括的签名;以及
基于对所述签名的所述验证来认证所述通信信道或来自所述第二设备的所述身份信息中的一个或多个。
16.根据权利要求15所述的系统,其中所述第一设备保留所述非对称签名密钥以及所述第二设备的其它元数据,以认证与所述第二设备的未来连接。
17.根据权利要求15所述的系统,其中针对所述第一设备处存储的有效认可根主管机构列表来验证所述认可密钥证书。
18.根据权利要求15所述的系统,其中所述组合是由所述第一设备或所述第二设备处的TPM可读的数据结构。
19.根据权利要求15所述的系统,其中当所述第二设备的TPM包括所述认可公共密钥的私有密钥和所述身份密钥时,由所述第二设备根据所加密的组合恢复所述签名密钥。
20.根据权利要求19所述的系统,其中当所述第二设备能够根据所加密的组合恢复与所建立的通信信道相关联的连接性信息时,从所述第二设备接收到所述响应。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/821,616 US9768966B2 (en) | 2015-08-07 | 2015-08-07 | Peer to peer attestation |
US14/821,616 | 2015-08-07 | ||
PCT/US2016/038762 WO2017027104A1 (en) | 2015-08-07 | 2016-06-22 | Peer to peer attestation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107743624A CN107743624A (zh) | 2018-02-27 |
CN107743624B true CN107743624B (zh) | 2021-07-16 |
Family
ID=56511876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024917.2A Active CN107743624B (zh) | 2015-08-07 | 2016-06-22 | 用于对等证实的方法、系统和机器可读介质 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9768966B2 (zh) |
EP (1) | EP3332347B1 (zh) |
JP (1) | JP6496424B2 (zh) |
KR (1) | KR102062823B1 (zh) |
CN (1) | CN107743624B (zh) |
DE (1) | DE112016003625T5 (zh) |
GB (1) | GB2553457A (zh) |
WO (1) | WO2017027104A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270748B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US10834582B2 (en) * | 2015-09-30 | 2020-11-10 | Cummins, Inc. | System, method, and apparatus for secure telematics communication |
US10009185B2 (en) * | 2015-12-22 | 2018-06-26 | Intel Corporation | Chain of trust identification system and method |
US20170288866A1 (en) * | 2016-03-30 | 2017-10-05 | AVAST Software s.r.o. | Systems and methods of creating a distributed ring of trust |
US11165565B2 (en) * | 2016-12-09 | 2021-11-02 | Microsoft Technology Licensing, Llc | Secure distribution private keys for use by untrusted code |
US10318738B2 (en) * | 2016-12-27 | 2019-06-11 | Intel Corporation | Distributed secure boot |
US10666658B2 (en) * | 2017-01-30 | 2020-05-26 | Ncr Corporation | Trusted network entity secure connectivity |
BE1025003B1 (fr) * | 2017-02-23 | 2018-09-17 | Laszlo Pinter | Méthode et dispositif pour identifier un véhicule et son conducteur |
US10574167B2 (en) * | 2017-02-24 | 2020-02-25 | Fuji Electric Co., Ltd. | Load control system |
EP3665581A4 (en) * | 2017-08-08 | 2021-05-12 | Ric B Richardson | METHOD AND DEVICE FOR OPERATING A COMPUTER |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
CN109960935B (zh) * | 2017-12-22 | 2021-02-05 | 华为技术有限公司 | 确定tpm可信状态的方法、装置及存储介质 |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
US10587400B2 (en) * | 2018-02-12 | 2020-03-10 | Afero, Inc. | System and method for securely configuring a new device with network credentials |
US10917237B2 (en) * | 2018-04-16 | 2021-02-09 | Microsoft Technology Licensing, Llc | Attestable and destructible device identity |
US10924282B2 (en) * | 2018-05-24 | 2021-02-16 | Cyber Pack Ventures, Inc. | System and method for measuring and reporting IoT boot integrity |
US11144620B2 (en) * | 2018-06-26 | 2021-10-12 | Counseling and Development, Inc. | Systems and methods for establishing connections in a network following secure verification of interested parties |
US11165766B2 (en) * | 2018-08-21 | 2021-11-02 | International Business Machines Corporation | Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove |
US11206141B2 (en) * | 2018-09-21 | 2021-12-21 | International Business Machines Corporation | Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates |
US10885197B2 (en) | 2018-09-21 | 2021-01-05 | International Business Machines Corporation | Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning |
US12041039B2 (en) * | 2019-02-28 | 2024-07-16 | Nok Nok Labs, Inc. | System and method for endorsing a new authenticator |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
WO2020242700A1 (en) * | 2019-05-24 | 2020-12-03 | JOURNEY. Al | Providing access control and identity verification for communications |
CN113132323B (zh) * | 2019-12-31 | 2022-11-18 | 华为技术有限公司 | 一种通信方法及装置 |
US11909882B2 (en) * | 2020-01-30 | 2024-02-20 | Dell Products L.P. | Systems and methods to cryptographically verify an identity of an information handling system |
US11604880B2 (en) | 2020-02-25 | 2023-03-14 | Dell Products L.P. | Systems and methods to cryptographically verify information handling system configuration |
KR102381038B1 (ko) | 2020-05-28 | 2022-03-30 | 고려대학교 산학협력단 | 피제어 장치의 보안 인증 기법 |
KR102530058B1 (ko) * | 2021-01-11 | 2023-05-08 | 서울외국어대학원대학교 산학협력단 | 무선 통신을 이용한 개인간 비대면 신원 확인 시스템 |
US20230096370A1 (en) * | 2021-09-24 | 2023-03-30 | Apple Inc. | Cross platform credential sharing |
US11537700B1 (en) * | 2022-07-24 | 2022-12-27 | Uab 360 It | Secure cross-device authentication system |
US20240235818A9 (en) * | 2022-10-24 | 2024-07-11 | Dell Products, L.P. | Systems and methods for secure secret provisioning of remote access controllers |
CN117544300B (zh) * | 2023-11-01 | 2024-08-20 | 北京中宏立达科技发展有限公司 | 一种基于标识密钥的数据加密传输系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394283A (zh) * | 2008-11-04 | 2009-03-25 | 西安西电捷通无线网络通信有限公司 | 一种基于三元对等鉴别(TePA)的可信平台验证方法 |
CN101986641A (zh) * | 2010-10-20 | 2011-03-16 | 杭州晟元芯片技术有限公司 | 可应用于移动通讯设备的可信计算平台芯片及其认证方法 |
CN102763114A (zh) * | 2010-02-16 | 2012-10-31 | 诺基亚公司 | 用于使用pcr重用和现有基础架构提供证明的方法和装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3829509B2 (ja) * | 1998-12-16 | 2006-10-04 | 富士ゼロックス株式会社 | 認証方法 |
US7243233B2 (en) * | 2002-06-28 | 2007-07-10 | Hewlett-Packard Development Company, L.P. | System and method for secure communication between electronic devices |
KR100951094B1 (ko) * | 2003-10-17 | 2010-04-07 | 인터내셔널 비지네스 머신즈 코포레이션 | 프라이버시 보존 방법 및 시스템, 컴퓨터 판독가능 저장 매체 |
US7644278B2 (en) | 2003-12-31 | 2010-01-05 | International Business Machines Corporation | Method for securely creating an endorsement certificate in an insecure environment |
US7600113B2 (en) * | 2004-02-20 | 2009-10-06 | Microsoft Corporation | Secure network channel |
US7574600B2 (en) * | 2004-03-24 | 2009-08-11 | Intel Corporation | System and method for combining user and platform authentication in negotiated channel security protocols |
CN101243455A (zh) * | 2005-08-12 | 2008-08-13 | 松下电器产业株式会社 | 认证系统 |
US8576846B2 (en) * | 2005-10-05 | 2013-11-05 | Qualcomm Incorporated | Peer-to-peer communication in ad hoc wireless network |
US7913086B2 (en) | 2007-06-20 | 2011-03-22 | Nokia Corporation | Method for remote message attestation in a communication system |
KR100917601B1 (ko) * | 2007-07-03 | 2009-09-17 | 한국전자통신연구원 | 인증 재전송 공격 방지 방법 및 인증 시스템 |
US8104073B2 (en) * | 2007-08-10 | 2012-01-24 | Juniper Networks, Inc. | Exchange of network access control information using tightly-constrained network access control protocols |
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) |
JP2009258860A (ja) * | 2008-04-14 | 2009-11-05 | Sony Corp | 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム |
KR20110035573A (ko) * | 2009-09-30 | 2011-04-06 | 주식회사 케이티 | 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법 |
US8700893B2 (en) * | 2009-10-28 | 2014-04-15 | Microsoft Corporation | Key certification in one round trip |
FR2970612B1 (fr) * | 2011-01-19 | 2013-01-04 | Natural Security | Procede d'authentification d'un premier equipement de communication par un second equipement de communication |
US9456330B2 (en) * | 2013-08-09 | 2016-09-27 | Alcatel Lucent | Two-stage device-to-device (D2D) discovery procedures |
CN103607290B (zh) * | 2013-10-25 | 2016-09-21 | 小米科技有限责任公司 | 一种设置网络连接参数的方法和装置 |
US20150229475A1 (en) * | 2014-02-10 | 2015-08-13 | Qualcomm Incorporated | Assisted device provisioning in a network |
US9652631B2 (en) * | 2014-05-05 | 2017-05-16 | Microsoft Technology Licensing, Llc | Secure transport of encrypted virtual machines with continuous owner access |
-
2015
- 2015-08-07 US US14/821,616 patent/US9768966B2/en active Active
-
2016
- 2016-06-22 JP JP2017556870A patent/JP6496424B2/ja active Active
- 2016-06-22 GB GB1716486.4A patent/GB2553457A/en not_active Withdrawn
- 2016-06-22 WO PCT/US2016/038762 patent/WO2017027104A1/en active Application Filing
- 2016-06-22 CN CN201680024917.2A patent/CN107743624B/zh active Active
- 2016-06-22 KR KR1020177031613A patent/KR102062823B1/ko active IP Right Grant
- 2016-06-22 EP EP16742070.2A patent/EP3332347B1/en active Active
- 2016-06-22 DE DE112016003625.6T patent/DE112016003625T5/de not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394283A (zh) * | 2008-11-04 | 2009-03-25 | 西安西电捷通无线网络通信有限公司 | 一种基于三元对等鉴别(TePA)的可信平台验证方法 |
CN102763114A (zh) * | 2010-02-16 | 2012-10-31 | 诺基亚公司 | 用于使用pcr重用和现有基础架构提供证明的方法和装置 |
CN101986641A (zh) * | 2010-10-20 | 2011-03-16 | 杭州晟元芯片技术有限公司 | 可应用于移动通讯设备的可信计算平台芯片及其认证方法 |
Non-Patent Citations (1)
Title |
---|
一种基于可信计算的P2P信誉管理模型;栗民 等;《计算机安全》;20111115(第11期);6-10 * |
Also Published As
Publication number | Publication date |
---|---|
US9768966B2 (en) | 2017-09-19 |
KR20170133463A (ko) | 2017-12-05 |
CN107743624A (zh) | 2018-02-27 |
JP6496424B2 (ja) | 2019-04-03 |
EP3332347A1 (en) | 2018-06-13 |
GB201716486D0 (en) | 2017-11-22 |
US20170041147A1 (en) | 2017-02-09 |
EP3332347B1 (en) | 2019-05-08 |
DE112016003625T5 (de) | 2018-05-03 |
JP2018528629A (ja) | 2018-09-27 |
KR102062823B1 (ko) | 2020-01-07 |
GB2553457A (en) | 2018-03-07 |
WO2017027104A1 (en) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107743624B (zh) | 用于对等证实的方法、系统和机器可读介质 | |
US9692599B1 (en) | Security module endorsement | |
US10437985B2 (en) | Using a second device to enroll a secure application enclave | |
CN109075976B (zh) | 取决于密钥认证的证书发布 | |
US20190140848A1 (en) | Decentralized Access Control for Cloud Services | |
US8584224B1 (en) | Ticket based strong authentication with web service | |
JP6371919B2 (ja) | セキュアなソフトウェアの認証と検証 | |
WO2019218919A1 (zh) | 区块链场景下的私钥管理方法、装置及系统 | |
CN107409128B (zh) | 使用受信许可证代理进行安全服务器访问的技术 | |
CN106716957A (zh) | 高效且可靠的认证 | |
US20150281225A1 (en) | Techniques to operate a service with machine generated authentication tokens | |
US10609070B1 (en) | Device based user authentication | |
CN108140093A (zh) | 使用用于设备的硬件信任根来迁移秘密 | |
US20140013109A1 (en) | Secure delivery of trust credentials | |
WO2021012978A1 (zh) | 检测硬件的方法、装置、设备及存储介质 | |
WO2018112482A1 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
US11681513B2 (en) | Controlled scope of authentication key for software update | |
JP6387908B2 (ja) | 認証システム | |
US11765149B2 (en) | Secure data provisioning | |
CN107077568B (zh) | 对称密钥和信任链 | |
JP6787880B2 (ja) | パスワードの照合のための記号入力のタイミングの使用 | |
US9177123B1 (en) | Detecting illegitimate code generators | |
CN105359453B (zh) | 基于匿名服务器的用户设置保护 | |
CN114117388A (zh) | 设备注册方法、设备注册装置、电子设备以及存储介质 | |
US20240364734A1 (en) | System and method for security management in distributed systems |
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 |