郭银芳
(太原大学教育学院 计算机科学系,山西 太原030001)
代理签名方案必须满足下面的要求:
1)不可伪造性.除了原始签名方,被委派的代理签名方也可以代表原始签名方产生一个有效的代理签名.
2)可验证性.通过代理签名,可以使验证者信服原始签名方同意代理签名方对消息签名.
目前存在三种委托类型:全部委托、部分委托和授权委托.在全部委托中,原始签名方将自己的私钥给了代理签名方作为代理签名的私钥.因此,由原始签名方还是代理签名方产生的签名无法区分.在部分委托中,代理签名私钥由原始签名私钥产生,但是从代理签名的私钥得出原始签名的私钥在计算上是不可行的.然而,从签名中我们无法确定消息的真正签名方.为了避免争论,代理签名应具有不可否认性(Nonrepudiation).最后一种委托是使用委任状.委任状由原始签名人产生.委任状对于一段明确的时间和原始签名人的身份有效.且通过附加的委任状能够验证代理签名者.按照上面的描述,从安全的观点来看,部分委托和授权委托比全部委托更安全.比较全部委托和部分委托这两种类型,授权委托对于验证者要求更多的交流费用和计算代价来验证代理签名.通过上面的讨论,我们可以得出部分委托是最理想的类型.一个数字签名方案允许原始签名方对消息签名,且每个人可以验证消息的真实签名的有效性[1].然而,没有人可以伪造其他消息的签名.因此签名方不能对他曾经的签名抵赖.然而,在代理签名方案中,关于部分委托类型的代理签名方案存在分歧,除了代理签名方的代理签名密钥,原始签名人可以得到另一个代理签名密钥且保存它,随后冒充代理签名方来得到一个有效的代理签名.这个问题通过使用不可否认性质来解决,即可以确定签名方的身份.所以,目前研究最多的代理签名为具有不可否认性的部分委托代理签名.直到现在,代理签名已经得到了广泛的讨论和研究,而且得到很多的应用,特别是在权力的委托和普遍的分布式计算,比如电子货币系统,电子商业中的移动代理,移动通讯[2],网格计算,全球分布式网络和分布式共享系统.
提名签名是Kim等[3]在1995年提出的.提名签名是提名者(签名者)和被提名者(验证者)一起产生一个签名,从而产生如下性质:1)只有被提名者能够验证签名是否有效;2)只有被提名者可以向第三方证明提名签名的有效性.签名的使用完全由签名的接收者控制.
提名代理签名是指被委派的代理签名者(提名者)产生提名签名且代表原始签名人传递给被提名者(验证者).为了构造一个提名代理签名方案,必须满足下面四个条件[4,5]:
1)原始签名者能够委托其签名能力给代理签名者.
2)仅仅委派的代理签名者能够提名验证者且构造提名代理签名.
3)仅仅被提名者(即验证者)能够验证提名者(代理签名者)的签名.
4)如果必要,仅仅被提名者能够向第三方证明由提名者发行给他的签名是有效的.
按照上面的性质,我们知道仅仅被提名的验证者能够验证签名的有效性.没有验证者的帮助,第三方无法知道谁是提名代理签名中给定的确切签名者.因此提名代理签名方案提供了签名者的匿名性.如果将这个方案使用在移动通信中,我们可以获得两个好处.首先,移动用户和代理商的匿名性保证.其次,由于移动用户能够委派一个代理商作为代理签名者,移动用户的计算费用可以通过代理商减少.因此,这种提名代理签名方案在移动通讯环境中是很有用的.
2001年,H.U.Park和I.Y.Lee将提名签名和代理签名结合起来,提出了提名代理签名方案[2].在提名代理方案中,原始签名方将签名权利委托给代理签名方,代理签名方代表原始签名方产生提名签名.提名代理签名在移动通信中是一个重要的工具.在移动通信系统中,移动用户的存储量和计算能力都有限,往往需要一个有着较大存储量和较强计算能力的代理实体来完成存储和计算任务.例如,移动用户充当原始签名方,代理实体充当代理签名方接受原始签名方的授权后,进行代理签名.提名代理签名仅仅可以由被提名者确认.这样,移动用户和代理实体的身份才能得到保护,匿名性才能得以保障[5].See Lee[5]指出文献[2]不具有不可否认性.然而2005年,Zhang等提出Seo Lee方案也不具有不可否认性而且他们提出两个新的提名代理签名方案,声称原始签名方和代理签名方之间不需要安全信道.
本文按照提名代理签名应满足的条件分析了两个提名代理签名方案:Zhang等的方案.指出这两个不满足提名代理签名方案条件的第三条和第四条,即提名者也可以验证一个提名代理签名的有效性而且提名者也可以证实一个提名代理签名有效与否.事实上,之前所构造的这些提名代理签名方案的一个致命弱点是在生成签名阶段中,仅由签名者一方生成.也就是说提名签名的有效生成的一个必要条件是必须由提名者和被提名者合作才能够生成.
1.1.1 代理签名密钥生成阶段
除了(σ,Mw,T,K)(σ,Mw,T,K和Seo Lee方案中的相同),原始签名人还需要发送基于K的知识证明的一个签名,即g(c,s)=SPK[γ:K=gγmodp].当代理签名方接到(σ,Mw,T,K)和(c,s),检验等式·KK是否成立,且基于知识证明(c,s)的签名是否成立.
若所有的验证都已经通过,他按照下面的方式生成消息M的提名代理签名:
Step 1 代理签名方G随机选取r,R∈RZp且计算α=gR-rmodp.
Step 2 代理签名方G计算,E=H(YB‖α‖D‖M‖Mw),SP=r-σPEmodq.最后,(D,α,SP,K,T,Mw,(c,s))是关于消息M的提名代理签名.
1.1.2 提名代理签名验证阶段
Step 1 验证方B首先验证基于K的知识证明的签名(c,s)是否成立.
在Seo Lee方案的代理签名密钥生成阶段中,当代理签名方通过·KK检验(σ,Mw,T,K)有效后,代理签名方计算自己的签名密钥
1.2.1 代理签名密钥生成阶段
Step1 代理签名方G随机选取r,且计算α=gR-rmodp.
Step2 代理签名方G计算,E=H(YB‖α‖D‖M‖Mw),SP=r-σPEmodq.最后,(D,α,SP,K,T,Mw)是关于消息M的提名代理签名.
1.2.2 提名代理签名验证阶段
当验证方收到消息--签名对(M,D,α,SP,K,T,Mw)后,计算
最后通过检验
来验证签名有效与否.
1.3.1 提名者也能够验证签名有效与否
而且提名者(代理商)知道值R,因此通过检验
1.3.2 提名者能够向第三方证实一个签名有效与否
分析相似于上面,提名者(代理商)能够通过下面的方程向第三方证明签名有效与否:
本章通过提名代理签名方案应满足的性质分析了Zhang等提名代理签名方案[6].指出Zhang等方案不满足提名性,提名人也可以验证提名代理签名的有效性而且提名人也可以向第三方证实一个提名代理签名有效性.
[1]ElGamal T.Public key cryptosystem and signature scheme based on discrete logarithms[J].On Information Theory,1985,31:469-472
[2]Park H U,Lee I Y.A digital nominative proxy signature scheme for mobile communications[C]∥Proceedings of Information and Communications Security(ICICS'01),Lecture Notes in Computer Science 2229,Springer-Verlag,2001:451-455
[3]Kim S J,Park S J,Won D H.Nominative signatures[C]∥Proceedings of International Conference on Electronics,Information and Communications(ICEIC'95),1995:68-71
[4]Zhang J,Wu Q,Wang Y.An improved nominative proxy signature scheme for mobile communication[C]∥Proceedings of 18thInternational Conference on Advanced Information Networking and Application,2004,2:23-26
[5]Seo S H,Lee S H.New nominative proxy signature scheme for mobile communication[C]∥Proceedings of Security and Protection of Information (SPI'03),2003:149-154
[6]Zhang J H,Zou J C,Wang Y M.Two modified nominative proxy signature schemes for mobile communicatioin[C]∥Proceedings of IEEE International Conference on Networking,Sensing and Control,2005:1 054-1 057
[7]Chaum D,Antwerpen H.Undeniable signatures[C]∥Proceedings of Advances in Cryptology-Proceedings of CRYPTO’89,Lecture Notes in Computer Science 435,Springer-Verlag,1989:212-216