CN102638345B - 基于椭圆曲线离散对数困难性假设的daa认证方法及系统 - Google Patents
基于椭圆曲线离散对数困难性假设的daa认证方法及系统 Download PDFInfo
- Publication number
- CN102638345B CN102638345B CN201210142086.2A CN201210142086A CN102638345B CN 102638345 B CN102638345 B CN 102638345B CN 201210142086 A CN201210142086 A CN 201210142086A CN 102638345 B CN102638345 B CN 102638345B
- Authority
- CN
- China
- Prior art keywords
- tpm
- secret
- certificate
- calculate
- random
- 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
Abstract
本发明公开了一种基于普通椭圆曲线离散对数的困难性假设的DAA认证方法及系统,用以解决现有技术中因为困难假设不同导致的直接匿名认证协议的复杂度高、运算量大的问题,本方案采用椭圆曲线的点加和标量乘,复杂性大大降低,不仅密钥长度和签名长度方案较短,而且在总性能方面得到了较大提高,降低了Join协议、Sign协议以及Verify算法中TPM、Host、Issuer以及Verifier等各个参与实体的计算量。
Description
技术领域
本发明涉及数字认证技术领域,尤其涉及一种基于普通椭圆曲线离散对数的困难性假设的直接匿名认证(Direct Anonymous Attestation,DAA)认证方法及系统。
背景技术
对于平台身份认证,可信计算组织(Trusted Computing Group,TCG)采用了直接匿名认证协议,该协议为当前可信计算平台身份认证最好的理论解决方案之一。
许多研究团体正在研究基于椭圆曲线和双线形映射的DAA方案,简称为ECC-DAA。根据困难性假设,ECC-DAA又分为两种不同的类型。其一是基于LRSW假设和双线对DDH假设的ECC-DAA。为了增加实施的灵活性、安全和效率,采用非对称双线形映射对此进行了扩展;其二是基于q-SDH(q阶强Diffie-Hellman假设)假设和双线对DDH假设的ECC-DAA。但,不管是“基于LRSW假设(LRSW假设是由Lysyanskaya等人引入并证明不仅适合支持有效的双线性对映射的群,同时也适合于所有的群,并且与DDHP独立无关)和双线对DDH假设的ECC-DAA方案”还是“基于q-SDH假设和双线对DDH假设(判定Diffie-Hellman假设)的ECC-DAA方案”,所有的方案均保留了原DAA方案的基本流程与框架,仅仅用双线形映射替换RSA模指数运算,获得更短的密钥长度和计算量的降低。从本质上讲,这些方案均是原方案的性能提高版,但是,几乎所有的ECC-DAA方案运算依然复杂。
无论是RSA-DAA方案还是ECC-DAA方案,均基于某一计算困难性。困难假设不同,零知识证明和DAA流程中的运算就不同,但零知识证明框架和DAA流程基本都是一致的。目前,绝大部分工作均是根据不同的困难假设进一步优化零知识证明和DAA流程中的运算。原则上讲,困难假设的运算复杂性决定DAA方案的复杂性和性能。
在密码学的研究中,迄今为止有三种困难性假设,其一是大整数因子分解问题;其二是有限域上的离散对数问题;其三是椭圆曲线上离散对数问题难解性问题。RSA-DAA通常基于大整数因子分解问题,ECC-DAA通常基于椭圆曲线上的双线形映射相关假设以及其上的循环群相关的离散对数难解性问题。目前,还没有仅仅依赖普通椭圆曲线上离散对数难解性问题这一基础性假设的DAA方案。而椭圆曲线离散对数问题是被公认要比整分解问题(RSA方法的基础)以及模p离散对数问题难解得多,且密钥长度段、算法性能好。
发明内容
有鉴于此,本发明实施提供一种基于普通椭圆曲线离散对数的困难性假设的DAA认证方法及系统,用以解决现有技术中因为困难假设造成的运算复杂性较高,导致直接匿名认证协议的认证方法复杂度高、运算量大的问题。
本发明提供一种基于普通椭圆曲线离散对数的困难性假设的直接匿名认证DAA认证方法,所述方法包括:
在初始化过程中,发布方根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,生成发布方的公钥和私钥,并发布公钥;
在Join协议过程中,可信赖平台模块TPM(Trusted Computing Moduel)采用哈希HASH函数生成秘密秘密ID f,将秘密f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密ID f和TPM的基名的倍乘作为假名Ni,并向发布方采用基于椭圆曲线离散对数零知识证明证明其拥有秘密ID f,并由ID f正确计算出了证书的公钥和假名(e,Ni),公布(e,Ni),保存秘密ID f;平台保存DAA证书的公钥e;
在sign协议过程中,TPM首先计算假名NV,NV是TPM秘密ID f和验证方基名的倍乘;然后平台Host随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM,TPM采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密,在零知识证明过程中,完成对消息m的签名σ=(c,w1,w2,T1,T2,ζ,Nv,nt);
在验证过程中,验证方采用椭圆曲线的倍乘和点加方式,对该签名进行验证。
较佳地,所述发布方根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,发布公钥包括:
发布方定义q为素数,q的长度lq为200,随机选取小于q-1的正整数作为参数a;
根据条件4a3+27b2≠0(modq),其中“≠”表示“不等于”判断随机产生的小于q-1的正整数是否适合作为参数b;
随机产生0到q-1间的整数作为基点g的横坐标,并根据确定基点g的纵坐标;
n为大素数并且等于基点g的阶数;
根据产生的归属于有限域内的随机数xS,xR,xm,xn,计算:S=xSg,R=xRS,M=xmg,N=xnM,发布公钥PKi=(a,b,q,g,n,Ο,S,R,N)。
较佳地,所述TPM采用椭圆曲线的倍乘方式生成DAA证书的公钥和假名,包括:
定义归属于有限域Fq的H2为H2:{0,1}*→Fq,H1为H1:{0,1}*→E(Fq)(H2,H1为2个映射);
根据发布方提供的归属于该发布方的基名bsni,计算ζi=H1(1||bsni)(H1的函数值赋给ξ1);
根据f=H2(DAASeed)‖cnt‖1)(“||”为“连接”符号。该表达式的整体含义是:H2的函数值与cnt和1的连接值赋给f),其中H2为H2:{0,1}*→Fq(H2为映射),DAASeed为TPM内部的恒定种子常量,cnt为TPM进行join协议的次数计算器;
根据e=fg产生证书的公钥e,并根据Ni=fζi确定假名Ni,其中f为证书的秘密ID,g为基点。
较佳地,所述由f正确计算出了证书的公钥和假名(E,Ni),公布(E,Ni),保存秘密ID f,包括:
TPM选择有限域内的随机正整数rf∈Fq,并计算和将确定的发送给平台;
发布方选择随机数来用作防重放攻击的随机数,并将ni发送给TPM;
TPM选择随机数来用作防重放攻击的随机,计算(H2的函数值赋值给c),sf=rf-cf,并把(c,sf,nt)发送给发布方;
发布方计算验证
(”等号上的问号”表示“判定是否相等”,即判定c的值是否等于H2的函数值);
TPM保存秘密f,平台保存证书的公钥e。
较佳地,所述TPM采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密,包括:
根据验证方是否提供归属于该验证方的基名bsnV,平台计算ζ∈R E(Fq)或计算ζ=H1(1||bsni)(H1的函数值赋给ξ),并将计算结果发送给TPM,H1为H1:{0,1}*→E(Fq);
TPM根据保存的秘密,计算假名NV=fζ;
平台随机选取归属于有限域内的参数b,b∈Fq,计算来自证书的参数T1、T2分别为T1=be和T2=bg。
较佳地,所述对消息m进行签名包括:
TPM任意选择t1∈Fq、t3∈Fq,计算d1=t1T2、N'V=t2ζ;
TPM选择一个随机比特串来用作防重放攻击的随机数,计算c=H2(g‖T1‖T2‖d1‖ξ‖N’V‖nt‖m)(H2的函数值赋值给c“||”为“连接”符号。),w1=t1-cf,w2=t3-cf;
TPM输出对消息m的签名值σ=(c,w1,w2,T1,T2,ζ,Nv,nt)。
较佳地,所述验证方采用椭圆曲线的倍乘和点加方式,对该签名进行验证包括:
验证方计算
验证(”等号上的问号”表示判定是否相等”,即判定c的值是否等于H2的函数值)以及Nv、ζ∈RE(Fq),检查撤销列表中的秘密f,验证(“不等号上的问号”表示“判定是否不相等”,即判定NV的值是否不等于fξ的函数值)。
本发明提供一种基于普通椭圆曲线离散对数的困难性假设的直接匿名认证DAA认证系统,所述系统包括:
发布方,用于根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,生成发布方的公钥和私钥,并发布公钥;
可信赖平台模块TPM,用于采用哈希HASH函数生成秘密秘密ID f,将秘密f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密f和TPM的基名的倍乘作为假名Ni,并向发布方采用基于椭圆曲线离散对数零知识证明其拥有秘密f,并由f正确计算出了证书的公钥和假名(e,Ni),公布(e,Ni),保存秘密f;计算假名NV,NV是TPM秘密ID f和验证方基名的倍乘;采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密,在零知识证明过程中,完成对消息m的签名
平台,用于保存DAA证书的公钥e,随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM;
验证方,用于采用椭圆曲线的倍乘和点加方式,对该签名进行验证。
较佳地,所述发布方,具体用于定义q为素数,q的长度lq为200,随机选取小于q-1的正整数作为参数a;根据条件4a3+27b2≠0(modp)判断随机产生的小于q-1的正整数是否适合作为参数b;随机产生0到q-1间的整数作为基点g的横坐标,并根据确定基点g的纵坐标;n为大素数并且等于基点g的阶数;根据产生的归属于有限域内的随机数xS,xR,xm,xn,计算:R=xRS,M=xmg,N=xnM,发布公钥PKi=(a,b,q,g,n,Ο,S,R,N)。
较佳地,所述TPM,具体用于定义归属于有限域Fq的H2为H2:{0,1}*→Fq(H2为一个映射),H1为H1:{0,1}*→E(Fq)(H1为一个映射);根据发布方提供的归属于该发布方的基名bsni,计算ζi=H1(1||bsni)(H1的函数值赋给ξi);根据f=H2(DAASeed)‖cnt‖1)(H2的函数值赋给f),其中H2为H2:{0,1}*→Fq(H2为一个映射),DAASeed为TPM内部的恒定种子常量,cnt为TPM进行join协议的次数计算器;根据e=fg产生证书的公钥e,并根据Ni=fζi确定假名Ni,其中f为证书的秘密,g为基点。
较佳地,所述TPM,具体用于选择有限域内的随机正整数rf∈Fq,并计算和将确定的发送给平台;选择随机数
来用作防重放攻击的随机,计算(H2的函数值赋值
给c“||”为“连接”符号。),sf=rf-cf,并把(c,sf,nt)发送给发布方;保
存秘密;
所述发布方,具体用于选择随机数来用作防重放攻击的随机数,并将ni发送给TPM;计算验证(”等号上的问号”表示判定是否相等”,即判定c的值是否等于H2的函数值)。
较佳地,所述平台,具体用于根据验证方是否提供归属于该验证方的基名bsnV,平台计算ζ∈RE(Fq)或计算ζ=H1(1||bsni),并将计算结果发送给TPM,H1为H1:{0,1}*→E(Fq);随机选取归属于有限域内的参数b,b∈Fq,计算来自证书的参数T1、T2分别为T1=be和T2=bg;
TPM,还用于TPM根据保存的秘密,计算假名NV=fζ。
较佳地,所述TPM,具体用于任意选择t1∈Fq、t3∈Fq,计算d1=t1T2、N'V=t2ζ;选择一个随机比特串来用作防重放攻击的随机数,计算c=H2(g‖T1‖T2‖d1‖ξ‖N’V‖nt‖m),w1=t1-cf,w2=t3-cf;输出对消息m的签名值σ=(c,w1,w2,T1,T2,ζ,Nv,nt)。
较佳地,所述验证方,具体用于计算验证(”等号上的问号”表示判定是否相等”,即判定c的值是否等于H2的函数值)以及Nv、ζ∈RE(Fq),检查撤销列表中的秘密f,验证(“不等号上的问号”表示“判定是否不相等”,即判定NV的值是否不等于fξ的函数值)。
本发明提供了一种基于普通椭圆曲线离散对数的困难性假设的DAA认证方法及系统,该方法包括:发布方根据有限域的一条椭圆曲线生成发布方公钥和私钥,TPM采用HASH函数生成秘密秘密ID f,将秘密f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密f和TPM的基名的倍乘作为假名Ni,并采用椭圆曲线离散对数零知识证明向发布方证明通过其拥有的秘密正确计算构成了证书的公钥和假名,保存秘密;平台用于保存DAA证书的公钥e,提供签名过程中的基名,并采用椭圆曲线方式、依据DAA证书公钥生成签名的部分参数;TPM首先计算假名NV,NV是TPM秘密f和验证方基名的倍乘;然后平台Host随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM。TPM采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密。在零知识证明过程中,完成对消息m的签名σ=(c,w1,w2,T1,T2,ζ,Nv,nt);验证方采用椭圆曲线的倍乘和点加方式,对该签名进行验证。由于本方案采用椭圆曲线的点加和标量乘,复杂性大大降低,不仅密钥长度和签名长度方案较短,而且在总性能方面得到了较大提高,降低了Join协议、Sign协议以及Verify算法中TPM、Host、Issuer以及Verifier等各个参与实体的计算量。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明提供的基于普通椭圆曲线离散对数的困难性假设的DAA认证过程示意图;
图2为本发明提供的基于普通椭圆曲线离散对数的困难性假设的DAA认证系统结构示意图。
具体实施方式
本发明实施例为了减小困难假设造成的运算复杂性,和计算量,提供了基于普通椭圆曲线离散对数的困难性假设的DAA认证方法及系统。
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面通过具体的实施方式,对本发明进行详细说明。
在本发明中将该认证方法定义为直接匿名认证协议的优化方法,用TMZ-DAA来标识。该方法仅仅依赖椭圆曲线上离散对数问题难解性问题,没有包含双线形映射运算,仅有椭圆曲线上的点加和倍乘运算。
本方案中包含四个实体分别为可信赖平台模块(Trusted Platform Module,TPM)、平台host、发布方Issuer和验证方Verifier。另外定义本方案涉及的优化方法TMZ-DAA为一个六元组,包括4个算法和两个协议,即可以标识为:
TMZ-DAA={Setup,Join,Sign,Verifier,Rogue Tagging,Linking}
其中,初始化setup、认证verifier、恶意攻击Rogue Tagging和连接Linking为四个算法,加入Join、签名Sign为两个协议。
图1为本发明提供的该基于DAA协议的认证过程示意图,该过程包括以下步骤:
S101:发布方根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,发布公钥;
S102:TPM采用HASH函数生成秘密秘密ID f,将秘密f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密f和TPM的基名的倍乘作为假名Ni,并采用椭圆曲线离散对数零知识证明向发布方证明通过其拥有的秘密正确计算构成了证书的公钥和假名,保存秘密。
S103:平台用于保存DAA证书的公钥e,提供签名过程中的基名,并采用椭圆曲线方式、依据DAA证书公钥生成签名的部分参数;TPM首先计算假名NV,NV是TPM秘密f和验证方基名的倍乘;然后平台Host随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM。TPM采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密。在零知识证明过程中,完成对消息m的签名σ=(c,w1,w2,T1,T2,ζ,Nv,nt)。
S104:验证方采用椭圆曲线的倍乘和点加方式,对该签名进行验证。
下面分别对上述四个算法和两个协议进行说明。
算法初始化setup的主要作用是为发布方Issuer生成公钥和私钥。该生成公钥和私钥的具体过程包括:
发布方选择定义在有限域Fq的一条椭圆曲线E,该椭圆曲线E可以表示为y2=x3+ax+b,定义q为素数,q的长度lq为200,随机选取小于q-1的正整数作为参数a;根据条件4a3+27b2≠0(modq),其中“≠”表示“不等于”判断随机产生的小于q-1的正整数是否适合作为参数b。EC基点g的产生方法为先随机产生0到q-1间的整数作为基点g的横坐标x坐标,计算得出基点g的纵坐标y坐标;n为大素数并且等于g点的阶;Ο为无穷远点(零元)。
产生随机整数xS,xR,xm,xn∈Fq,并且计算:
S=xSg,R=xRS,M=xmg,N=xnM;
发布公钥PKi=(a,b,q,g,n,Ο,S,R,N),即该公钥是由上述9个公钥参数构成的,保存私钥SKi=(xm,M)。
Join协议的主要作用是平台从发布方Issuer获得DAA证书。在该过程中主要涉及到发布方Issuer、平台host和TPM之间的交互,并且H1:{0,1}*→E(Fq),H2:{0,1}*→Fq。可信赖平台模块TPM采用椭圆曲线的方式生成DAA证书的公钥和假名,并向发布方椭圆曲线离散对数零知识证明其拥有的秘密正确计算构成了证书的公钥和假名,保存秘密。
该具体过程包括:
TPM根据发布方Issuer提供的基名bsni,计算ζi=H1(1||bsni)。
TPM产生DAA证书的秘密f,f=H2(DAASeed)‖cnt‖1),其中,DAASeed为TPM内部的恒定种子常量,cnt为TPM进行join协议的次数计算器。之后再计算e=fg和Ni=fζi,其中e是DAA证书公钥,Ni是假名。随后把(e,Ni)发送给发布方Issuer。
发布方Issuer检查撤销列表中所有的秘密f,同时验证Ni≠fζi,并需检查之间使用过的Ni,如果该Ni位于撤销列表中,则此时TPM是假的,终止认证。
TPM向发布方Issuer零知识证明其拥有f和正确计算构成了(e,Ni),详细步骤如下:
TPM选择随机正整数rf∈Fq,随后计算和将
发送给平台;Issuer选择一个随机比特串来用作防重放攻击的nonce,
并发送ni给TPM;TPM选择一个随机数来用作防重放攻击的nonce,
计算sf=rf-cf,并把(c,sf,nt)发送给Issuer;Issuer
计算验证(”等号上的
问号”表示判定是否相等”,即判定c的值是否等于H2的函数值)。
最后,TPM秘密保存f,平台安全保存e。
Sign协议的主要作用是平台对消息m进行签名,该签名的过程涉及到TPM和平台host。其中的H2仍为H2:{0,1}*→Fq。
在对消息m进行签名的过程中,根据验证方Verifier是否提供基名bsnV,Host计算ζ∈RE(Fq)或计算ζ=H1(1||bsni)并发送给TPM,TPM计算假名NV=fζ;平台Host随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM。TPM生成如下零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密:
TPM任意选择t1∈Fq、t3∈Fq,计算d1=t1T2、N'V=t2ζ;TPM选择一个随机比特串来用作防重放攻击的随机数(nonce),计算
c=H2(g‖T1‖T2‖d1‖ξ‖N’V‖nt‖m),
w1=t1-cf,
w2=t3-cf。
TPM输出对消息m的签名值σ=(c,w1,w2,T1,T2,ζ,Nv,nt),在该步骤中TPM生成如下两个零知识证明,即NV=fζ对f的零知识证明及T1=fT2对f的零知识证明。
验证verify算法的主要作用是验证方Verifier对签名进行验证,该算法中主要的参与者是验证方Verifier,在该验证过程中H2仍为H2:{0,1}*→Fq。该验证过程主要包括:
验证方Verifier计算验证(”等号上的问号”表示判定是否相等”,即判定c的值是否等于H2的函数值)
以及Nv、ζ∈RE(Fq),检查撤销列表中的秘密f,验证
签名后当TPM内部的秘密f泄露,那么验证方在签名验证时必须对TPM进行检测,以确定签名是否来自被攻陷的TPM。具体的对TPM进行检测的方法包括:将已经泄露的TPM的秘密f加入到撤销列表中,其中该撤销列表中保存了所有假冒TPM的秘密f,对于在撤销列表中的秘密f,验证方计算如果存在某个秘密f使得等式成立,则该签名来自假冒的或者已经撤销的TPM。
本方案采用与原BCC-DAA方案完全相同的假名机制。假名是一个介于完全识别和完全匿名之间的概念。在DAA协议中,假名是由一个基名加上一个核心的身份标识计算而来的,简单的说就是:
假名=基名+身份核心标识
而在本方案中为了达到可变匿名性,可信计算平台在产生签名时使用TPM的秘密f计算一个承诺值-假名NV。同时,计算时将选择一个标识符-基名ζ。如果可信计算平台在签名时选择的ζ是相同的,那么由可信计算平台生成的签名是可关联(linkability)的,如果可信计算平台在生成签名时随机选择ζ,那么生成的签名是完全匿名的。ζ在选择时可以由TPM和验证方共同协商确定。
本发明中为了提供可变的匿名性机制,在执行签名操作时,同时执行下面的运算:NV=fζ以及相关的零知识证明。
在椭圆曲线离散困难性假设下,本方案中给出的TMZ-DAA方案安全地实现了一个直接匿名证明系统。本方案中采用理想系统/现实系统(ideal-system/real-system)模型来证明TMZ-DAA方案的安全性。理想系统/现实系统模块的基本思想是,在现实系统中存在一些参与方Pi,并且有一个攻击方A以及环境ε,攻击方A控制了一些参与方。ε给参与方提供输入,在运行完安全协议后,参与方将输出提交给ε,并且ε能够与A任意交互。在理想提供中,与现实系统有相同的参与方,但是参与方之间并不执行安全协议,而是将输入发送给可信方T,并从可信方T处得到输出。该可信方T执行的理想函数性是将所涉及的安全协议预期要达到的功能。
安全性的定义是这样的,如果对于任意的攻击方A和任意的环境ε,在理想系统中存在一个模拟器S,其中S控制的参与方与现实系统中A控制的参与方相同,使得ε不能区分自己是运行在现实系统中还是理想系统中,那么就认为该安全协议是安全的。因此,证明系统的安全性主要包括:给出理想系统的可信方T;在理想系统中构建一个模拟器S;证明模拟器能够成功地模拟A,使得环境ε不能区分。
针对本发明中的认证方案,理想系统的可信方为T,该理想系统中包括的参与方有颁发者I,一个身份为idi可信平台模块TPMMi,一个带TPM的可信计算平台Hi,一个验证者Vj。
每个参与方都与可信方T进行交互,从而可以确定每个参与方是否已经被攻击方攻陷(corrupted)。
身份为idi的可信平台模块Mi向可信方T发出请求,希望成为其群成员,可信方T向颁发者I发送通知下消息,表明身份为idi的可信平台模块Mi希望加入为其群成员。在该过程中如果Mi为假冒的,则可信方T将向颁发者I表明这一点。当颁发者I对Mi审核通过时,向可信方T发送通知信息,则可信方T向带TPM的可信计算平台Hi发送该身份为idi的可信平台模块Mi已成功成为其群成员的信息。
在本方案的join协议中,带TPM的可信计算平台Hi仅仅是转发Mi和颁发者I的信息,没有实质参与join协议过程,因此理想系统可信方忽略与Hi的交互。
可信计算平台Hi对消息签名时,采用签名唯一标示符bsnV∈{0,1}*∪{⊥}(bsnv属于这两个集合的并),HI将消息m和Vbsn发送给可信方T。首选可信方验证身份为idi的可信平台模块Mi是否为可信计算平台Hi的群成员,当判断该Mi非该Hi的群成员时,则可信方将拒绝该Hi的请求,当判断该Mi为该Hi的群成员时,则可信方T将该消息发送给相应的Mi,并询问其是否同意签名。
当接收到消息的Mi同意签名时,则可信方T询问可信计算平台Hi是否需要签名,此时当该Hi没有退出时,可信方T执行下述步骤:
当判断该Mi为假冒的时,则可信方T通知VI假冒TPM对m进行了签名;
当bsnV=⊥,则可信方T通知Vj,该Hi已经对该消息m进行了签名;
当bsnV≠⊥,则可信方T检查Hi/Mi是否采用基数bsnV对消息m进行了签名,当判断采用了基数对消息m进行了签名时,可信方T在其假名数据库中查找对应的假名P,如果没有采用该基数对消息m进行签名,则可信方T随机生成一个假名P,P∈R E(Fq),可信方T向验证方Vj发送假名为P的平台对该消息m进行签名。
该理想系统具有如下的安全特性:首先,该理想系统具有不可伪造性(unforgeability),这是因为非群成员用户或者已经被撤销的群成员用户,不能成功的对消息进行签名;另外,该理想系统具有可变匿名性(variableanonymity),这是因为验证者不能标识出签名者的身份,如果Vbsn=⊥,那么签名是完全匿名的;如果Vbsn≠⊥,那么签名具有部分的匿名性,验证者通过假名P标识签名者;再者,该理想系统不具有不可关联性(unlinkability),这是因为如果Vbsn=⊥,那么验证者无法区分两个不同的签名是否由同一个可信计算平台签发。
在本理想系统中还构造了模拟器S。系统初始化的模拟是针对颁发者进行的,分为两种情况,分别为参与方没有被攻陷(corrupted))和参与方已经被攻陷,其中参与方没有被攻陷用(I)表示,参与方已经被攻陷用(i)表示。
当参与方颁发者被攻陷时,模拟器S从攻击方处接收到颁发者的公钥PKi,为PKi=(a,b,q,g,n,Ο,S,R,N);当参与方颁发者是诚实的,模拟器S运行密钥生成算法得到公钥PKi=(a,b,q,g,n,Ο,S,R,N)和私钥SKi=(xm,M)。
在join协议中,由于Hi仅仅是转发Mi和I的信息,没有实质参与Join协议过程。因此在Join的模拟过程中,模拟器S忽略与Hi的交互。根据颁发者I和TPM Mi是否被攻陷,可以分为4种情况,分别用(IM),(Im),(iM),(im)表示,下面将分别加以讨论:
(IM),(im):在这两种情况下,所有的操作都是在参与方之间进行的,不需要触发模拟器。
(Im):在这种情况下,颁发者I没有被攻陷,可信计算平台Mi被攻陷。模拟器S从攻击方A处得到加入请求,S与A交互,运行Join协议。在这个过程中,A同时将NV发送给S用于假冒TPM检测,如果S第1次接收到NV,那么S存储NV,同时通知可信方T,可信计算平台Mi请求加入,模拟器S在与可信方通信的过程中将扮演理想系统中的Mi的角色。如果可信方T同意Hi加入,那么模拟器S与攻击方A将交互完成Join协议;如果T不同意,那么模拟器S将中止协议。
(iM):在这种情况下,模拟器S从可信方T处得到平台idi的加入请求。在理想系统中,S将扮演颁发者的角色,在与攻击方交互的过程中模拟现实系统中的Hi/Mi,如果Join协议能够成功地完成,那么S将从攻击方A处得到e和NV,S存储e和NV并通知T允许平台加入;如果S没有成功地完成Join协议,那么S将通知T不允许平台加入。
在验证Verify的模拟过程中,主要探讨3种情况:分别为(HV),(hv),(hV)。下面分别加以讨论:
(hv),(HV):在这两种情况下,所有的操作都在参与方之间进行,不需要触发模拟器。
(hV):模拟器S从攻击方处得到对消息m的签名σ=(c,w1,w2,T1,T2,ζ,Nv,nt),首先验证签名值σ的正确性。若签名值σ不合法,则S忽略消息请求;若σ合法,则需要做假冒TPM检测,根据撤销列表中的f验证(“不等号上的问号”表示“判定是否不相等”,即判定NV的值是否不等于fξ的函数值)。
如果找到对应的f使得NV=fζ,那么模拟器S检查是否存在与f对应的idi,如果存在这样的idi,那么S作为主机Hi请求可信方T对消息m签名;如果不存在对应的idi,那么S检查签名中的消息对<ζ,Nv>(<ζ,Nv>表示一个消息对)是否是第一次出现,S选择一个已经被攻陷的Mi(该Mi还没有成为群成员),以Mi的身份请求可信方T加入,并且将该Mi标记为假冒的,最后以Hi的身份对消息m签名。
如果找不到对应的f,则表明对m进行签名的平台是假冒,但还没有放入撤销列表。模拟器S必须找出签名来自于哪个平台,模拟器检查签名中的<ζ,Nv>以前是否出现过。
如果<ζ,Nv>不是第一次出现,那么S做如下的操作:
如果S在Sign的模拟过程中使用了<ζ,Nv>,但是S已经在Sign的模拟过程中回答了可信方,那么S输出“模拟失败”。S模拟失败的原因在于,攻击方伪造了签名,并且签名中Nv是模拟器选择的。因为该签名本质上是对Nv的椭圆曲线离散对数的零知识证明,因此,如果存在这样的攻击方A,就存在另一个攻击方A′,A′调用攻击方A,利用回绕(rewinding)技术能够解决椭圆曲线的DL问题。
否则,找到与<ζ,Nv>对应的主机Hi,TPMMi,作为主机Hi与可信方T交互,完成对m的签名.
如果<ζ,Nv>是第一次出现,模拟器S为<ζ,Nv>找到对应的TPM Mi。TPM已经被攻陷。
如果bsnV=⊥,那么S任选一个没有标记为假冒TPM的Mi,S与T交互完成对消息m的签名.
如果bsnV≠⊥,那么S选择一个没有标记为假冒TPM的Mi,如果能够找到这样的Mi,那么S与T交互完成对消息m的签名;如果找不到,则表明攻击方可以成功地伪造签名,S将模拟失败。但是,如果攻击方能够成功地伪造签名,那么必定存在一种算法可以攻破椭圆曲线的DL问题。
最后,为了证明环境ε不能区分自己是运行在现实系统中还是理想系统中,也就是说,证明现实系统和理想系统中的输出参数是计算不可区分的。在模拟的过程中,S扮演了现实系统中的不同角色。模拟器S在模拟过程中选择的参数(输出)有一些w*以及T*,这些参数都是随机选定的,而在现实系统中,这些参数是由秘密信息经过计算得到的。由于这些参数是统计不可区分的,因此在Zq中也是计算不可区分的。
另外,c由模拟器随机选择,在现实系统中是Hash函数的计算结果。由于是在随机预言机模型下,所以这两者是计算不可区分的。
为了体现本方案的优点,先将采用本方案实现的一些性能,与已有的所有ECC-DAA方案的性能进行比较分析。下表中列出了8中ECC-DAA方案的性能数据,在进行比较的过程中,主要是比较方案的Join协议、Sign协议和Verify算法,并未针对Setup算法和linking算法进行比较。而对于通用开销和存储开销,只考虑证书的长度和签名的长度,忽略TPM秘密ID和DAASeed所占空间。
在上表中参考文献[16]是指“艾·波瑞克尔,李江涛,增强的隐私身份:具有撤销能力的DDA认证系统,第六届ACM workshop信息社会的隐私会议,ACM出版社,2007.10”(Ernie Brickell and Jiangtao Li.Enhanced Privacy ID:A directanonymous attestation scheme with enhanced revocation capabilities.InProceedings of the 6th ACM Workshop on Privacy in the Electronic Society,pages21–30.ACM Press,October 2007)。参考文献[17]是指“艾·波瑞克尔,陈立群,李江涛,简单安全概念和基于双线形对的DAA认证系统,国际信息安全,8,315-330,2009”(E.Brickell,L.Chen and J.Li.Simplified security notions fordirect anonymous attestation and a concrete scheme from pairings.Int.Journal ofInformation Security,8,315-330,2009)。参考文献[19]是指L.Chen,P.Morrisseyand N.P.Smart.Pairings in trusted computing.In Pairings in Cryptography-Pairing 2008,Springer-Verlag LNCS 5209,1-17,2008。参考文献[21]是指“陈立群,李江涛,皮〃莫瑞斯,皮〃斯马特,DAA:基于双线形对的协议,密码安全文档,2009/198,http://eprint.iacr.org/2009/198”(L.Chen,P.Morrissey and N.P.Smart.DAA:Fixing the pairing based protocols.Cryptology ePrint Archive.Report 2009/198,available at http://eprint.iacr.org/2009/198)。参考文献[24]是指“陈峰,冯登国,下一代TPM的DAA认证系统,计算机学报,3(12),43-50.2008”(X.Chen and D.Feng.Direct anonymous attestation for next generationTPM.Journal of Computers,3(12),43-50.2008)。参考文献[25]是指“陈立群,一种低TPM开销的DAA认证系统,第五届中国国际信息安全与密码会议,北京,2009”(Liqun Chen.A DAA scheme requiring less TPM resources.In Proceedingsof the 5th China International Conference on Information Security and Cryptology,LNCS.Springer,2009)。参考文献[26]是指“艾·波瑞克尔,李江涛,进一步降低TPM开销基于双线形对的DAA认证系统,可信计算和可信赖计算通讯,Vol.6101,181-195,2010”(Ernie Brickell and Jiangtao Li,A Pairing-Based DAAScheme Further Reducing TPM Resources,Trust and Trustworthy ComputingLecture Notes in Computer Science,Volume 6101/2010,181-195,2010)。
在上表中,Gi(i=1,2,T)表示在群Gi中的一指数运算,如Gi,Zq计算ga;表示在群Gi中的多指数运算,其中如果m=2,则表示在群Gi中二指数运算,如g,Gi,a,Zq,计算gahb;如果m=3,则表示在群Gi中三指数运算,如g,h,Gi,a,b,Zq,计算gahbyc;其余依次类推。如果Gi(i=1,2,T)是椭圆曲线的群或子群,一指数运算又表示标量乘,诸如对于G1,Zq计算aP;二指数运算又表示两标量乘加,诸如对于P,G1+,a,Zq计算aP+bQ,其余依次类推。表示双线形映射运算。对于双线性运算而言,非对称双线性对的运算开销要高于对称双线性对运算的开销,但我们对其不具体区分。另外,用n表示泄露TPM的数目。对于证书和签名长度,用p表示价为p的素数的长度。Gi(i=1,2,T)表示群Gi中元素的长度。在参考文献[16,17,24]中用G表示群G中元素的长度,该G与G1、G2和GT不同。h表示在Schnorr签名方案中的hash长度。
当一个DAA方案应用于可信计算环境时,最值得关注是是TPM的计算和存储开销。如上表,本方案在Join阶段,尽管TPM的计算开销不是最小的,但是TPM、Host和Issuer总的计算开销最小,而且与其它方案不同的是,本方案在Join阶段不需要Host的参与(仅转发数据),因此Host的开销最小。在Sign阶段,TPM计算开销最小的是参考文献[19]提出的方案,但是该方案是不安全的,参考文献[21,25]描述了对这一方案的攻击。因此,在上表所列的所有方案中,本方案与参考文献[26]所示方案TPM的计算开销是最小的,而且在此阶段的总开销,包括TPM与Host开销,是所有方案中最小的。在Verify阶段,本方案Verifier的开销也是所有方案中最小的。
根据上表可知本方案与现有技术中已有的ECC-DAA方案相比,具有如下优点:首先,本方案的困难假设最少也最基本。这是因为目前,现有技术中ECC-DAA方案的困难假设分为两类,一类是“基于LRSW假设和双线对DDH假设”,另一类是“基于q-SDH假设和双线对DDH假设”,这两类假设的基础就是本方案中提到的“椭圆曲线离散对数的困难性”假设。
另外,本方案不包括双线形对运算,只包括椭圆曲线的点加和倍乘,运算类型少、简单,而且对椭圆曲线的选择没有特殊的要求,只要满足最基本的困难性假设均可。其它的ECC-DAA方案均需要双线形对运算,而目前支持双线形对运算的椭圆曲线只有超椭圆曲线上的Weil对和Tate对,普通椭圆曲线上的Weil对和Tate对还很困难。但是超椭圆曲线上Weil对和Tate对理论上存在安全性问题,即MOV指数最大为6,目前还没有好的办法克服。
再次,本方案总开销最小。从上述表格中可以看出,本方案中不仅TPM的计算和存储开销是最少的方案之一,而且Host、Issuer和Verifier的开销也是最少的。这里要特别指出的是降低Host的开销,减少可信计算平台对Host性能的影响对促进可信计算的推广和普及也有重要的作用。
因此,本方案提出的这种新的、较为优化的直接匿名证明方案TMZ-DAA方案,该方案仍属于ECC-DAA类的方案。但与其它方案相比,该方案涉及到的主要运算是椭圆曲线的点加和标量乘,复杂性大大降低,不仅密钥长度和签名长度方案较短,而且在总性能方面得到了较大提高,降低了Join协议、Sign协议以及Verify算法中TPM、Host、Issuer以及Verifier等各个参与实体的计算量。为基于椭圆曲线的TPM提供了可行的隐私性保护解决方案。利用理想系统/现实系统模型对该方案的安全性进行分析和证明,分析表明,该方案满足不可伪造性、可变匿名性和不可关联性。
图2为本发明提供的该给予DAA协议的认证系统结构示意图,该系统包括:
发布方21,用于根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,成发布方的公钥和私钥,并发布公钥;
可信赖平台模块TPM22,用于采用哈希HASH函数生成秘密秘密ID f,将秘密f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密f和TPM的基名的倍乘作为假名Ni,并向发布方采用基于椭圆曲线离散对数零知识证明证明其拥有秘密f,并由f正确计算出了证书的公钥和假名(e,Ni),公布(e,Ni),保存秘密f;计算假名NV,NV是TPM秘密ID f和验证方基名的倍乘;采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密,在零知识证明过程中,完成对消息m的签名
平台23,用于保存DAA证书的公钥e,随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM;
验证方24,用于采用椭圆曲线的倍乘和点加方式,对该签名进行验证。
所述发布方21,具体用于定义q为素数,q的长度lq为200,随机选取小于q-1的正整数作为参数a;根据条件4a3+27b2≠0(modp)判断随机产生的小于q-1的正整数是否适合作为参数b;随机产生0到q-1间的整数作为基点g的横坐标,并根据确定基点g的纵坐标;n为大素数并且等于基点g的阶数;根据产生的归属于有限域内的随机数xS,xR,xm,xn,计算:S=xSg,R=xRS,M=xmg,N=xnM,发布公钥PKi=(a,b,q,g,n,Ο,S,R,N)。
所述TPM22,具体用于定义归属于有限域Fq的H2为H2:{0,1}*→Fq,H1为H1:{0,1}*→E(Fq);根据发布方提供的归属于该发布方的基名bsni,计算ζi=H1(1||bsni);根据f=H2(DAASeed)‖cnt‖1),其中H2为H2:{0,1}*→Fq,DAASeed为TPM内部的恒定种子常量,cnt为TPM进行join协议的次数计算器;根据e=fg产生证书的公钥e,并根据Ni=fζi确定假名Ni,其中f为证书的秘密,g为基点。
所述TPM22,具体用于选择有限域内的随机正整数rf∈Fq,并计算和将确定的发送给平台;选择随机数来用作防重放攻击的随机,计算sf=rf-cf,并把(c,sf,nt)发送给发布方;保存秘密;
所述发布方21,具体用于选择随机数来用作防重放攻击的随机
数,并将ni发送给TPM;计算验证
所述平台23,具体用于根据验证方是否提供归属于该验证方的基名bsnV,平台计算ζ∈RE(Fq)或计算ζ=H1(1||bsni),并将计算结果发送给TPM,H1为H1:{0,1}*→E(Fq);随机选取归属于有限域内的参数b,b∈Fq,计算来自证书的参数T1、T2分别为T1=bE和T2=bg;
所述TPM22,还用于TPM根据保存的秘密,计算假名NV=fζ。
所述TPM22,具体用于任意选择t1∈Fq、t3∈Fq,计算d1=t1T2、N'V=t2ζ;选择一个随机比特串来用作防重放攻击的随机数,计算c=H2(g||T1||T2||d1||ζ||N′V||nt□m),w1=t1-cf,w2=t3-cf;输出对消息m的签名值σ=(c,w1,w2,T1,T2,ζ,Nv,nt)。
所述验证方24,具体用于计算验证以及Nv、ζ∈RE(Fq),检查撤销列表中的秘密f,
验证
本发明提供了一种基于普通椭圆曲线离散对数的困难性假设的DAA认证方法及系统,该方法包括:发布方根据有限域的一条椭圆曲线生成发布方公钥和私钥,TPM采用HASH函数生成秘密秘密ID f,将秘密f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密f和TPM的基名的倍乘作为假名Ni,并采用椭圆曲线离散对数零知识证明向发布方证明通过其拥有的秘密正确计算构成了证书的公钥和假名,保存秘密;平台用于保存DAA证书的公钥e,提供签名过程中的基名,并采用椭圆曲线方式、依据DAA证书公钥生成签名的部分参数;TPM首先计算假名NV,NV是TPM秘密f和验证方基名的倍乘;然后平台Host随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM。TPM采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密。在零知识证明过程中,完成对消息m的签名σ=(c,w1,w2,T1,T2,ζ,Nv,nt);验证方采用椭圆曲线的倍乘和点加方式,对该签名进行验证。由于本方案采用椭圆曲线的点加和标量乘,复杂性大大降低,不仅密钥长度和签名长度方案较短,而且在总性能方面得到了较大提高,降低了Join协议、Sign协议以及Verify算法中TPM、Host、Issuer以及Verifier等各个参与实体的计算量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于普通椭圆曲线离散对数的困难性假设的直接匿名认证DAA认证方法,其特征在于,所述方法包括:
在初始化过程中,发布方根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,生成发布方的公钥和私钥,并发布公钥;
在Join协议过程中,可信赖平台模块TPM采用哈希HASH函数生成秘密ID f,将秘密ID f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密ID f和TPM的基名的倍乘作为假名Ni,并向发布方采用基于椭圆曲线离散对数零知识证明其拥有秘密ID f,并由ID f正确计算出了证书的公钥和假名(e,Ni),公布(e,Ni),保存秘密ID f;平台保存DAA证书的公钥e;
在sign协议过程中,TPM首先计算假名NV,NV是TPM秘密ID f和验证方基名的倍乘;然后平台Host随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM,TPM采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密,在零知识证明过程中,完成对消息m的签名σ=(c,w1,w2,T1,T2,ζ,Nv,nt);
其中,所述c为随机数,w1、w2为随机数,ξ为标识符-基名,nt为TPM选择的一个随机nonce;
在验证过程中,验证方采用椭圆曲线的倍乘和点加方式,对该签名进行验证。
2.如权利要求1所述的方法,其特征在于,所述发布方根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,发布公钥包括:
发布方定义q为素数,q的长度lq为200,随机选取小于q-1的正整数作为参数a;
根据条件4a3+27b2≠0(modq)判断随机产生的小于q-1的正整数是否适合作为参数b;
随机产生0到q-1间的整数作为基点g的横坐标,并根据确定基点g的纵坐标;
n为大素数并且等于基点g的阶数;
根据产生的归属于有限域内的随机数xS,xR,xm,xn,计算:S=xSg,R=xRS,M=xmg,N=xnM,发布公钥PKi=(a,b,q,g,n,Ο,S,R,N),其中O无穷远点;
所述TPM采用椭圆曲线的倍乘方式生成DAA证书的公钥和假名,包括:
定义归属于有限域Fq的H2为H2:{0,1}*→Fq,H1为H1:{0,1}*→E(Fq);
根据发布方提供的归属于该发布方的基名bsni,计算ζi=H1(1||bsni);
根据f=H2(DAASeed)‖cnt‖1),其中H2为H2:{0,1}*→Fq,DAASeed为TPM内部的恒定种子常量,cnt为TPM进行join协议的次数计算器;
根据e=fg产生证书的公钥e,并根据Ni=fζi确定假名Ni,其中f为证书的秘密ID,g为基点。
3.如权利要求2所述的方法,其特征在于,所述由f正确计算出了证书的公钥和假名(E,Ni),公布(E,Ni),保存秘密ID f,包括:
TPM选择有限域内的随机正整数rf∈Fq,并计算和将确定的发送给平台;
发布方选择随机数来用作防重放攻击的随机数,并将ni发送给TPM;
TPM选择随机数来用作防重放攻击的随机,计算sf=rf-cf,并把(c,sf,nt)发送给发布方;
发布方计算验证
TPM保存秘密f,平台保存证书的公钥e。
4.如权利要求1所述的方法,其特征在于,所述TPM采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密,包括:
根据验证方是否提供归属于该验证方的基名bsnV,平台计算ζ∈RE(Fq)或计算ζ=H1(1||bsni),并将计算结果发送给TPM,H1为H1:{0,1}*→E(Fq);
TPM根据保存的秘密,计算假名NV=fζ;
平台随机选取归属于有限域内的参数b,b∈Fq,计算来自证书的参数T1、T2分别为T1=be和T2=bg。
5.如权利要求4所述的方法,其特征在于,所述对消息m进行签名包括:
TPM任意选择t1∈Fq、t3∈Fq,计算d1=t1T2、N'V=t2ζ;
TPM选择一个随机比特串来用作防重放攻击的随机数,计算c=H2(g‖T1‖T2‖d1‖ξ‖N’V‖nt‖m),w1=t1-cf,w2=t3-cf;
TPM输出对消息m的签名值σ=(c,w1,w2,T1,T2,ζ,Nv,nt);
所述验证方采用椭圆曲线的倍乘和点加方式,对该签名进行验证包括:
验证方计算
验证以及Nv、ζ∈RE(Fq),检查撤
销列表中的秘密f,验证
6.一种基于普通椭圆曲线离散对数的困难性假设的直接匿名认证DAA认证系统,其特征在于,所述系统包括:
发布方,用于根据定义在有限域Fq的一条椭圆曲线E:y2=x3+ax+b,生成发布方的公钥和私钥,并发布公钥,其中a、b为正整数;
可信赖平台模块TPM,用于采用哈希HASH函数生成秘密ID f,将秘密f和椭圆曲线的基点g倍乘生成DAA证书的公钥e,将秘密f和TPM的基名的倍乘作为假名Ni,并向发布方采用基于椭圆曲线离散对数零知识证明其拥有秘密f,并由f正确计算出了证书的公钥和假名(e,Ni),公布(e,Ni),保存秘密f;计算假名NV,NV是TPM秘密ID f和验证方基名的倍乘;采用基于椭圆曲线离散对数零知识证明,证明T1、T2来自证书,且NV的计算中应用的f为该证书的秘密,在零知识证明过程中,完成对消息m的签名σ=(c,w1,w2,T1,T2,ζ,Nv,nt),其中c为随机数,w1、w2为随机数,ξ为标识符-基名,nt为TPM选择的一个随机nonce;
平台,用于保存DAA证书的公钥e,随机选取b∈Fq,计算T1=be和T2=bg,将T1、T2传给TPM;
验证方,用于采用椭圆曲线的倍乘和点加方式,对该签名进行验证。
7.如权利要求6所述的系统,其特征在于,所述发布方,具体用于定义q为素数,q的长度lq为200,随机选取小于q-1的正整数作为参数a;根据条件4a3+27b2≠0(modp)判断随机产生的小于q-1的正整数是否适合作为参数b;随机产生0到q-1间的整数作为基点g的横坐标,并根据确定基点g的纵坐标;n为大素数并且等于基点g的阶数;根据产生的归属于有限域内的随机数xS,xR,xm,xn,计算:S=xSg,R=xRS,M=xmg,N=xnM,发布公钥PKi=(a,b,q,g,n,Ο,S,R,N),其中O为无穷远点;
所述TPM,具体用于定义归属于有限域Fq的H2为H2:{0,1}*→Fq,H1为H1:{0,1}*→E(Fq);根据发布方提供的归属于该发布方的基名bsni,计算ζi=H1(1||bsni);根据f=H2(DAASeed)‖cnt‖1),其中H2为H2:{0,1}*→Fq,DAASeed为TPM内部的恒定种子常量,cnt为TPM进行join协议的次数计算器;根据e=fg产生证书的公钥e,并根据Ni=fζi确定假名Ni,其中f为证书的秘密,g为基点。
8.如权利要求7所述的系统,其特征在于,所述TPM,具体用于选择有限域内的随机正整数rf∈Fq,并计算和将确定的发送给平台;选择随机数来用作防重放攻击的随机,计算sf=rf-cf,并把(c,sf,nt)发送给发布方;保存秘密;
所述发布方,具体用于选择随机数来用作防重放攻击的随机数,
并将ni发送给TPM;计算验证
9.如权利要求6所述的系统,其特征在于,所述平台,具体用于根据验证方是否提供归属于该验证方的基名bsnV,平台计算ζ∈RE(Fq)或计算ζ=H1(1||bsin),并将计算结果发送给TPM,H1为H1:{0,1}*→E(Fq);随机选取归属于有限域内的参数b,b∈Fq,计算来自证书的参数T1、T2分别为T1=be和T2=bg;
TPM,还用于TPM根据保存的秘密,计算假名NV=fζ。
10.如权利要求6所述的系统,其特征在于,所述TPM,具体用于任意选择t1∈Fq、t3∈Fq,计算d1=t1T2、N'V=t2ζ;选择一个随机比特串来用作防重放攻击的随机数,计算c=H2(g‖T1‖T2‖d1‖ξ‖N’ V‖nt‖m),w1=t1-cf,w2=t3-cf;输出对消息m的签名值σ=(c,w1,w2,T1,T2,ζ,Nv,nt);
所述验证方,具体用于计算验证 以及Nv、ζ∈R E(Fq),检查撤销列表中的秘密f,
验证
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142086.2A CN102638345B (zh) | 2012-05-09 | 2012-05-09 | 基于椭圆曲线离散对数困难性假设的daa认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142086.2A CN102638345B (zh) | 2012-05-09 | 2012-05-09 | 基于椭圆曲线离散对数困难性假设的daa认证方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102638345A CN102638345A (zh) | 2012-08-15 |
CN102638345B true CN102638345B (zh) | 2015-07-15 |
Family
ID=46622598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210142086.2A Expired - Fee Related CN102638345B (zh) | 2012-05-09 | 2012-05-09 | 基于椭圆曲线离散对数困难性假设的daa认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102638345B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639311B (zh) * | 2015-01-12 | 2018-10-12 | 浙江工商大学 | 一种智能电网中用电隐私及完整性保护的聚合方法及系统 |
CN107395370B (zh) * | 2017-09-05 | 2020-07-14 | 深圳奥联信息安全技术有限公司 | 基于标识的数字签名方法和装置 |
CN110278082B (zh) * | 2018-03-14 | 2021-11-16 | 西安西电捷通无线网络通信股份有限公司 | 一种群组数字签名的群组成员发布方法和设备 |
CN109766716A (zh) * | 2018-12-26 | 2019-05-17 | 东南大学 | 一种基于可信计算的匿名双向认证方法 |
CN110519059B (zh) * | 2019-09-29 | 2023-05-05 | 四川师范大学 | 一种基于双线性映射的区块链双密钥隐匿地址处理方法 |
CN110896351B (zh) * | 2019-11-14 | 2022-07-26 | 湖南盾神科技有限公司 | 基于全域哈希的身份基数字签名方法 |
CN111431723A (zh) * | 2020-03-26 | 2020-07-17 | 沈阳理工大学 | 一种基于零知识证明的工业环境移动充电设备的认证策略 |
CN111444242B (zh) * | 2020-03-27 | 2023-11-14 | 苏州链原信息科技有限公司 | 用于数据等价性校验的方法、电子设备及计算机存储介质 |
CN111245869B (zh) * | 2020-04-24 | 2020-09-04 | 南京畅洋科技有限公司 | 一种信息物理系统中的跨域匿名认证方法 |
-
2012
- 2012-05-09 CN CN201210142086.2A patent/CN102638345B/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
一种新的用户登录可信认证方案的设计与实现;谭良等;《计算机应用》;20070531;第27卷(第5期);第1070-1072页及第1102页 * |
基于椭圆曲线离散对数认证的密文传送;孙培民;《航天控制》;20091231;第27卷(第6期);第87-89页及第95页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102638345A (zh) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102638345B (zh) | 基于椭圆曲线离散对数困难性假设的daa认证方法及系统 | |
Tso et al. | Strongly secure certificateless short signatures | |
Li et al. | An efficient short certificate-based signature scheme | |
Islam et al. | A provably secure identity-based strong designated verifier proxy signature scheme from bilinear pairings | |
Chen et al. | Pairings in trusted computing | |
Islam et al. | Provably secure certificateless strong designated verifier signature scheme based on elliptic curve bilinear pairings | |
Chen et al. | DAA: Fixing the pairing based protocols | |
He et al. | An efficient certificateless designated verifier signature scheme. | |
Sun et al. | Strongly unforgeable proxy signature scheme secure in the standard model | |
Sun et al. | Improvement of a proxy multi-signature scheme without random oracles | |
Farash et al. | A new efficient authenticated multiple-key exchange protocol from bilinear pairings | |
Tsai et al. | Provably secure revocable id‐based signature in the standard model | |
Xiaofeng et al. | Direct anonymous attestation for next generation TPM | |
Asaar et al. | A short ID‐based proxy signature scheme | |
Islam et al. | Certificateless strong designated verifier multisignature scheme using bilinear pairings | |
Lin et al. | Privacy-enhancing decentralized anonymous credential in smart grids | |
Liu et al. | Secure and efficient two-party collaborative SM9 signature scheme suitable for smart home | |
Abbasinezhad-Mood et al. | More efficient key establishment protocol for smart grid communications: Design and experimental evaluation on ARM-based hardware | |
Asaar et al. | An identity-based multi-proxy multi-signature scheme without bilinear pairings and its variants | |
Tiwari et al. | Efficient ID-based multiproxy multisignature without bilinear maps in ROM | |
Yang et al. | Certificateless universal designated verifier signature schemes | |
Tan | Efficient identity-based authenticated multiple key exchange protocol | |
Hu et al. | An efficient designated verifier signature scheme with pairing‐free and low cost | |
Fan et al. | Strongly secure certificateless signature scheme supporting batch verification | |
Lu et al. | Designing efficient proxy signature schemes for mobile communication |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150715 |