CN103718500A - 证书确认 - Google Patents

证书确认 Download PDF

Info

Publication number
CN103718500A
CN103718500A CN201180072675.1A CN201180072675A CN103718500A CN 103718500 A CN103718500 A CN 103718500A CN 201180072675 A CN201180072675 A CN 201180072675A CN 103718500 A CN103718500 A CN 103718500A
Authority
CN
China
Prior art keywords
daa
signature
computing device
platform module
host computing
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
Application number
CN201180072675.1A
Other languages
English (en)
Inventor
L.陈
G.J.普鲁德勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103718500A publication Critical patent/CN103718500A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3234Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

可向设备提供要签名的消息和从直接匿名证明(DAA)证书得到的基础名称点。作为响应,可接收消息的已签名版本和与基础名称点相关联的公钥值。其后,可基于消息的已签名版本来确定DAA证书是有效的。

Description

证书确认
背景技术
直接匿名证明(DAA)指的是意图在不暴露被认证的实体的身份的情况下使能实体的认证的匿名(或假名)认证方案。典型DAA方案涉及到DAA发布者、DAA签名者(即,要认证的实体)以及DAA验证者。发布者确定签名者是可信的,并且响应于此类验证确定,向签名者发布DAA群组成员证书或DAA证书。发布者与签名者之间的此协商可称为DAA加入过程,发布者通过该协商来验证签名者的有效性。
在签名者已被发布DAA证书之后,签名者通过用DAA签名对消息进行签名来向验证者证明其在可信计算平台群组中的成员资格,所述DAA签名基于发布给签名者的DAA证书且使得验证者能够在不暴露签名者的身份的情况下验证DAA证书的有效性。签名者与验证者之间的此协商可称为DAA签名过程,验证者通过该协商来验证签名者的DAA证书的有效性。
在典型DAA方案中,签名者在以下两者之间划分计算DAA签名的任何:(i)首要签名者,其存储秘密签名密钥且具有相对有限的计算和存储能力但具有相对高的安全保证,以及(ii)次要签名者,其具有相对较大的计算和存储能力。在安全但在计算上受限的主要签名者与不那么安全但在计算上更强大的次要签名者之间划分签名角色通过以下方式来减少施加于在计算上受约束的主要签名者的负担:将处理负荷中的某些卸载到在计算上更强大的次要签名者同时还使得该签名者能够产生相对强且私用的DAA签名。当用DAA签名来对消息进行签名时,首要签名者使用其保持的秘密签名密钥对消息进行签名,而次要签名者的贡献是使DAA签名匿名。次要签名者一般被阻止获悉首要签名者的秘密签名密钥,并且因此不能在没有与首要签名者合作的情况下产生有效的DAA签名。
作为典型DAA加入过程的部分,主要签名者可执行一系列的专门命令以向次要签名者证明由发布者发布的DAA证书是有效的,并且为次要签名者提供次要签名者然后能够在促进DAA签名时用作其角色的部分的可随机化DAA公钥。典型地,此类专门命令可以是对于DAA加入过程的此方面唯一的,并且并不另外由主要签名者执行。因此,能够执行此类专门命令以便证明DAA证书的有效性并生成可随机化DAA公钥的需要可针对资源受约束主要签名者导致增加的计算成本和复杂度。
附图说明
图1是通信***的示例的框图。
图2是图示出总体DAA过程的示例的各方面的流程图。
图3A-3D是图示出用于DAA方案的示例性初始化过程的各方面的流程图。
图4A-4E和图6是图示出示例性DAA加入过程的各方面的流程图。
图5A-5C是图示出示例性DAA签名过程的各方面的流程图。
具体实施方式
在本文中描述了使得能够由DAA主要签名者针对DAA次要签名者进行DAA证书的有效性验证和可随机化DAA公钥的生成的技术。采用这些技术可在消除对一个或多个专门命令的需要的同时使能DAA证书的有效性验证和可随机化DAA公钥的生成,所述一个或多个专门命令原本可执行以验证DAA证书的有效性并生成可随机化DAA公钥。
图1是通信***100的示例的框图。出于说明性目的,在图1中示出且在下面描述的若干元件被表示为单片实体。然而,这些元件中的一些可包括和/或实现于许多互连计算设备和/或被设计成执行一组指定操作的其他部件上。
如图1中所示,通信设备100包括DAA发布者102、具有可信平台模块(TPM)106的主机计算机104以及DAA验证者108,具有可信平台模块(TPM)106的主机计算机104可总称为DAA签名者。主机计算机104通过网络110而通信地耦合到DAA发布者102和DAA验证者108。网络110可提供主机计算机104与DAA发布者102之间以及主机计算机104与DAA验证者108之间的直接或间接通信链路。网络110的示例包括因特网、万维网、包括企业内部网的广域网(WAN)、包括无线LAN(WLAN)的局域网(LAN)、模拟或数字有线或无线电话网、无线电、电视、电缆、卫星和/或用于载送数据的任何其他传输机构或它们的任何组合。
可使用一个或多个计算设备(例如,服务器)来实现DAA发布者102和DAA验证者108中的每一个。在其上面实现DAA发布者102的一个或多个计算设备和实现DAA验证者108的一个或多个计算设备可具有存储数据和程序的内部或外部存储部件,所述数据和程序诸如操作***和一个或多个应用程序。存储于在其上面实现DAA发布者102的一个或多个计算设备的存储部件中的一个或多个应用程序可包括指令,该指令在被执行时促使一个或多个计算设备提供本文所述的DAA发布者102的特征。类似地,存储于在其上面实现DAA验证者108的一个或多个计算设备的存储部件中的一个或多个应用程序可包括指令,该指令在被执行时促使一个或多个计算设备提供本文所述的DAA验证者108的特征。此外,在其上面实现DAA发布者102的一个或多个计算设备和在其上面实现DAA验证者108的一个或多个计算设备中的每个可包括用于执行存储在储存器中和/或例如通过网络110从一个或多个其他电子设备接收的指令的一个或多个处理器。另外,这些计算设备还可包括网络接口和用于发送和接收数据的通信设备。
主机计算机104可以是许多不同类型的计算设备中的任何一个,包括例如个人计算机、专用计算机、通用计算机、专用和通用计算设备的组合、膝上型计算机、平板计算机、上网本计算机、智能电话、移动电话、个人数字助理以及便携式媒体播放器。主机计算机104典型地具有用于存储诸如操作***和一个或多个应用程序的数据和程序的内部或外部存储部件。主机计算机104典型地还包括用于执行存储在储存器中和/或例如通过网络110从一个或多个其他电子设备接收到的指令的中央处理单元(CPU)。另外,主机计算机104通常还包括用于发送和接收数据的一个或多个通信设备。此类通信设备的一个示例是调制解调器。其他示例包括天线、收发机、通信卡以及能够通过有线或无线数据路径在网络110上发送和接收数据的其他类型的网络适配器。
TPM 106被整体地安装在主机计算机104内。例如,可将TPM 106嵌入主机计算机104的外壳内的硬件中。更特别地,在一些实现中,可将TPM 106嵌入或在物理上结合到主机计算机104的母板。此外,TPM 106通常可以是物理安全硬件设备(例如,防篡改芯片),其包括被设计成提供与可以单独地通过软件而可能的相比更高的安全水平的一个或多个物理机构。TPM 106包括除其他目的之外用于存储一个或多个密码密钥的计算机储存器。另外,TPM 106具有处理能力且能够执行计算任务(例如,包括密码功能性),但是TPM 106的处理能力可小于主机计算机104的处理能力。在一些实现中,TPM 106可通过低带宽、低管脚数(LPC)总线接口而通信地耦合到主机计算机104。
当实现DAA方案时,发布者102测试主机计算机104及其关联TPM 106的合法性,并且响应于(例如,通过验证TPM存储了DAA秘密)验证主机计算机104及其关联TPM 106是合法的,向主机计算机104发布DAA证书。主机计算机104及其关联TPM 106然后能够通过向验证者108提供DAA签名来向验证者108证明其合法性,所述DAA签名基于由TPM 106存储的DAA秘密和由发布者102发布给主机计算机104的DAA证书。
计算此DAA签名的角色被划分在主机计算机104与TPM 106之间。如下面将更详细地描述的,TPM 106表示主要签名者并存储DAA秘密和DAA秘密签名密钥。同时,主机计算机104作为次要签名者进行操作并帮助TPM 106计算DAA签名以便维持主机计算机104的匿名(或假名)。可防止主机计算机104获悉由TPM 106存储的DAA秘密和秘密签名密钥,并且因此主机计算机104可能不能在没有TPM 106的情况下产生有效的DAA签名。
在从主机计算机104接收到DAA签名之后,验证者108测试该签名以确定主机计算机104及其关联TPM 106是否拥有有效的DAA证书,并且响应于验证主机计算机104及其关联TPM 106拥有有效的DAA证书,证实主机计算机104的真实性。虽然验证者108可能能够验证主机计算机104及其关联TPM 106拥有有效的DAA证书,但验证者108可能不能确定主机计算机104的身份。
图2是图示出总体DAA过程的示例的各方面的流程图200。图2的流程图200中所示的过程由DAA发布者202(例如,图1的DAA发布者102)、DAA签名者204(由主机计算机206(例如,图1的主机计算机104)和TPM 208(例如,图1的TPM 106)联合地实现)以及DAA验证者210(例如,图1的DAA验证者108)执行。
在212处,DAA发布者202向DAA签名者204发布委托询问。特别地,DAA发布者202向DAA签名者204发布询问。DAA签名者204从DAA发布者202接收委托询问,并且在214处,TPM 208使用从存储于TPM 208内的DAA秘密得到的DAA秘密密钥以生成对委托询问的响应,该响应证明DAA签名者204具有DAA秘密和私用签注密钥(endorsement key)的知识,并且因此是将被发布者202信任的有效TPM。在216处,TPM 208然后向DAA发布者202发布对委托询问的响应。DAA发布者202接收响应,并且在218处检查该响应以确定响应是否有效。也就是说,DAA发布者202检查该响应以确定该响应是否证明DAA签名者204具有DAA秘密和私用签注密钥的知识,并且因此将被DAA发布者202信任。响应于验证DAA签名者204具有DAA秘密和私用签注密钥的知识,在220处,DAA发布者202向DAA签名者204发布DAA证书,主机计算机206在222处存储该DAA证书。相反,如果在218处DAA发布者202确定从DAA签名者接收到的响应是无效的,则DAA发布者202可放弃该过程。
在DAA签名者204已从DAA发布者202接收到其DAA证书之后,DAA发布者204可使用DAA证书来向DAA验证者210证明其合法性。例如,在224处,DAA验证者210可向DAA签名者204发布消息,请求DAA签名者204用基于由TPM 208存储的DAA秘密签名密钥和由主机计算机206存储的DAA证书计算的DAA签名对消息进行签名以便向DAA验证者210证明DAA签名者204的合法性。响应于接收到由DAA验证者210发布的消息,在226处,DAA签名者204的TPM 208和主机计算机206合作以用使用存储于TPM 208内的DAA秘密密钥和由主机计算机206存储的DAA证书计算的DAA签名对消息进行签名。然后,在228处,DAA签名者228将已签名消息发送到DAA验证者210。
DAA验证者210接收已签名消息,并且在230处,检查已签名消息以确定用来对消息进行签名的DAA签名是否是有效的。也就是说,DAA验证者210检查已签名消息以确定DAA签名是否证明DAA签名者204拥有有效的DAA证书和DAA秘密签名密钥。响应于验证DAA签名者204拥有有效的DAA证书和DAA秘密签名密钥,在232处,DAA验证者210对DAA签名者204进行认证。相反,如果在230处,DAA验证者210确定用来对消息进行签名的DAA签名并未证明DAA签名者拥有有效的DAA证书,则DAA验证者210可放弃该过程。
图3A-3D是图示出用于涉及到DAA发布者(例如,图1的DAA发布者102)、DAA签名者(例如,图1的主机计算机104及其关联TPM 106)以及DAA验证者(例如,图1的DAA验证者108)的DAA方案的示例性初始化过程的各方面的流程图。特别地,图3A-3D的流程图图示出建立用于DAA方案的各种不同协议的公共参数和建立用于DAA发布者的长期参数的过程的各方面。
图3A是图示出建立用于DAA方案的委托参数                                               
Figure DEST_PATH_IMAGE002
的各方面的流程图300。图3A的流程图300中所示的过程可由在DAA方案本身中涉及到的DAA发布者(例如,图2的DAA发布者102)来执行。附加地或可替代地,图3A的流程图300中所示的过程可由可信组织(例如,可信标准组织)执行。在302处,随机地选择第一椭圆曲线点
Figure DEST_PATH_IMAGE004
,并且在304处,随机地选择第二椭圆曲线点
Figure DEST_PATH_IMAGE006
。然后,在306处,使用
Figure 524227DEST_PATH_IMAGE004
来生成足够大素数阶
Figure DEST_PATH_IMAGE008
的三个群组
Figure DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE014
,使得配对
Figure DEST_PATH_IMAGE016
。然后,在308处,选择第一散列函数,并且在210处,选择第二散列函数
Figure DEST_PATH_IMAGE020
,其中,表示法
Figure DEST_PATH_IMAGE022
表示任意长度的一组二进制串。其后,在312处,将委托参数
Figure DEST_PATH_IMAGE024
设置为。最后,在314处,将委托参数
Figure DEST_PATH_IMAGE028
的子集设置为
Figure DEST_PATH_IMAGE030
。然后可将
Figure DEST_PATH_IMAGE032
安装在TPM上(例如,作为整组委托参数
Figure DEST_PATH_IMAGE034
的替代)。
图3B是图示出建立用于在DAA方案中涉及到的DAA发布者的DAA发布者参数的各方面的流程图320。图3B的流程图320中所示的过程可由在DAA方案本身中涉及到的DAA发布者(例如,图1的DAA发布者102)来执行。在322处,选择第一整数
Figure DEST_PATH_IMAGE038
(其中,运算
Figure DEST_PATH_IMAGE040
表示随机地对
Figure DEST_PATH_IMAGE042
进行采样并将结果分配给变量的动作),并在324处选择第二整数。然后,在326处,发布者的私用签名密钥
Figure DEST_PATH_IMAGE048
被设置成。为了生成发布者的公共签名密钥
Figure DEST_PATH_IMAGE052
,在328处,计算值
Figure DEST_PATH_IMAGE054
(其中,运算
Figure DEST_PATH_IMAGE056
表示椭圆曲线点
Figure DEST_PATH_IMAGE058
与某个整数
Figure DEST_PATH_IMAGE060
的标量乘法),并且在330处计算值
Figure DEST_PATH_IMAGE062
。然后,在332处,将发布者的公共签名密钥
Figure DEST_PATH_IMAGE064
设置为
Figure DEST_PATH_IMAGE066
。在334处,发布者值
Figure DEST_PATH_IMAGE068
被设置成
Figure DEST_PATH_IMAGE070
。最后,在336处,发布者参数被设置成
Figure DEST_PATH_IMAGE074
图3C是图示出建立用于在DAA方案中涉及到的TPM(例如,图1的TPM 106)的TPM参数的各方面的流程图340。可由在DAA方案本身中涉及到的TPM(例如,图1的TPM 106)来执行图3C的流程图340中所示的过程。附加地或可替代地,可由可信组织(例如,可信标准组织)来执行图3C的流程图340中所示的过程。在342处,由TPM来生成和存储公共/私用签注密钥对。在344处,(例如,使用TPM内部随机数发生器)生成私用DAA秘密值
Figure DEST_PATH_IMAGE078
。此
Figure 161718DEST_PATH_IMAGE078
值随后可被TPM用来生成TPM可用作向DAA发布者和/或DAA验证者证明其真实性的部分的一个或多个DAA秘密密钥。
图3D是图示出建立用于DAA方案的签名和验证参数
Figure DEST_PATH_IMAGE080
的各方面的流程图350。图3D的流程图350中所示的过程可由在DAA方案本身中涉及到的DAA发布者(例如,图2的DAA发布者102)来执行。附加地或可替代地,可由可信组织(例如,可信标准组织)来执行图3D的流程图350中所示的过程。在352处,选择第三散列函数,并且在354处选择第四散列函数
Figure DEST_PATH_IMAGE084
。然后,在356处,将签名和验证参数
Figure DEST_PATH_IMAGE086
设置成
Figure DEST_PATH_IMAGE088
在已执行分别在图3A、3B、3C和3D的流程图300、320、340和350中所示的过程且已建立参数
Figure DEST_PATH_IMAGE090
Figure DEST_PATH_IMAGE092
Figure DEST_PATH_IMAGE094
Figure DEST_PATH_IMAGE096
之后,然后可使得这些参数可用于在DAA方案中涉及到的DAA发布者(例如,图1的DAA发布者102)、DAA签名者(例如,图1的DAA签名者104)以及DAA验证者(例如,图1的DAA验证者108)。
图4A-4E示出了图示出总体DAA方案内的示例性DAA加入过程的各方面的流程图400。在例如将经由分别在图3A、3B、3C和3D的流程图300、320、340和350中所示的过程的执行而建立了用于DAA方案的公共参数之后,由DAA发布者402(例如,图1的DAA发布者102)及DAA签名者的主机计算机404和TPM 406(例如,图1的主机计算机104和TPM 106)执行图4A-4E的流程图400中所示的过程。
在4002处,从消息认证码(MAC)算法的密钥空间
Figure DEST_PATH_IMAGE098
中随机地选择秘密密钥
Figure DEST_PATH_IMAGE100
,并且在4004处,使用TPM 406的公钥
Figure DEST_PATH_IMAGE102
(例如,使用所选密文攻击的不可区别性(IND-CCA)加密方案)对
Figure DEST_PATH_IMAGE104
加密来产生。另外,在4006处,从长度
Figure DEST_PATH_IMAGE108
的一组二进制串中随机地选择随机数
Figure DEST_PATH_IMAGE110
。在4008处,然后形成基于
Figure DEST_PATH_IMAGE112
的委托询问,并且在4010处,将委托询问发送到主机计算机404,其继而在4012处将委托询问发送至TPM 406。
TPM 406接收该委托询问,并且如下面更详细地描述的,返回关于DAA发布者402的委托询问的签名,该签名基于从存储于TPM 406中的
Figure DEST_PATH_IMAGE116
值得到的DAA秘密密钥,并向DAA发布者402表明TPM 406及其关联主机计算机404将被DAA发布者402信任。特别地,在4014处,TPM 406通过对
Figure DEST_PATH_IMAGE118
(即,
Figure DEST_PATH_IMAGE120
Figure DEST_PATH_IMAGE124
(例如表示要生成的密钥的数目的值)的级联)应用伪随机函数来计算私用椭圆曲线DAA(ECDAA)密钥
Figure DEST_PATH_IMAGE126
。另外,在4016处,TPM 406使用其私钥
Figure DEST_PATH_IMAGE128
从委托询问对
Figure DEST_PATH_IMAGE130
解密来产生。然后,在4018处,TPM 406检查是否
Figure DEST_PATH_IMAGE134
。如果
Figure 298870DEST_PATH_IMAGE134
,则放弃该过程。可替代地,如果
Figure DEST_PATH_IMAGE136
,则该过程继续至4020,其中,TPM 406通过将
Figure DEST_PATH_IMAGE138
乘以椭圆曲线点
Figure DEST_PATH_IMAGE140
来计算签名F,该签名F向DAA发布者402表明TPM 406及其关联主机计算机404将被信任。
在4022处,TPM 406从
Figure DEST_PATH_IMAGE142
中随机地选择值,并且在4024处,TPM通过将
Figure DEST_PATH_IMAGE146
乘以椭圆曲线点
Figure DEST_PATH_IMAGE148
来计算
Figure DEST_PATH_IMAGE150
。现在参考图4B,TPM 406继续在4026处通过将DAA发布者402的公钥
Figure DEST_PATH_IMAGE152
Figure DEST_PATH_IMAGE154
与委托询问的级联来生成
Figure DEST_PATH_IMAGE158
。另外,在4028处,TPM 406通过对
Figure DEST_PATH_IMAGE160
应用散列函数来计算
Figure DEST_PATH_IMAGE164
。其后,在4030处,TPM 406计算
Figure DEST_PATH_IMAGE166
,并且在4032处,TPM 406通过应用MAC算法以使用秘密签名密钥
Figure DEST_PATH_IMAGE168
对消息加密来生成
Figure DEST_PATH_IMAGE172
。然后,在4034处,TPM 406通过将F、
Figure DEST_PATH_IMAGE174
Figure DEST_PATH_IMAGE176
Figure DEST_PATH_IMAGE178
Figure DEST_PATH_IMAGE180
封装在一起来生成委托,并且在4036处,TPM 406将委托发送至主机计算机404。主机计算机404从TPM 406接收委托,并在4038处将委托发送至DAA发布者402。
DAA发布者402接收该委托,并且如下面更详细地描述的,基于接收到的委托来验证TPM 406及其关联主机计算机404属于可信计算平台的群组。特别地,在4040处,DAA发布者402检查来自接收到的委托的
Figure DEST_PATH_IMAGE182
是否是与来自委托询问的相同的
Figure DEST_PATH_IMAGE184
。如果
Figure DEST_PATH_IMAGE186
为真,则DAA发布者402放弃该过程。相反,如果为假,则DAA发布者402继续至4042,其中,DAA发布者402通过应用MAC算法以使用秘密签名密钥
Figure DEST_PATH_IMAGE190
对消息加密来生成
Figure DEST_PATH_IMAGE194
。然后,在4044处,DAA发布者402检查是否与包括在委托内的值
Figure DEST_PATH_IMAGE198
相同。如果为真,则DAA发布者402放弃该过程。如果
Figure DEST_PATH_IMAGE202
为假,则DAA发布者402继续至4046,其中,DAA发布者402计算
Figure DEST_PATH_IMAGE204
现在参考图4C,在4048处,DAA发布者402继续通过将其公钥
Figure DEST_PATH_IMAGE206
Figure DEST_PATH_IMAGE208
级联来生成
Figure DEST_PATH_IMAGE212
的其自己的版本。然后,在4050处,DAA发布者402通过对
Figure DEST_PATH_IMAGE214
应用散列函数
Figure DEST_PATH_IMAGE216
来计算
Figure DEST_PATH_IMAGE218
。其后,在4052处,DAA发布者402通过检查的值是否与来自接收到的委托询问的的值相同来确定TPM 406及其关联主机计算机404是否将被DAA发布者402信任。如果为真,则DAA发布者402确定TPM 406并未保持有效的DAA秘密密钥,并且因此,TPM 406及其关联主机计算机404并不是可信计算平台的群组的成员。因此,DAA发布者402放弃该过程。相反,如果
Figure 250219DEST_PATH_IMAGE222
为假,则DAA发布者402确定TPM 406保持有效的DAA秘密密钥,并且因此,TPM 406及其关联主机计算机404将被DAA发布者402信任。因此,DAA发布者402前进至4054,其中,DAA发布者402进行检查以证实不知道由TPM 406保持的DAA秘密密钥已受到损害。特别地,对于包括在已知已受到损害的DAA秘密密钥的RogueList中的每个DAA秘密密钥
Figure DEST_PATH_IMAGE224
,DAA发布者402检查来自接收到的委托的F的值是否与
Figure DEST_PATH_IMAGE226
匹配。如果对于包括在已知已受到损害的DAA秘密密钥的RogueList中的任何DAA秘密密钥
Figure DEST_PATH_IMAGE228
而言
Figure DEST_PATH_IMAGE230
为真,则DAA发布者402确定由TPM 406保持的DAA秘密密钥已受到损害,并且因此放弃该过程。相反,如果对于包括在RogueList中的所有DAA秘密密钥
Figure 454936DEST_PATH_IMAGE228
而言
Figure 591519DEST_PATH_IMAGE230
为假,则DAA发布者402确定不知道由TPM 406保持的DAA秘密密钥已受到损害,并且因此DAA发布者402继续进行该过程。
已经验证由TPM 406保持的DAA秘密密钥是有效的DAA秘密密钥且不知道由TPM 406保持的DAA秘密密钥已受到损害,DAA发布者402关于生成用于与TPM 406相关联的主机计算机404的DAA证书进行设置。特别地,在4056处,DAA发布者402从
Figure DEST_PATH_IMAGE232
中随机地选择值
Figure DEST_PATH_IMAGE234
。其后,DAA发布者402在4058处计算
Figure DEST_PATH_IMAGE236
,在4060处计算
Figure DEST_PATH_IMAGE238
并在4062处计算
Figure DEST_PATH_IMAGE240
。DAA发布者402然后在4064处通过将
Figure DEST_PATH_IMAGE242
Figure DEST_PATH_IMAGE244
封装在一起来生成用于与TPM 406相关联的主机计算机404的DAA证书,并且在4055处,DAA发布者402将结果得到的DAA证书发送至主机计算机404。
作为完成流程图400中所示的DAA加入过程的部分,主机计算机404然后与TPM 406合作以验证从DAA发布者402接收到的DAA证书是有效的,并生成主机计算机404能够用来对DAA签名做出贡献的可随机化公钥。如下面更详细地描述的,在一个实现中,主机计算机404请求TPM 406执行签名协议以验证从DAA发布者402接收到的DAA证书是有效的,并且生成用于主机计算机404的可随机化公钥。此签名协议可与TPM 406执行以对DAA签名做出其贡献的签名协议相同(或基本上类似),所述DAA签名要被用来向DAA验证者认证TPM 406及其关联主机计算机404。
更特别地,在4068处,主机计算机404生成要被TPM 406签名的消息
Figure DEST_PATH_IMAGE248
。例如,主机计算机404可生成任意消息
Figure 512595DEST_PATH_IMAGE248
,或者主机计算机404可随机地选择要被TPM 406签名的消息
Figure 505959DEST_PATH_IMAGE248
。另外,现在参考图4D,在4069处,主机计算机404选择用于hostDigest的值,hostDigest可以是任意或随机选择的数据串,并且在4070处,主机计算机404将基础名称点
Figure DEST_PATH_IMAGE250
设置成等于来自从DAA发布者402接收到的DAA证书的
Figure 696506DEST_PATH_IMAGE244
的值。另外,在4072处,主机计算机404将成员资格点
Figure DEST_PATH_IMAGE252
设置成等于
Figure DEST_PATH_IMAGE254
。其后,在4074处,主机计算机404将
Figure 371201DEST_PATH_IMAGE250
Figure 832270DEST_PATH_IMAGE252
、消息
Figure 262114DEST_PATH_IMAGE248
Figure DEST_PATH_IMAGE256
发送至TPM 406并请求TPM 406执行DAA签名协议以对消息进行签名。
TPM 406接收
Figure 441423DEST_PATH_IMAGE250
Figure 716546DEST_PATH_IMAGE252
、消息
Figure 623384DEST_PATH_IMAGE248
Figure 958550DEST_PATH_IMAGE256
并关于执行DAA签名协议以对消息
Figure 687472DEST_PATH_IMAGE248
进行签名进行设置。特别地,在4076处,TPM 406通过将
Figure DEST_PATH_IMAGE258
乘以
Figure 703969DEST_PATH_IMAGE250
来计算签名
Figure DEST_PATH_IMAGE260
。其后,TPM 406在4078处从
Figure DEST_PATH_IMAGE262
随机地选择值
Figure DEST_PATH_IMAGE264
,在4080处通过将乘以倍数来计算值
Figure DEST_PATH_IMAGE266
,并且通过在4082处将
Figure 235817DEST_PATH_IMAGE264
乘以倍数
Figure 118322DEST_PATH_IMAGE252
来计算值
Figure DEST_PATH_IMAGE268
。然后,TPM 406在4084处通过将
Figure 288720DEST_PATH_IMAGE260
Figure 726655DEST_PATH_IMAGE266
Figure 147272DEST_PATH_IMAGE268
级联来生成,在4086处通过对
Figure DEST_PATH_IMAGE272
应用散列函数
Figure DEST_PATH_IMAGE274
来计算
Figure DEST_PATH_IMAGE276
,并在4088处计算
Figure DEST_PATH_IMAGE278
。现在参考图4E,TPM 406在4090处通过将
Figure DEST_PATH_IMAGE280
封装在一起来生成签名
Figure DEST_PATH_IMAGE282
,并在4092处将签名
Figure 910719DEST_PATH_IMAGE282
发送至主机计算机404。
主机计算机404接收签名
Figure 72710DEST_PATH_IMAGE282
并关于使用签名
Figure 134207DEST_PATH_IMAGE282
以确定从DAA发布者402接收到的DAA证书是否是有效的而进行设置。特别地,在4094处,主机计算机404检查是否
Figure DEST_PATH_IMAGE284
。如果
Figure DEST_PATH_IMAGE286
,则主机计算机404确定从DAA发布者402接收到的DAA证书是无效的,并且因此放弃该过程。相反,如果
Figure 792459DEST_PATH_IMAGE284
,则主机计算机404前进至4096,其中,主机计算机404检查是否
Figure DEST_PATH_IMAGE288
。如果
Figure DEST_PATH_IMAGE290
,则主机计算机404确定从DAA发布者402接收到的DAA证书是无效的,并且因此放弃该过程。相反,如果
Figure 142669DEST_PATH_IMAGE288
,则主机计算机404前进至4098,其中,主机计算机404计算
Figure DEST_PATH_IMAGE292
另外,在4100处,主机计算机404计算
Figure DEST_PATH_IMAGE294
,并且在4102处,主机计算机404设置。然后,主机计算机404在4104处通过将
Figure 108351DEST_PATH_IMAGE250
Figure 729082DEST_PATH_IMAGE260
Figure DEST_PATH_IMAGE298
Figure DEST_PATH_IMAGE300
级联来生成,并在4106处通过对
Figure DEST_PATH_IMAGE304
应用散列函数来计算
Figure DEST_PATH_IMAGE308
。其后,在4108处,主机计算机404检查(来自签名的)
Figure 631627DEST_PATH_IMAGE276
是否与
Figure 633955DEST_PATH_IMAGE308
匹配。如果
Figure DEST_PATH_IMAGE310
,则主机计算机404确定从DAA发布者402接收到的DAA证书是无效的,并放弃该过程。相反,如果
Figure DEST_PATH_IMAGE312
,则主机计算机404确定从DAA发布者402接收到的DAA证书是有效的,并且因此前进至4110,其中,主机计算机404将可随机化公钥值
Figure DEST_PATH_IMAGE314
设置成等于在由TPM 406返回的签名
Figure 873307DEST_PATH_IMAGE282
中接收到的的值。其后,在4112处,主机计算机404将
Figure DEST_PATH_IMAGE316
存储为与由TPM 406保持的DAA秘密签名密钥相关联的DAA证书。在完成图4A-4E的流程图400中所示的过程之后,主机计算机404及其关联TPM 406能够使用由TPM 406保持的DAA秘密签名密钥
Figure 496366DEST_PATH_IMAGE318
和由主机计算机404存储的DAA证书
Figure 866168DEST_PATH_IMAGE316
以计算DAA签名,用于作为DAA签名过程的部分向DAA验证者认证主机计算机404及其关联TPM 406。
图5A-5C示出了图示出DAA方案的示例性DAA签名过程的各方面的流程图500。在例如经由分别在图3A、3B、3C和3D的流程图300、320、340和350中所示的过程的执行来建立了用于DAA方案的公共参数之后,并且在主机计算机502及其关联TPM 504已例如经由图4A-4E的流程图400中所示的过程的执行而完成了DAA方案的DAA加入过程之后,由DAA签名者的主机计算机502和TPM 504(例如,图1的主机计算机104和TPM 106)和DAA验证者506(例如,图1的DAA验证者108)来执行图5A-5C的流程图500中所示的过程。
在5002处,主机计算机502检查基础名称(例如,任意串或特殊符号)的值以查看是否。如果主机计算机502确定
Figure 195911DEST_PATH_IMAGE320
,则主机计算机502前进至5004,其中,主机计算机502从
Figure DEST_PATH_IMAGE322
中随机地选择基础名称点
Figure 930649DEST_PATH_IMAGE250
。相反,如果主机计算机502确定
Figure DEST_PATH_IMAGE324
,则主机计算机502替代地前进至5006,其中,主机计算机502通过对
Figure DEST_PATH_IMAGE326
应用散列函数
Figure DEST_PATH_IMAGE328
来计算用于基础名称点
Figure 477168DEST_PATH_IMAGE250
的值。其后,主机计算机502在5008处从
Figure DEST_PATH_IMAGE330
中随机地选择值
Figure DEST_PATH_IMAGE332
,在5010处通过将针对
Figure 588344DEST_PATH_IMAGE332
所选的值乘以来自DAA证书的
Figure DEST_PATH_IMAGE334
的值来计算值
Figure DEST_PATH_IMAGE336
,在5012处通过将针对
Figure 972926DEST_PATH_IMAGE332
所选的值乘以来自DAA证书的
Figure DEST_PATH_IMAGE338
的值来计算成员资格点
Figure DEST_PATH_IMAGE340
,在5014处通过将针对
Figure 878565DEST_PATH_IMAGE332
所选的值乘以来自DAA证书的
Figure DEST_PATH_IMAGE342
的值来计算值,并在5016处通过将针对所选的值乘以来自DAA证书的
Figure DEST_PATH_IMAGE346
的值来计算值
Figure DEST_PATH_IMAGE348
。另外,在5018处,主机计算机502通过对执行散列函数
Figure DEST_PATH_IMAGE352
来计算。然后,在5020处,主机计算机502将
Figure 989097DEST_PATH_IMAGE354
和消息
Figure DEST_PATH_IMAGE358
发送至TPM 504并请求TPM 504执行DAA签名协议以对消息
Figure 868508DEST_PATH_IMAGE358
进行签名。在一些实现中,消息
Figure 888155DEST_PATH_IMAGE358
可以已被DAA验证者506提供给主机计算机502。
TPM 504接收
Figure 137870DEST_PATH_IMAGE354
Figure 60827DEST_PATH_IMAGE250
Figure 370586DEST_PATH_IMAGE356
Figure 441310DEST_PATH_IMAGE358
并关于执行DAA签名协议以对消息进行签名而进行设置。特别地,在5022处,TPM 504通过将
Figure DEST_PATH_IMAGE360
乘以
Figure 209863DEST_PATH_IMAGE250
来计算签名
Figure DEST_PATH_IMAGE362
。其后,TPM 504在5024处从中随机地选择值,在5026处通过将乘以倍数
Figure 359795DEST_PATH_IMAGE250
来计算值
Figure DEST_PATH_IMAGE368
,并在5028处通过将
Figure 154575DEST_PATH_IMAGE366
乘以倍数
Figure 786545DEST_PATH_IMAGE356
来计算值
Figure DEST_PATH_IMAGE370
。然后,TPM 504在5030处通过将
Figure 874324DEST_PATH_IMAGE250
Figure 919641DEST_PATH_IMAGE362
Figure 314850DEST_PATH_IMAGE368
Figure 801326DEST_PATH_IMAGE370
级联来生成
Figure DEST_PATH_IMAGE372
现在参考图5B,主机计算机504在5032处通过对
Figure DEST_PATH_IMAGE374
应用散列函数
Figure DEST_PATH_IMAGE376
来计算,在5034处计算,并在5036处通过将
Figure 764734DEST_PATH_IMAGE362
Figure DEST_PATH_IMAGE382
封装在一起来生成签名
Figure DEST_PATH_IMAGE384
。其后,在5038处,TPM 504向主机计算机502发送签名
Figure 607499DEST_PATH_IMAGE384
主机计算机502接收签名
Figure DEST_PATH_IMAGE386
并在5040处向DAA签名添加其自己的贡献,通过将
Figure DEST_PATH_IMAGE388
Figure 948481DEST_PATH_IMAGE356
Figure DEST_PATH_IMAGE390
Figure DEST_PATH_IMAGE392
Figure 145107DEST_PATH_IMAGE250
Figure 899437DEST_PATH_IMAGE362
Figure 72667DEST_PATH_IMAGE378
Figure 596052DEST_PATH_IMAGE382
封装在一起来生成DAA签名
Figure DEST_PATH_IMAGE394
。然后,在5042处,主机计算机502将DAA签名发送至DAA验证者506。
DAA验证者506接收DAA签名
Figure 939626DEST_PATH_IMAGE394
,并且然后验证DAA签名
Figure 418012DEST_PATH_IMAGE394
的有效性以对主机计算机502及其关联TPM 504进行认证。特别地,在5044处,DAA验证者506进行检查以证实不知道由TPM 504保持的DAA秘密密钥已受到损害。特别地,针对包括在已知已受到损害的DAA秘密密钥的RogueList中的每个DAA秘密密钥
Figure DEST_PATH_IMAGE396
,DAA验证者506检查来自DAA签名
Figure 61483DEST_PATH_IMAGE394
Figure 334332DEST_PATH_IMAGE362
的值是否与
Figure DEST_PATH_IMAGE398
匹配。如果对于包括在已知已受到损害的DAA秘密密钥的RogueList中的任何DAA秘密密钥而言
Figure DEST_PATH_IMAGE400
为真,则DAA验证者506确定由TPM 504保持的DAA秘密密钥已受到损害,并且因此拒绝对主机计算机502及其关联TPM 504进行认证。相反,如果对于包括在RogueList中的所有DAA秘密密钥
Figure 518899DEST_PATH_IMAGE396
而言
Figure 16877DEST_PATH_IMAGE400
为假,则DAA验证者506确定不知道由TPM 504保持的DAA秘密密钥已受到损害,并且因此DAA验证者506继续进行该过程。
在5046处,DAA验证者502检查是否
Figure DEST_PATH_IMAGE402
。如果DAA验证者506确定
Figure 460627DEST_PATH_IMAGE402
,则DAA验证者506拒绝对主机计算机502及其关联TPM 504进行认证。相反,如果主机计算机502确定
Figure DEST_PATH_IMAGE404
,则DAA验证者506前进至5048,其中,DAA验证者检查是否。如果DAA验证者506确定
Figure DEST_PATH_IMAGE408
,则DAA验证者506拒绝对主机计算机502及其关联TPM 504进行认证。相反,如果DAA验证者506确定
Figure 614528DEST_PATH_IMAGE406
,则DAA验证者506前进至5050,其中,DAA验证者506检查是否
Figure DEST_PATH_IMAGE410
。如果
Figure DEST_PATH_IMAGE412
,则DAA验证者506确定DAA签名
Figure 933252DEST_PATH_IMAGE394
是无效的,并且因此拒绝对主机计算机502及其关联TPM 504进行认证。相反,如果
Figure 223419DEST_PATH_IMAGE410
,则DAA验证者506继续进行该过程。
现在参考图5C,在5052处,DAA验证者506检查是否
Figure DEST_PATH_IMAGE414
。如果
Figure DEST_PATH_IMAGE416
,则DAA验证者506确定DAA签名
Figure 103650DEST_PATH_IMAGE394
是无效的,并且因此拒绝对主机计算机502及其关联TPM 504进行认证。相反,如果
Figure 541585DEST_PATH_IMAGE414
,则DAA验证者506前进至5054,其中,DAA验证者506计算
Figure DEST_PATH_IMAGE418
。另外,在5056处,DAA验证者506计算
Figure DEST_PATH_IMAGE420
,并且在5058处DAA验证者506通过对
Figure DEST_PATH_IMAGE422
应用散列函数
Figure DEST_PATH_IMAGE424
来计算
Figure DEST_PATH_IMAGE426
。然后,DAA验证者506在506处通过将
Figure DEST_PATH_IMAGE430
Figure DEST_PATH_IMAGE432
Figure DEST_PATH_IMAGE434
级联来生成
Figure DEST_PATH_IMAGE436
,并在5062处通过对
Figure DEST_PATH_IMAGE438
应用散列函数来计算
Figure DEST_PATH_IMAGE442
。最后,在5064处,DAA验证者506检查(来自DAA签名的)
Figure DEST_PATH_IMAGE444
是否与
Figure 10272DEST_PATH_IMAGE442
匹配。如果
Figure DEST_PATH_IMAGE446
,则DAA验证者506确定DAA签名是无效的,并且拒绝对主机计算机502和TPM 504进行认证。相反,如果,则DAA验证者506确定DAA签名
Figure 658739DEST_PATH_IMAGE394
是有效的,并且DAA验证者506确定主机计算机502及其关联TPM 504是真实的。
图6是图示出示例性DAA加入过程的各方面的流程图600。特别地,图6的流程图600结合以下图示出可由主机计算机(例如,图1的主机计算机104)在DAA加入过程期间执行的动作:验证从DAA发布者(例如,图1的DAA发布者102)接收到的DAA证书是有效的并获取使得主机计算机能够对由主机计算机及其关联TPM(例如,图1的TPM 106)计算的DAA签名有贡献的可随机化公钥。
如图6中所示,在602处,主机计算机从接收自DAA发布者的DAA证书得到基础名称点(例如,如上文结合图4D中的4070所讨论的),并且然后在604处,主机计算机向与主机计算机相关联的TPM提供要签名的消息和基础名称点(例如,如上文结合图4D的4074所讨论的)。响应于向其关联TPM提供要签名的消息和基础名称点,主机计算机在606处从其关联TPM接收包括公钥值的消息的已签名版本(例如,如上文结合图4E的4092所讨论的)。然后,在608处,主机计算机确定已签名消息是否是有效的(例如,如上文结合图4E的4094-4018所讨论的)。如果已签名消息是有效的,则在610处,主机计算机确定从DAA发布者接收到的DAA是有效的。相反,如果已签名消息是无效的,则在612处,主机计算机确定DAA证书是无效的。
如上所述,在一个一般方面中,从DAA发布者计算***接收DAA证书。然后从DAA证书得到基础名称点。然后向可信平台模块提供消息和基础名称点。还向可信平台模块发布签名命令,来请求可信平台模块执行签名例程以使用基础名称点作为到签名例程的输入来对消息进行签名。其后,从可信平台模块接收由可信平台模块签名并包括与基础名称点相关联的公钥值的消息版本,并且基于由可信平台模块签名的消息版本和基础名称点来确定DAA证书是有效的。公钥值被存储在计算机可读存储器(例如,其在可信平台模块外部)中。
实现可以包括以下特征中的一个或多个。例如,(例如,作为已确定DAA证书有效的结果)可将存储的公钥值指明为要在DAA签名验证过程中被用来对要从主机计算设备发送至DAA签名验证者计算***的消息进行签名的公钥值。可从DAA签名验证计算***接收要作为DAA签名验证过程的部分而被签名以对主机计算设备进行认证的询问消息,并且可向可信平台模块发布签名命令来请求可信平台模块执行签名例程以对询问消息进行签名。另外,可从可信平台模块接收由可信平台模块签名的询问消息的版本,可将存储的公钥值并入由可信平台模块签名的询问消息的版本中,并且可将由可信平台模块签名并并入了存储的公钥值的询问消息的版本发送至DAA签名验证计算***。此外,在一些实现中,从DAA证书得到基础名称点可包括将基础名称点设置成等于在DAA证书中指定的值。
在另一一般方面中,安全设备(例如,可信平台模块)存储秘密DAA签名密钥并被配置成使用秘密DAA签名密钥和基础名称点来对消息进行签名。另外,主机计算设备被配置成存储DAA证书,从存储的DAA证书得到基础名称点,将要签名的消息和基础名称点提供给安全设备,从安全设备接收由安全设备签名并包括与基础名称点相关联的公钥值的消息版本,并基于由安全设备签名的消息版本来确定DAA证书是有效的。
实现可以包括以下特征中的一个或多个。例如,主机计算设备可包括外壳,并且可将可信平台模块容纳在主机计算设备的外壳内。此外,主机计算设备可包括母板,并且可将可信平台模块整体地耦合到主机计算设备的母板。附加地或可替代地,可信平台模块可包括保护秘密DAA签名密钥的安全的物理机构。
在再另一一般方面中,从直接匿名证明(DAA)发布者计算***接收DAA证书,从DAA证书得到基础名称点,并将消息、基础名称点和椭圆曲线群组成员资格点提供给可信平台模块。还向可信平台模块发布签名命令,以请求可信平台模块执行签名例程以使用基础签名点和椭圆曲线群组成员资格点作为到签名例程的输入来对消息进行签名。其后,从可信平台模块接收由可信平台模块签名并包括与基础名称点相关联的公钥值的消息版本。然后基于由可信平台模块签名的消息版本和基础名称点来确定DAA证书是有效的,并且公钥值被存储在计算机可读存储器中。
在一些实现中,基于由可信平台模块签名的消息版本和基础名称点来确定DAA证书是有效的可包括确定公钥值和基础名称点的离散对数是相等的。
已描述了多种方法、技术、***以及装置。所描述的方法、技术、***以及装置可例如通过执行存储在计算机可读存储介质中的指令用数字电子电路或计算机硬件来实现。
实现这些技术的装置可包括适当的输入和输出设备、计算机处理器和/或存储指令以便由处理器执行的有形计算机可读存储介质。
在本文中公开的处理实现技术可由处理器执行,该处理器执行存储在有形计算机可读存储介质上的指令以便通过对输入数据进行操作并生成适当输出来执行期望功能。举例来说,适当的处理器包括通用和专用微处理器两者。用于存储可执行指令的适当计算机可读存储设备包括所有形式的非易失性存储器,举例来说,包括半导体存储器设备,诸如可擦可编程序只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)以及闪速存储器设备;磁盘,诸如固定盘、软盘和可移动盘;其他磁介质,包括磁带;以及光学介质,诸如光盘(CD)或数字视频盘(DVD)。可用特殊设计的专用集成电路(ASIC)来补充前述中的任何一个或将前述中的任何一个并入其中。
虽然可将公开的技术的操作在本文中描述为按照某个顺序和/或以某些组合来执行,但在一些实现中,单独操作可按照不同的顺序来重新布置,与本文所描述的其他操作组合和/或被消除,并且仍可实现期望的结果。类似地,可以用不同的方式将公开的***中的部件进行组合和/或用其他部件来替换或补充这些部件,并且仍可实现期望的结果。

