基于无证书的盲参数签名方案

2019-09-10 07:22廖小平
现代信息科技 2019年3期

摘 要:盲签名因其具有匿名性等特点,而具有广泛的应用领域和应用前景,根据盲化对象的不同划分为盲消息签名和盲参数签名。文章利用双线性对,提出了基于无证书的盲参数签名方案,方案的签名密钥由用户和密钥生成中心共同生成,防止签名伪造,同时解决了复杂的证书管理问题和密钥托管问题。

关键词:基于无证书密码体制;盲签名;盲参数签名;双线性对

中图分类号:TP309 文献标识码:A 文章编号:2096-4706(2019)03-0158-02

Certificate-free Blind Parameter Signature Scheme

LIAO Xiaoping

(School of Intelligent Manufacturing,Sichuan University of Arts and Science,Dazhou 635000,China)

Abstract:Because of its anonymity,blind signature has a wide range of application fields and application prospects. It is divided into blind message signature and blind parameter signature according to different blind objects. Based on bilinear pairing,this paper proposes a certificate-free blind parameter signature scheme. The signature key of the scheme is jointly generated by the user and the key generation center to prevent signature forgery. At the same time,it solves complex certificate management problems and key escrow problems.

Keywords:certificate-free cryptosystem;blind signature;blind parameter signature;bilinear pairing

0 引 言

盲签名的概念由Chaum[1]在1982年首次提出,并基于RSA公钥密码系统提出了基于因子分解难题的盲签名方案[2]。祁明将盲签名划分为四种类型:盲消息签名、盲参数签名、弱盲签名和强盲签名[3]。在盲参数签名方案中,信息的内容对签名者是公开的,而签名是由签名者执行盲化程序得到盲签名,因而,签名者虽然知道信息的签名结果,由于不知道用于改变签名数据的具体安全参数,因而无法获得新的签名。2003年,Ai-Riyam和Paterson[4]提出了无证书密码系统,无证书密码系统不仅很好的结合了传统公钥密码系统和身份密码系统[5]的优点,同时解决了传统公钥密码系统存在复杂的证书管理问题和身份密码系统存在密钥托管等问题。这种密码系统由用户和密钥生成中心KGC共同生成签名者的签名密钥。一般来说,其过程为:KGC利用系统主密钥s和签名者的身份信息ID生成部分私钥DID,然后将部分私钥DID发送给签名者。签名者生成自己的秘密值x,利用x和DID生成自己的签名密钥,即KGC并不知道签名者最后的签名密钥,当然也无法伪造签名者的签名,而在签名验证阶段,签名验证者不是通过公钥证书而是通过某种方法来保证签名者公钥的真实性,无证书公钥密码系统是一种性能优良、便于应用的公钥密码系统。

为此,文章提出基于无证书密码系统的盲参数签名方案,并讨论方案的安全性。

2 新的基于无证书的盲参数签名方案

将无证书的签名体制与盲参数签名方案相结合,构造出基于无证书的盲参数签名。设定A为信息m的拥有者,B为签名者,KGC为密钥生成中心。

2.1 系统参数设定

KGC输入安全参数1k,生成以下系统参数:循环加法群G1,循环乘法群G2,G1和G2的阶均为q,q为素数,G1的生成元为P,双线性对:ê:G1×G1→G2,选择两个安全的哈希函数:H1:{0,1}*→G1,H2:{0,1}*→ Z*q,KGC选择一个安全的系统主密钥s,将s秘密保存,计算系统公钥:Ppub=sp。最后系统公开参数:{G1,G2,ê,q,P,Ppub,H0,H1}。

2.2 部分私钥生成

签名人B将自己的身份信息IDB提交给KGC,KGC首先验证B的身份信息,并计算:QB=H1(IDB),DB=sQB,DB即为部分私钥,将DB发送给B。

2.3 签名密钥生成

B收到部分私钥DB后,首先验证等式:ê(DB,P)=ê(QB,Ppub)是否成立,以验证部分私钥DB是否合法。若等式成立,B任意选取xB作为自己的秘密值,并计算:PB=xBQB,SB=xBDB,则(PB,SB)就是B的公私鑰对。

