本刊择优刊登计算机技术、网络与通信技术、信息化建设、信息管理、工程评估、项目咨询与管理、电子商务等方面的论文
  当前位置:信息安全  

基于RSA的代理签名方案

           2007-5-13   刘为民
                 

                    (东软集团)

1 引言

  代理签名的方案被提出后,引起人们的极大兴趣,这种签名机制在许多领域都有重要作用。代理签名的目的是当签名人(这里指原始签名人)因某些原因不能行使签名权利时,将签名权委托给他人替自己行使签名权。目前已出台的一些代理签名方案仍存在一些问题: ⑴ 代理签名方案在验证方程中,仅含代理签名者公钥,从而实际签名权和代理签名权没有有效分离; ⑵ 目前授权方程的建立都是采用交互式传递数据的方法,而且不包含代理签名者的公钥,因此授权过程的建立既繁琐又使签名收方不易验证代理签名人的真实性。针对以上缺点本文建立一个代理签名方案,解决上述问题。

  2 代理签名方案的基本要求
  在一个代理签名方案中,如假设A委托B进行代理签名,则此签名应满足以下条件:
  ⑴ 可区别性:签名收方可区别代理签名和正常的签名;
  ⑵ 不可伪造性:只有原始签名者指定的代理签名者能够产生有效的代理签名;
  ⑶ 代理签名者不符合性:代理签名者必须创建一个能检测到是代理签名的有效代理签名。
  ⑷ 可验证性:从代理签名中,验证者能够相信原始的签名者认同了这个签名的消息。
  ⑸ 可识别性:原始签名者能够从代理签名中识别代理签名者的身份;
  ⑹ 不可抵赖性:代理签名者不能否认他创立的且被认可的代理签名。

  3 RSA算法
  p、q为两个长度相同的大素数,n = p * q, 随机选取公开密钥e,使e和(p-1) *(q-1)互素,最后用欧几里德扩展算法计算私人密钥d,以满足d * e mod(q-1)* (q-1)≡1,使d为e模(p-1) * (q-1)的逆。加密算法:C≡me(mod n);解密算法:m≡Cd (mod n)。其中p、q、(q-1)* (q-1) 、d是保密参数,e、n为公开参数,m为消息,C为消息m经加密后的密文。

  4 代理签名方案
  安全参数:原始签名人A的公钥为eA、nA,私钥为dA,代理签名人公钥为eB、nB,私钥为dB。
  授权方程:当A打算将签名权委托给B时,对消息m计算SA=(mAdA mod nA) eB mod nB将SA、mA发送到B, B受到后验证,[(SA) dB mod nB] eA mod nA,是否等于mA。,如果等于mA,说明受委托数据源的可靠性。上式等于mA的原因是基于RSA的加密算法:C≡me(mod n)和解密算法:m≡Cd (mod n)。在这里, [(SA) dB mod nB] eA mod nA=mA被视为授权方程,它建立了A和B两者公钥之间的内在联系,而这种联系只有在A同意转让自己的权利时才可建立。其中B的私钥dB只有B知道,其他人无法知道。
代理签名:设m为待签名消息,B利用他的私钥计算: SB=[(SA) dB] dB mod nB, B把SAB(mA ,SB)发送给验收方。
  签名验收:验收方收到SAB(mA ,SB)后,利用原始签名人A和代理签名人B的公钥计算:m’=[(SB) eB mod nB] eA mod nA,若m’=m A成立,则收方收到B关于信息mA的代理签名,易证明,如果B是合法代理人 ,上述m’=m A必成立,因为
m’= [(SB) eB mod nB] eA mod nA
={[(SA) dB dB]eB mod nB }eA mod nA
={[m AdA modnA] eB﹡dB﹡dB﹡eB mod nB}eA mod nA
=m AdA eA mod nA
=m A
  签名收方在验证签名时,同时使用了原始签名人和代理签名人二者的公钥,可以明确原始签名和代理签名的关系,可以确定代理签名人的签名身份和签名有效性;用同样的验证方法,原始签名者也可以用代理签名公钥eB,明确代理签名人的身份,满足了二、中的 ⑶ 代理签名的不符合性、 ⑷ ⑷ 可验证性和 ⑸ 可识别性。
  性能分析:由于一些代理签名在验证方程中仅含代理签名者的公钥,使得签名收方不易理解所受到的签名究竟是某人自己的真实签名,还是受人之托的代理签名,本方案克服了这一缺点。因为签名协议使得签名收方在验证时必须同时用原始签名人和代理签名人的公钥,及实际签名权和代理前明权实现了有效的分离,满足了二、中 ⑴ 可区别性和 ⑹ 不可抵赖性。
  验证一个代理签名是否具有签名权,主要依靠原始签名人和代理签名人之间所建立的授权方程,而一些授权方程都是采用交互式传递数据的方法,此方案进行了改进,授权方程包含代理人的公钥,而建立授权方程时,原始签名人只需将有关数据直接传给自己所选定的代
理人即可,与人们平常委托他人办事的习惯相符。
  原始签名人A在给B授权时,可将授权方程(SA ,m’)公开地送给B。如果除了B还有F通过某种渠道也获得了,当F想冒充B当代理签名人时,F必须计算SF=[(SA)dF modnF] dA modnA,它不等于mA,要想得到合法的授权方程则会碰到大数因式分解的难题。因此上述方案可抗击假冒代理的事件的发生。满足了二、中的 ⑵ 不可伪造性。

  5 结束语
  代理签名是近年来出现的一种新型的签名技术,它的应用非常广泛,如电子商务中的CA证书的签发,电子支票或电子货币的分发等,都涉及代理签名的问题。虽然本文和其他文章建立了一些代理签名的研究结果,但仍有以下问题需要进一步研究和解决:
  ⑴ 如何解决代理多重签名问题;
  ⑵ 如何利用盲签名、零知识签名等特殊签名方案实现代理签名。

参考文献
[1]卢开澄.计算机密码学.北京,清华大学出版社.
[2][美]Bruce Schneier 著.吴世忠,祝世雄,张文政,等译.应用密码学.机械工业出版社.
[3]祁明、L.Harn.基于离散对数的若干新型代理签名方案.电子学报.2000.11.⑾.



 

[1] [2] [下一页]

 
中国刊例网
中国学术期刊光盘版
       

版权所有《网络与信息》杂志社 建议用 800*600分辨率 浏览
COPYRIGHT© 2002-2005 www.51de.com

辽ICP备05005462号