Claims (15)

1.一种存储指令的非暂态计算机可读介质,所述指令在被主机计算设备执行时促使主机计算设备:
从直接匿名证明(DAA)发布者计算***接收DAA证书;
从DAA证书得到基础名称点;
向可信平台模块提供消息和基础名称点;
向可信平台模块发布签名命令,以请求可信平台模块执行签名例程以使用基础名称点作为到签名例程的输入来对消息进行签名;
从可信平台模块接收由可信平台模块签名并包括与基础名称点相关联的公钥值的消息版本;
基于由可信平台模块签名的消息版本和基础名称点来确定DAA证书是有效的;以及
将公钥值存储在计算机可读存储器中。
2.如权利要求1所述的计算机可读介质,还包括在被主机计算设备执行时促使主机计算设备将所存储的公钥值指明为要在DAA签名验证过程中被用来对要从主机计算设备发送至DAA签名验证者计算***的消息进行签名的公钥值的指令。
3.如权利要求2所述的计算机可读介质,其中,在被主机计算设备执行时促使主机计算设备将所存储的公钥值指明为要在DAA签名验证过程中被用来对要从主机计算设备发送至DAA签名验证者计算***的消息进行签名的公钥值的指令包括:在被主机计算设备执行时促使主机计算设备作为已确定DAA证书有效的结果而将所存储的公钥值指明为要在DAA签名验证过程中被用来对要从主机计算设备发送至DAA签名验证者计算***的消息进行签名的公钥值的指令。
4.如权利要求2所述的计算机可读介质,还包括在被主机计算设备执行时促使主机计算设备进行以下的指令:
从DAA签名验证计算***接收要作为DAA签名验证过程的部分而被签名以对主机计算设备进行认证的询问消息;
向可信平台模块发布签名命令,来请求可信平台模块执行签名例程以对询问消息进行签名;
从可信平台模块接收由可信平台模块签名的询问消息的版本;
将所存储的公钥值并入由可信平台模块签名的询问消息的版本中;以及
将由可信平台模块签名并并入了所存储的公钥值的询问消息的版本发送至DAA签名验证计算***。
5.如权利要求1所述的计算机可读介质,其中,在被主机计算设备执行时促使主机计算设备将公钥值存储在计算机可读存储器中的指令包括:在被主机计算设备执行时促使主机计算设备将公钥值存储于在可信平台模块外部的计算机可读存储器中的指令。
6.如权利要求1所述的计算机可读介质,还包括在被主机计算设备执行时促使主机计算设备选择消息的指令。
7.如权利要求6所述的计算机可读介质,其中,在被主机计算设备执行时促使主机计算设备选择消息的指令独立于来自任何DAA签名验证计算***的任何输入。
8.如权利要求1所述的计算机可读介质,其中,从DAA证书得到基础名称点包括将基础名称点设置成等于在DAA证书中指定的值。
9.一种计算***,包括:
安全设备,其存储秘密直接匿名证明(DAA)签名密钥以使用秘密DAA签名密钥和基础名称点对消息进行签名;以及
主机计算设备,用于:
  存储DAA证书;
  从所存储的DAA证书得到基础名称点;
  向安全设备提供要签名的消息和基础名称点;
  从安全设备接收由安全设备签名且包括与基础名称点相关联的公钥值的消息版本;以及
  基于由安全设备签名的消息版本来确定DAA证书是有效的。
