APP下载

一种新的基于身份的代理盲签名方案

2017-03-29梁林

赤峰学院学报·自然科学版 2017年3期
关键词:签名者发送给参数设置

梁林

(安徽农业大学 经济技术学院,安徽 合肥 230011)

一种新的基于身份的代理盲签名方案

梁林

(安徽农业大学 经济技术学院,安徽 合肥 230011)

研究一个签名方案,指出该方案的代理密钥生成阶段存在安全隐患,不法者可以伪造原始签名者的签名或授权.本文为克服这一困难,先根据椭圆曲线上的双线性对的特性,再通过增加盲因子的方法,设计了一个更安全可靠的基于身份的代理盲签名方案.

代理盲签名;双线性对;基于身份;安全性

1 引言

盲签名[1]的概念是Chaum在1983年时第一次提出,M. Mambo在1996年提出了代理签名[2]的概念.将代理签名与盲签名相结合形成了代理盲签名[3].因为传统的公钥密码体制是在公钥结构证书PKI的基础上来形成的,而在证书的管理过程中,尤其是在密钥的管理上,是需要花费很高的计算成本和存储消费的.为了简化传统公钥密码体制,减少开支,1984年Shamir提出了一种新思想,基于身份的密码系统[4].基于身份的密码体制的优越性在于,它不需要保存用户的公钥证书,用户的公钥是可以根据自己的身份信息直接计算出来的,而私钥则是由可信中心来统一生成得到.在基于身份的密码体制的基础上,人们又利用椭圆曲线的双线性对,构造出基于身份的代理盲签名方案,基于身份的密码体制已经成为密码学的一个新研究热点.

文献[5]就是通过利用椭圆曲线上的双线性对,构建了一个基于身份的代理盲签名方案.但分析后发现,在方案的代理密钥生成阶段却存在着安全隐患,不法者可以伪造原始签名者的签名或授权.为克服这一困难,本文利用计算离散对数的困难性,根据椭圆曲线上的双线性对所具有的特殊性质,设计了一个安全可靠的基于身份的代理盲签名方案.

2 双线性映射

设G1、G2是循环群,q为它们的阶(q是一个大素数).G1是加法循环群,G2是乘法循环群,设e:G1×G1→G2是一个双线性映射,它满足下面三个性质:

(1)双线性:∀P,Q∈G1,a,b∈Zq,e(aP,bQ)=e(P,Q)ab;

(2)非退化性:存在P,Q∈G1,使得e(P,Q)不等于G2的单位元;

(3)可计算性:对任意P,Q∈G1存在有效的算法计算e (P,Q).

在双线性对中存在以下几个数学难题:

(1)DLP(Discrete Logarithm Problem):设P,Q∈G1求解n∈Zq*,使得Q=nP.

(2)CDHP(Computational Diffie-Hellman Problem):设P∈G1,a,b∈Zq*,给定P,aPO,bP,计算abP.

(3)DDHP(Decision Diffie-Hellman Problem):设 P∈G1,a,b,c∈Zq*,给定P,aP,bP,cP,判定c≡abmodq.是否成立.

(4)GDHP(Gap Diffie-Hellman Problem):在循环群G1中,DDHP是易解的,即在多项式内DDHP是容易求解的;而CDHP却是比较复杂的,目前还没有可行的算法来求解CDHP.此时称循环群G1为GDH群.

3 文献[5]方案描述

3.1 系统参数设置

设G1、G2是循环群,q为它们的阶(q是一个大素数).G1是加法循环群,G2是乘法循环群.

HGC首先选择P∈G1,设e:G1×G1→G2为一个双线性映射.定义密码学上3个Hash函数:H1(·):{0,1}*→G1,H2(·): {0,1}*×G2→Zq*,H3(·):G1→Zq*,然后KGC再选择t∈RZq*,计算Ppub=tP,其中t保密存储,称为系统主密钥.

公开系统参数:params={G1,G2,w,q,P.Ppub,H1(·),H2(·),H3(·)}.

方案参与者分别为:原始签名者A,代理签名者B和盲签名的持有者C.

3.2 密钥提取

A与B先将自己的身份信息IDA,IDB提交给KGC,然后由KGC计算他们的公钥/密钥对,分别为PKA=H1(IDA),SKA=tPKA,PKB=H1(IDB),SKB=tPKB.最后,再将这些信息安全地发送给A与B.

