关键词:代理签名;数字签名;匿名性
中图分类号:O29 文献标识码:A 文章编号:1009-0118(2011)-09-0-02
Mambo,Usuda和Okamoto在1996年首先提出了代理签名的概念[1,2],所谓代理签名是指在一个代理签名方案中,代理签名者代表原始签名者生成有效的签名。由于对代理签名的深入研究提出了许多种代理签名方案,如Zhang提出了具有授权证书的部分代理签名和门限代理签名[3]。2002年Shum和Wei Victor[4]在Lee等人的方案[5]的基础上提出了一种保护代理人的签名方案,在该方案中通过一个匿名中心,使得代理者身份对外不可见,必要时可有匿名中心揭示代理者的身份,但需要可信任的第三方参与。然而谷利泽等[6,7]提出的方案弥补了文献[4]的不足,不需要可信任的第三方的参与。
本文也是具有不需要可信任的第三方的匿名代理签名方案,其匿名代理签名方案是指代理签名中隐藏代理签名者的身份,即代理者签名者匿名,只有在出现争议时才使得原始签名者通过验证者或接受者提供的信息和自身保留的代理签名者的信息来揭示签名者的身份。
一、方案的实现
下面利用离散对数以及基于离散对数的DSA的数字签名来实现方案的过程:
(一)系统的初始化过程
1、系统参数:大素数p,q满足q/(p-1),2511
2、为A的私钥,为A的公钥=mod。其中为A的身份标识。
3、为B的私钥,为B的公钥=mod。其中为B的身份标识。
4、为A和B共同生成的代理私钥,为相对应的代理公钥=mod。其中为代理签名者的标识。
(二)代理签名的委托过程
1、A秘密地向B发送代理授权书,中包含原始签名者的身份标识,授权委托和授权期限等信息。
2、B收到后,如果接受代理授权,则秘密生成和自己的代理密钥,其计算过程如下:
设B任意选取一个整数,,计算:=(mod)mod,mod,任意选取一个整数,,计算=(mod)mod,=(+)mod,B将(,,,)发送给A。
3、A收到(,,,)后,先计算:
=mod,=(mod)mod
然后验证=是否成立。如果不成立,则说明签名不正确或不愿接受委托,A重新寻找新的代理签名者;如果成立,则A记=mod,并把写入中,这时将表示成,A将保存(,,)以备查用。
(三)代理签名密钥的产生过程
1、A确认代理签名B后,对授权书签名,A选取,计算:
A把得到的签名值(,,)通过安全通道发送给B。
2、B收到(,,)后,先计算:
然后验证=是否成立,若不成立,则拒绝;否则,B秘密保存(,,)。
3、代理签名者B生成代理私钥,即=+mod公钥=mod。
(四)代理签名过程
1、计算m的冗余函数值R(m),冗余函数R(x)。
2、选取一个随机数。
3、计算=(mod)mod,=€I6mod。
4、计算=(€I6+€I6)mod,则(r,s)为签名者对m的签名,其代理签名值(,)。
(五)代理签名的验证过程
1、首先检查r和s是否属于[0,q],若不是,则(,)不是有效的代理签名值。
2、判断=mod是否成立,若成立(,)为合法签名。
(六)揭示代理签名者身份的过程
如果出现争议时,A由验证者或接受者获得了签名(,)首先验证签名的正确性,然后A从中得到,依此取出在委托过程中保存的(,,),判断等式=mod是否成立。如果在保存的(,,)满足这个等式,则是实现代理签名(,)的代理签名者。
二、正确性分析
(一)A收到(,,,)后,先计算=mod,然后计算:
由上式成立,则有B作为A的代理签名者。,
(二)B收到(,,)后,先计算:=mod,然后计算:
(三)判断=mod是否成立。
由于mod,
则:
三、安全性分析
(一)可验证性
C得到了代理签名(,)后,从代理授权书中获得原始签名者的身份,授权书和验证公钥,先验证r和s是否属于[0,q],若不是,则(,)不是有效签名值。否则,判断=mod是否成立,显然这个方案是可验证的。验证过程也说明这个方案是由A的代理签名者B签名的,因为用到了代理签名公钥,但验证者或接受者C并不知道B的身份。
(二)不可偽造性
1、根据伪造者无法伪造。这是因为=mod,如果想知道面临着解离散对数疑难问题。若是从=mod,mod得到,则(r,s)截取了要想求出,在=mod,得到t也将面临解离散对数疑难问题,若从=€I6mod中得到t,不知道k也不能求出t来。因此攻击者不可能通过 来伪造 。
2、根据=+mod,假如伪造者能够伪造代理签名者B的代理签名,伪造者必须具备以下两个条件:
(1)伪造,因为,而A的私钥,和对伪造者来说都是无法得到的,所以伪造者不肯能伪造,又由于原始签名者A和代理签名者B是经过安全通道完成的所以伪造者不可能冒充B或直接截取而得到。
(2)伪造,因为=+mod,而B的私钥,和对于伪造者来说都是无法得到的,所以伪造者也不可能伪造。
3、A也不可能伪造B的代理签名,虽然A得到了,却无法得到,因为=+mod,B的私钥和对于A是无法得到的,所以A也不能得到。
因此任何的攻击者试图冒充代理签名者B伪造签名是不可能的。
(三)不可否认性
签名方程mod中用到了代理签名私钥和一个任意的随机整数k,这两个变量只有B知道。另一方面,不具有伪造性。基于以上两点,所以说代理签名只能是B签的,因此不可否认这个签名。同样的原因,由于代理签名者B保存了A的(,,),A不可能否认B的授权。即是说明A和B均不可能否认自己的行为。
(四)匿名性
对于C来说,他对代理签名(,)进行验证时,没有用到任何关于B的信息,也不能推出于B有关系,因此,他不知道这个签名是谁签的。
(五)可追踪性
当签名发生争议时,在A的帮助下,C通过揭示验证过程中的方程来揭示代理签名者B的身份,这样可以防止代理签名者B滥用签名权力,对他进行约束。
四、结束语
匿名代理签名方案适合于代理签名者的身份保密的场合,而且当发生争论时,可以通过原始签名人来揭示代理签名者的身份。因此,具有广泛的应用前景。
参考文献:
[1]Mambo M,Usuda K, Okamoto E.Proxy signature for delegating signing operation[C]//Proc.3rd ACM conference on computer and communication security.1996:48-57.
[2]Mambo M,Usuda K,Okamoto E.Proxy signature:delegation of the power to sign messages[J].IEICE Trans.Fundamentals,1996,E79-A(9):1338~1354
[3]Zhang K,Threshold proxy signature schemes[C]//1997 Information Security Workshop. Japan,1997:191-197.
[4]Shum K,Wei Victor.A storng proxy signature scheme with proxy signer privacy protection[EB/OL].http//www.computer.org/proceedings/wetice/1748/17480055.pdf, 2002.
[5]Lee B,Kim H.Kim K.Secure mobile agent using strong proxy signature and its application[C]//Proc ofACISP2001.2001:603-608.
[6]古利泽,李中献,杨义先.不需要可信任第三方的匿名代理签名方案[J].北京邮电大学学报,2005,28(1):48-50.
[7]古利泽,张胜,杨义先.一种新型的代理签名方案[J].电子与信息学报,2005,27(9):1463-1466.
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文