10.如权利要求9所述的***,其中,安全设备是可信平台模块。
11.如权利要求10所述的***,其中:
主机计算设备包括外壳;以及
可信平台模块被容纳在主机计算设备的外壳内。
12.如权利要求11所述的***,其中:
主机计算设备包括母板;以及
可信平台模块整体地耦合到主机计算设备的母板。
13.如权利要求12所述的***,其中,可信平台模块包括保护秘密DAA签名密钥的安全的物理机构。
14.一种计算机实现的方法,包括:
从直接匿名证明(DAA)发布者计算***接收DAA证书;
从DAA证书得到基础名称点;
向可信平台模块提供消息、基础名称点以及椭圆曲线群组成员资格点;
向可信平台模块发布签名命令,以请求可信平台模块执行签名例程以使用基础签名点和椭圆曲线群组成员资格点作为到签名例程的输入来对消息进行签名;
从可信平台模块接收由可信平台模块签名并包括与基础名称点相关联的公钥值的消息版本;
基于由可信平台模块签名的消息版本和基础名称点来确定DAA证书是有效的;以及
将公钥值存储在计算机可读存储器中。
15.如权利要求14所述的方法,其中,基于由可信平台模块签名的消息版本和基础名称点来确定DAA证书是有效的包括确定公钥值和基础名称点的离散对数是相等的。
CN201180072675.1A 2011-07-29 2011-07-29 证书确认 Pending CN103718500A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/045996 WO2013019193A1 (en) 2011-07-29 2011-07-29 Credential validation