2.4 签名过程

(1)A任意选择r∈Z*q,计算:R=rP,并将(m,R)发送给签名者B。

(2)B任意选择k∈Z*q,计算:R′=kR,S′=k-1(H1(R′)SB+H2(m)Ppub),并将(R′,S′)发送给A。

(3)A收到(R′,S′)后,计算:S=r-1S′,则(R′,S)为消息m的盲参数签名。

2.5 签名验证过程

验证者通过等式:ê(R′,S)=ê(PB,Ppub)H1(R′)ê(P,Ppub)H2(m)进行验证,若等式成立,则签名有效,否则,签名无效。

3 方案安全性分析

3.1 正确性分析

定理1签名方案是正确的。

证明:(1)等式ê(DB,P)=ê(QB,Ppub)的正确性验证如下:

得证,即签名方案是正确的。

3.2 盲性分析

定理2签名方案满足盲性。

证明:一方面签名者即使掌握了中间变量(R′,S′),但无法得到盲参数r,因为通过等式R=rP得到r就必须求解DLP问题;另一方面,根据S′要想得到原消息也是不可能的,因为面临求解哈希函数的逆运算,这在计算上是不可行的。因此,在签名公开以后,签名者无法将签名和中间变量进行关联,方案满足盲性。

3.3 不可伪造性分析

定理3签名方案满足不可伪造性。

证明:首先,系统主密钥s是秘密保存的,通过系统公钥Ppub=sp得到s面临求解DLP问题,所以主密钥s是安全的;其次,任何攻击者要想偽造B的合法签名,他必须得到签名人的私钥SB,即使攻击者截获了(R′,S)和S′,在签名方程S′=k-1(H1(R′)SB+H2(m)Ppub)中,存在未知的k,因此,攻击者先要得到SB是困难的,攻击者无法伪造合法的签名;再次,信息m的拥有者A也无法伪造合法的签名,因为签名者B的私钥SB=xBDB=xBsQB=xBsH1(IDB)中即存在系统主密钥s也包含签名者B的身份信息IDB,所以A无法伪造签名;最后,密钥生成中心KGC无法伪造合法的签名,因为KGC即使知道QB,DB,而签名者B最后的私钥SB=xBDB,存在B的秘密值xB,所以KGC无法模拟签名者的签名。

3.4 不可否认性分析

定理4上述基于无证书的盲参数签名方案满足不可否认性。

证明:SB=xBDB=xBsQB=xBsH1(IDB),即签名密钥SB中包含签名者B的身份信息IDB,所以,该方案满足不可否认性,签名者不能对签名进行否认。

4 结 论

文章首先介绍了根据盲化对象的不同,将盲签名划分为四种类型,其次介绍了无证书密码系统的一般过程,众所周知,无证书密码系统不仅很好的结合了传统公钥密码系统和身份密码系统的优点,同时解决了传统公钥密码系统存在复杂的证书管理问题和身份密码系统中的密钥托管等问题,具有广阔的应用领域和应用前景,进一步研究的内容很多,文章提出的基于无证书的盲签名方案经安全性分析证明是安全、可靠的。

参考文献:

[1] D.Chaum.Blind Signature for Untraceable Payments [J].Advances in Cryptology-CRYPTO’82. New York:Plenum Press,1983:199-233.

[2] D.Chaum.Blind Signatures system [J]. Advances in Cryptology-CRYPTO’83. New York:Plenum Press,1983:153-158.

[3] 祁明,林卓声.若干盲签名方案及其在电子商务中的应用 [J].计算机工程与设计,2000(4):39-41+49.

[4] Al-Riyami S S,Paterson K G. Certificateless Public Key Cryptography [J]. Asiacrypt,2003,2894(2):452-473.

[5] Shamir A . Identity-Based Cryptosystems and Signature Schemes [C]// Workshop on the Theory and Application of Cryptographic Techniques. Springer,Berlin,Heidelberg,1984:47-53.

作者简介:廖小平(1979-),男,四川营山人,讲师,硕士研究生,研究方向:信息安全、网络安全、密码学。