前向安全代理盲签名方案的分析与改进
2015-12-08刘二根
刘二根,王 霞
(华东交通大学理学院,江西 南昌330013)
前向安全代理盲签名方案的分析与改进
刘二根,王 霞
(华东交通大学理学院,江西 南昌330013)
通过对Manoj等人提出的前向安全的代理盲签名方案进行安全性分析,发现该方案在代理授权和代理盲签名阶段存在攻击伪造问题。由此提出了改进的前向安全的基于离散对数的代理盲签名方案。新方案在代理授权阶段将单向散列函数嵌入到短签名中,并改进了签名阶段,克服了原方案的缺陷。在效率上,只比原方案多一次哈希运算,但具有更高的安全性,新方案满足可验证性、可区分性、不可伪造性、不可否认性等性质。
代理盲签名;前向安全;不可伪造性;代理密钥
1982年,Chaum首次提出了盲签名的概念[1]。所谓盲签名,就是签名者在不知道所签署的消息的具体内容的情况下进行签名,由于这一特性,使得盲签名广泛的应用于电子现金、电子商务等领域。1996年,Mambo等人首次提出了代理签名的概念[2],所谓代理签名,就是当签名者因为某些原因,无法亲自签名,这时他需要委托他人代替自己签名。例如,某公司有一份紧急文件需要经理签名,但他在外地出差不能亲自签名,这时他可以将签名权委托给他的秘书,等等。
盲签名和代理签名相结合,可以产生代理盲签名。2000年,Lin和Jan首次提出了代理盲签名的概念[3],各种代理盲签名方案也应运而生[4-6]。目前,国内外提出了各种类型的代理盲签名,如无证书的代理盲签名方案,基于离散对数问题的代理盲签名,基于身份的代理盲签名等。但这些方案中有些存在缺陷,如不能抵抗公钥替换攻击,不能满足不可追踪性和不可链接性,不能抵抗签名伪造攻击等。2010年,魏春艳等人提出了一个无证书代理盲签名方案[7],但葛荣亮等人发现该方案不满足不可追踪性[8];2011年,黄隽等人提出了一个无证书代理盲签名方案[9],但张建中等人发现该方案不能抵抗公钥替换攻击和恶意的KGC攻击[10]。代理盲签名同时具有代理签名和盲签名的性质,使得其能够广泛的应用于电子现金、电子商务、电子选举等领域。但一旦代理密钥泄露,那么之前的所有签名都变成无效的。在研究代理盲签名的同时,人们逐渐转向研究安全性能高和降低密钥泄露所带来的损失的代理盲签名,即具有前向安全的代理盲签名方案。1997年,Anderson[11]首先提出了前向安全的概念,为了使签名具有前向安全性,就要采用密钥更新的方法,即使代理密钥泄露,也不会影响之前所有时段的代理盲签名。2011年,魏俊懿等人[12]提出了一个前向安全的无证书代理盲签名方案,2013年何滨等人[13]指出方案[12]不能满足盲性和原始签名者的伪造攻击。2014年,Manoj等人提出一个前向安全的代理盲签名方案[14],通过分析发现,方案在代理授权和代理盲签名阶段均存在攻击伪造。本文提出了一个改进的方案,能够克服原有方案的缺陷,具有更高的安全性,但在计算复杂度上只比原方案多一次哈希运算。
1 预备知识
离散对数问题(DLP):给定素数p,Zp*的生成元g和Zp*元素a,寻找一个整数x,0≤x≤p-1,使得a=gxmod p。
2 方案[14]回顾和安全性分析
2.1 方案[14]回顾
本方案包括原始签名者A、代理签名者B和签名接收者R。
2)代理授权。首先生成一个包括双方身份、代理权限、代理期限等信息的授权证书mω,原始签名者A选择一个随机数,计算r0=gk0mod p,短签名s0=xA+k0yBmod q,并将(r0,s0)发送给代理人B。B收到(r0,s0)验证等式是否成立,若成立,则计算代理私钥xp=s0+xB0yAmod q和其对应的代理公钥yp=gxpmod p。
3)代理私钥更新。当签名进入第i个周期的时候,用第i-1个周期的私钥xBi-1来计算本周期的私钥,计算出xBi后将xBi-1删除。然后代理签名者计算本周期的代理私钥x′p=s0+xBiyAmod q,代理公钥y′p=gxpmod p。
5)签名验证。验证者收到关于消息m的签名(r*,s*,e*)后,验证等式
是否成立,若成立则(r*,s*,e*)是有效的代理盲签名,否则,签名无效。
2.2 方案[14]的安全性分析
方案[14]在代理授权和代理盲签名过程中均存在攻击伪造,攻击方法类似于文献[6]。
1)原具有前向安全的代理盲签名方案在代理授权阶段存在一定的攻击。在代理授权阶段,代理签名者在收到(s0,r0)后却告知原始签名者自己并没有收到,从而原始签名者在其发送请求下,不得不重新发送(s′0,r′0)给原始签名者。那么,代理签名者可以由等式s0=xA+k0yBmod q,s′0=xA+k′0yBmod q,可得s0-s′0=(k0-k′0)yBmod q,左右两边同时加上xA,从而有s"0=s0-s′0+xA=xA+(k0-k′0)yBmod q。,用(s"0,r"0)代替原来的(s′0,r′0),(s"0,r"0)可以通过验证等式gs"0=yAr0"yBmod p,接下来,代理签名者可以利用自己生成的(s"0,r"0)来计算代理密钥xp=s"0+xB0yAmod q。
在代理授权阶段存在问题的原因主要是在等式s0=xA+k0yBmod q中,当代理签名人得到两组变量(s′0,r′0),(s0,r0)就可以通过将这两个等式相减从而将原始签名者的私钥xA消掉,那么代理签名者可以形成自己的(s"0,r"0)从而进行代理密钥的计算,也就是不需要原始签名者对其进行授权。为了能够防止原始签名者的私钥xA被消掉,可以通过将等式s0=xA+k0yBmod q改为s0=xAH2(mω,r0)+k0yBmod q。
2)原具有前向安全的代理盲签名方案在代理盲签名阶段存在签名伪造问题。攻击者在不知道签名接收者私钥的情况下也能构造一个关于消息m在指定周期的签名,这是因为可以用来yR代替gxR,获得本周期的代理公钥y′p,那么r*=(r)αgβyR(y′p)-酌mod p,最终就会得到一个关于消息m在这一周期的代理盲签名(r*,s*,e*),代理密钥的更新并不会影响签名的伪造。
在代理盲签名阶段存在签名伪造的原因是在等式r*=(r)αgβ+xR(y′p)-酌mod p,由于yR=gxRmod p可以用yR来代替gxR,也就是在不知道签名接收者私钥的情况下,攻击者可以伪造出关于消息m的代理盲签名(r*,s*,e*)。为了防止这种攻击,可以改变代理盲签名的部分过程,签名接收者随机选取盲化因子α,β,酌∈Z*p,等式r*=(r)αgβ+xR(y′p)-酌mod p,改为r*=(r)αgβ(y′p)-酌mod p,等式s*=αs+βmod q改为s*=αs+β-xRmod q,其余不变。
3 改进的方案及安全性分析和效率分析
3.1 改进的方案
本文的方案是在方案[14]的基础上做的改进,本方案包括原始签名者A、代理签名者B和签名接收者R。
1)系统初始化。选择大素数p,q,使得q|p-1,g∈Z*q是阶为q的元。(xA,yA)是原始签名者A的密钥对,其中xA为私钥,yA=gxAmod p为公钥;(xB,yB)是代理签名者B的密钥对,其中xB为私钥,yB=gxBmod p为公钥;(xR,yR)是签名接收者R的密钥对,其中xR为私钥,yR=gxRmod p为公钥,H0、H1是安全的Hash函数。
2)代理授权。首先生成一个包括双方身份、代理权限、代理期限等信息的授权证书mω,原始签名者A选择一个随机数,计算r0=gk0mod p,短签名s0=xAH0(mω,r0)+k0yBmod q,并将(r0,s0)发送给代理人B。B收到(r0,s0)验证等式是否成立,若成立,则计算代理私钥xp=s0+xB0yAmod q和其对应的代理公钥yp=gxpmod p。
3)代理私钥更新。当签名进入第i个周期的时候,用第i-1个周期的私钥xBi-1来计算本周期的私钥xBi=,计算出xBi后将xBi-1删除。然后代理签名者计算本周期的代理私钥x′p=s0+xBiyAmod q,代理公钥yp′=gx′pp。
4)签名产生。
③代理签名者B收到e后,计算s=k-ex′pmod q,并把s发送给R。
④签名接收者R收到s后,计算s*=αs+β-xRmod q,(mω,r*,s*,e*)是关于消息m的代理盲签名。
5)签名验证。验证者收到关于消息m的签名(r*,s*,e*)后,验证等式
是否成立,若成立则(r*,s*,e*)是有效的代理盲签名,否则,签名无效。
3.2 安全性分析
2)可区分性。因为授权证书mω包括双方的身份信息等,因此任何人可通过mω知道对应的代理签名者。
3)不可否认性。因为授权证书mω包括原始签名者和代理签名者身份信息、代理权限、代理期限等内容,所以一旦代理盲签名有效,那么原始签名者和代理签名者都不可以否认自己的签名。
4)不可伪造性。由短签名s0=xAH0(mω,r0)+k0yBmod q,可知要想知道原始签名者的私钥xA,那么首先要求出k0,但r0=gk0mod p,求k0相当于解离散对数问题,这是困难的,因此代理签名者不能假冒原始签名者进行代理授权。代理密钥x′p=s0+xBiyAmod q,要想知道代理密钥要首先知道代理签名者B的私钥xBi,因此其他人不知道xBi的情况下是无法进行代理盲签名的。想要找到满足签名验证等式的一组有效签名(r*,s*,e*)是困难的。
5)前向安全性。由于第i个周期代理签名者的私钥xBi=x2Bi-1mod q,代理私钥x′p=s0+xBiyAmod q,在不知道本周期代理签名者私钥的情况下是无法进行本周期代理私钥的计算的。假设第i个周期的代理私钥被泄露,那么攻击者能够知道本周期代理签名者的私钥xBi,但不能求得第i-1个周期代理签名者的私钥xBi-1,从而无法知道第i个周期的代理私钥,也无法伪造第i个周期之前的代理盲签名。
3.3 效率分析
新方案是将原方案代理授权阶段的s0=xA+k0yBmod q改成s0=xAH1(mω,r0)+k0yBmod q,代理盲签名阶段的r*=(r)αgβ+xR(y′p)-ymod p改成r*=(r)αgβ(y′p)-ymod p,s*=αs+βmod q改成s*=αs+β-xRmod q,并在原方案中加入了授权证书mω。新的方案能够抵抗在代理授权阶段和代理盲签名阶段的攻击和伪造,但在计算复杂度上只是增加了一次哈希运算。
4 结论
本文提出了一个改进的无证书代理盲签名方案,克服了原方案的缺陷,同时保留了原方案的前向安全性,使得代理密钥泄露后的损失减小;即使代理密钥泄露,攻击者也无法伪造过去时段的代理盲签名,之前的签名仍然有效。改进的方案具有可验证性、不可否认性、可区分性、不可伪造性等性质。由于代理盲签名具有盲签名的特点,也具有代理签名的特点,它可以广泛的应用于需要保护用户隐私和匿名性的场合,如电子现金、电子商务等。
[1]CHAUM D.Blind signatures for untraceable payments[C]//Advance in Cryptology-Crypto’82,1983:199-203.
[2]MAMBO M,Usuda K,Okamoto E.Proxy signatures for delegating signing operation[C]//Proceedings of 3rd ACM Conference on Computer and Communications Security.New York:ACM Press,1996:48-57.
[3]LIN W D,JAN J K.A security personal learning tools using a proxy blind signature scheme[C]//Proc of International Conference on Chinese Language Computing,2000:273-277.
[4]张学军,王育民.高效的基于身份的代理盲签名[J].计算机应用,2006,26(11):2586-2588.
[5]陈玲玲,亢保元,张磊.一种高效的基于身份的代理盲签名方案[J].华东交通大学学报,2008,25(1):113-116.
[6]张碧军,何明星.一个基于代理盲签名的电子选举方案[J].西华大学学报:自然科学版,2013,32(4):10-13.
[7]魏春艳,蔡晓秋.新的无证书代理盲签名方案[J].计算机应用,2010,30(12):3341-3342.
[8]葛荣亮,高德智,梁景玲,张云.无证书代理盲签名方案的安全性分析及改进[J].计算机应用,2012,32(3):705-706.
[9]黄隽,杜伟章.无证书代理盲签名方案[J].计算机工程与应用,2011,47(31):73-75.
[10]张建中,杨丽.无证书代理盲签名方案的密码学分析与改进[J].计算机工程与应用,2014,50(4):90-93.
[11]ANDERSON R.Invited lecture[C]//Proceedings of the 4th ACM Conference on Computer and Communications Security,Zurich, Switzerland,1997:1-7.
[12]魏俊懿,杨晓元,余丹.一种前向安全的无证书代理盲签名方案[J].计算机工程与应用,2011,47(34):95-97.
[13]何滨,杜伟章.前向安全无证书代理盲签名方案的分析与改进[J].计算机工程与应用,2013,49(22):104-109.
[14]MANOJ KUMAR CHANDE,BALWANT SINGH THAKUR.An improved proxy blind signature scheme with forward security[J]. International Journal of Computer Applications,2014(85):1-4.
Analysis and Improvement of Forward Secure Proxy Blind Signature Scheme
Liu Ergen,Wang Xia
(School of Science,East China Jiaotong University,Nanchang 330013,China)
Through the security analysis of the forward secure proxy blind signature scheme proposed by Manoj et al.,this study found out that the scheme can not resist the forgery attack during proxy phase and signature generation phase.In order to avoid these attacks,an improved forward secure proxy blind signature scheme was presented based on DLP.The improved scheme overcame the drawbacks in the original scheme by embedding oneway hash function in short signature during proxy phase and improving signature generation phase.In the efficiency,the improved scheme was more secure with one more hash operation compared with the original scheme, which has verifiability,distinguishability,unforgeability,nonrepudiation,etc.
proxy blind signature;forward secure;unforgeable;proxy key
TP309
A
1005-0523(2015)06-0110-05
(责任编辑 姜红贵)
2015-06-23
国家自然科学基金项目(11361024,11261019,61472138,61263032);江西省高校科技落地计划项目(KJLD12067);华东交通大学校立科研基金项目(11JC04);江西省科技厅科技项目(20151BDH80071)。
刘二根(1965—),男,教授,研究方向为图论及其优化,信息安全。