Publications (1)

Publication Number Publication Date
CN103718500A true CN103718500A (zh) 2014-04-09

Family

ID=47629545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180072675.1A Pending CN103718500A (zh) 2011-07-29 2011-07-29 证书确认

Country Status (7)

Country Link
US (2) US9268968B2 (zh)
EP (1) EP2737656B1 (zh)
JP (1) JP5710075B2 (zh)
KR (1) KR20140054151A (zh)
CN (1) CN103718500A (zh)
BR (1) BR112014002175A8 (zh)
WO (1) WO2013019193A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330812A (zh) * 2015-06-15 2017-01-11 腾讯科技(深圳)有限公司 文件安全性识别方法及装置
CN106462673A (zh) * 2014-06-27 2017-02-22 英特尔公司 用于对硬件特征进行安全离线激活的技术

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2798778A4 (en) * 2011-12-27 2015-08-19 Intel Corp METHOD AND SYSTEM FOR SECURE CALCULATION OF A BASE POINT IN A DIRECT ANONYMOUS CERTIFICATE
US9887983B2 (en) 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9305298B2 (en) 2013-03-22 2016-04-05 Nok Nok Labs, Inc. System and method for location-based authentication
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9798895B2 (en) * 2014-09-25 2017-10-24 Mcafee, Inc. Platform identity architecture with a temporary pseudonymous identity
US10110385B1 (en) 2014-12-22 2018-10-23 Amazon Technologies, Inc. Duress signatures
US9866393B1 (en) * 2014-12-22 2018-01-09 Amazon Technologies, Inc. Device for creating reliable trusted signatures
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
US9838203B1 (en) * 2016-09-28 2017-12-05 International Business Machines Corporation Integrity protected trusted public key token with performance enhancements
US10397002B2 (en) * 2017-02-10 2019-08-27 International Business Machines Corporation Signature scheme for homomorphic message encoding functions
GB2562454B (en) * 2017-02-20 2019-05-29 Trustonic Ltd Anonymous attestation
US10397005B2 (en) * 2017-03-31 2019-08-27 Intel Corporation Using a trusted execution environment as a trusted third party providing privacy for attestation
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
US11018871B2 (en) * 2018-03-30 2021-05-25 Intel Corporation Key protection for computing platform
US10320569B1 (en) * 2018-04-05 2019-06-11 HOTYB, Inc. Systems and methods for authenticating a digitally signed assertion using verified evaluators
US11218324B2 (en) * 2018-04-05 2022-01-04 Ares Technologies, Inc. Systems and methods authenticating a digitally signed assertion using verified evaluators
US11316692B2 (en) 2018-08-13 2022-04-26 Ares Technologies, Inc. Systems, devices, and methods for selecting a distributed framework
US11695783B2 (en) * 2018-08-13 2023-07-04 Ares Technologies, Inc. Systems, devices, and methods for determining a confidence level associated with a device using heuristics of trust
US11379263B2 (en) 2018-08-13 2022-07-05 Ares Technologies, Inc. Systems, devices, and methods for selecting a distributed framework
US11824882B2 (en) * 2018-08-13 2023-11-21 Ares Technologies, Inc. Systems, devices, and methods for determining a confidence level associated with a device using heuristics of trust
US11153098B2 (en) 2018-10-09 2021-10-19 Ares Technologies, Inc. Systems, devices, and methods for recording a digitally signed assertion using an authorization token
US11240040B2 (en) * 2018-10-09 2022-02-01 Ares Technologies, Inc. Systems, devices, and methods for recording a digitally signed assertion using an authorization token
US10904754B2 (en) * 2018-11-28 2021-01-26 International Business Machines Corporation Cellular network authentication utilizing unlinkable anonymous credentials
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US10735205B1 (en) * 2019-03-08 2020-08-04 Ares Technologies, Inc. Methods and systems for implementing an anonymized attestation chain
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
WO2020210362A1 (en) 2019-04-08 2020-10-15 Ares Technologies, Inc. Systems, devices, and methods for machine learning using a distributed framework

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867877A (zh) * 2003-10-17 2006-11-22 国际商业机器公司 用于具有属性的用户证明签名的方法和***
CN1941699A (zh) * 2005-09-29 2007-04-04 国际商业机器公司 密码方法、主机***、可信平台模块和计算机安排
US20090129600A1 (en) * 2007-11-15 2009-05-21 Brickell Ernie F Apparatus and method for a direct anonymous attestation scheme from short-group signatures
CN101512535A (zh) * 2006-08-31 2009-08-19 国际商业机器公司 计算平台的证明
US20100082973A1 (en) * 2008-09-29 2010-04-01 Ernie Brickell Direct anonymous attestation scheme with outsourcing capability

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005038635A2 (en) * 2003-10-17 2005-04-28 International Business Machines Corporation Method and system for user attestation-signatures with attributes
US7587605B1 (en) * 2004-03-19 2009-09-08 Microsoft Corporation Cryptographic pairing-based short signature generation and verification
US7581107B2 (en) * 2004-05-28 2009-08-25 International Business Machines Corporation Anonymity revocation
JP2008276084A (ja) 2007-05-07 2008-11-13 Sony Corp 表示制御装置および方法、並びにプログラム
GB0801662D0 (en) * 2008-01-30 2008-03-05 Hewlett Packard Development Co Direct anonymous attestation using bilinear maps
GB2466071B (en) * 2008-12-15 2013-11-13 Hewlett Packard Development Co Associating a signing key with a software component of a computing platform
US9137247B2 (en) * 2013-03-15 2015-09-15 Intel Corporation Technologies for secure storage and use of biometric authentication information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867877A (zh) * 2003-10-17 2006-11-22 国际商业机器公司 用于具有属性的用户证明签名的方法和***
CN1941699A (zh) * 2005-09-29 2007-04-04 国际商业机器公司 密码方法、主机***、可信平台模块和计算机安排
CN101512535A (zh) * 2006-08-31 2009-08-19 国际商业机器公司 计算平台的证明
US20090129600A1 (en) * 2007-11-15 2009-05-21 Brickell Ernie F Apparatus and method for a direct anonymous attestation scheme from short-group signatures
US20100082973A1 (en) * 2008-09-29 2010-04-01 Ernie Brickell Direct anonymous attestation scheme with outsourcing capability

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462673A (zh) * 2014-06-27 2017-02-22 英特尔公司 用于对硬件特征进行安全离线激活的技术
CN106462673B (zh) * 2014-06-27 2019-09-03 英特尔公司 用于对硬件特征进行安全离线激活的设备和装置
CN106330812A (zh) * 2015-06-15 2017-01-11 腾讯科技(深圳)有限公司 文件安全性识别方法及装置
CN106330812B (zh) * 2015-06-15 2019-07-05 腾讯科技(深圳)有限公司 文件安全性识别方法及装置