3.3 代理密钥生成

先由原始签名者A创建一个许可证W,主要包括参与者的身份信息,代理期限,签名文件的范围等.

3.3.1 原始签名者A计算:

然后将(W,SW)发送给代理签名者B.

3.3.2 代理签名者B计算并验证:

是否成立.如果是成立的,可以计算得到代理签名密钥:

3.4 代理签名生成

3.4.1 代理签名者B选择P1∈G1,计算K=e(P1,P),然后将(K, W)发送给盲签名的持有者C.

3.4.2 盲签名的持有者C选择P2=∈G1,b∈RZq*,计算

然后将c发送给代理签名者B.

3.4.3 代理签名者B计算S=cSp+P1,然后将S发送给盲签名的持有者C.

3.4.4 盲签名的持有者C计算S'=S+P2,c'=c-b,

则σ(m)=(S',c',m,W)为消息m的基于身份的代理盲签名.

3.4.5 签名验证验证下式

是否成立.若成立,说明签名σ(m)=(S',c,m,W)是有效性的.若不成立,则什么签名是无效的.

4 本文基于身份的代理盲签名方案

4.1 文献[5]方案安全性分析

在文献[5]描述的代理密钥生成过程中,由A先计算一个短签名SW=H3(H1(W))SKA,然后再将(W,SW)发送给B.在这个过程中,由于W,H1,H3是公开已知的,因此B是可以计算出H3(H1(W))∈Zq*,并且B又已知SW∈G1,所以可以容易计算出SKA∈G1.也就是说,B是能够计算出H3(H1(W))∈Zq*的逆运算H3(H1(W))-1∈Zq*,进而可以计算出H3(H1(W))-1SW=H3(H1(W))-1H3(H1(W))SKA=SKA,也就是说A的授权或签名是可以伪造的.因此,在文献[]描述的签名方案中存在着安全问题.

4.2 方案设计描述

为了克服文献[5]中的安全问题,设计了下面的新方案:

4.2.1 系统参数设置

本文系统参数设置与文献[5]系统参数设置基本相同,但需要将第三个哈希函数进行更改,由原来的H3(·)G1→Zq*改成H3(·):{0,1}*→Zq*.

4.2.2 密钥提取

A与B先将自己的身份信息IDA,IDB提交给KGC,然后由KGC计算他们的公钥/密钥对,分别为PKA=H1(IDA),SKA=tpKA,PKB=H1(IDB),SKB=tpKB.最后,再将这些信息安全地发送给A与B.

4.3 代理密钥生成

A首先需要创建一个授权证书W,其中应该包括A和B的身份信息、授权关系以及授权使用权限等内容.

4.3.1 A随机选择rA∈RZq*,再计算

然后将(W,SW,RA)发送给B.

4.3.2 B收到(W,SW,RA)后验证

若上式成立,计算得到代理签名者B的代理盲签名密钥:

4.4 代理签名生成

4.4.1 B随机选择P1∈G1,计算

然后将(K,W,RA)发送给C.

4.4.2 C随机选择P2∈G1,b∈RZq*,计算

然后将c发送给B.

4.4.3 B收到c后,计算

再将S发送给C.

4.4.4 C接收到S后,计算

则σ(m)=(S',c',m,W,RA)为消息m的基于身份的代理盲签名.

4.4.5 签名验证

在获得消息m的签名σ(m)=(S',c',m,W,RA)后,验证者就可以通过下式

对签名进行验证,验证其是否有效.

4.3 安全性分析

4.3.1 可验证性

从代理签名σ(m)=(S',c',m,W,RA)的生成过程来分析,我们可以计算

所以,代理签名是可验证的.

4.3.2 不可伪造性

因为由KGC保存着主密钥t,要通过Ppub=tp得到t,也就是破解DLP,而DLP是在目前是无法破解的.所以,没有B的密钥(P1,SKB)和代理密钥Sp,他的签名是无法伪造的.

4.3.3 盲性

C将信息m盲化c成是通过以下两个步骤来实现的:

(1)C随机选择P2∈G1,b∈RZq*,计算

(2)C再利用b对消息m进行盲化:

显然,在不知道P2,b的情况下,B是无法通过上面式子获得c与m之间的联系的.所以方案符合盲性要求.

4.3.4 不可否认性

因为B在建立代理盲签名时已经将他自己的身份信息嵌在代理密钥中,所以代理盲签名一旦生成,他就不能向A否认.

4.3.5 可区分性

签名验证时,由于授权证书W,PKA,PKB都是需要使用的,所以代理盲签名与一般的签名是可以区分的.

4.4 性能分析

本文主要从方案的计算复杂性方面来分析,并与参考文献[5]进行比较:

表4.1 本文方案与文献[5]方案的计算复杂性比较

表中Pa表示双线性对操作,Pm表示G1上的标量乘法,Ad表示G1上的点加操作,ExG2表示G2上的指数运算,MuG2表示G2上的标量乘法,Hs表示哈希函数.计算过程中,Pa的计算是最耗时的,其次是Pm.另外考虑到双线性对e((PKA+ PKB),Ppub)可进行预计算,因此计算复杂性暂时不考虑.

所以,从表4.1可以得到,文献[5]方案的计算复杂度大约是4Pa+3Pm数量级,本文方案的计算复杂度大约是6Pa+ 3Pm数量级,在代理密钥生成阶段和签名验证阶段各增加了1Pa,代理签名阶段的计算复杂度没变.所以本文方案比文献[5]方案的计算复杂度略高些.

再将本文方案与其他方案从计算复杂性方面进行分析,结果如下:

表4.2 本文方案与其他方案的计算复杂性比较

从表4.2可以得到,文献[6]方案和文献[7]方案的计算复杂度分别大约是7Pa+7Pm数量级和3Pa+8Pm数量级,而本文方案的计算复杂度大约是6Pa+3Pm数量级.很明显,本文方案的计算复杂度比这两个方案的计算复杂度都低.

5 结束语

综上所述,为克服文献[5]方案中代理密钥生成阶段存在的安全隐患,本文通过增加盲因子的方法,构建了一个新的基于身份的代理盲签名方案.增加盲因子可以有效地提高代理密钥的安全性,以此来保证方案的安全性.因为在代理密钥生成过程中增加盲因子了,所以计算复杂度就要比文献[5]方案要略高些,但与其他一些方案相比,计算复杂度依然还是较低的.

〔1〕Chaum D.Blind signatures for untraceable payments[C] //Proc of Advances in Cryptology Crypto.New York: Springer-Verlag,1982:199-203.

〔2〕Mambo M,Usdua K,Okamoto E.Proxy signatures: Delegation of the power to sign message[J].IEICE Trans on Functional,1996,E79-A(9):1338-1354.

〔3〕Lin W D,Jan J K.A security personal learning tools using a proxy blind signature scheme[C].Proceedings of International Conference on Chinese Language Computing.USA:Chinese Language Computer Society Knowledge Systems Insitute,2000,273-277.

〔4〕Shamir A.Identity-based cryptosystems and signature schemes[A].Blakley G R,Chaum D.Advancesin Cryptologu:CRYPTO1982[C].Berlin:Springer,1984,47-53.

〔5〕陈玲玲,亢保元,张磊.一种高效的基于身份的代理盲签名方案,华东交通大学学报,2008,25(1):113-116.

〔6〕Dong Z,Zheng H,Chen K F,et al ID-based proxy blind signature[A].Proceedings of the 18tn International Conferences on Advanced Information Networking and Applications (AINA 2004)[C].Los Alamippos:IEEE Computer Society,2004.380-383.

〔7〕Lang W M,Tan Y M,Yang Z K,et al.A new efficient ID-based proxy blind signature scheme[A].Proceedings of the Ninth Internations(ISCC 2004)[C].Los Alamippos:IEEE Computer Society,2004.407-411.

TP309

A

1673-260X(2017)02-0022-03

2016-09-07

安徽省质量工程(2014jyxm666)

猜你喜欢

签名者发送给参数设置
劳动者代签名 用人单位应否支付双倍工资
你说我说大家说
逃生疏散模拟软件应用
基于变形ElGamal签名体制的强盲签名方案
蚁群算法求解TSP中的参数设置
公告
RTK技术在放线测量中的应用
关注微信,分享资讯,免费获取电子阅读卡
我的录梦机
基于STM32处理器的大棚温湿度监控系统设计