牛淑芬,,, ,
(西北师范大学 计算机科学与工程学院,兰州 730070)
异构密码系统中的消息在传输过程中需要具备保密性和认证性,数字签密[1]使得签密密文同时具有保密性和认证性。近年来很多学者研究了各种签密方案[2-4],包括基于身份的签密方案[5-8]和无证书签密方案[9],其中不乏对特殊签密的研究,例如,代理签密方案[10-12]和异构签密方案[13-15]。文献[16]提出了从传统公钥密码到身份公钥密码的异构签密方案。文献[17]提出了2个异构签密方案,第1个方案是由公钥基础设施(Public Key Infrastructure,PKI)到基于身份的密码体制(Identity-based Cryptosystem,IBC),第2个方案是由IBC到PKI。文献[18]提出了匿名CLPKC-TPKI异构签密方案。文献[19]提出了异构系统下的双向签密方案。但现有的异构密码系统大多采用公钥加密技术,而公钥加密技术由于对长消息的加密速度较慢,通常只适合加密短消息。在实际的安全通信中往往使用混合加密或者混合签密的方式。文献[20]提出了新的基于身份的混合签密。文献[21]提出了可证安全的无证书混合签密。上述文献都是签名者在知道明文的环境下进行的签名,在特殊的环境下签名者对于明文是未知的。为解决这一类特殊情况的签名,学者们首次提出了对盲签名的定义并进行了深入研究[22-24]。此后,又有学者提出了一系列盲签密方案[25-27]。
上述异构方案均没有实现既可对任意长度的消息签密的方案,也没有满足在特殊环境中明文消息对签名者具有盲性的特点,同时,在不同的密码体制内共享相同的主密钥是不现实的。为此,本文提出一个基于异构密码系统的混合盲签密方案,该方案是一个从IBC到无证书密码体制(Certificateless Cryptosystem,CLC)(IBC→CLC)的异构签密算法。
设G1是生成元为P、阶为q的循环加法群,G2是阶为q的循环乘法群,e:G1×G1→G2是一个双线性映射,并且具有以下3个性质。
2)非退化性:e(P,P)≠1G2。
3)可计算性:任意P,Q∈G1,存在一个有效的算法计算e(P,Q)。
IBC密钥生成算法由PKG完成,输入用户身份IDA,计算用户私钥SA=s1QA,其中,QA=H1(IDA),最后通过安全方式发送给用户。
CLC密钥生成算法分为以下3个子算法:
2)用户密钥生成算法。输入系统参数params和用户身份IDB,输出IDB的秘密值xB和公钥PB=xBP。
3)私钥生成算法。输入系统参数params、部分私钥DB和秘密值xB,输出一个完全的私钥SB=xBDB。
A为盲签密者,M为消息拥有者,签密过程如下:
3)A计算V=(a+h)SA,W=e(PB,P2QAQB)a,然后将(V,W)发送给M。
4)M计算W*=Wr,V*=r-1V,K=H2(U1,U2,U3,W*,rPB,IDB),c=DEM.Enc(K,m)。
5)M输出σ=(c,U1,U2,U3,V*,R)。
验证e(P1U1,V*)=e(P2,R+hQA)是否成立,若成立,则进行以下操作:
1)B计算W*=e(U1,PR)SB。
2)B计算K=H2(U1,U2,U3,W*,xBU1,IDB)。
3)B计算m=DEM.Dec(K,c)。
4)输出m或⊥。
正确性分析推导过程如下:
e(U1,SBPR)=e(U1,PR)SB
e(P2,aQA+hQA)=e(P2,R+hQA)
盲性指签名者对所签署的内容是不可见的。由签密过程2)可知,M计算U1=rP,U2=rR,U3=rQA,t=H2(U2,m),h=H3(U1,U2,U3,t,IDA,QA),其中,r是盲因子,t=H2(U2,m)是对消息的盲化过程,最后将h发送给A。由签密过程3)可知,当M收到(V,W)时,对签名V进行去盲,去盲过程为V*=r-1V。显然,盲签名者A不知道所签署的内容。
不可跟踪性指A对签署的密文具有不可跟踪的特性。当B将密文(c,U1,U2,U3,V*,R)公开时,虽然A拥有(a,R,h,V,W,SA),但是不能通过密文(c,U1,U2,U3,V*,R)计算出(s,r,W*,xB,DB,SB),所以本文方案具有不可跟踪的特性。
保密性指敌手通过密文σ计算不出消息m。假设除了M和B之外,还有其他用户(假设是A)能从密文σ中得到消息m。由于在盲签密过程中M给的是关于消息的哈希函数,A想要得到消息m只能通过密文σ得到,因此A必须计算W*和K才能恢复出消息m。已知A拥有的值有(c,U1,U2,U3,V*,R,h,V,W,SA),但是A依然从等式h=H3(U1,U2,U3,t,IDA,QA),t=H2(U2,m)中无法恢复消息m,因为等式含有未知数m和t。A要求解双线性映射的逆运算是困难的,不能通过W*=Wr=e(PB,P2QAQB)ar计算出W*。所以,除M和B知道消息m之外,其他用户无法得知消息m。
公开验证性指在不需要B的私钥SB的情况下,任意第三方验证者都能直接通过(U1,U2,U3,V*,h,R)验证盲签密的有效性。
任何第三方验证者从B处得到(U1,U2,U3,V*,h,R)并验证等式e(P1U1,V*)=e(P2,R+hQA)是否成立,如果成立,验证通过;否则,该盲签密无效。在上述过程中无需A和B的私钥SA和SB,所以本文方案具有公开验证性。
不可否认性指A如果协助M创建一个有效盲签名之后,就不可否认自己的盲签名。
如果A否认自己的盲签名时,因为本文方案具有公开验证性,任意第三方得到(U1,U2,U3,V*,h,R)并验证等式e(P1U1,V*)=e(P2,R+hQA)是否成立,若成立,(U1,U2,U3,V*,h,R)是消息m的有效盲签名。所以接收者B只需公开(U1,U2,U3,V*,h,R)就可证明本文方案具有不可否认的特性,无需公开私钥SB。
前向安全性指即使A的私钥SA意外泄漏,敌手也能恢复A签署消息的明文。
如果敌手已经在公开信道上截获密文(c,U1,U2,U3,V*,R),同时盲签名者A的私钥SA意外泄漏,因为敌手不知道B的私钥SB,所以不能从W*=e(U1,PR)SB,K=H2(U1,U2,U3,W*,xBU1,IDB)中获得对称密钥K。如果敌手想要得到对称密钥K,只能通过W*=Wr=e(PB,P2QAQB)ar,K=H2(U1,U2,U3,W*,rPB,IDB)得到,但等式内含a、r、W*3个未知数。因为敌手需要解决椭圆曲线离散困难问题和离散对数困难问题,所以即使拥有截获的R、U1、U2、U3,也不能通过R=aQA,U1=rP,U2=rR,U3=rQA计算出a和r。因此,无法获得对称密钥K,仅通过密文恢复不出明文。所以本文方案具有前向安全的特性。
不可伪造性指敌手无法通过一个消息m伪造合法盲签密。
本文方案的签名虽然有A选择的随机数a和A的私钥SA,然而因为A需要解决单向散列函数的逆的困难问题,通过h=H3(U1,U2,U3,t,IDA,QA),t=H2(U2,m)无法恢复出消息m,并且A不知道M选择的随机数r,所以A不能伪造盲签密。
如果B称(c,U1,U2,U3,V*,R)是来自M的密文,需要通过W*=Wr计算出r,并伪造(U1,U2,U3,V*),使伪造数据能够通过验证。但是B无从得知A选择的随机数a,通过W*=Wr=e(PB,P2QAQB)ar计算不出r。即使B已经在公开信道上截获了W,但是需要解决双线性映射的逆的困难问题,通过W*=Wr计算不出r。所以B不能伪造盲签密。
如果M想要伪造一个合法的盲签密,首先他不知道A的私钥SA,其次他不知道A选择的随机数a。即使A的私钥SA意外泄漏,M想要通过等式R=aQA计算出a是不可行的,因为M需要解决离散对数困难问题,所以M无法伪造盲签密。
如果任意第三方敌手想伪造合法盲签密,即使他拥有从公开信道上截获的(c,U1,U2,U3,V*,R,h,W,V,SA,DB),但他不知道(s,xB,SB,a,r),所以一样无法伪造盲签密。
本节通过理论和数值实验进行效率分析。在理论分析中,由于现有可供查阅的文献中没有IBC→CLC的异构混合盲签密方案。因此,无法与同类IBC→CLC的异构混合盲签密方案进行效率比较。文献[26]是基于无证书的盲签密方案。比较2个方案的计算复杂性,主要包括4种运算:点乘运算(M),指数运算(E),对运算(P),异或运算(X)。由表1可知,在签密过程中本文方案的指数运算比文献[26]方案少2个,并且没有异或运算,在解签密过程中本文方案比文献[26]方案少1个异或运算。所以本文方案明显优于文献[26]方案。
表1 2种方案计算成本比较
在数值实验分析中,利用C语言的PBC库对IBC→CLC的异构混合盲签密方案进行仿真模拟。在仿真过程中,群G1、G2的长度为1 024 bit,利用的参数类型为椭圆曲线y2=x3+xmodq,用户身份为160 bit,消息取160 bit,并且用户身份和消息随机生成。仿真环境的配置如表2所示,双线性对包参数Type的性质如表3所示。
表2 实验环境配置
表3 各参数的取值
本文方案与文献[26]方案在通信过程中都是单消息。在数值实验分析中,本文方案的总体运行时间、签密运行时间、解签密运行时间取50次运行结果的平均值,如表4所示。
表4 本文方案运行时间 s
为了比较本文方案和文献[26]方案在签密和解签密过程中的计算效率,对本文方案和文献[26]方案进行同样的仿真,仿真结果取50次运行结果的平均值,如图1所示,从中可以看出,本文方案的运行时间明显小于文献[26]方案的运行时间。
图1 2种方案的计算效率对比
现有的异构签密方案的系统主密钥的产生方式大多相同,不但不能加密任意长度的消息,而且不具备盲签密的能力。为此,本文提出一个由IBC到CLC的基于异构密码系统的混合盲签密方案。PKG和KGC分别在IBC密码体制和CLC密码体制中产生各自的系统主密钥,而且具有可加密任意长消息和盲签密的能力。与现有的签密方案相比,该方案具有速度快、效率高、计算量小等特点,在随机预言模型下满足盲性、保密性、不可跟踪性、公开验证性、不可否认性、不可伪造性和前向安全性。