CN107251481A - 利用匿名密钥系统进行可信平台模块认证和证明 - Google Patents
利用匿名密钥系统进行可信平台模块认证和证明 Download PDFInfo
- Publication number
- CN107251481A CN107251481A CN201580058696.6A CN201580058696A CN107251481A CN 107251481 A CN107251481 A CN 107251481A CN 201580058696 A CN201580058696 A CN 201580058696A CN 107251481 A CN107251481 A CN 107251481A
- Authority
- CN
- China
- Prior art keywords
- module
- credible platform
- certificate
- platform
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/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
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or 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/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
-
- 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/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及利用匿名密钥系统进行可信平台模块认证和证明。一般地,可以通过使用匿名密钥系统(AKS)认证在利用集成TPM的设备中支持TPM认证和TPM证明。示例性设备可以至少包括将AKS和TPM固件(FW)加载到运行时环境中的组合式AKS和TPM资源,所述运行时环境可以进一步至少包括操作系统(OS)加密模块、AKS服务模块以及TPM认证和证明(CA)模块。对于TPM认证,所述CA模块可以与所述运行时环境中的其他模块进行交互,以生成经AKS证书签名的TPM证书,所述TPM证书可以被传送到认证平台进行验证。对于TPM证明,所述CA模块使得TPM凭证连同所述TPM和/或AKS证书一起被提供给证明平台进行验证。
Description
技术领域
本公开涉及系统安全,并且更具体地涉及一种使用匿名密钥系统来支持可信平台模块认证和证明的系统。
背景技术
基于现在可以电子地进行的越来越多种类的事务,保护电子信息已经成为了重要问题。包括例如黑客、如病毒、rootkit等恶意软件(例如,恶意软件(malware))等的各种威胁共享至少一个目的:规避现有保护措施以便获得对另一个用户设备的访问或控制。采用设备来执行日常事务的用户可能并未意识到他们的设备已经被损坏,并且可能正不知不觉地向第三方提供敏感的个人数据、财务数据和/或专有数据。正持续开发用于防止这些类型的攻击的技术。然而,随着新病毒保护策略出现,黑客正发现在设备内的更低层处进行攻击的方式,获得在设备中具有比保护软件更高优先级的层处的访问和/或控制。因此,设备制造商正将安全措施建立到设备的实际硬件中。例如,这些安全特征可以在设备初始化的早期阶段发起,并且可以通过在将程序加载到设备中时执行安全检查来确保稍后加载的程序是安全的。
基于硬件的安全系统的至少一个示例是可信平台模块(TPM)。TPM是安全密码处理器的国际标准,可以是专用于通过将加密密钥集成到设备中来保护硬件的分立式微处理器。TPM的技术规范由称为可信计算组(TCG)的计算机行业联盟维护。与2.0版本的TPM标准一致,证明标识密钥(AIK)的生成需要制造商提供的背书密钥(EK)和EK证书。分立式TPM解决方案通常包括片上存储装置,所述片上存储装置能够容纳EK和EK证书。然而,正在考虑新的没有可用于EK和EK证书的空间的集成解决方案。与此要求一致,使用集成TPM的设备可能需要专门用于EK和EK证书的串行外设接口(SPI)闪存,这可能需要由原始设备制造商(OEM)组装后提供给SPI闪存。制造过程的这种变化可能导致使用集成TPM的设备的成本大幅增加。
附图说明
所要求保护的主题的各个实施例的特征和优点将随着以下具体实施方式进行并且通过参照附图变得明显,其中,相同的数字指代相同的部件,并且在附图中:
图1示出了根据本公开的至少一个实施例的利用匿名密钥系统进行TPM认证和证明的示例性系统;
图2示出了根据本公开的至少一个实施例的利用包括多个可信执行环境的匿名密钥系统进行TPM认证和证明的替代示例性系统;
图3示出了根据本公开的至少一个实施例的用于设备和构成可用远程资源的至少一个设备的示例性配置;
图4示出了根据本公开的至少一个实施例的认证的示例;
图5示出了根据本公开的至少一个实施例的认证的示例性实施方式;
图6示出了根据本公开的至少一个实施例的证明的示例;
图7示出了根据本公开的至少一个实施例的证明的示例性实施方式;
图8示出了根据本公开的至少一个实施例的包括二次验证的证明的替代示例;并且
图9示出了根据本公开的至少一个实施例的包括基于AKS的验证的证明的替代示例。
虽然以下具体实施方式将参考说明性实施例进行,但是许多替代方案、修改及其变化将对本领域的技术人员而言是明显的。
具体实施方式
本公开涉及利用匿名密钥系统进行可信平台模块认证和证明。一般地,可以通过使用匿名密钥系统(AKS)认证在利用集成TPM的设备中支持TPM认证和TPM证明。一种设备可以至少包括例如组合式AKS和TPM资源,所述组合式AKS和TPM资源将AKS和TPM固件(FW)加载到所述设备中的运行时环境中。所述运行时环境还可以至少包括操作系统(OS)加密模块、AKS服务模块以及TPM认证和证明(CA)模块。所述CA模块可以与位于所述设备之外(例如,在可通过网络访问的远程资源中)的认证和证明平台进行交互。对于TPM认证,所述CA模块可以与所述运行时环境中的其他模块进行交互,以生成经AKS证书签名的TPM证书,所述TPM证书可以被传送到认证平台进行验证。对于TPM证明,所述CA模块可以致使将多个TPM凭证提供给证明平台进行验证,所述TPM凭证可以和所述TPM证书和/或AKS证书一起提供。
在至少一个实施例中,使用AKS来支持TPM认证和证明的设备可以包括通信模块、组合式AKS和集成TPM资源、以及运行时环境。所述通信模块可以用于至少与远程资源进行通信。所述组合式AKS和集成TPM资源可以用于将AKS和TPM固件模块加载到所述运行时环境中。所述运行时环境可以进一步至少包括操作系统加密模块、AKS服务模块以及接口模块,所述接口模块用于经由所述通信模块至少与所述远程资源中的认证平台进行交互。
在至少一个实施例中,所述接口模块可以进一步用于使所述服务模块从所述固件模块请求AKS证书;以及与所述加密模块进行交互,以便生成TPM密钥句柄并且基于所述TPM密钥句柄和所述AKS证书中的至少一者来发起对TPM证书的最终确定。所述匿名密钥系统和可信平台模块固件模块可以包括被加载到第一可信执行环境中的匿名密钥系统固件模块、以及被加载到第二可信执行环境中的分开的可信平台模块固件模块。所述加密模块可以进一步用于:与所述固件模块进行交互,以便至少基于所述TPM密钥句柄生成所述TPM证书并且使用所述AKS证书对所述可信平台模块证书进行签名;以及向所述接口模块提供经签名的TPM证书。所述接口模块可以进一步用于:使所述通信模块将经签名的TPM证书传送到所述认证平台;以及经由所述通信模块从所述认证平台接收消息,所述消息至少指示经签名的TPM证书是有效的。
在相同或不同的实施例中,所述接口模块可以进一步用于:经由所述通信模块从所述远程资源中的证明平台接收对多个TPM凭证的请求;以及使所述加密模块从所述固件模块至少获得所述TPM凭证和所述TPM证书。所述接口模块可以进一步用于:使所述通信模块传送对所述请求的响应,所述响应至少包括供所述证明平台进行验证的所述TPM凭证;以及经由所述通信模块从所述证明平台接收消息,所述消息至少指示所述TPM凭证已被验证。在至少一个实施例中,对所述请求的所述响应可以进一步包括:供所述证明平台使用来验证所述TPM凭证的所述AKS证书或所述TPM证书。在替代实施例中,对所述请求的所述响应可以进一步包括:供所述证明平台使用来验证所述TPM证书的所述AKS证书;以及供所述证明平台使用来验证所述TPM凭证的所述TPM证书。与本公开一致,一种用于使用匿名密钥系统进行TPM认证和证明的示例性方法可以包括:将组合式AKS和TPM固件模块加载到设备中的运行时环境中,所述运行时环境进一步至少包括:操作系统加密模块;AKS服务模块;接口模块,所述接口模块用于至少与远程资源中的认证平台进行交互;以及在所述设备中触发TPM认证或TPM证明中的至少一者。
图1示出了根据本公开的至少一个实施例的利用匿名密钥系统进行TPM认证和证明的示例性系统。例如,系统100可以至少包括设备102和远程资源104。用户设备102的多个示例可以包括但是不限于:基于来自谷歌公司的 OS、来自苹果公司的和/或 OS、来自微软公司的 OS、来自Linux基金会的TizenTMOS、来自Mozilla项目的 OS、来自黑莓公司的 OS、来自Hewlett-Packard公司的 OS、来自Symbian基金会等的 OS等的移动通信设备,诸如蜂窝手机或智能电话等;移动计算设备,诸如来自苹果公司的谷歌公司的微软公司的三星公司的亚马逊公司的Kindle 等的平板电脑;包括由英特尔公司制造的低功耗芯片组的上网本、膝上型轻便电脑、掌上电脑等;通常固定的计算设备,诸如台式计算机、智能电视、小形状因子计算解决方案(例如,适用于空间有限的应用、电视机顶盒等),如英特尔公司的Next Unit of Computing(NUC)平台等。远程资源104可以包括经由网络连接可被用户设备102访问的至少一个计算设备。示例性网络可以包括但不限于:局域网(LAN)、广域网(WAN)(如互联网)、全球域网(GAN)等。在至少一个实施例中,远程资源104可以包括作为云计算架构的一部分运行的至少一个数据服务器。例如,云计算架构可以包括多个数据服务器,所述数据服务器单独地或一致地操作以向用户设备102提供各种数据处理相关的服务。
例如,设备102可以至少包括AKS和集成TPM资源106、以及运行时环境(RE)108。AKS和集成TPM资源106可以包括用于支持AKS和集成TPM两者的存储器(例如,至少包括AKS证书)和密码处理硬件两者。一般地,AKS可以是能够在保持源的身份匿名的同时生成用于证实数据源的数字签名的数字签名方案。来自英特尔公司的增强型隐私ID(EPID)技术是AKS的示例。例如,在EPID中,英特尔密钥生成设备(IKGF)可以发出包括公共公钥以及对应于公钥的私钥的组证书。在已经生成了对应于相同公钥的数百万个私钥之后,可以创建新的组。EPID私钥可以用于对数据进行“签名”,私钥签名可使用EPID公钥进行验证。私钥可以在制造时被设置到设备(例如,在设备102中的AKS和集成TPM资源106内部)。假定存在多个私钥匹配相同的公钥,签名验证器未直接知道哪个设备102对所述信息进行签名。这是AKS(如EPID)所满足的关键隐私要求。重要的是要注意,虽然EPID是AKS的示例,但与本公开一致的实施例不限于使用EPID的实施方式,并且可以基于现在或将来存在的另一AKS来实现。TPM是可用于生成用于安全相关操作的证书、密钥等的标准加密系统。例如,TPM可以生成几乎不可伪造的基于哈希的密钥(例如,TPM凭证),所述密钥将设备102的当前硬件和软件配置概括化。TPM凭证可以由第三方(例如证明平台(AP)120)进行验证,以验证设备102的配置自从第一次进行TPM认证以来没有改变,这可以证明设备102仍然是一个“可信”平台(例如,不被黑客、恶意软件等破坏)。再次,虽然本公开中引用了TPM,但TPM只是当今使用的设备完整性平台的示例,并且并不意味着将本文公开的各种系统和/或方法限制为专门用于TPM。公开的各种实施例可以同样适用于现在或将来存在的其他信任架构。
RE 108可以包括设备102中用于支持多个操作模块的设备和/或软件,所述操作模块例如包括AKS和TPM FW模块110(以下称为“FW模块110”)、OS加密模块112(以下称为“加密模块112”)、AKS服务模块114(以下称为“服务模块114”)以及CA模块116。将参照图3讨论可构成RE 108的设备的示例。一般地,RE 108中的操作模块110至116可以执行用于支持AKS证书的处理、以及为设备102生成TPS证书和TPS凭证的各种活动。FW模块110可以处理从与AKS和/或TPM相关联的其他模块112至116接收到的命令。加密模块112可以包括与设备102的OS(例如,微软Windows、苹果Mac OS、Linux等)一起提供的OS特定的加密描述。以Windows 8和EPID为例,对EPID进行处理可能需要OS Bcrypt/NCrypt库函数的一些修改。这些扩展可以集成在Windows 8中,或者可以由英特尔提供对BCrypt/NCrypt库模块的独特扩展。服务模块114可以包括用于管理AKS私钥、TPM密钥句柄(例如,TPM密钥句柄指向TPM密钥的位置)以及TPM证书的动态链接库(DLL)。CA 116可以是通过在TPM证明操作期间模块110至114通过其可以与用于TPM设备认证和证明平台(AP)120的认证平台(CP)118相互交互的接口,在在TPM证明操作中可以对设备102的可信平台状态进行验证。在一个实施例中,CA116可以包括用于保护设备102免受攻击的防恶意软件特征。在相同或不同的实施例中,由CA 118提供的认证功能和由AP 120提供的证明功能可以由相同的实体执行(例如,CA 118和AP 120可以被组合在远程资源104中的单个设备或设备组中)。
图2示出了根据本公开的至少一个实施例的利用包括多个可信执行环境的匿名密钥系统进行TPM认证和证明的替代示例性系统。在图2中公开的示例中,FW模块110可以被加载为两个分开的固件模块。例如,TPM FW模块200可以被加载到可信执行环境(TEE)202中,并且AKS FW模块204可以被加载到TEE 206中。TEE 204和206可以包括存储器的保护区域,在所述保护区域中可以执行已知良好程序,机密信息可以以安全的方式存储等。一般地,TEE 204和206可以各自包括一组计算资源,所述一组计算资源是安全的,使得在TEE 204和206内执行的程序以及与所述执行程序相关联的任何数据被隔离。在程序执行期间,外部参与者不能干扰或观察TEE 204和206内的程序/数据,除了该程序可以被发起或停止以及可以插入或删除相关联的数据之外。能够以受控的方式释放离开TEE 204和206的任何数据。与本公开一致,TEE204和206中的每一者内执行的至少一个已知良好程序可以执行本文关于TEE204和206所公开的任何或全部操作。在一个示例性实施方式中,TEE 204和206可以采用由英特尔公司开发的软件保护扩展(SGX)技术。SGX可以在系统存储器内提供安全和硬件加密的计算和存储区域,其内容不能被特权代码甚至通过将硬件探头应用到存储器总线而破译。当TEE 204和206被SGX保护时,与本公开一致的实施例使得入侵者不可能破译TEE204和206的内容。受保护的数据在SGX之外不能被观察到,并且因此在SGX之外是不可访问的。
在其中TEE 204和206采用SGX的示例性实施方式中,程序的身份(例如,基于每个程序的内容的加密哈希测量)可以被签名并存储在每个程序内。当所述程序被加载到SW112中时,处理器可以验证程序的测量(例如,由处理器计算)与先前嵌入在所述程序内的测量相同。用于签署嵌入式测量的签名也是可验证的,因为处理器可以提供有用于在程序加载时刻对签名进行验证的公钥。这样,恶意软件不能篡改程序而还不改变其可验证的测量。恶意软件也不能假冒签名,因为签名密钥与程序的作者是安全的。因此,软件可以不被任何恶意软件读取、写入或更改。此外,还可以在TEE模块106中保护保护数据。例如,SW 112中的已知良好程序可以对诸如密钥、密码、许可证等的数据进行加密,使得只有验证好的程序可以对该数据进行解密。具有至少两个分开的TEE模块202和206的至少一个益处是,如果TEE模块202或TEE模块206任一出故障或损坏,剩余的TEE将仍然是完整的并且分别保护TPM FW模块200或AKS FW模块204。
与本公开一致,AKS FW模块200可以用于经由例如可分开的证明信道来证明由TPMFW模块204执行的操作。可分开的证明信道可以提供用于倘若TEE 202被破坏时怀疑TPM FW模块200的证据。通过AKS证书对TPM证书进行签名(例如,认证)可以确认与TPM FW模块200隔离的AKS FW模块204证明TPM环境(包括对TPM密钥的保护)是完整的、可信赖的等。这种安排的至少一个益处是,TPM FW模块200可以能够处理TPM“现场升级”命令和其他TPM操作,所述TPM操作通常会引起对TPM FW模块200的可信赖性的质疑,但是由于在TEE 206中隔离的AKS FW模块204的存在而没有信任忧虑。由于AKS FW模块204可以客观地评估TPM FW模块200的信任,所以可以存在这种置信度。在至少一个实施例中,AKS FW模块204可以比TPM FW模块200更受约束和更不复杂。
图3示出了根据本公开的至少一个实施例的用于设备和构成可用远程资源的至少一个设备的示例性配置。具体地,设备102’和远程资源104’可以能够执行诸如在图1中所公开的示例性功能。然而,设备102’和远程资源104’仅意指作为在与本公开一致的实施例中可用的装置的示例,并且并不意在将这些各个实施例限制在任何特定方式的实现方式。
设备102’可以包括例如被配置成用于管理设备操作的系统模块300。系统模块300可以包括例如处理模块302、存储器模块304、电源模块306、用户接口模块308以及通信接口模块310。设备102’还可以包括通信模块312。虽然通信模块312已经被展示为与系统模块300分离,但是为了解释的目的,仅仅提供了图3中所示的示例实施方式。与通信模块312相关联的一些或全部功能可以并入系统模块300。
在设备102’中,处理模块302可以包括位于分离部件中的一个或多个处理器、或者替代性地,在单个部件中(例如,在片上系统(SoC)配置中)具体化的一个或多个处理核以及任何处理器相关的支持电路(例如,桥接接口等)。示例性处理器可以包括但不限于:可从英特尔公司获得的各种基于x86的微处理器,包括Pentium、Xeon、Itanium、Celeron、Atom、Core i系列产品族的微处理器;高级RISC(例如,精简指令集计算)机器或“ARM”处理器等。支持电路的示例可以包括芯片组(例如,可从英特尔公司获得的北桥、南桥等),该芯片组被配置为提供接口,处理模块302可以通过该接口与设备102’中的不同总线等上以不同速度操作的其他系统组件相互作用。通常与支持电路相关联的功能的部分或全部还可以包括在与处理器一样的物理封装体中(例如,诸如在可从英特尔公司获得的处理器的沙桥(SandyBridge)族中)。
处理模块302可以被配置成用于执行设备102’中的各个指令。指令可以包括程序代码,所述程序代码被配置成用于使处理模块302执行与读数据、写数据、处理数据、制定数据、转换数据、变换数据等相关的活动。信息(例如,指令、数据等)可以被存储在存储器模块304中。存储器模块304可以包括固定或可移除格式的随机存取存储器(RAM)或只读存储器(ROM)。RAM可以包括被配置成用于在设备102’的操作过程中保持信息的易失性存储器,诸如例如静态RAM(SRAM)或动态RAM(DRAM)。ROM可以包括基于BIOS、UEFI等配置的用于在设备102’被激活时提供指令的非易失性(NV)存储器模块、诸如电子可编程ROM(EPROMS)的可编程存储器、闪存等。其他固定/可移除存储器可以包括但不限于:磁存储器(诸如例如,软盘、硬盘驱动器等)、电子存储器(诸如固态闪存(例如,嵌入式多媒体卡(eMMC))等)、可移除存储卡或可移除存储棒(例如,微型存储卡(uSD)、USB等)、光存储器(诸如基于致密盘的ROM(CD-ROM))、数字视频盘(DVD)、蓝光碟等。
电源模块306可以包括内部电源(例如,电池、燃料电池等)和/或外部电源(例如,机电或太阳能发电机、电网、外部燃料电池等)、以及相关电路(被配置成用于为设备102’供应操作所需的电源)。用户接口模块308可以包括硬件和/或软件以便允许用户与设备102’(诸如例如,各种输入机构(例如,麦克风,开关,按钮,旋钮,键盘,扬声器,触敏表面,被配置成用于捕获图像和/或感测接近度、距离、运动、姿势、取向、生物测定数据的一个或多个传感器等)以及各种输出机构(例如,扬声器,显示器,发光/闪烁指示器,针对振动、运动的机电部件等)进行交互。用户接口模块308中的硬件可以并入设备102’内和/或可以经由有线或无线通信介质耦合至设备102’。
通信接口模块310可以被配置成用于对分组路由以及通信模块312的其他控制功能进行管理,所述通信模块可以包括被配置成用于支持有线和/或无线通信的资源。在某些实例中,设备102’可以包括由集中通信接口模块310管理的多于一个的通信模块312(例如,包括针对有线协议和/或无线电台的分离物理接口模块)。有线通信可以包括串行和并行有线介质,例如以太网、通用串行总线(USB)、火线、霹雳、数字视频接口(DVI)、高清晰度多媒体接口(HDMI)等。例如,无线通信可以包括近距离无线介质(例如基于RF识别(RFID)或近场通信(NFC)标准、红外(IR)等)的射频(RF))、短程无线介质(例如,蓝牙、WLAN、Wi-Fi等)、远程无线介质(例如,蜂窝广域无线电通信技术、基于卫星的通信等)、通过声波的电子通信等。在一个实施例中,通信接口模块310可以被配置为防止在通信模块312中活动的无线通信彼此干扰。在执行此功能时,通信接口模块310可以基于例如消息等待传输的相对优先级为通信模块312安排活动。虽然图3中所公开的实施例展示了通信接口模块310与通信模块312分离,但是将通信接口模块310和通信模块312的功能并入同一模块内还可以是可能的。
与本公开一致,RE 108的至少一部分(例如,可以至少包括RE 108的软件部分的RE108’)可以驻留在存储器模块306中。类似地,CP 118’和AP 120’的至少一部分可以驻留在远程资源104’中。远程资源104’可以包括基本上类似于用户设备102’的计算资源,所述用户设备例如包括系统模块300’、处理模块302’、存储器模块304’、电源模块306’、用户接口模块308’、通信接口模块310’以及通信模块312’。模块300’至312’的加法或减法可以基于远程资源104’的特定实施方式。例如,假定远程资源104’包括机架服务器(例如,在云计算架构中),则可以省略部分或全部用户接口模块308’以节省用于处理器、存储装置等的空间,在需要时由远程客户端提供用户接口功能。RE 108’中的操作模块(例如,CA模块116)可以通过使通信模块312经由通信模块312’发送可以在远程资源104’中可接收到的消息来与CP 118’和/或AP 120’进行交互。
图4示出了根据本公开的至少一个实施例的认证的示例。一般地,图4公开了在设备102的TPM认证期间可以在操作模块110至116与CP 118之间发生的交互的示例。可以通过例如通过设备102的手动配置等来激活(例如,发起或重新发起)设备102、激活设备中需要TPM认证的应用来开始TPM认证。然后,CA模块可以在400处请求服务模块114获得所述设备的AKS证书。服务模块114然后可以与FW模块110进行交互,如在402处所示,使得FW模块110从例如AKS和集成TPM资源106中的存储装置检索AKS证书。服务模块114然后可以在404处向CA模块116提供AKS证书。
CA模块116可以与加密模块112进行交互,以生成TPM密钥句柄,如在406处所示,然后可以在408处基于AKS证书发起对TPM密钥的最终确定。加密模块112然后可以与FW模块110进行交互以在410处生成TPM证书,并且然后在412处对所述TPM证书进行签名。加密模块112然后可以在414处将经AKS证书签名的TPM证书提供给CA模块116,所述CA模块可以继续使设备102在416处向CP 118传送经签名的TPM证书。例如,在418处,TPM认证最初可以包括CP 118对TPM证书上的AKS签名进行验证,并且然后基于TPM证书生成用于设备102的TPM凭证。CP 118然后可以在420处至少将TPM凭证传送回设备102中的CA模块116。然后可以在422处将设备102视为TPM认证成功。
虽然在图4所示的操作中没有公开,但CP 118还可以负责撤销设备中的TPM凭证102。CP 118可以管理流氓设备102的列表。还可以保留为这些设备发出的TPM凭证列表。当TPM凭证被撤销时,所有相应的TPM证书也必须撤销。例如,假设由于所利用的TPM FW漏洞导致TPM证书需要被撤销,至少一个解决方案将首先包括AKS证书发出者首先撤销受影响的公钥组的所有AKS证书。然而,AKS组证书的撤销将影响密钥组中的所有私钥持有者,并且因此,如此大规模的撤销可能被证明是过度杀伤的,除非存在广泛的系统问题。无论TPM系统状态如何,设备102中的AKS系统都可以是完整的。如图2所公开的,在至少一个实施例中,AKS和TPM系统可以在设备102中被隔离。TEE 202的证明中将揭示TPM FW模块200的证明。AKS FW模块204则应该在这些条件下拒绝对TPM证书进行签名(背书)。无论如何确定TPM和/或AKS FW缺陷(例如,基于设备102的实施方式),CP 118则可以撤销与TPM FW的坏版本相关联的TPM根密钥。CP 118然后可以发出对其CRL分发服务器的证书撤销列表(CRL)进行更新,所述CRL分发服务器在至少一个示例性实施方式中被定期下载(例如,每周一次)。TPM凭证的撤销可以在设备102下一次尝试使用TPM时实现。设备102上的TPM软件将被通知撤销,并且将触发TPM FW更新以修复导致原始撤销的漏洞。
图5示出了根据本公开的至少一个实施例的认证的示例性实施方式。特别地,示例性实施方式500在运行Windows OS的设备102上使用EPID。TPM认证可以由CA模块116’初始向服务模块114’发出GetEpidCert()命令开始,这可以使服务模块114’随后将GetGid()指令传送到FW模块110’。FW模块110’可以返回包括EPID认证的:GID。服务模块114’可以提取如ExtracEpidCert()指令所示的EPID认证,并且可以将:EPID_CERT发送到CA模块116’。CA模块116’然后可以向加密模块112’发出NCryptCreatePersistedKey()指令,所述加密模块112可以将:AIK_KEY_H ANDLE提供回CA模块116’。CA模块116’然后可以向加密模块112’发出NcryptSetProperty()命令、之后是NcryptFinalizeKey(EPID_SIG_ON_KEY)命令,以使加密模块112’与FW模块110’一起工作来生成经签名的TPM密钥。
然后,加密模块112’可以向FW模块110’发出TPM2_Create(EPID_OID)指令,所述FW模块可以用可对应于图4中的TPM证书的证明标识密钥(AIK)进行响应。加密模块112’然后可以使用TPM2_CertifyCreation(AIK_PUB_EPID_SIG)命令来指示FW模块110’用EPID证书对AIK进行签名。然后可以将经签名的AIK证书(例如:ID_BINDING_EPID_SIG)提供给CA模块116’,所述CA模块116可以在TpmAttPubKeyFromIdBinding(AikPub,EPID_SIG,EPID_CERT)消息中将ID_BINDING_EPID_SIG传送到CP 118’。CP 118’可以ValidateEpidSig()(例如,对AIK上的EPID签名进行验证)并且然后GenAikCred()(例如,生成AIK凭证)),然后将它们传送回CA模块116’作为:SUCCESS(:成功)。
图6示出了根据本公开的至少一个实施例的证明的示例。一般地,图6公开了在设备102的TPM“可信平台”状态的认证期间可以在操作模块110至116与CP 118之间发生的交互的示例。AP 120可以在600处通过经由CA模块116从设备102请求TPM凭证来开始证明。CA模块116然后可以从所述加密模块请求TPM凭证,如在602处所示。在602处接收到的请求可以使加密模块112与FW模块602,以获得所述TPM凭证,如在604处所示。然后,加密模块12可以在606处将TPM凭证连同TPM证书一起提供给CA模块116,并且CA模块可以在608处使设备102传送对所述请求的响应,所述响应至少包括所述TPM凭证和TPM证书。如在610处所示,AP120然后可以在612处使用在所述响应中提供的TPM证书来对所述TPM凭证进行验证,并且如果被验证,则可以将成功验证的确认传送到CA模块116。然后可以在614处将设备102视为“可信平台”。
图7示出了根据本公开的至少一个实施例的证明的示例性实施方式。特别地,示例性实施方式700在运行Windows OS的设备102上使用EPID。AP 120’可以向CA模块116’传送GetQuote命令。然后可以将TpmAttGeneratePlatformAttestation(AIK_KEY_HANDLE)指令从CA模块116’发送到加密模块112’,这使加密模块112’向FW模块110’发送TPM2_Quote()命令。然后可以将引用(例如,TPM凭证)从FW模块110’转发到加密模块112’、到CA模块116’。CA模块116’然后可以使设备102将SendAttestation(Quote)消息传送到AP 120’,所述AP可以对所述引用进行验证。如果所述引用被验证,则AP 120’可以发送:SUCCESS消息,通知设备102中的CA模块116’验证成功。
图8示出了根据本公开的至少一个实施例的包括二次验证的证明的替代示例。一般地,图8中的操作公开了证明操作,其中AKS证书和TPM证书两者都用于对设备102的可信平台状态进行验证。从结构的观点来看,模块110至114(例如,如图1所示)可以是相同的。然而,在图8所公开的实施例中,CA模块116可以保留AKS证书和经AKS证书签名的TPM证书,并且可以将经TPM证书签名的TPM凭证、经AKS证书和AKS证书签名的TPM证书附加到所述证明响应。所述证明操作则可以被修改为接受可以包括在AKS签名操作中的基于签名的撤销列表(SIG-RL)结构。经AKS密钥签名的TPM证书则可以由AP 120作为TPM证书注册协议的一部分进行验证(例如,利用具有包含AKS签名的扩展的公钥加密标准(PKCS)#10)。然后,除了组证书撤销之外,AKS签名验证可以使用证书撤销列表(CRL)来检查签名撤销。AP 118还可以包括指示使用AKS证书证明了TPM证书并且CA对所述签名进行了验证的策略对象标识符(OID)。任选地,PK#10扩展可以直接包括在用于第三方验证和检查的证书中。
在图8中,在800至806处所示的模块交互可以与图6所示的交互500至506基本相同。然而,服务模块114可以在808处将TPM凭证、TPM证书以及AKS证书添加到响应,在810处将所述响应发送到AP 120。AP 120然后可以在812处使用AKS证书对TPM证书进行验证,并且然后可以在814处使用经验证的TPM证书对TPM凭证进行验证。与图5类似,如果在812和814处验证成功,则如在816处所示,可以将成功消息从AP 120发送到CA模块116,并且在818处可以将设备102视为可信平台。
图9示出了根据本公开的至少一个实施例的包括基于AKS的验证的证明的替代示例。一般地,图9中的操作公开了证明操作,其中AP 120可以仅使用AKS证书来对TPM凭证进行验证,从而消除对如图3和图4中所公开的对TPM凭证进行认证的需要。类似于图8,模块110至114(例如,如图1所示)可以是相同的。然而,CA模块116可以能够保留AKS证书并且使TPM引用响应附加有AKS证书。引用接口可能被修改为接受AKS签名操作中所包含的SIG-RL撤销结构。此外,AP 120必须能够对使用基于AKS的签名算法签名的TPM凭证进行认证。除了组证书撤销之外,AKS签名验证使用CRL来检查签名撤销。在至少一个实施例中,AKS证书验证还可以被卸载到请求者能够信任的另一实体(例如,远程资源104中的另一服务器)。
在图9中,在900至906处所示的模块交互可以与图5所示的交互500至506和图7所示的交互700至706的基本相同。然而,在908处,只有TPM凭证和AKS证书可以被附加到所述响应。CA模块116然后可以在912处使设备102将所述响应传送到AP 120,所述AP可以基于AKS证书来对TPM凭证进行验证。与图5和图7类似,如果在912处验证成功,则如在914处所示,可以将成功消息从AP 120传送到CA模块116,并且在916处可以将设备102视为可信平台。
虽然图4和图6展示了根据不同实施例的操作,但是将理解的是,对于其他实施例来说,并非图4和图6中所描绘的所有操作都是必需的。确实,在此完全可以设想,在本公开的其他实施例中,可以采用任何附图中未具体地示出、但仍然完全符合本公开的方式将图4和图6中所描绘的操作和/或本文中所描述的其他操作进行组合。因而,对未在一幅图中准确示出的特征和/或操作有所涉及的权利要求被视为落入本公开的范围和内容内。
如在本申请和权利要求书中所使用的,由术语“和/或”接合的一系列项目可意指所列项目的任何组合。例如,短语“A、B和/或C”可意指A;B;C;A和B;A和C;B和C;或A、B和C。如在本申请和权利要求书中所使用的,由术语“中的至少一项”接合的一系列项目可意指所列术语的任何组合。例如,短语“A、B或C中的至少一项”可意指A;B;C;A和B;A和C;B和C;或A、B和C。
如本文中任何实施例所使用的,术语“模块”可以指被配置成用于执行前述操作中任一操作的软件、固件和/或电路。软件可以具体化为非瞬态计算机可读存储介质上所记录的软件包、代码、指令、指令集和/或数据。固件可以具体化为存储器设备中硬编码(例如,非易失性的)的代码、指令或指令集和/或数据。如本文中任何实施例所使用的,“电路”可以例如单一地或以任何组合形式包括硬接线电路、可编程电路(诸如包括一个或多个个体指令处理核的计算机处理器)、状态机电路、和/或存储有可由可编程电路执行的指令的固件。这些模块可以统一地或单独地具体化为形成例如,集成电路(IC)、片上系统(SoC)、台式计算机、膝上计算机、平板计算机、服务器、智能电话等的较大系统的一部分的电路。
在此描述的任何操作可以在系统中实现,所述系统包括具有单独地或组合地存储在其上的多条指令的一个或多个存储介质(诸如,非瞬态存储介质),当这些指令由一个或多个处理器执行时执行这些方法。此处,处理器可以包括例如:服务器CPU、移动装置CPU、和/或其他可编程电路。而且,旨在使得在此描述的操作可以跨多个物理设备(诸如在多于一个的不同物理位置处的处理结构)分布。存储介质可以包括任何类型的有形介质,例如包括以下各项的任何类型的磁盘:硬盘、软盘、光盘、压缩盘-只读存储器(CD-ROM)、可复写致密盘(CD-RW)、和磁光盘、如只读存储器(ROM)的半导体器件、如动态和静态RAM的随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、固态盘(SSD)、嵌入式多媒体卡(eMMC)、安全数字输入/输出(SDIO)卡、磁卡或光卡、或者适合于存储电子指令的任何类型的介质。其他实施例可以实现为由可编程控制设备执行的软件模块。
因此,本申请涉及利用匿名密钥系统进行可信平台模块认证和证明。一般地,可以通过使用匿名密钥系统(AKS)认证在利用集成TPM的设备中支持TPM认证和TPM证明。示例性设备可以至少包括将AKS和TPM固件(FW)加载到运行时环境中的组合式AKS和TPM资源,所述运行时环境可以进一步至少包括操作系统(OS)加密模块、AKS服务模块以及TPM认证和证明(CA)模块。对于TPM认证,所述CA模块可以与所述运行时环境中的其他模块进行交互,以生成经AKS证书签名的TPM证书,所述TPM证书可以被传送到认证平台进行验证。对于TPM证明,所述CA模块可以致使将多个TPM凭证和所述TPM和/或AKS证书一起提供给证明平台进行验证。
以下示例涉及进一步的实施例。如以下所提供的,本公开的以下示例可以包括主题,诸如设备、方法、用于存储指令(当被执行时使机器基于所述方法执行动作)的至少一个机器可读介质、用于基于所述方法执行动作的装置、和/或用于利用匿名密钥系统进行TPM认证和证明的系统。
根据示例1,提供了一种用于使用匿名密钥系统来支持可信平台模块认证和证明的设备。所述设备可以包括:通信模块,所述通信模块用于至少与远程资源进行通信;以及组合式匿名密钥系统和集成可信平台模块资源,所述组合式匿名密钥系统和集成可信平台模块资源用于将匿名密钥系统和可信平台模块固件模块加载到所述设备中的运行时环境中,所述运行时环境进一步至少包括:操作系统加密模块;匿名密钥系统服务模块;以及接口模块,所述接口模块用于经由所述通信模块至少与所述远程资源中的认证平台进行交互。
示例2可以包括示例1的要素,其中,所述匿名密钥系统和可信平台模块固件模块包括被加载到第一可信执行环境中的匿名密钥系统固件模块、以及被加载到第二可信执行环境中的分开的可信平台模块固件模块。
示例3可以包括示例1和2中任一项的要素,其中,所述接口模块进一步用于:使得由所述服务模块从所述固件模块中请求匿名密钥系统证书;以及与所述加密模块进行交互,以便生成可信平台模块密钥句柄并且基于所述可信平台模块密钥句柄和所述匿名密钥系统证书中的至少一者来发起对可信平台证书的最终确定。
示例4可以包括示例3的要素,其中,所述加密模块进一步用于:与所述固件模块进行交互,以便至少基于所述可信平台模块密钥句柄生成所述可信平台模块证书并且使用所述匿名密钥系统证书对所述可信平台模块证书进行签名;以及向所述接口模块提供经签名的可信平台模块证书。
示例5可以包括示例4的要素,其中,所述接口模块进一步用于:使所述通信模块将经签名的可信平台模块证书传送到所述认证平台;以及经由所述通信模块从所述认证平台接收消息,所述消息至少指示经签名的可信平台模块证书是有效的。
示例6可以包括示例3至5中任一项的要素,其中,所述接口模块进一步用于:经由所述通信模块从所述远程资源中的证明平台接收对可信平台模块凭证的请求;以及使所述加密模块从所述固件模块至少获得所述可信平台模块凭证和所述可信平台模块证书。
示例7可以包括示例6的要素,其中,认证和证明是由相同的平台进行处理的。
示例8可以包括示例6和7中任一项的要素,其中,所述接口模块进一步用于:使所述通信模块传送对所述请求的响应,所述响应至少包括供由所述证明平台进行验证的所述可信平台模块凭证;以及经由所述通信模块从所述证明平台接收消息,所述消息至少指示所述可信平台模块凭证已被验证。
示例9可以包括示例8的要素,其中,对所述请求的所述响应进一步包括:供所述证明平台使用来验证所述可信平台模块凭证的所述匿名密钥系统证书或所述可信平台模块证书。
示例10可以包括示例8至9中任一项的要素,其中,对所述请求的所述响应进一步包括:供所述证明平台在验证所述可信平台模块证书时使用的所述匿名密钥系统证书;以及供所述证明平台在验证所述可信平台模块凭证时使用的所述可信平台模块证书。
示例11可以包括示例3至10中任一项的要素,其中,所述接口模块进一步用于:经由所述通信模块从所述远程资源中的证明平台接收对可信平台模块凭证的请求;使所述加密模块从所述固件模块至少获得所述可信平台模块凭证和所述可信平台模块证书;使所述通信模块传送对所述请求的响应,所述响应至少包括供由所述证明平台进行验证的所述可信平台模块凭证;以及经由所述通信模块从所述证明平台接收消息,所述消息至少指示所述可信平台模块凭证已被验证。
示例12可以包括示例1至11中任一项的要素,其中,所述匿名密钥系统基于增强型隐私标识(EPID)技术。
根据示例13,提供了一种用于使用匿名密钥系统进行可信平台模块认证和证明的方法。所述方法可以包括:将组合式匿名密钥系统和可信平台模块固件模块加载到设备中的运行时环境中,所述运行时环境进一步至少包括:操作系统加密模块;匿名密钥系统服务模块;接口模块,所述接口模块用于至少与远程资源中的认证平台进行交互;以及在所述设备中触发可信平台模块认证或可信平台模块证明中的至少一者。
示例14可以包括示例13的要素,其中,触发可信平台模块认证包括:使得由所述服务模块从所述固件模块请求匿名密钥系统证书;以及与所述加密模块进行交互,以便生成可信平台模块密钥句柄并且基于所述可信平台模块密钥句柄和所述匿名密钥系统证书中的至少一者来发起对可信平台模块证书的最终确定。
示例15可以包括示例14的要素,并且可以进一步包括:与所述固件模块进行交互,以便至少基于所述可信平台模块密钥句柄生成所述可信平台模块证书并且使用所述匿名密钥系统证书对所述可信平台模块证书进行签名;以及向所述接口模块提供经签名的可信平台模块证书。
示例16可以包括示例15的要素,并且可以进一步包括:使所述通信模块将经签名的可信平台模块证书传送到所述认证平台;以及经由所述通信模块从所述认证平台接收消息,所述消息至少指示经签名的可信平台模块证书是有效的。
示例17可以包括示例14至16中任一项的要素,并且可以进一步包括:与所述固件模块进行交互,以便至少基于所述可信平台模块密钥句柄生成所述可信平台模块证书并且使用所述匿名密钥系统证书对所述可信平台模块证书进行签名;向所述接口模块提供经签名的可信平台模块证书;使所述通信模块将经签名的可信平台模块证书传送到所述认证平台;以及经由所述通信模块从所述认证平台接收消息,所述消息至少指示经签名的可信平台模块证书是有效的。
示例18可以包括示例14至17中任一项的要素,其中,触发可信平台模块证明包括:经由所述通信模块从所述远程资源中的证明平台接收对可信平台模块凭证的请求;以及使所述加密模块从所述固件模块至少获得所述可信平台模块凭证和所述可信平台模块证书。
示例19可以包括示例18的要素,其中,认证和证明是由相同的平台进行处理的。
示例20可以包括示例18和19中任一项的要素,并且可以进一步包括:使所述通信模块传送对所述请求的响应,所述响应至少包括供所述证明平台进行验证的所述可信平台模块凭证;以及经由所述通信模块从所述证明平台接收消息,所述消息至少指示所述可信平台模块凭证已被验证。
示例21可以包括示例20的要素,其中,对所述请求的所述响应进一步包括:供所述证明平台在验证所述可信平台模块凭证时使用的所述匿名密钥系统证书或所述可信平台模块证书。
示例22可以包括示例20至21中任一项的要素,其中,对所述请求的所述响应进一步包括:供所述证明平台在验证所述可信平台模块证书时使用的所述匿名密钥系统证书;以及供所述证明平台在验证所述可信平台模块凭证时使用的所述可信平台模块证书。
示例23可以包括示例14至22中任一项的要素,其中,触发可信平台模块证明包括:经由所述通信模块从所述远程资源中的证明平台接收对可信平台模块凭证的请求;使所述加密模块从所述固件模块至少获得所述可信平台模块凭证和所述可信平台模块证书;使所述通信模块传送对所述请求的响应,所述响应至少包括供所述证明平台进行验证的所述可信平台模块凭证;以及经由所述通信模块从所述证明平台接收消息,所述消息至少指示所述可信平台模块凭证已被验证。
示例24可以包括示例13至23中任一项的要素,其中,所述匿名密钥系统是基于增强型隐私标识(EPID)技术。
根据示例25,提供了一种至少包括设备和远程资源的系统,所述系统被布置成用于执行如以上示例13至24中任一项所述的方法。
根据示例26,提供了一种被布置成用于执行如以上示例13至24中任一项所述的方法的芯片组。
根据示例27,提供了至少一种机器可读介质,所述至少一种机器可读介质包括多条指令,所述多条指令响应于正在计算设备上被执行而使所述计算设备实施根据以上示例13至24中任一项所述的方法。
根据示例28,提供了一种被配置成用于使用匿名密钥系统进行可信平台模块认证和证明的设备,所述设备被布置成用于执行如以上示例13至24中任一项所述的方法。
根据示例29,提供了一种用于使用匿名密钥系统进行可信平台模块认证和证明的系统。所述系统可以包括:用于将组合式匿名密钥系统和可信平台模块固件模块加载到设备中的运行时环境中的装置,所述运行时环境进一步至少包括:操作系统加密模块;匿名密钥系统服务模块;接口模块,所述接口模块用于至少与远程资源中的认证平台进行交互;以及用于在所述设备中触发可信平台模块认证或可信平台模块证明中的至少一者的装置。
示例30可以包括示例29的要素,其中,所述用于触发可信平台模块认证的装置包括:用于使得由所述服务模块从所述固件模块请求匿名密钥系统证书的装置;以及用于与所述加密模块进行交互以便生成可信平台模块密钥句柄并且基于所述可信平台模块密钥句柄和所述匿名密钥系统证书中的至少一者来发起对可信平台模块证书的最终确定的装置。
示例31可以包括示例30的要素,并且可以进一步包括:用于与所述固件模块进行交互以便至少基于所述可信平台模块密钥句柄生成所述可信平台模块证书并且使用所述匿名密钥系统证书对所述可信平台模块证书进行签名的装置;以及用于向所述接口模块提供经签名的可信平台模块证书的装置。
示例32可以包括示例31的要素,并且可以进一步包括:用于使所述通信模块将经签名的可信平台模块证书传送到所述认证平台的装置;以及用于经由所述通信模块从所述认证平台接收消息的装置,所述消息至少指示经签名的可信平台模块证书是有效的。
示例33可以包括示例30至32中任一项的要素,其中,所述用于触发可信平台模块证明的装置包括:用于经由所述通信模块从所述远程资源中的证明平台接收对可信平台模块凭证的请求的装置;以及用于使所述加密模块从所述固件模块至少获得所述可信平台模块凭证和所述可信平台模块证书的装置。
示例34可以包括示例33的要素,其中,认证和证明是由相同的平台进行处理的。
示例35可以包括示例33和34中任一项的要素,并且可以进一步包括:用于使所述通信模块传送对所述请求的响应的装置,所述响应至少包括供有所述证明平台进行验证的所述可信平台模块凭证;以及用于经由所述通信模块从所述证明平台接收消息的装置,所述消息至少指示所述可信平台模块凭证已被验证。
示例36可以包括示例35的要素,其中,对所述请求的所述响应进一步包括:供所述证明平台在验证所述可信平台模块凭证时使用的所述匿名密钥系统证书或所述可信平台模块证书。
示例37可以包括示例35至36中任一项的要素,其中,对所述请求的所述响应进一步包括:供所述证明平台在验证所述可信平台模块证书时使用的所述匿名密钥系统证书;以及供所述证明平台在验证所述可信平台模块凭证时使用的所述可信平台模块证书。
示例38可以包括示例29至37中任一项的要素,其中,所述匿名密钥系统基于增强型隐私标识(EPID)技术。
本文已采用的术语和表达用作对术语进行描述而非进行限制,并且在使用这种术语和表达时不旨在排除所示且所描述的特征(或其部分)的任何等效物,并且认识到在权利要求书范围内的各种修改是有可能的。从而,权利要求书意在涵盖所有这类等效方案。
Claims (22)
1.一种使用匿名密钥系统来支持可信平台模块认证和证明的设备,所述设备包括:
通信模块,所述通信模块用于至少与远程资源进行通信;以及
组合式匿名密钥系统和集成可信平台模块资源,用于将匿名密钥系统和可信平台模块固件模块加载到所述设备中的运行时环境中,所述运行时环境进一步至少包括:
操作系统加密模块;
匿名密钥系统服务模块;以及
接口模块,所述接口模块用于经由所述通信模块至少与所述远程资源中的认证平台进行交互。
2.如权利要求1所述的设备,其中,所述匿名密钥系统和可信平台模块固件模块包括被加载到第一可信执行环境中的匿名密钥系统固件模块、以及被加载到第二可信执行环境中的分开的可信平台模块固件模块。
3.如权利要求1所述的设备,其中,所述接口模块进一步用于:
使得由所述服务模块从所述固件模块中请求匿名密钥系统证书;以及
与所述加密模块进行交互,以便生成可信平台模块密钥句柄并且基于所述可信平台模块密钥句柄和所述匿名密钥系统证书中的至少一者来发起对可信平台证书的最终确定。
4.如权利要求3所述的设备,其中,所述加密模块进一步用于:
与所述固件模块进行交互,以便至少基于所述可信平台模块密钥句柄生成所述可信平台模块证书并且使用所述匿名密钥系统证书对所述可信平台模块证书进行签名;以及
向所述接口模块提供经签名的可信平台模块证书。
5.如权利要求4所述的设备,其中,所述接口模块进一步用于:
使所述通信模块将经签名的可信平台模块证书传送到所述认证平台;以及
经由所述通信模块从所述认证平台接收消息,所述消息至少指示经签名的可信平台模块证书是有效的。
6.如权利要求3所述的设备,其中,所述接口模块进一步用于:
经由所述通信模块从所述远程资源中的证明平台接收对可信平台模块凭证的请求;以及
使所述加密模块从所述固件模块至少获得所述可信平台模块凭证和所述可信平台模块证书。
7.如权利要求6所述的设备,其中,所述接口模块进一步用于:
使所述通信模块传送对所述请求的响应,所述响应至少包括供由所述证明平台进行验证的所述可信平台模块凭证;以及
经由所述通信模块从所述证明平台接收消息,所述消息至少指示所述可信平台模块凭证已被验证。
8.如权利要求7所述的设备,其中,对所述请求的所述响应进一步包括:供所述证明平台在验证所述可信平台模块凭证时使用的所述匿名密钥系统证书或所述可信平台模块证书。
9.如权利要求7所述的设备,其中,对所述请求的所述响应进一步包括:
供所述证明平台在验证所述可信平台模块证书时使用的所述匿名密钥系统证书;以及
供所述证明平台在验证所述可信平台模块凭证时使用的所述可信平台模块证书。
10.一种用于使用匿名密钥系统进行可信平台模块认证和证明的方法,所述方法包括:
将组合式匿名密钥系统和可信平台模块固件模块加载到设备中的运行时环境中,所述运行时环境进一步至少包括:
操作系统加密模块;
匿名密钥系统服务模块;
接口模块,所述接口模块用于至少与远程资源中的认证平台进行交互;以及
在所述设备中触发可信平台模块认证或可信平台模块证明中的至少一者。
11.如权利要求10所述的方法,其中,触发可信平台模块认证包括:
使得由所述服务模块从所述固件模块请求匿名密钥系统证书;以及
与所述加密模块进行交互,以便生成可信平台模块密钥句柄并且基于所述可信平台模块密钥句柄和所述匿名密钥系统证书中的至少一者来发起对可信平台模块证书的最终确定。
12.如权利要求11所述的方法,进一步包括:
与所述固件模块进行交互,以便至少基于所述可信平台模块密钥句柄生成所述可信平台模块证书并且使用所述匿名密钥系统证书对所述可信平台模块证书进行签名;以及
向所述接口模块提供经签名的可信平台模块证书。
13.如权利要求12所述的方法,进一步包括:
使所述通信模块将经签名的可信平台模块证书传送到所述认证平台;以及
经由所述通信模块从所述认证平台接收消息,所述消息至少指示经签名的可信平台模块证书是有效的。
14.如权利要求11所述的方法,其中,触发可信平台模块证明包括:
经由所述通信模块从所述远程资源中的证明平台接收对可信平台模块凭证的请求;以及
使所述加密模块从所述固件模块至少获得所述可信平台模块凭证和所述可信平台模块证书。
15.如权利要求14所述的方法,进一步包括:
使所述通信模块传送对所述请求的响应,所述响应至少包括供由所述证明平台进行验证的所述可信平台模块凭证;以及
经由所述通信模块从所述证明平台接收消息,所述消息至少指示所述可信平台模块凭证已被验证。
16.如权利要求15所述的方法,其中,对所述请求的所述响应进一步包括:供所述证明平台在验证所述可信平台模块凭证时使用的所述匿名密钥系统证书或所述可信平台模块证书。
17.如权利要求15所述的方法,其中,对所述请求的所述响应进一步包括:
供所述证明平台在验证所述可信平台模块证书时使用的所述匿名密钥系统证书;以及
供所述证明平台在验证所述可信平台模块凭证时使用的所述可信平台模块证书。
18.一种至少包括设备和远程资源的系统,所述系统被布置成用于执行如权利要求10至17中任一项所述的方法。
19.一种芯片组,所述芯片组被布置成用于执行如权利要求10至17中任一项所述的方法。
20.至少一种机器可读介质,所述至少一种机器可读介质包括多条指令,所述多条指令响应于正在计算设备上被执行而使所述计算设备实施如权利要求10至17中任一项所述的方法。
21.一种被配置成用于使用匿名密钥系统进行可信平台模块认证和证明的设备,所述设备被布置成用于执行如权利要求10至17中任一项所述的方法。
22.一种设备,所述设备具有用于执行如权利要求10至17中任一项所述的方法的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/542,491 | 2014-11-14 | ||
US14/542,491 US9608825B2 (en) | 2014-11-14 | 2014-11-14 | Trusted platform module certification and attestation utilizing an anonymous key system |
PCT/US2015/055508 WO2016077017A2 (en) | 2014-11-14 | 2015-10-14 | Trusted platform module certification and attestation utilizing an anonymous key system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107251481A true CN107251481A (zh) | 2017-10-13 |
Family
ID=55955239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580058696.6A Pending CN107251481A (zh) | 2014-11-14 | 2015-10-14 | 利用匿名密钥系统进行可信平台模块认证和证明 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9608825B2 (zh) |
EP (1) | EP3219047A4 (zh) |
CN (1) | CN107251481A (zh) |
WO (1) | WO2016077017A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543768A (zh) * | 2019-08-23 | 2019-12-06 | 苏州浪潮智能科技有限公司 | 一种在bios中控制可信根的方法和系统 |
CN110910139A (zh) * | 2019-12-04 | 2020-03-24 | 北汽蓝谷信息技术有限公司 | 基于区块链的可信硬件与高性能去中心化匿名加密的算法 |
CN114676392A (zh) * | 2022-03-18 | 2022-06-28 | 北京百度网讯科技有限公司 | 应用的可信授权方法、装置及电子设备 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10447720B1 (en) | 2015-03-12 | 2019-10-15 | Symantec Corporation | Systems and methods for performing application container introspection |
US10320571B2 (en) * | 2016-09-23 | 2019-06-11 | Microsoft Technology Licensing, Llc | Techniques for authenticating devices using a trusted platform module device |
US10355916B2 (en) * | 2016-09-27 | 2019-07-16 | Mcafee, Llc | Survivable networks that use opportunistic devices to offload services |
US10482034B2 (en) * | 2016-11-29 | 2019-11-19 | Microsoft Technology Licensing, Llc | Remote attestation model for secure memory applications |
CN107273150B (zh) * | 2017-05-10 | 2020-10-02 | 深圳市金百锐通信科技有限公司 | 预加载固件下载写入方法及装置 |
US20210192051A1 (en) * | 2018-01-29 | 2021-06-24 | Hewlett-Packard Development Company, L.P. | Secure keys exchanges |
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 |
WO2020055968A1 (en) | 2018-09-11 | 2020-03-19 | Amari.Ai Incorporated | Secure communications gateway for trusted execution and secure communications |
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 |
US20200111080A1 (en) * | 2018-10-08 | 2020-04-09 | BitGo Holdings, Inc. | Security Secret Interface and Token Wrap Structure Apparatuses, Methods and Systems |
US11265172B2 (en) | 2018-12-21 | 2022-03-01 | Intel Corporation | Methods and apparatus for offloading signature revocation checking on acceleration circuitry |
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 |
US10742421B1 (en) * | 2019-03-08 | 2020-08-11 | Ares Technologies, Inc. | Methods and systems for anonymous hardware attestation |
US20200127850A1 (en) * | 2019-12-20 | 2020-04-23 | Intel Corporation | Certifying a trusted platform module without privacy certification authority infrastructure |
US11593488B2 (en) | 2020-10-28 | 2023-02-28 | Ares Technologies, Inc. | Systems and methods for a cryptographic agile bootloader for upgradable secure environment |
US11734460B2 (en) * | 2021-03-23 | 2023-08-22 | Intel Corporation | Connectionless trusted computing base recovery |
US11809571B2 (en) * | 2021-06-14 | 2023-11-07 | Cisco Technology, Inc. | Vulnerability analysis using continuous application attestation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307487A1 (en) * | 2006-04-21 | 2009-12-10 | Interdigital Technology Corporation | Apparatus and method for performing trusted computing integrity measurement reporting |
US20140006776A1 (en) * | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Certification of a virtual trusted platform module |
US20140089660A1 (en) * | 2012-09-26 | 2014-03-27 | Nitin V. Sarangshar | Enhanced privacy id based platform attestation |
US20140317413A1 (en) * | 2012-03-29 | 2014-10-23 | Steven Deutsch | Secure remediation of devices requesting cloud services |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7444512B2 (en) * | 2003-04-11 | 2008-10-28 | Intel Corporation | Establishing trust without revealing identity |
US20060129824A1 (en) * | 2004-12-15 | 2006-06-15 | Hoff James P | Systems, methods, and media for accessing TPM keys |
CN1941699B (zh) * | 2005-09-29 | 2012-05-23 | 国际商业机器公司 | 密码方法、主机系统、可信平台模块和计算机安排 |
US7734934B2 (en) * | 2005-12-20 | 2010-06-08 | Intel Corporation | Seamless data migration |
EP2080142B1 (en) | 2006-08-31 | 2014-09-24 | International Business Machines Corporation | Attestation of computing platforms |
CN100581107C (zh) * | 2008-11-04 | 2010-01-13 | 西安西电捷通无线网络通信有限公司 | 一种基于三元对等鉴别(TePA)的可信平台验证方法 |
-
2014
- 2014-11-14 US US14/542,491 patent/US9608825B2/en active Active
-
2015
- 2015-10-14 EP EP15858908.5A patent/EP3219047A4/en not_active Withdrawn
- 2015-10-14 CN CN201580058696.6A patent/CN107251481A/zh active Pending
- 2015-10-14 WO PCT/US2015/055508 patent/WO2016077017A2/en active Application Filing
-
2017
- 2017-02-13 US US15/431,479 patent/US9935773B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307487A1 (en) * | 2006-04-21 | 2009-12-10 | Interdigital Technology Corporation | Apparatus and method for performing trusted computing integrity measurement reporting |
US20140317413A1 (en) * | 2012-03-29 | 2014-10-23 | Steven Deutsch | Secure remediation of devices requesting cloud services |
US20140006776A1 (en) * | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Certification of a virtual trusted platform module |
US20140089660A1 (en) * | 2012-09-26 | 2014-03-27 | Nitin V. Sarangshar | Enhanced privacy id based platform attestation |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543768A (zh) * | 2019-08-23 | 2019-12-06 | 苏州浪潮智能科技有限公司 | 一种在bios中控制可信根的方法和系统 |
CN110543768B (zh) * | 2019-08-23 | 2021-07-27 | 苏州浪潮智能科技有限公司 | 一种在bios中控制可信根的方法和系统 |
CN110910139A (zh) * | 2019-12-04 | 2020-03-24 | 北汽蓝谷信息技术有限公司 | 基于区块链的可信硬件与高性能去中心化匿名加密的算法 |
CN114676392A (zh) * | 2022-03-18 | 2022-06-28 | 北京百度网讯科技有限公司 | 应用的可信授权方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2016077017A2 (en) | 2016-05-19 |
EP3219047A2 (en) | 2017-09-20 |
WO2016077017A3 (en) | 2017-05-11 |
US20170170966A1 (en) | 2017-06-15 |
US9935773B2 (en) | 2018-04-03 |
US20160142212A1 (en) | 2016-05-19 |
US9608825B2 (en) | 2017-03-28 |
EP3219047A4 (en) | 2018-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107251481A (zh) | 利用匿名密钥系统进行可信平台模块认证和证明 | |
US11921911B2 (en) | Peripheral device | |
US9509502B2 (en) | Symmetric keying and chain of trust | |
US10447486B2 (en) | Remote attestation of a security module's assurance level | |
US9768951B2 (en) | Symmetric keying and chain of trust | |
US9521125B2 (en) | Pseudonymous remote attestation utilizing a chain-of-trust | |
US9852299B2 (en) | Protection scheme for remotely-stored data | |
US9867043B2 (en) | Secure device service enrollment | |
TWI450556B (zh) | 外部通信實體可認證的裝置及方法 | |
CN104247329B (zh) | 请求云服务的装置的安全补救 | |
US11281781B2 (en) | Key processing methods and apparatuses, storage media, and processors | |
CN107077568B (zh) | 对称密钥和信任链 | |
US11520859B2 (en) | Display of protected content using trusted execution environment | |
CN107077560B (zh) | 用于建立安全工作空间的所有权的系统 | |
CN105897427A (zh) | 保护设备安全的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210730 |