Also Published As

Publication number Publication date
US20160134421A1 (en) 2016-05-12
US20140173274A1 (en) 2014-06-19
JP5710075B2 (ja) 2015-04-30
BR112014002175A2 (pt) 2017-03-01
EP2737656A1 (en) 2014-06-04
WO2013019193A1 (en) 2013-02-07
KR20140054151A (ko) 2014-05-08
JP2014524218A (ja) 2014-09-18
EP2737656B1 (en) 2018-09-05
BR112014002175A8 (pt) 2018-04-03
US9853816B2 (en) 2017-12-26
EP2737656A4 (en) 2015-04-01
US9268968B2 (en) 2016-02-23

Similar Documents

Publication Publication Date Title
CN103718500A (zh) 证书确认
US11842317B2 (en) Blockchain-based authentication and authorization
US20220321359A1 (en) Methods and systems for ownership verification using blockchain
CN111989893B (zh) 用于生成和链接零知识证明的方法、***和计算机可读装置
EP3779792B1 (en) Two-dimensional code generation method, data processing method, apparatus, and server
WO2019084908A1 (en) Method and apparatus for trusted computing
CN116561789B (zh) 隐私数据的处理方法、装置、电子设备及可读存储介质
US20140089670A1 (en) Unique code in message for signature generation in asymmetric cryptographic device
AU2015308608A1 (en) Methods for secure cryptogram generation
JP5178826B2 (ja) 電子デバイスのための公開鍵生成方法及び電子デバイス
US20200162256A1 (en) System and method for anonymous location verification
CN109918888B (zh) 基于公钥池的抗量子证书颁发方法及颁发***
EP3496331A1 (en) Two-party signature device and method
CN104012036B (zh) 组合式数字证书
KR101004829B1 (ko) 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법
US8595505B2 (en) Apparatus and method for direct anonymous attestation from bilinear maps
US20210091955A1 (en) Homomorphic encryption for password authentication
CN112948789B (zh) 身份认证方法及装置、存储介质及电子设备
CN116506134B (zh) 数字证书管理方法、装置、设备、***及可读存储介质
JP7400444B2 (ja) IoT鍵管理システム,セキュアデバイス,IoTデバイス,デバイス管理装置およびセキュアエレメントの公開鍵証明書生成方法
US11424922B2 (en) Hashing schemes for cryptographic private key generation
CN114128213A (zh) 用于验证公钥的可靠性的装置、方法以及其程序
CN113806810B (zh) 认证方法、认证***、计算设备以及存储介质
CN116488817A (zh) 基于区块链的数据处理方法、装置、设备、介质及产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140409