CN1941699B - 密码方法、主机系统、可信平台模块和计算机安排 - Google Patents
密码方法、主机系统、可信平台模块和计算机安排 Download PDFInfo
- Publication number
- CN1941699B CN1941699B CN 200610115997 CN200610115997A CN1941699B CN 1941699 B CN1941699 B CN 1941699B CN 200610115997 CN200610115997 CN 200610115997 CN 200610115997 A CN200610115997 A CN 200610115997A CN 1941699 B CN1941699 B CN 1941699B
- Authority
- CN
- China
- Prior art keywords
- tpm
- computer system
- host computer
- contribution
- assumed name
- 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.)
- Expired - Fee Related
Links
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及用于包括可信平台模块(TPM)(2)的主机系统(1)的密码方法。TPM(2)计算对消息(U)的第一贡献(UT),其基于TPM(2)内存储的第一秘密参数(fT)。主机系统计算对消息(U)的第二贡献(UH),其基于存储在TPM(2)之外在主机系统(1)内的第二秘密参数(fH)。然后,主机(1)或TPM(2)组合对消息(U)的第一(UT)和第二(UH)贡献,并执行第一证明,向主机系统(1)证明TPM(2)的贡献(UT)计算正确,或向TPM(2)证明主机(1)的贡献(UH)计算正确。本发明还涉及使用主机系统和可信平台模块计算签名的密码方法。本发明还涉及适于执行这些方法的主机系统、可信平台模块、计算机安排、计算机程序产品和计算机程序。
Description
技术领域
本发明涉及用于使用包括可信平台模块的主机系统计算消息的加密方法。另外,本发明涉及用于使用主机系统和可信平台模块计算签名的加密方法。此外,本发明涉及适于执行这样的方法的主机系统、可信平台模块、计算机安排、计算机程序产品和计算机程序。
背景技术
日益增加的对在数据网络上尤其是在因特网上电子地执行事务的兴趣和需求已对安全电子通信提出了要求。为使事务例如在线购买或电子银行业务事务是安全的,在两方之间交换的消息应保持私密并且可证明是真实的(authentic)即源自可信的来源。第一个问题可通过数据加密例如使用只有秘密消息的发送者和接受者已知的对称或非对称密钥来处理。
第二个问题可通过例如使用非对称公钥签名算法的消息签名来处理,在所述非对称公钥签名算法中,消息的发送者使用它的私钥在将被验证的消息上生成签名,而接收该消息的每个人可使用相关联的公钥验证它的真实性。
但是,在一些情况下,消息的发送者希望相对于消息的接收者或验证者保持匿名,而同时仍证明他或她具有特定操作所需的授权。
例如,计算机系统的用户可能希望证明他或她在运行安全操作系统以便被准许访问封闭网络例如公司内部局域网(LAN或内联网)。另一个示例将是属于特定组的用户例如特定网站的订户(subscriber)希望在他或她被准许访问此网站上的资源之前证明会员资格而无需暴露他或她的身份。
为了实现这种以及类似目标,可信计算组(TCG)已设计了一种用于允许可信计算的框架。此框架的重要部分是所谓的可信平台模块(TPM),其是集成在计算机系统内的硬件芯片并且允许安全存储加密密钥和执行密码操作等。TPM以黑盒方式操作即TPM集成在其中的主机不能操纵其操作模式。这例如在平台被某种还被称为病毒的恶意软件感染的情况下保护该TPM。
从http://www.trustedcomptuinggroup.org/downloads/specifications/specifications可获得的可信计算组织(Trusted Computing Group,Incorporated)的标题为“TCG规范体系结构概述,规范,修订版1.2”(TCGSpecification Architecture Overview,Specification,Revision 1.2)和“TCG基础设施工作组互操作性参考体系结构(第一部分),规范版本1.0,修订版1”(TCG Infrastructure Working Group Reference Architecture forInteroperability(Part I),Specification Version 1.0,Revision 1)两个文献中更详细地说明了该框架以及相关联的TPM。
当前的TCG规范支持的协议是所谓的直接匿名证明(DAA)协议,该协议允许包括TPM的主机向验证者例如某个服务提供者证明其拥有颁发者的认证(certification)而不必暴露该证书或它自己的身份。在2004年美国计算机学会计算机与通信安全会议(2004 ACM Conference onComputers and Communications Security)上给出的Brickell,Camensich和Chen的标题为“直接匿名证明”(Direct Anonymous Attestation)的论文内说明了此协议的数学背景和实现。
简单地说,直接匿名证明方案以如下方式工作。TPM选择一秘密参数,经由安全的两方协议从颁发者获得该参数上的在此申请的上下文内被称为证明(attestation)的签名,并然后可通过关于对该证明的知识的证明使验证者确信它匿名地获得该证明。为了允许验证者识别欺诈的TPM,TPM必须还提供一假名(pseudonym)和这样的证明,即该假名是正确形成的,即它是得自用于该证明过程内使用的TPM的秘密参数和由验证者确定的基(base)。
更具体地,集成在主机平台内的TPM根据颁发者的公钥PK1以及TPM生成的秘密参数f0和f1生成用于与颁发者通信的第一假名N1。TPM还根据相同的秘密参数计算消息U。TPM然后用也安全地存储在TPM内的签署密钥EK鉴别(authenticate)包括这两个部分的所谓的直接证明密钥(DAA密钥)。
为了获得认证,TPM向外部颁发者例如网络服务提供者或TPM的制造者证明它拥有有助于生成DAA密钥的秘密参数f0和f1的知识而不暴露秘密参数本身。
颁发者例如使用分别列有效或欺诈TPM的黑名单或白名单来验证此证明和TPM的签署密钥EK。如果颁发者确信DAA密钥是由有效TPM生成的,则颁发者生成可用于证明TPM拥有通过相关联的PK1识别的颁发者对此特定DAA密钥的证明的证书(A,e)。密钥生成以及随后的颁发者的认证还被称为加入(join)协议。
在被称为签名协议的另一个协议内,TPM生成用于与验证者通信的被称为证明身份密钥(attestation identity key)(AIK)的另一个非对称密钥。然后,TPM使用秘密参数f0和f1和证书(A,e)生成AIK上的签名σ,并将签名σ和AIK发送给验证者。
为了保持匿名,TPM没有使用它的签署密钥EK为AIK签名或使用用于与颁发者通信的假名N1,而是使用第二假名NV来与验证者通信。假名NV包含基于存储在TPM内的秘密参数f0和f1的贡献,并且可包含基于验证者的公钥PKV的贡献。这样,TPM可为不同的AIK生成不同的假名而未允许验证者将这些密钥相互连接,从而保持匿名。
签名σ有效地构成主机向验证者的证明,即它的TPM拥有在其DAA密钥的秘密部分上的证书的知识。同样,也没有暴露在此生成内使用的密钥和秘密参数f0和f1。最后,验证者验证AIK上的签名σ是有效的,并是基于证书(A,e)和秘密参数f0和f1的知识计算的。
但是,由于其黑盒实现,用户不一定信任TPM本身。许多人尤其关注例如由制造者或当局例如情报机关集成在TPM内的陷门功能。这种陷门功能可允许识别被声称是匿名消息的消息的来源。
因此,一般地需要一种改进的密码方法,并尤其需要一种用于生成和使用匿名证明密钥的密码方法。
发明内容
根据本发明的一个方面,提供了一种用于计算消息的密码方法。
提供了一种具有可信平台模块(TPM)的主机系统。TPM和主机系统本身分别根据第一和第二秘密参数计算对一消息的第一和第二贡献。然后,一方将这两个贡献组合到组合消息,而另一方执行第一证明,该证明向第一方证明该另一方的贡献计算正确。
由于计算是在两方之间划分的,所以每当需要用于计算组合消息的秘密参数的知识时它们必须合作。
根据该第一方面的优选实施例,向主机和TPM提供颁发者的公钥。然后,通过证明另一方的贡献位于颁发者的公钥的至少一部分定义的子群(subgroup)内来证明该贡献的正确性。
这样,该组合消息不会包含通过以下方式被编码到另一方的贡献中的任何隐藏信息,即通过故意离开该另一方的贡献被设想位于其中的子群。
根据第一方面的另一个优选实施例,主机系统组合第一和第二消息贡献,而TPM执行该第一证明。另外,根据相同的两个秘密参数计算用于与颁发者通信的假名。在第二证明内,向TPM证明该假名计算正确。如果TPM接受该第二证明,则TPM然后使用存储在其中的秘密签署密钥鉴别该假名。最后,如果主机接受该第一证明,则通过该主机使被鉴别的假名和被组合的消息可用。
由于此过程,TPM和主机都不能在不使另一方确信它正确地计算它自己的贡献的情况下完成该方法。
根据第一方面的另一个实施例,假名的计算是基于主机系统选择的基(basis)以及从颁发者接收到的公钥。对假名的两个贡献都是基于指数函数,其基由主机选择,并且第一和第二参数分别用作指数。然后主机系统组合这两个贡献以形成假名。
由于计算离散对数在计算上昂贵,所以不容易发现用于计算该贡献的秘密参数。
根据第一个方面的另一个实施例,所述第二证明包括关于主机与TPM一起拥有第一和第二参数的知识的证明。
这样,TPM可确信它的对假名的贡献被用于组合假名的计算中。结果,主机不能不与TPM合作而使用组合假名。
根据第一方面的另一个优选实施例,将被鉴别的假名和组合消息发送给颁发者以便验证和认证。为此,在第三证明内,主机系统和TPM共同向颁发者证明该消息和假名计算正确。如果颁发者接受该证明,则颁发者颁发假名上的证书,并将其返回给主机系统。然后,主机系统解码并存储该证书的一部分,而TPM解码并存储该证书的另一部分。
由于假名和消息的最初计算是在该主机和TPM之间划分的,所以它们只能合作地证明这两个参数的正确性。由于使用颁发的证书需要知道作为假名和消息的基础的秘密参数,所以也只有在两方合作的情况下才能使用该证书。
根据第一方面的另一个优选实施例,第三证明包括两部分。第一部分包括验证已使用有效签署密钥鉴别该假名。第二部分包括向颁发者证明用于计算假名和消息的秘密参数的知识。
通过验证已使用有效签署密钥鉴别该假名,颁发者可确信该过程内涉及已知的TPM,即接收到的假名源自可信平台。通过验证该消息和假名都是基于相同秘密参数计算的,颁发者知道该消息也包含来自TPM的贡献。
根据本发明的第二方面,提供了一种主机系统,其包括TPM和匿名证明密钥,该证明密钥包括第一和第二参数、第一假名和来自颁发者的证书,其中至少该第一参数存储在该TPM内而至少该第二参数存储在TPM外部。根据这两个秘密参数,计算用于与验证者通信的第二假名。另外,计算基于TPM的第一签名参数和主机的第二签名参数的签名消息。在第四证明内,TPM向主机证明基于第一签名参数的第一贡献被TPM正确地计算。然后,基于第二假名和该签名消息计算用于消息的签名。最后,如果主机接受第四证明为正确,则主机使签名可用。
由于在此方法内生成的消息的签名基于第二假名,所以它不易于链接到第一假名。另外,主机和TPM都不能单独计算第二假名,这是因为它是基于用于第一假名的相同秘密参数。也通过将签名消息的计算在这两方之间划分,任何一方都不能在没有另一方的同意的情况下给消息签名。
根据第二方面的优选实施例,第二假名的计算包括主机选择用于指数函数的计算的基,并且TPM和主机分别以第一和第二签名参数为基计算第一和第二贡献。然后主机系统组合所述贡献以形成第二假名。
如上,指数函数的使用确保了签名参数不易于被恢复。
根据第二方面的另一个优选实施例,签名消息的计算划分成数个部分。首先,计算第一签名部分。根据该第一部分,计算质询(challenge)。最后,根据此质询计算第二签名部分。
签名消息的三部分对应于密码方法,其中在质询响应机制中,第一签名部分用作证明提交消息,而第二签名部分用作响应消息。因此,实施例可使用根据质询响应原则工作的不同的密码方法。
根据第二方面的另一个优选实施例,第一签名部分的计算划分成分别由TPM和主机进行的基于第一和第二签名参数的第一和第二贡献的计算。然后,主机系统组合这两个贡献。
如上,计算的划分确保了两方都必须贡献于第一签名部分。
根据第二方面的另一个优选实施例,执行第四证明的步骤包括将颁发者的公钥提供给TPM和主机,并示出对第一签名部分的第一贡献位于由该公钥的至少一部分定义的子群内。
如上,这确保了TPM不能通过故意离开颁发者的公钥定义的子群,而将任何隐藏消息编码到签名消息的第一部分中。
根据第二方面的另一个优选实施例,将消息以及其上的签名传递给验证者,该验证者验证该签名的正确性。只有签名相对于消息是正确的,验证者才也接受该消息是真实的。
通过验证签名,验证者可确保消息没有被窜改,即是真实的。
根据第二方面的另一个优选实施例,签名包括共同构成证明的一些值,该证明证明第二假名是基于与第一假名相同的秘密参数,并且该主机和TPM共同拥有该第一假名上的证书的知识。
此证明允许验证者验证生成该证明的主机系统拥有来自颁发者的认证。将执行证明所需的所有数据组合成签名也通过避免在主机和验证者之间交换多个消息而使协议更高效。
根据本发明的第三方面,提供了一种主机系统,该主机系统包括具有第一存储器和第一处理单元的TPM。该主机系统本身还包括位于TPM之外的第二存储器和第二处理单元。第一和第二处理单元被配置成分别基于该第一和第二存储器内存储的第一和第二参数计算对消息的第一和第二贡献。至少一个所述处理单元还被配置成组合该第一和第二贡献,而至少另一个处理单元被配置成向该一个处理单元证明它正确地计算了它自己的贡献。
如上,计算在两方之间划分,从而每当需要知道用于计算组合消息的秘密参数时,TPM和主机必须合作。
根据第三方面的优选实施例,第一和第二处理单元适于生成第一和第二随机数。第一和第二随机数用作第一和第二秘密参数。
通过使用随机数作为秘密参数,得到的消息是非确定性的,这防止了外部方确定秘密参数。
根据第三方面的另一个优选实施例,主机系统适于生成用于加密或鉴别的不对称密钥对,从而组合消息构成该密钥的公共部分的至少一部分,而该第一和第二参数构成该密钥的私密部分的至少一部分。
通过使用所述装置生成不对称的密钥对,其可与许多现有的不对称密码方法一起使用。
根据第三方面的另一个优选实施例,主机系统适于执行根据本发明的第一和第二方面的由该主机系统执行的任何方法。
根据本发明的第四方面,说明了TPM,其包括处理单元、存储器和与主机系统的接口。处理单元适于基于存储在该存储器内的参数计算对消息的贡献,并经由接口将该贡献传递给主机系统。它还适于向主机证明该贡献计算正确。
根据第四方面的一个优选实施例,处理单元还适于基于相同秘密参数计算对假名的贡献,并将此贡献传递给主机系统。处理单元还适于请求和验证证明,该证明证明以前计算的贡献已贡献于从接口接收到的假名。
根据本发明的第五方面,提供了一种计算机安排,该计算机安排包括具有内置TPM的主机、颁发者、验证者以及主机、颁发者和验证者之间的通信链路。该计算机安排适于执行根据本发明第一和第二方面的密码方法。
因此,所述的计算机安排使能够使用该颁发者在该主机和验证者之间进行安全和匿名的通信。
根据本发明的第六方面,提供了一种包括包含可被主机系统执行的程序指令的计算机可读介质的计算机程序产品。所述程序指令从TPM请求对消息的第一贡献,验证该第一贡献的正确性并基于该程序选择的秘密参数计算第二贡献。最后,如果验证成功,则组合两个贡献以形成共同消息并使该消息可用。
根据第六方面的优选实施例,计算机程序产品还包括从TPM请求对假名的第一贡献并基于所述秘密参数计算第二贡献的程序指令。然后,组合两个贡献以形成假名。最后,存在向TPM证明第一贡献已贡献于组合假名的指令。
根据本发明的第七方面,公开了包括适于执行根据第一和第二方面的由主机系统执行的所有步骤的程序指令计算机程序。
专利权利要求内说明了本发明的其他细节和实施例。
附图说明
结合附图参考下面对根据本发明的优选的但仅是说明性的实施例的详细说明可更充分地理解本发明及其实施例。在附图中:
图1示出配置成执行本发明的方法的一个实施例的计算机安排。
图2示出根据本发明的一个实施例的密钥生成的方法的流程图。
图3示出根据本发明的一个实施例的用于加入生成的密钥的方法的流程图。
图4示出根据本发明的一个实施例的用于给消息签名的方法的流程图。
具体实施方式
图1示出包括主机系统1、颁发者8和验证者9的计算机安排。主机系统1包括具有内部安全存储器3和内部处理单元4的可信平台模块(TPM)2。主机系统1还包括它自己的存储器5和处理单元6。TPM 2的存储器3包括唯一的签署密钥EK。
通常,TPM 4的处理单元4是允许它执行密码操作例如密钥生成以及解密和加密的专门设计的硬件单元。主机系统1的处理单元6可以是通用处理单元例如主机系统1的中央处理单元(CPU)。
主机系统1的处理单元6和TPM 2仅能通过有限接口7通信。具体地,处理单元6不能访问或操纵TPM 2的安全存储器3内存储的值。但是,TPM 2可执行主机系统1上的关于主机系统1的完整性的测量,例如检查特定操作系统是否在主机系统上运行。
主机系统1通过数据网络10连接到颁发者8和验证者9。颁发者8和验证者9的内部结构可与主机系统1的设置相同,但是也可以是本领域内的技术人员已知的某种其他合适的类型。具体地,颁发者8和验证者9可以包括或不包括它们自己的可信平台模块以便执行密码操作并向主机系统1以及在相互之间证明它们的真实性。但是,应指出这是任选的。例如,颁发者8和验证者9可使用在通用处理器上运行的软件程序实现所需的操作。
数据网络10可以是开放网络例如因特网或封闭网络例如公司内部局域网(LAN)。它并不必须是安全的以便维持本发明的方法的稳健性。
颁发者8包括包含私钥SK1和公钥PK1的不对称密钥对。主机系统1和验证者9可从数据网络10上容易地得到公钥PK1,而私钥SK1由颁发者8安全地存储。验证者9包括欺诈TPM的黑名单11,该黑名单可以是在内部汇集,由颁发者8或数据网络10内的另一个计算机系统(图1未示出)提供的。
图1示出包括单个主机系统1、颁发者8和验证者9的简单计算机安排。但是,实际上,主机系统1例如用户计算机的数量以及验证者9例如服务提供者的数量可以很大。在概念上,不需要一个以上的颁发者8。但是,例如可使用多个颁发者以防止性能瓶颈。例如,TPM 4的制造者可在因特网上提供第一个颁发者,而公司内部网络的操作员可提供用于该网络内部的第二个颁发者。
图2示出根据本发明的一个实施例的用于生成DAA密钥的方法的流程图。密钥生成是主机系统1和TPM 2共同执行的过程。尽管至少一部分安全关键性操作例如使用秘密签署密钥EK给消息签名是由TPM 2的处理器4执行的,但是其他操作尤其是较少安全关键性的操作以及来自和到网络10的所有输入/输出操作是由主机系统1的处理器6执行的。
在图2内,TPM执行的所有操作在左侧示出,而主机的操作在右侧示出。但是应指出,一些操作可由任何一方执行,而其他操作例如证明某个计算的正确性只能由两方共同执行。
所需的操作可由硬件单独实现或者作为硬件和软件的组合实现。可提供包含可被图1内所示的计算机安排的设备之一或组合执行的程序指令的计算机可读介质。计算机可读介质可以是例如CD-ROM、闪速存储卡、硬盘或任何其他合适的计算机可读介质。
密钥生成过程的目的是计算消息U和假名N1,从而颁发者8可确信假名N1是使用TPM 2的有效签署密钥EK鉴别的。为此,必须根据共用秘密参数f计算U和N1,TPM 2贡献即部分了解该秘密参数f。
为了确保主机系统1的匿名性和私密性,主机系统1需要确信TPM 2不能将任何隐藏的信息编码到消息U或假名N1中。这可通过确保首先参数f是随机选择的而其次消息U是由颁发者8的公钥PK1的一部分生成的子群<S>的一部分来实现。
维持TPM 2提供的安全性并同时确保对于主机系统1的匿名性(即使是在欺诈TPM 2的情况下)可通过将参数f分成两部分来实现,第一部分fT由TPM 2贡献而第二部分fH由主机系统1贡献。如果这些参数中的至少一个是随机选择的即如果至少一部分没有欺骗,则可确保基于这些参数的组合的参数f也是随机的。
实际上,如果TPM 2不能欺骗即将秘密信息编码到将被生成的消息U或假名N1中就足够了,这是因为主机系统1总是可以向另一个系统例如验证者9暴露其身份而没有TPM 2的干涉。另外,假设主机系统1的处理器6上执行的计算是基于公开的而可被检查的计算机代码,则可验证主机系统1没有欺骗。这与TPM 2相反,TPM 2的内部工作不易于被检查。
在第一步骤201,主机系统1计算用于创建由生成元(generator)S生成的、消息空间(message space)<S>的具有阶(order)Γ的子群的基(basis)ζ1,该生成元S是颁发者8的公钥PK1的一部分。如果公钥PK1还没有存储在主机系统1内,则例如可在数据网络10上从颁发者8获得该公钥。基ζ1用于生成用于在一侧的主机系统1和TPM 2与另一侧的颁发者8之间通信的假名N1。基ζ1存储在主机系统1的存储器5内,并且也可被传送给TPM 2以便存储在其存储器3内。
在步骤202,TPM 2挑选随机参数fT,该随机参数实质上构成TPM对该过程将生成的DAA密钥的秘密部分的贡献。因此,选择的参数fT安全地存储在TPM 2的存储器3内。任选地,TPM 2可验证基ζ1是可维持初始DAA协议提供的安全性的、<S>的合适子群的有效生成元。但是,这对于维持匿名性不是必需的。
然后,TPM 2根据基ζ1的指数为fT的指数函数以由基ζ1定义的子群的阶Γ为模来计算对假名N1的第一贡献N1,T。它还使用基R(该基也是颁发者8的公钥PK的一部分)和指数fT并以群<S>的阶n为模来计算对消息U的第一贡献UT,其中n是颁发者8的公钥PK的RSA模数。使用接口7将贡献N1,T和UT提供给处理器6。
实际上,出于计算效率的原因将参数fT分成一些部分例如f0T和f1T。但是,为了使说明尽可能地简单,从现在开始将仅称其为fT。用于计算消息UT的基R也是如此。另外,消息UT是基于TPM 2选择的第二秘密参数v,该参数也用作UT的计算中的另一基S的指数。本申请的标题为“修改的直接匿名证明协议”的部分内包含了精确定义这些计算的数学公式。
密码学领域内的技术人员应明显地看到,可使用任何其他的函数而不是模指数函数以便生成假名N1,T和消息UT。这里使用的函数的重要特征是在其计算上不可能恢复用于N1,T和UT的计算的秘密参数f。当然,这一点同样适用于在整个此申请内基于指数函数计算的所有其他的消息和消息贡献。
在步骤203,主机系统1执行的过程基本与步骤202内TPM执行的过程相同,即它选取自己的随机参数fH并以与上述相同的方式计算贡献N1,H和UH。理论上,此步骤应由主机系统1在它知道TPM 2的贡献N1,H和UT之前执行,这是因为否则主机系统会以这样的方式选择其参数fH,即组合的DAA密钥仍包含秘密信息。但是,如上所述,主机系统1总是可以通过其他方法暴露其身份,因此只要TPM在完成步骤202之前不知道步骤203的结果,步骤203就可在步骤202之前、之后或与之并行地执行。
在步骤204,主机系统1通过乘法组合贡献N1,T和N1,H以便形成最终的假名N1。对于贡献U1和UH同样如此。通过对于相同的基使两个指数函数的结果相乘,有效地使指数相加,所述指数在此情况下为秘密参数fT和fH。这样,主机系统1可部分基于秘密参数fT计算DAA密钥,它不知道该秘密参数并且由于选择的函数的特征而不容易恢复。
实际上,步骤203和204可组合在一起,即主机系统1不需要显式地计算N1,H和UH,而仅是在单个步骤内使接收的TPM 2的贡献N1,T和UT随机化,即通过与其自己的部分相乘进行修改。
在将包含假名N1和消息U的计算出的DAA密钥的公共部分传送给颁发者8进行认证之前,TPM 2和主机系统1都需要确信生成的密钥是被正确计算的,例如各方计算的贡献仍被包含在最终的密钥内。
在第一证明内,在步骤205,主机系统1验证TPM 2对消息U的贡献UT是颁发者的公钥PK1内包含的生成元<S>定义的群的一部分。这样做是因为TPM 2可通过故意离开它被设想是其一部分的群<S>,而将信息编码到消息U中。
因为在此证明中,验证主机系统1不知道该群的阶即用于其生成的RSA模数,所以TPM 2具有二分之一的欺骗的机会,即尽管其不知道用于UT的计算的秘密参数fT仍正确地响应由主机系统1设置的质询。但是,通过使用不同的质询多次重复此证明,可使欺骗的可能性最小化到预定的阈值以下。
另外,假设主机系统1包括来自由网络10的其他主机广泛使用的一系列的TPM 2,则可假设此系列的至少一个TPM 2会通不过此证明,并且包含它的主机系统1或颁发者8会将此失败公开。因此,实际上,通常仅执行一次第二证明就足够了。
在第二证明内,在步骤206,主机系统1向TPM 2证明其正确地计算了N1,即N1是基于其中N1,T用作乘数的乘积。更具体地,主机必须证明知道用作其贡献N1,H的指数的秘密参数fH。证明知道离散对数可使用标准密码方法实现,例如基于所谓的零知识证明例如作为Schnorr的签名方案的基础的零知识证明来实现。
在概念上,在此所述的证明实现为质询响应机制。在证明者对验证者的初始证明提交消息之后,将验证者即在第二证明的情况下的TPM 2定义的质询传送给证明者。只有当证明者即主机系统1知道某个秘密例如秘密参数fH时,才可计算此质询。然后,返回的响应可被验证者验证为正确的而没有可能发现该秘密。
TPM 2不需要向主机系统1证明其贡献仍被包含在最终的DAA密钥内,因为主机知道其在步骤204内执行的计算。因此,主机系统1还知道只要是基于其自己的随机参数fH则得到的假名N1和消息U确实是随机的。
在步骤207,TPM 2检查第二证明是否成功地完成。如果情况如此即如果TPM 2确信它的秘密参数fT已被用于计算作为DAA密钥的一部分的假名N1,则TPM 2在步骤208内使用它的存储在存储器3内的秘密签署密钥EK鉴别假名N1。然后,再次将被鉴别假名N1传递给主机系统1。
在步骤209,主机系统1检查第一证明是否成功地完成,即TPM 2的贡献UT位于群<S>内。如果情况如此,则在步骤210,它在接收到被授权的假名N1,auth时,使得DAA密钥的公共部分即假名N1,auth和消息U对于颁发者8可用以进行认证。
在此应指出,任何一方可分别在证明验证过程207和209期间阻止密钥生成过程的成功完成。这是因为主机系统1不能在没有使用TPM 2的签署密钥EK进行鉴别的情况下生成有效密钥,并且TPM 2不能在没有控制所有网络通信的主机系统1的帮助下传递密钥。因此,如果任何一方不信任另一方,则它总是可以放弃图2内所示的密钥生成过程。
图3示出另一种方法的流程图,在该方法中如上所述生成的DAA密钥被颁发者8认证。从颁发者的角度看加入协议保持不变。这是给出的本发明的实施例的有利的特征,因为其允许与初始DAA协议向后兼容。
但是,由于主机系统1和TPM 2都不完全知道用于假名N1和消息U的计算的秘密参数f,所以在颁发者8将颁发DAA密钥上的证书之前,它们必须合作以便成功地完成颁发者8设置的质询。因此,只有在主机一侧执行的步骤,通常为在主机系统1的处理器6上运行的软件和在TPM 2的硬件内实现的一些功能的组合,才相对于初始DAA协议被修改。
为了证明知道秘密密钥f,在步骤300,主机系统1和TPM 2向颁发者8执行另一个零知识证明。这将向颁发者证明TPM与主机系统1一起知道离散对数即秘密参数f,该参数是fT和fH的和,并用于计算假名N1且还贡献于U的生成。
为了此第三证明,主机1将DAA密钥的公共部分即在步骤200内计算的假名N1和消息U作为证明提交消息发送给颁发者8。在步骤301,颁发者8选取随机参数n1并将其作为质询传递回主机系统1。主机系统将参数n1继续传递给TPM 2。
实际上,颁发者8检查假名N1是否被签署密钥EK的秘密部分签名,颁发者8持有该签署密钥的公共部分。为此目的,例如,颁发者8能够访问具有有效TPM 2的所有签署密钥EK的公共部分的数据库。
如果颁发者8接收假名N1源自有效TPM 2,则其出于安全原因使用用于鉴别接收到的假名N1的签署密钥EK的公共部分对参数n1加密。因此,只有具有签署密钥EK的秘密部分的TPM 2可对参数n1解密。
TPM 2和主机系统1现在必须共同证明它们知道用于生成假名N1和消息U的秘密参数fT和fH。尽管此证明遵循如上所述的对离散对数的知识的标准证明,但是由于每一方,即TPM 2和主机系统1,仅部分地知道该对数,所以该证明需要修改。
在步骤302,TPM 2选取另一个随机参数rT作为指数,并分别使用相同的基ζ1和R以及在步骤202内所述的在密钥生成期间使用的机制计算另一个贡献和
主机系统1还在步骤303选择另一个随机参数rH,并执行类似的操作即计算另一个贡献和
在步骤304,主机系统1从TPM 2接收到和并且就如密钥生成过程的步骤204中一样,将它们与它自己的贡献和相乘。在步骤304,主机系统1根据颁发者8的随机参数n1和主机选取的另一个随机参数nH计算质询cH。然后将此质询cH传递给TPM 2。
在步骤305,TPM 2选取另一个随机参数nT并利用一散列函数将从主机接收到的质询cH转换成质询c。然后,它使用随机参数rT计算对颁发者8的响应的第一贡献sT。
然后,将此贡献传送回给主机系统1,在步骤309主机系统使用它自己的参数rH计算对所述质询的第二贡献sH。主机还验证TPM已正确地计算质询c。然后贡献sT和sH被组合成响应s(这里是通过相加),并被传递给颁发者8以便验证。
颁发者8然后在步骤307利用一散列函数验证该响应的正确性。这实际上完成了对用于步骤200内的密钥生成的秘密参数f的知识的证明。
如在密钥生成过程内一样,为了易于计算,用作指数的参数rT和rH以及贡献sT和sH实际上是由几个部分构成的。但是,这不会对在此说明的方法造成根本的区别,因此为了清楚起见将被省略。
如果在步骤308,颁发者8确信主机系统1和TPM 2一起拥有对参数fH和fT的知识,则在步骤309,颁发者8根据它的秘密密钥SK1和用于密钥生成期间的假名U计算有效证书(A,e)。如果在步骤308颁发者8不能验证所述证明,则将放弃该加入过程并且不颁发证书。
在步骤310,主机系统1验证证书的一部分。此后,在步骤311,颁发者8向主机系统1证明签名(A,e)是正确计算的。尽管此证明对于保持整个DAA方案的安全是不重要的,但是它对于以后在签名协议的情况中确保主机的匿名性是重要的。
最后,在步骤312,主机系统1计算对证书(A,e)的第一贡献vH,而TPM 2计算对证书(A,e)的第二贡献vT。TPM 2和主机系统1都存储它们各自的贡献以便将来使用例如用于签名协议。
图4示出用于使用被认证的DAA密钥给消息签名的本发明的方法的实施例的流程图。与密钥生成200类似,这是由主机系统1和TPM 2共同执行的过程。在图4内,TPM执行的所有操作在左侧示出,而主机的操作在右侧示出。如前所述,操作的顺序可改变。
签名过程的目的是计算消息m上的签名σ,以便验证者9可确信消息的发送者知道密钥以及其上的证书,所述密钥和证书被用于生成消息m上的签名。这样,验证者9可确信消息m是真实的并且源于具有被颁发者8认证的TPM 2的主机平台1。
在概念上,这等同于另一个知识证明,其中主机系统1和TPM 2一起向验证者9证明它们拥有秘密参数f以及其上的证书(A,e)的知识。为了证明这一点,TPM 2和主机系统1首先计算证明提交消息TV和假名NV。然后,在接收到或计算出合适的质询c时,它们计算响应消息s,该消息证明相对于质询c它们知道秘密参数f以及其上的证书(A,e)。
与密钥生成类似,主机系统1需要确信TPM 2不能将任何隐藏的信息编码到消息TV或s或假名NV中。这可通过使TPM 2对证明的贡献随机化来实现。
在第一步骤401,主机系统1计算用于创建具有阶ρ的子群的基ζV。根据验证者9的请求,基ζV可由主机系统1单独生成或者是基于验证者9提供的基名(base name)bsn。如果主机系统1希望使用特定于具体验证者9的假名NV而不是保持完全匿名,则后者的情况尤其有用。这可用于例如在共同会话中在主机系统1和验证者9之间交换的各个消息之间保持连接状态,即保持会话状态。
然后,通过接口7使基ζV对于TPM 2可用。任选地,TPM 2例如可通过验证基ζV确实生成具有阶ρ的子群来验证基ζV是否计算正确。
在步骤402,TPM 2选取随机参数rH,该参数用于通过计算具有基A和指数r的指数函数将证书(A,e)隐藏在对第一消息T的第一贡献TT内。
实际上,证书(A,e)包括使用多个消息T1和T2编码的多个部分。因此,TPM 2选择一些随机参数并计算一些贡献T1T和T2T,等等。另外,使用另一个随机参数w计算基于颁发者的公钥PK1的另外的指数函数。但是,为了保持说明简单,这里将仅说明对证书的单个部分的知识的证明。
另外,TPM 2计算对用于与验证者9通信的假名NV的第一贡献NV,T。这是以与密钥生成过程的步骤202中的方式相同的方式完成的,但是使用ζV作为基。贡献NV,T和TV被提供给主机系统1的处理器6。
在步骤404,主机系统1通过将TPM 2的第一贡献NV,T乘以它自己的贡献NV,H将该第一贡献随机化,该贡献NV,H基于第二秘密参数fH并且是在步骤403中计算的。另外,主机系统1还通过基于另一个秘密参数rH计算对消息T的第二贡献TH并将其与TPM的贡献TT相乘来将消息T随机化。
在步骤405,TPM 2向主机证明它的贡献TT位于由S生成的子群内,S是消息空间<S>的群生成元。此第四证明类似于针对密钥生成过程说明的步骤206的证明,因此在此将不再说明。它确保了TPM不能在消息T内隐藏任何信息,并结束签名σ的第一部分即证明提交消息T的计算。
在步骤406,主机系统1检查步骤405的证明是否成功完成。如果情况如此,则主机系统1与TPM 2一起计算质询c,TPM 2必须使用它的秘密参数rT的知识响应该质询。这形成签名σ的第二部分s。
在理论上,质询c是由验证者9计算的。但是,为了使签名协议更高效,由TPM 2预先计算质询c,该质询c可基于随机参数nt以及消息T和假名Nv上的散列函数。为了允许验证者9分析质询c是否计算正确,质询c和随机参数nt一起被包含在最终的签名σ内,下文将对此进行说明。
再次地,重要的是,TPM 2和主机系统1都贡献于随机参数nt以确保方案的安全性和匿名性。根据DAA协议,TMP 2必须贡献于此参数nt以便防止重放攻击。同时,主机系统1需要添加贡献以确保即使TPM 2是被破坏的(corrupted),参数nt仍确实是随机的。
为了防止在此过程内任何一方欺骗,TPM 2首先在步骤407选取它的贡献nt,T,并将它的散列值hT传递给主机系统1。在另一个步骤408内,主机系统1然后在仍不知道TPM 2的贡献nt,T时选取它自己的贡献nt,H,并将它发送给TPM 2。然后,在步骤409,TPM 2将两个贡献组合成最终的参数nt并将它返回主机系统1。在步骤410,主机系统1然后可使用散列值ht和它对自己的贡献nt,H的知识验证两个贡献确实包含在其内,
在此过程期间,在步骤409,TPM 2还使用随机参数nt将主机在步骤408计算的初始质询cH转换成最终质询c。仍作为步骤409的一部分,TPM然后通过根据秘密参数rT和fT的知识计算对响应sT的第一贡献来响应质询c,并将它返回给主机系统1。
在步骤410,主机系统1也使用它的秘密参数rH和fH的知识将响应sT转换成响应s。在此步骤,主机系统1可验证TPM 2计算的所有部分都计算正确,尤其是它们仍包含主机自己提供的贡献。
响应s与质询c、随机参数nt、基ζv、假名Nv和消息T一起构成签名σ,在步骤410结束时使该签名对于验证者可用。
作为DAA协议的一部分的最后的过程是通过验证者9验证签名σ。由于此过程被验证者单独执行,所以它不需要根据本发明的此给出的实施例改变,并且在此仅出于完整性的原因被非常简要地说明。
基本上,验证者9验证质询c是否计算正确,例如是否基于将被签名的消息m、随机参数nt、验证者的公钥、假名Nv和消息T。如果基ζv得自基名bsn,则验证者可另外检查基ζv是否正确地形成。
如果验证者9能够访问包含从欺诈TPM 2提取的秘密参数f的黑名单11,则它可根据基ζv和来自该名单的秘密参数f计算假名Nrogue,并将它们与作为签名σ的一部分接收到的假名Nv相比较。因此,源自欺诈TPM 2的签名可被检测并作为无效鉴别被拒绝。
如果验证者9成功地验证所有检查,即如果签名σ包含被认证的密钥的知识的有效证明,则验证者9可相信消息m是真实的并且源自可信的主机平台1。因此,它可决定向主机系统1准许对被寻找资源的访问或在消息m内编码的其他请求。
根据DAA协议,消息m实际上包含被称为证明身份密钥(AIK)的另一个不对称密钥,其用于主机系统1和验证者9之间的安全和匿名的通信。因此,通过执行上述方法,主机可生成和鉴别用于每个验证者9的单独的证明身份密钥,而未允许验证者9或颁发者8将这些密钥链接在一起,即揭示它们是源自同一主机平台1。但是,从实际角度考虑,消息m的内容对于其被主机系统1和TPM 2签名以及被验证者9验证是不相关的。
修改的直接匿名证明协议
尽管列举出下面的步骤以便于参考,但是这并不一定暗示着步骤执行的严格顺序。由于作为基础的方法以分布方式执行即被TPM 2、主机计算计1、颁发者8和验证者9部分地执行,所以只要所有先决条件已被计算则步骤就可并行执行。
下面的等式限定了在随后说明的协议期间选择的参数的以位表示的长度。
le>lf+2l+lH+4 (1)
le>le+l+lH+2 (2)
le>ln+lf+2l+lH+lr+3 (3)
lρ=2lf (4)
与初始DAA协议相比,参数e和v的位长度增加以便不允许TPM和主机中的每个贡献于最初由TPM单独选择的秘密。
密钥生成
在加入协议期间,主机与内置TPM合作生成密钥。然后向颁发者证明形成密钥的秘密部分的秘密参数f0和f1的知识,该颁发者作为响应将颁发该密钥上的证书。
为了即使在欺诈TPM的情况下仍确保匿名,按以下方式修改初始协议,即如果至少或者主机或者TPM是诚实的,则它确保在密钥生成期间计算的消息U位于正确的群内,并且任何单个一方不知道秘密参数f0和f1。
1.首先,主机通过具有基名bsn1的颁发者计算用于生成假名N1的基ζ1,其中Γ是用于密钥生成的群的阶,ρ是该群的子群的阶,H是散列函数,而‖指示位串的拼接。
主机计算
ζ1=(Hρ(1‖bsn1))(Γ-1)/ρmodΓ
并将ζ1发送给TPM。
2. TPM然后验证主机生成的ζ1是用于创建S即消息空间的子群的有效的基:
TPM检查是否
3. TPM然后生成用作生成TPM的秘密参数f(t)的种子的随机数DAA-seed,并设置其对于在等式1到4中选择的值为1。
然后,TPM根据颁发者的公钥PK1计算:
f(t):=Hhk(Hhk(PK1‖DAA-seed‖cnt)‖0)‖...‖Hhk(Hhk(PK1‖DAA-seed‖cnt)‖i)(modρ),
(5)
然后,将U(t)和N1 (t)和发送给主机,该主机继而根据另一个随机散列种子生成它自己的秘密参数f(h)。
4.主机计算并选择:
并将N1发送给TPM。
5.主机将假名N1发送给TPM以便验证,并在下面的证明中承担证明者的角色而TPM作为验证者:
这是使用类似于作为Schnorr签名方法的基础的协议的协议证明的,其中一方(在此为主机)向第二方(在此为TPM)证明对一离散对数的知识。
6.如果TPM接收该证明,则然后TPM通过用它的签署密钥EK对N1签名来向颁发者鉴别N1。
7.TPM向主机证明以下命题:
出于数学原因,TPM在此证明内具有二分之一的欺骗的可能,即使主机相信消息部分U(t)是从R0、R1、S和S’正确计算出的,虽然并非如此。但是,可通过重复这种质询数次或使数个TPM执行该质询来使此欺骗可能性最小。实际上,由于制造者将分发许多相同的TPM,所以它们中从没有一个被发现欺骗的可能性实际上是极小的。
此证明示出U(t)位于S生成的子群内。上述证明几乎与下面的步骤内主机和TPM共同计算的证明相同。实际上,主机可使用用于执行下面的步骤的与TPM的接口来执行上面的证明。就是说,不必为此在TPM中实现新的命令。
在TPM和主机都确信假名N1和消息U计算正确之后,主机将它们传送给颁发者以便获得基于秘密参数f0和f1的秘密密钥上的证书。
8.为此,TPM和主机如下地向颁发者证明对f0、f1和v’的知识,从
而
和
a)TPM选择和计算
b)主机选择并计算
c)颁发者选择随机串
并将ni发送给TPM。
d)TPM选择随机数nt∈{0,1}l,并计算
e)TPM计算
f)TPM将(c,nt,sf0 (t),sf1 (t),sv1′ (t),sv2′ (t)发送给主机,但将sv2′′保密。
g)主机计算
并检查
并将(c,nt,sf0,sf1,sv′)发送给颁发者。
h)颁发者如下地验证该证明
和
并检查
9.颁发者选择
和素数
计算
并将(A,e,v″)发送给主机。
10.主机验证e是否为素数并且是否位于[2le-1,2le-1+2le+1]内。
11.主机选择随机整数nh∈{0,1}l并将nh发送给颁发者。
12.颁发者随机选择re∈R[0,p′q′],并计算
se:=re-c′/emod p′q′ (33)
并将c’和se发送给主机。
13.主机计算
并检查
14.主机计算v(h):=v″+ v(h)并存储(f0 (h),f1 (h),v(h))
15. TPM存储(f0 (t),f1 (t),v0 (t),v1 (t))。
TPM内存储的参数和主机内存储的参数共同形成秘密密钥和该密钥上的来自颁发者的证书。但是,主机或TPM都不完全知道所有参数,因此不能独自地使用该密钥或证书。因此,它们需要合作以便使用此密钥来与验证者通信。
使用DAA证书给用于验证者V的消息m签名
修改版本的DAA签名算法的目的是确保签名内的所有值都是随机的。尽管签名内出现的很多值已被主机控制或至少由主机贡献,尤其是主机和TPM共享用于计算它们的秘密的那些值,存在一些不是这样即仅由TPM计算的值。对于这些值,协议被修改以便它们被主机和TPM共同计算。
另外,TPM需要显式地证明值被TPM正确计算,即它位于S生成的子群内。
签名算法包括如下步骤:
1.计算基ζ
(a)根据验证者是否指定具体的基名bsn,主机如下地计算ζ
ζ∈R<γ>或ζ:=(Hρ(1‖bsn))(Γ-1)/ρmodΓ
其中Hρ()是抗冲突(collision resistant)散列函数HΓ:{0,1}*→{0,1}lΓ+l,并将ζ发送给TPM。
(b)TPM检查是否ζρ≡1(modΓ),即其是否是用于消息空间的正确的基。
2.计算对用于与验证者通信的假名Nv的主机贡献,和对证明提交消息T1和T2的主机贡献。
(a)主机选取随机整数并计算
T1:=Ahw mod n和T2:=gwhe(g′)r mod n
(b)TPM计算
并将NV (t)发送给主机。
(c)主机计算
3.计算对用于与验证者通信的假名Nv的TPM贡献,和对证明提交消息T1和T2的TPM贡献。
(a)TPM选取随机整数
并计算
(b)TPM例如使用二进制质询并重复较少的次数来向主机证明以下命题:
此证明示出位于S生成的子群内。将此证明运行较少次数例如一次就足够了,这是因为存在许多相同的TPM。此外,可检测TPM正确地运行此协议。与加入协议中的情况类似,应指出,上述证明几乎与下面的步骤内主机和TPM共同计算的证明相同。实际上,主机可使用用于执行下面的步骤的与TPM的接口来执行上面的证明。就是说,不必为此在TPM中实现新的命令。但是,如果这样做,则需要确保消息m在所有这些调用内都相同。
(c)主机选取随机整数
并计算
4.计算质询
(a)TPM选择随机数
计算
并将ht发送给主机。
(b)主机选择随机数
并将其发送给TPM。
(c)主机计算
ch:=Hhk((hk‖n‖g‖g′‖h‖R0‖R1‖S‖Z‖γ‖Γ‖ρ)‖ζ‖(T1‖T2)‖
并将ch和ni发送给TPM。
(d)TPM计算
以及
并将c、nt发送给主机。
(e)主机验证
5.计算对质询的响应消息
(a)TPM计算(在整数上)
并将(sv1,sv2,sf0′,sf1′)这些值发送给主机。(应指出,sv1′一定不能被发送给主机。)
(b)主机计算(在整数上)
sw:=rw+cw sew:=rew+cwe
sr:=rr+cr ser:=rer+cer
并验证
并输出签名
验证消息m的签名σ
验证者然后如在初始DAA协议内所作的那样验证签名的正确性。因此,不需要在验证者或在验证者一侧运行的软件上进行改变。出于完整性而包括下面的说明,以便示出如何成功地完成DAA协议。
相对于公钥(hk,n,g,g′,h,R0,R1,S,Z,γ,Γ,ρ)的消息m上的签名
的验证包括以下步骤:
1.计算
的验证包括以下步骤:
1.计算
和
2.验证
3.如果ζ不是随机选择的而是得自验证者基名bsn,则检查是否
4.对于撤销名单上的所有(f0,f1)检查是否
应指出,在这里,预计撤销名单即包括先前已被识别为欺诈TPM的所有TPM的秘密参数f0和f1较短。因此,步骤4在计算上是可行的。
标号列表
1 主机系统
2 可信平台模块(TPM)
3 TPM的存储器
4 TPM的处理单元
5 主机系统的存储器
6 主机系统的存储器
7 接口
8 颁发者
9 验证者
10 数据网络
11 黑名单
200 密钥生成方法
201-210 密钥生成方法的步骤
300-312 加入方法的步骤
401-410 签名方法的步骤
f,r 秘密参数
N 假名
U,T,s 消息
ζ 基
ρ,Γ 子群的阶
<S> S生成的子群
(A,e) 证书
c 质询
σ 签名
PK 公钥
SK 私钥
EK 签署密钥
bsn 基名
Claims (37)
1.一种密码方法,包括:
-提供包括可信平台模块TPM(2)的主机系统(1),
-由TPM(2)计算对消息U的第一贡献UT,该第一贡献UT基于该TPM(2)内存储的第一秘密参数fT,
-由该主机系统(1)计算对该消息U的第二贡献UH,该第二贡献UH基于存储在该TPM(2)之外该主机系统(1)内的第二秘密参数fH,
-由该主机系统(1)或该TPM(2)组合对该消息U的该第一贡献UT和第二贡献UH,以及
-执行第一证明,该证明分别或者向该主机系统(1)证明该TPM(2)的第一贡献UT计算正确,或者向该TPM(2)证明该主机系统(1)的第二贡献UH计算正确。
2.根据权利要求1的密码方法,其中,所述执行第一证明的步骤包括:
-将颁发者(8)的公钥PK1提供给所述主机系统(1)和TPM(2),以及
-分别证明对所述消息U的所述第一贡献UT或者第二贡献UH位于由该颁发者(8)的公钥PK1的至少一部分定义的子群内。
3.根据权利要求1的密码方法,其中,
-所述主机系统(1)组合对所述消息U的所述第一UT和第二贡献UH,而所述TPM(2)执行所述第一证明,向所述主机系统(1)证明该TPM(2)的贡献UT计算正确,并且
该方法还包括:
-基于所述第一秘密参数fT和第二秘密参数fH计算用于与颁发者(8)通信的假名N1,
-执行第二证明,向该TPM(2)证明该假名N1计算正确,
-如果该TPM(2)接受该第二证明,则由该TPM(2)使用存储在该TPM(2)内的秘密签署密钥EK鉴别该假名N1,以及
-如果该主机系统(1)接受该第一证明,则通过该主机系统(1)使被鉴别的假名N1,auth和组合的消息U可用。
4.根据权利要求3的密码方法,其中,所述计算假名N1的步骤包括:
-将颁发者(8)的公钥PK1提供给所述主机系统(1)和TPM(2),
-该主机系统(1)基于该公钥PK1的一部分选择用于指数函数的计算的基ζ1,并将该基ζ1传递给该TPM(2),
-该TPM(2)基于该基ζ1和作为指数的所述第一秘密参数fT计算该假名N1的第一贡献N1,T,并将该第一贡献N1,T传递给主机系统(1),
-该主机系统(1)基于该基ζ1和作为指数的所述第二秘密参数fH计算该假名N1的第二贡献N1,H,以及
-该主机系统(1)基于该第一贡献N1,T和第二贡献N1,H的组合计算该假名N1,并将该假名N1传递给该TPM(2)。
5.根据权利要求3的密码方法,其中,所述执行第二证明的步骤包括:
-证明所述主机系统(1)和TPM(2)一起具有所述第一秘密参数fT和第二秘密参数fH的知识。
6.根据权利要求3的密码方法,还包括:
-将所述被鉴别的假名N1,auth和消息U从所述主机系统(1)传递给颁发者(8),
-执行第三证明,由该主机系统(1)和TPM(2)向该颁发者(8)证明该被鉴别的假名N1,auth和消息(U)计算正确,
-如果该颁发者(8)接受该第三证明,则该颁发者(8)为该假名N1生成证书(A,e),证明该假名N1是使用有效TPM(2)生成的并且被该颁发者(8)认可,
-将该证书(A,e)传递给该主机系统(1),以及
-由该主机系统(1)解码并存储该证书(A,e)的第一部分vH,和由该TPM(2)解码并存储该证书(A,e)的第二部分vT。
7.根据权利要求6的密码方法,其中,所述执行第三证明的步骤包括:
-向所述颁发者证明使用了有效的签署密钥EK鉴别所述假名N1,以及
-证明该主机系统(1)和TPM(2)共同具有用于生成该假名N1和消息U的所述第一秘密参数fT和第二秘密参数fH的知识。
8.一种密码方法,该方法包括:
-提供包括可信平台模块TPM(2)和匿名证明密钥的主机系统(1),该匿名证明密钥包括第一秘密参数fT和第二秘密参数fH、第一假名N1和来自颁发者(8)的证书(A,e),其中,至少该第一秘密参数fT存储在TPM(2)内,而至少该第二秘密参数fH存储在TPM(2)之外,
-基于用于生成用于与该颁发者(8)通信的该第一假名N1的该至少两个秘密参数fT,fH,计算用于与验证者(9)通信的第二假名Nv,
-至少基于该TPM(2)选择的第一签名参数rT和该主机系统(1)选择的第二签名参数rH计算签名消息(T,s),
-执行第四证明,向该主机系统(1)证明基于该第一签名参数rT的对该签名消息(T,s)的第一贡献是由该TPM(2)正确计算的,
-通过基于该第二假名Nv和签名消息(T,s)计算签名σ来给消息m签名,以及
-如果该主机系统(1)接受该第四证明,则通过该主机系统(1)使该签名σ可用。
9.根据权利要求8的密码方法,其中,所述计算第二假名Nv的步骤包括:
-所述主机系统(1)选择用于指数函数的计算的基ζv,并将该基ζv传递给所述TPM(2),
-该TPM(2)基于该基ζv和作为指数的第一秘密参数fT计算对该假名Nv的第一贡献Nv,T,并将该第一贡献Nv,T传递给该主机系统(1),
-该主机系统(1)基于该基ζv和作为指数的第二秘密参数fH计算对该假名Nv的第二贡献Nv,H,以及
-该主机系统(1)基于该第一贡献Nv,T和第二贡献Nv,H的组合计算该假名Nv,并将该假名Nv传递给该TPM(2)。
10.根据权利要求8的密码方法,其中,所述计算签名消息(T,s)的步骤包括:
-计算第一签名部分T,
-基于该第一签名部分T计算质询c,以及
-基于该质询c计算第二签名部分s。
11.根据权利要求10的密码方法,其中,所述计算第一签名部分T的步骤包括:
-通过所述TPM(2)基于作为指数的所述第一签名参数rT计算对该第一签名部分T的第一贡献TT,并将该第一贡献TT传递给所述主机系统(1),
-该主机系统(1)基于作为指数的所述第二签名参数rH计算对该第一签名部分T的第二贡献TH,以及
-该主机系统(1)基于该第一贡献TT和第二贡献TH的组合计算第一签名部分T。
12.根据权利要求10的密码方法,其中,所述执行第四证明的步骤包括:
-将所述颁发者(8)的公钥PK1提供给所述主机系统(1)和TPM(2),以及
-证明所述第一签名部分T的第一贡献TT位于由该颁发者(8)的公钥PK1的至少一部分定义的子群内。
13.根据权利要求8的密码方法,还包括:
-将所述签名σ和消息m从所述主机系统(1)传递给所述验证者(9),
-验证该签名σ相对于该消息m的正确性,以及
-如果签名σ可被验证为正确的,则该验证者(9)接受该消息m是有效的。
14.根据权利要求8的密码方法,其中,所述签名包括的值:
-向所述验证者(9)证明所述第二假名Nv是基于用于计算所述第一假名N1的两个秘密参数fT和fH,以及
-向该验证者(9)证明所述主机系统(1)和TPM(2)共同具有该第一假名N1上的证书(A,e)的知识。
15.主机系统(1),包括:
-可信平台模块TPM(2),该TPM(2)还包括第一存储器(3)和第一处理单元(4),
-在该TPM(2)外部的第二处理单元(6),以及
-在TPM(2)外部的第二存储器(5),
从而
-该第一处理单元(4)被配置成计算对消息U的第一贡献UT,该第一贡献UT基于存储在该第一存储器(3)内的第一秘密参数fT,
-该第二处理单元(6)被配置成计算对该消息U的第二贡献UH,该第二贡献UH基于存储在该第二存储器(5)内的第二秘密参数fH,
-该第一或第二处理单元(4,6)或者两者被配置成组合对该消息U的该第一贡献UT和第二贡献UH,并验证另一个处理单元(6,4)的关于它的贡献UH或UT计算正确的证明。
16.根据权利要求15的主机系统(1),其适于在所述TPM(2)内生成第一随机数并在该TPM(2)外生成第二随机数,从而该第一随机数和第二随机数用作所述第一秘密参数fT和第二秘密参数fH。
17.根据权利要求15或16的主机系统(1),其适于生成用于加密或鉴别的不对称密钥对,从而所述消息U形成该不对称密钥对的公共部分的至少一部分,而所述第一秘密参数fT和第二秘密参数fH形成该不对称密钥对的私密部分的至少一部分。
18.根据权利要求15或16的主机系统(1),其适于执行权利要求1到5或8到12的方法中的任何一个。
19.用于集成在主机系统(1)内的可信平台模块装置(2),包括:
-处理单元(4),
-存储器(3),以及
-与主机系统(1)的接口(7),
从而该处理单元(4)适于
-基于该存储器(3)内存储的参数fT计算对消息U的第一贡献UT,
-经由该接口(7)将该第一贡献UT传递给主机系统(1)以便与第二贡献UH组合,所述第二贡献UH是基于由主机系统(1)存储在该可信平台模块装置(2)之外的第二参数fH计算的,以及
-基于所述第一贡献UT与第二贡献UH的组合,向该主机系统(1)证明该贡献UT计算正确。
20.根据权利要求19的可信平台模块(2),其中,所述处理单元(4)还适于
-基于所述参数fT计算对假名的贡献NT,
-经由所述接口(7)将该贡献NT传递给所述主机系统(1),以及
-从该主机系统(1)请求和验证这样的证明,即该贡献NT已贡献于经由该接口(7)接收到的假名N。
21.计算机系统,包括:
-具有内置可信平台模块(2)的主机(1),
-颁发者(8),
-验证者(9),
-该主机(1)和颁发者(8)之间的第一通信链路(10),以及
-该主机(1)和验证者(9)之间的第二通信链路(10),该第一通信链路(10)和第二通信链路(10)相同或不同,从而该计算机系统适于执行根据权利要求1到14中的任何一个的密码方法。
22.一种密码装置,包括:
-用于从可信平台模块TPM(2)请求对消息U的第一贡献UT的模块,
-用于验证该第一贡献UT是由TPM(2)正确计算的模块,
-用于基于计算机程序选择的秘密参数fH计算对该消息U的第二贡献UH的模块,
-用于组合对该消息U的该第一贡献UT和第二贡献UH的模块,以及
-用于如果该第一贡献UT的验证成功则使该消息U可用的模块。
23.根据权利要求22的装置还包括:
-用于从可信平台模块TPM(2)请求对假名N1的第一贡献N1,T的模块,
-用于基于计算机程序选择的秘密参数fH计算对该假名N1的第二贡献N1,H的模块,
-用于组合对该假名N1的该第一贡献N1,T和第二贡献N1,H的模块,以及
-用于在请求时向该TPM(2)证明该第一贡献N1,T已贡献于该假名N1的模块。
24.一种密码装置,包括:
-用于提供包括可信平台模块TPM(2)的主机系统(1)的模块,
-用于由TPM(2)计算对消息U的第一贡献UT的模块,该第一贡献UT基于该TPM(2)内存储的第一秘密参数fT,
-用于由该主机系统(1)计算对该消息U的第二贡献UH的模块,该第二贡献UH基于存储在该TPM(2)之外该主机系统(1)内的第二秘密参数fH,
-用于由该主机系统(1)或该TPM(2)组合对该消息U的该第一贡献UT和第二贡献UH的模块,以及
-用于执行第一证明的模块,该证明分别或者向该主机系统(1)证明该TPM(2)的第一贡献UT计算正确,或者向该TPM(2)证明该主机系统(1)的第二贡献UH计算正确。
25.根据权利要求24的密码装置,其中,所述用于执行第一证明的模块包括:
-用于将颁发者(8)的公钥PK1提供给所述主机系统(1)和TPM(2)的装置,以及
-用于分别证明对所述消息U的所述第一贡献UT或者第二贡献UH位于由该颁发者(8)的公钥PK1的至少一部分定义的子群内的装置。
26.根据权利要求24的密码装置,其中,
-所述主机系统(1)组合对所述消息U的所述第一UT和第二贡献UH,而所述TPM(2)执行所述第一证明,向所述主机系统(1)证明该TPM(2)的贡献UT计算正确,并且
该密码装置还包括:
-用于基于所述第一秘密参数fT和第二秘密参数fH计算用于与颁发者(8)通信的假名N1的模块,
-用于执行第二证明,向该TPM(2)证明该假名N1计算正确的模块,
-用于如果该TPM(2)接受该第二证明,则由该TPM(2)使用存储在该TPM(2)内的秘密签署密钥EK鉴别该假名N1的模块,以及
-用于如果该主机系统(1)接受该第一证明,则通过该主机系统(1)使被鉴别的假名N1,auth和组合的消息U可用的模块。
27.根据权利要求26的密码装置,其中,所述用于计算假名N1的模块包括:
-用于将颁发者(8)的公钥PK1提供给所述主机系统(1)和TPM(2)的装置,
-用于由该主机系统(1)基于该公钥PK1的一部分选择用于指数函数的计算的基ζ1,并将该基ζ1传递给该TPM(2)的装置,
-用于由该TPM(2)基于该基ζ1和作为指数的所述第一秘密参数fT计算该假名N1的第一贡献N1,T,并将该第一贡献N1,T传递给主机系统(1)的装置,
-用于由该主机系统(1)基于该基ζ1和作为指数的所述第二秘密参数fH计算该假名N1的第二贡献N1,H的装置,以及
-用于由该主机系统(1)基于该第一贡献N1,T和第二贡献N1,H的组合计算该假名N1,并将该假名N1传递给该TPM(2)的装置。
28.根据权利要求26的密码装置,其中,所述用于执行第二证明的模块包括:
-用于证明所述主机系统(1)和TPM(2)一起具有所述第一秘密参数fT和第二秘密参数fH的知识的装置。
29.根据权利要求26的密码装置,还包括:
-用于将所述被鉴别的假名N1,auth和消息U从所述主机系统(1)传递给颁发者(8)的模块,
-用于执行第三证明,由该主机系统(1)和TPM(2)向该颁发者(8)证明该被鉴别的假名N1,auth和消息U计算正确的模块,
-用于如果该颁发者(8)接受该第三证明,则由该颁发者(8)为该假名N1生成证书(A,e),证明该假名N1是使用有效TPM(2)生成的并且被该颁发者(8)认可的模块,
-用于将该证书(A,e)传递给该主机系统(1)的模块,以及
-用于由该主机系统(1)解码并存储该证书(A,e)的第一部分vH,和由该TPM(2)解码并存储该证书(A,e)的第二部分vT的模块。
30.根据权利要求29的密码装置,其中,所述用于执行第三证明的模块包括:
-用于向所述颁发者证明使用了有效的签署密钥EK鉴别所述假名N1的装置,以及
-用于证明该主机系统(1)和TPM(2)共同具有用于生成该假名N1和消息U的所述第一秘密参数fT和第二秘密参数fH的知识的装置。
31.一种密码装置,该装置包括:
-用于提供包括可信平台模块TPM(2)和匿名证明密钥的主机系统(1)的模块,该匿名证明密钥包括第一秘密参数fT和第二秘密参数fH、第一假名N1和来自颁发者(8)的证书(A,e),其中,至少该第一秘密参数fT存储在TPM(2)内,而至少该第二秘密参数fH存储在TPM(2)之外,
-用于基于用于生成用于与该颁发者(8)通信的该第一假名N1的该至少两个秘密参数fT,fH,计算用于与验证者(9)通信的第二假名Nv的模块,
-用于至少基于该TPM(2)选择的第一签名参数rT和该主机系统(1)选择的第二签名参数rH计算签名消息(T,s)的模块,
-用于执行第四证明,向该主机系统(1)证明基于该第一签名参数rT的对该签名消息(T,s)的第一贡献是由该TPM(2)正确计算的的模块,
-用于通过基于该第二假名Nv和签名消息(T,s)计算签名σ来给消息m签名的模块,以及
-用于如果该主机系统(1)接受该第四证明,则通过该主机系统(1)使该签名σ可用的模块。
32.根据权利要求31的密码装置,其中,所述用于计算第二假名Nv的模块包括:
-用于由所述主机系统(1)选择用于指数函数的计算的基ζv,并将该基ζv传递给所述TPM(2)的装置,
-用于由该TPM(2)基于该基ζv和作为指数的第一秘密参数fT计算对该假名Nv的第一贡献Nv,T,并将该第一贡献Nv,T传递给该主机系统(1)的装置,
-用于由该主机系统(1)基于该基ζv和作为指数的第二秘密参数fH计算对该假名Nv的第二贡献Nv,H的装置,以及
-用于由该主机系统(1)基于该第一贡献Nv,T和第二贡献Nv,H的组合计算该假名Nv,并将该假名Nv传递给该TPM(2)的装置。
33.根据权利要求31的密码装置,其中,所述用于计算签名消息(T,s)的模块包括:
-用于计算第一签名部分T的装置,
-用于基于该第一签名部分T计算质询c的装置,以及
-用于基于该质询c计算第二签名部分s的装置。
34.根据权利要求33的密码装置,其中,所述用于计算第一签名部分T的装置包括:
-用于通过所述TPM(2)基于作为指数的所述第一签名参数rT计算对该第一签名部分T的第一贡献TT,并将该第一贡献TT传递给所述主机系统(1)的装置,
-用于由该主机系统(1)基于作为指数的所述第二签名参数rH计算对该第一签名部分T的第二贡献TH的装置,以及
-用于由该主机系统(1)基于该第一贡献TT和第二贡献TH的组合计算第一签名部分T的装置。
35.根据权利要求33的密码装置,其中,所述用于执行第四证明的模块包括:
-用于将所述颁发者(8)的公钥PK1提供给所述主机系统(1)和TPM(2)的装置,以及
-用于证明所述第一签名部分T的第一贡献TT位于由该颁发者(8)的公钥PK1的至少一部分定义的子群内的装置。
36.根据权利要求31的密码装置,还包括:
-用于将所述签名σ和消息m从所述主机系统(1)传递给所述验证者(9)的模块,
-用于验证该签名σ相对于该消息m的正确性的模块,以及
-用于如果签名σ可被验证为正确的,则由该验证者(9)接受该消息m是有效的的模块。
37.根据权利要求31的密码装置,其中,所述签名包括的值:
-向所述验证者(9)证明所述第二假名Nv是基于用于计算所述第一假名N1的两个秘密参数fT和fH,以及
-向该验证者(9)证明所述主机系统(1)和TPM(2)共同具有该第一假名N1上的证书(A,e)的知识。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05021352 | 2005-09-29 | ||
EP05021352.9 | 2005-09-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1941699A CN1941699A (zh) | 2007-04-04 |
CN1941699B true CN1941699B (zh) | 2012-05-23 |
Family
ID=37959511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610115997 Expired - Fee Related CN1941699B (zh) | 2005-09-29 | 2006-08-22 | 密码方法、主机系统、可信平台模块和计算机安排 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8856524B2 (zh) |
CN (1) | CN1941699B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844614B2 (en) * | 2007-04-30 | 2010-11-30 | Intel Corporation | Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation |
US8078876B2 (en) * | 2007-04-30 | 2011-12-13 | Intel Corporation | Apparatus and method for direct anonymous attestation from bilinear maps |
US20080307223A1 (en) * | 2007-06-08 | 2008-12-11 | Brickell Ernest F | Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation |
US7913086B2 (en) | 2007-06-20 | 2011-03-22 | Nokia Corporation | Method for remote message attestation in a communication system |
GB0801662D0 (en) * | 2008-01-30 | 2008-03-05 | Hewlett Packard Development Co | Direct anonymous attestation using bilinear maps |
US9276905B2 (en) * | 2008-02-15 | 2016-03-01 | The Mitre Corporation | Attestation architecture and system |
US8499149B2 (en) * | 2008-02-20 | 2013-07-30 | Hewlett-Packard Development Company, L.P. | Revocation for direct anonymous attestation |
US8145897B2 (en) | 2008-09-29 | 2012-03-27 | Intel Corporation | Direct anonymous attestation scheme with outsourcing capability |
US8544092B2 (en) * | 2009-03-12 | 2013-09-24 | International Business Machines Corporation | Integrity verification using a peripheral device |
US8819437B2 (en) | 2010-09-30 | 2014-08-26 | Microsoft Corporation | Cryptographic device that binds an additional authentication factor to multiple identities |
KR20140054151A (ko) | 2011-07-29 | 2014-05-08 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 크레덴셜 검증 |
US8595505B2 (en) * | 2011-09-28 | 2013-11-26 | Intel Corporation | Apparatus and method for direct anonymous attestation from bilinear maps |
US8955075B2 (en) * | 2012-12-23 | 2015-02-10 | Mcafee Inc | Hardware-based device authentication |
US20140282985A1 (en) * | 2013-03-15 | 2014-09-18 | Google Inc. | Remote Access Authentication |
US9887983B2 (en) * | 2013-10-29 | 2018-02-06 | Nok Nok Labs, Inc. | Apparatus and method for implementing composite authenticators |
US10270748B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US9367676B2 (en) | 2013-03-22 | 2016-06-14 | Nok Nok Labs, Inc. | System and method for confirming location using supplemental sensor and/or location data |
GB2531848B (en) * | 2014-10-31 | 2017-12-13 | Hewlett Packard Entpr Dev Lp | Management of cryptographic keys |
US9608825B2 (en) * | 2014-11-14 | 2017-03-28 | Intel Corporation | Trusted platform module certification and attestation utilizing an anonymous key system |
US9553853B2 (en) * | 2014-12-23 | 2017-01-24 | Intel Corporation | Techniques for load balancing in a packet distribution system |
US10277407B2 (en) * | 2016-04-19 | 2019-04-30 | Microsoft Technology Licensing, Llc | Key-attestation-contingent certificate issuance |
US10769635B2 (en) | 2016-08-05 | 2020-09-08 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10637853B2 (en) | 2016-08-05 | 2020-04-28 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
US10320571B2 (en) * | 2016-09-23 | 2019-06-11 | Microsoft Technology Licensing, Llc | Techniques for authenticating devices using a trusted platform module device |
US10104088B2 (en) * | 2016-09-28 | 2018-10-16 | International Business Machines Corporation | Traitor tracing for obfuscated credentials |
US10545770B2 (en) | 2016-11-14 | 2020-01-28 | Intel Corporation | Configurable client hardware |
US10887090B2 (en) * | 2017-09-22 | 2021-01-05 | Nec Corporation | Scalable byzantine fault-tolerant protocol with partial tee support |
US20190109877A1 (en) | 2017-10-11 | 2019-04-11 | Microsoft Technology Licensing, Llc | Secure application metering |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
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 |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
KR20210087710A (ko) * | 2020-01-03 | 2021-07-13 | 삼성전자주식회사 | 운송 장치, 통신 시스템 및 이를 이용한 통신 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1227688A (zh) * | 1996-06-14 | 1999-09-01 | 艾利森电话股份有限公司 | 在通信系统中提供匿名数据传送的方法与装置 |
CN1256596A (zh) * | 1998-08-28 | 2000-06-14 | 朗迅科技公司 | 保护移动台匿名的方法 |
CN1520656A (zh) * | 2001-04-23 | 2004-08-11 | 国际商业机器公司 | 不可转让的匿名数字收据 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058807B2 (en) * | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
US7444512B2 (en) * | 2003-04-11 | 2008-10-28 | Intel Corporation | Establishing trust without revealing identity |
US7526649B2 (en) * | 2003-12-30 | 2009-04-28 | Intel Corporation | Session key exchange |
US20060129824A1 (en) * | 2004-12-15 | 2006-06-15 | Hoff James P | Systems, methods, and media for accessing TPM keys |
-
2006
- 2006-08-22 CN CN 200610115997 patent/CN1941699B/zh not_active Expired - Fee Related
- 2006-09-29 US US11/541,017 patent/US8856524B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1227688A (zh) * | 1996-06-14 | 1999-09-01 | 艾利森电话股份有限公司 | 在通信系统中提供匿名数据传送的方法与装置 |
CN1256596A (zh) * | 1998-08-28 | 2000-06-14 | 朗迅科技公司 | 保护移动台匿名的方法 |
CN1520656A (zh) * | 2001-04-23 | 2004-08-11 | 国际商业机器公司 | 不可转让的匿名数字收据 |
Also Published As
Publication number | Publication date |
---|---|
US8856524B2 (en) | 2014-10-07 |
US20070101138A1 (en) | 2007-05-03 |
CN1941699A (zh) | 2007-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1941699B (zh) | 密码方法、主机系统、可信平台模块和计算机安排 | |
US20200304316A1 (en) | Implicitly Certified Digital Signatures | |
Chen et al. | Flexible and scalable digital signatures in TPM 2.0 | |
EP0786178B1 (en) | Secret-key certificates | |
Brickell et al. | Direct anonymous attestation | |
JP4635009B2 (ja) | 通信における証明された秘密値の使用 | |
EP2737656B1 (en) | Credential validation | |
US8661240B2 (en) | Joint encryption of data | |
US8650403B2 (en) | Crytographic method for anonymous authentication and separate identification of a user | |
JP4741503B2 (ja) | 公開鍵を検証可能に生成する方法及び装置 | |
US9882890B2 (en) | Reissue of cryptographic credentials | |
US20050097316A1 (en) | Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members | |
CN101821987A (zh) | 有效认证电子邮件协议 | |
JP6041864B2 (ja) | データの暗号化のための方法、コンピュータ・プログラム、および装置 | |
JP2009027708A (ja) | 双線形マップからの直接匿名認証のための装置および方法 | |
Tsai et al. | An ECC‐based blind signcryption scheme for multiple digital documents | |
CN109766716A (zh) | 一种基于可信计算的匿名双向认证方法 | |
JP2001308851A (ja) | ユーザ認証方法、記憶媒体、装置及びシステム | |
JP2004228958A (ja) | 署名方法および署名プログラム | |
Su et al. | Secure blockchain-based electronic voting mechanism. | |
WO2011152084A1 (ja) | 効率的相互認証方法、プログラム、及び装置 | |
WO2021019783A1 (ja) | 所有者同一性確認システム、端末および所有者同一性確認方法 | |
WO2009133869A1 (ja) | 二要素認証システム | |
Zhang et al. | Universally composable anonymous Hash certification model | |
JP5392741B2 (ja) | Rsaをベースとしたパスワード認証方式及びその応用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20200822 |
|
CF01 | Termination of patent right due to non-payment of annual fee |