欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

代理签名

科普小知识2022-09-27 16:54:18
...

代理签名(AgentSignatureScheme)是指原始签名人(originalsigner)由于某种原因授权他的签名权给代理签名人(proxysigner),然后让代理签名人代表原始签名人生成有效的签名。例如,A处长需要出差,而这些地方不能很好地访问计算机网络。因此A希望接收一些重要的电子邮件,并指示其秘书B作相应的回信。A在不把其私钥给B的情况下,可以请B代理。

1、过程

在现实世界里,人们经常需要将自己的某些权力委托给可靠的代理人,让代理人代表本人去行使这些权力。在这些可以委托的权力中包括人们的签名权。委托签名权的传统方法是使用印章,因为印章可以在人们之间灵活地传递。数字签名是手写签名的电子模拟,但是数字签名不能提供代理功能。

1996年,Mambo、Usuda和Okamoto提出了代理签名的概念,给出了解决这个问题的一种方法。由于代理签名在实际应用中起着重要作用,所以代理签名一提出便受到广泛关注,国内外学者对其进行了深入的探讨与研究。

它包括以下四个过程:

(1)初始化过程;(签名*的参数、用户的密钥等)

(2)权力委托过程;

(3)代理签名的生成过程;

(4)代理签名的验证过程。

2、权力委托问题

委托数字签名权力时要考虑的几个问题:

(1)安全性(security)。

不允许权力滥用,有抗攻击性等。

(2)可行性(practicability)。

方便有效,容易实现。

(3)效率(efficiency)。

较高的实现速度,较小的计算复杂度、通信复杂度等。

3、性质

代理签名方案应满足以下六条基本性质:

(1)不可伪造性(unforgeabmty)除了原始签名者,只有指定的代理签名者能够代表原始签名者产生有效代理签名。

(2)可验证性(verifiability)从代理签名中,验证者能够相信原始签名者认同了这份签名消息。

(3)不可否认(undeniability)一旦代理签名者代替原始签名者产生了有效的代理签名,他就不能向原始签名者否认他所签的有效代理签名。

(4)可区分性(distinguishabmty)任何人都可区分代理签名和正常的原始签名者的签名。

(5)可识别性(identiflability)原始签名者能够从代理签名中确定代理签名者的身份。

(6)代理签名者的不符合性(proxysigner’sdeviation)代理签名者必须创建一个能检测到是代理签名的有效代理签名。

为了体现对原始签名者和代理签名者的公平性,我们对其中的一些性质给出了更强的定义:

强不可伪造性(strongunforgeability)只有指定的代理签名者能够产生有效代理签名,原始签名者和没有被指定为代理签名者的第三方都不能产生有效代理签名。

强可识别性(strongidentifiability)任何人都能够从代理签名中确定代理签名者的身份。

强不可否认性(strongundeniability)一旦代理签名者代替原始签名者产生了有效的代理签名,他就不能向任何人否认他所签的有效代理签名。

防止滥用(preventionofmisuse)应该确保代理密钥对不能被用于其它目的。为了防止滥用,代理签名者的责任应当被具体确定。

4、分类

代理签名分为三大类:完全代理签名、部分代理签名和具有证书的代理签名。

完全代理签名(fulldelegation)

在完全代理签名中,原始签名者直接把自己的签名密钥通过安全信道发送给代理签名者,他们能产生相同的签名。由于代理签名者所产生的签名与原始签名者所产生的签名是不可区分的,所以不能制止可能的签名滥用。完全代理签名也不具有可识别性和不可否认性。在很多情况下,原始签名者过后不得不修改他的签名密钥。因此这种签名不适用于商业应用。

部分代理签名(partialdelegation)

在部分代理签名中,原始签名者使用自己的签名密钥k产生代理签名密钥s,并把s以安全的方式发送给代理签名者。出于安全考虑,要求从代理签名密钥s不能求出原始签名者的密钥k。使用这种方法有两种类型的方案:

代理非保护代理签名(proxy-unprotectedproxysignature)除了原始签名者,指定的代理签名者能够代替原始签名者产生有效代理签名。但是,没有指定为代理签名者的第三方不能产生有效代理签名。

代理保护代理签名(proxy-protectedproxysignature)只有指定的代理签名者能够代替原始签名者产生有效代理签名。但是,原始签名者和第三方都不能产生有效代理签名。

在部分代理签名中,代理签名者以s为签名密钥按普通的签名方案产生代理签名,可以使用修改的验证方程来验证代理签名的有效性。因为在验证方程中有原始签名者的公钥,所以验证者能够确信代理签名是经原始签名者授权的。人们根据不同的需要提出了各种各样的部分代理签名。例如,门限代理签名、不可否认代理签名、多重代理签名、具有接收者的代理签名、具有时戳的代理签名和具有证书的部分代理签名,极大地丰富和发展了部分代理签名。

部分代理签名具有可区分性等性质。但在一些部分代理签名中,原始签名者也能产生代理签名,这对代理签名者来说是不公平的。这涉及不可否认问题,不可否认性是指原始签名者和代理签名者不能欺诈性地否认他产生的签名。在实践中,不可否认性是非常重要的。例如,当签名滥用发生争议时,权威机构必须确定谁是代理签名的真正签名者。因此,具有不可否认性的部分代理签名是商业应用的理想选择。

具有证书的代理签名

具有证书的代理签名可以毫无修改地使用普通签名方案来执行签名,并且可以适当地限制所要签的文件,例如,证书可以表明授权的有效期,但是,部分代理签名一般不具有这个性质。为了解决这个问题,部分代理签名要求一个附加的代理撤销协议,通过此协议原始签名者可以撤销代理签名者的签名能力或已经产生的代理签名。具有证书的部分代理签名具有部分代理签名和具有证书的代理签名的双方的优点。一般说来,具有证书的部分代理签名提供了可接受的执行效率和合理的授权规则,例如,代理签名的有效期,原始签名者的身份,代理签名者的身份等信息。

总之,部分代理签名和具有证书的代理签名比完全代理签名更安全。部分代理签名与具有证书的代理签名相比具有较高的处理速度。

5、两种典型的代理签名

MUO代理签名方案

1996年M.Mambo.K.Usuda和E.Okamoto提出了代理签名概念,基于E1Gamal签名*设计了一个代理签名方案。设P是一个大素数,q是p-1的一个素因子,g是一个q阶生成元。原始签名方的私钥是xo∈Zq,相应的公钥是yo=modp。

MUO代理签名方案包括以下过程:

(1)代理授权过程:

①代理密钥的生成:原始签名方0随机选择r∈Zq,计算:R=grmodp,=xo+rRmodq.

②代理密钥的发送:原始签名方0将(R,)发送给代理签名方P。

③代理密钥的验证:代理签名方P检验等式。若等式成立,则(R,)是有效的代理签名密钥。否则,拒绝接受原始签名方0的代理授权。

(2)代理签名产生过程:代理签名方P使用代理签名密钥(R,)对待签消息M签名。P采用签名算法PSigss,产生签名(M,PSigps(M,PSigps(M,),R)。

(3)代理签名的验证过程:验证者首先计算代理签名公钥,然后运行验证算法PVrfps(,M,PSigps((M,),R)。若验证算法输出1,则对消息M的代理签名有效;否则,此签名无效。

MUO代理签名是一个部分代理签名,具有下列特点:方案不能给代理签名方P提供保护。原始签名方0可以产生一个代理密钥,对任意消息签名,然后声称这个签名是代理签名方P产生的。代理签名中未使用代理签名方的身份信息,这是一个非指定代理签名方的签名方案。代理签名方能够转移代理权,让其他人充当代理签名方。此方案不具有不可否认性。代理签名方直接使用原始签方产生的代理签名密钥签名。原始签名方和代理签名方之间需要安全通道。

KPW代理签名方案

1997年s.Kim.s.Park和D.Won提出并设计了一个带有证书的部分代理签名方案。系统参数p和q与MUO代理签名方案中的参数相同。g是的生成元,h()是一个公开的单向hash函数。原始签名方0的私钥是xo∈Zq,相应公钥是yo=modp。代理签名方P的私钥是xp∈Zq,相应的公钥是yP=modp。

KPW代理签名方案包括以下内容:

(1)代理授权过程:

①代理授权生成过程:原始签名方0产生证书mw。证书记载了原始签名方0的身份,代理签名方P的身份,以及其他安全要求方面的信息。原始签名方0随机选择r∈Zq,计算:R=grmodp,。

②代理授权传送过程:原始签名方0通过安全通道将(R,,mW)发送给代理签名方P。

③代理授权验证过程:代理签名方P检验等式:。若等式成立,代理签名方P接受原始签名方0的代理授权;否则,代理签名方P拒绝原始签名方0的代理授权。

(2)代理密钥生成过程:

代理签名方P计算代理签名密钥(R,):

(3)代理签名产生过程:

代理签名方P使用代理签名密钥(R,),通过签名算法PSigps,产生消息M的代理签名(M,PSigps(M,PSigps(M,),R,mW).

(4)代理签名验证过程:

验证者首先计算代理签名公钥,然后运行验证算法PVrfps(,M,PSigps((M,),R,mW)。若验证算法输出1,则对消息M的代理签名有效;否则,此签名无效。

KPW代理签名方案是一个部分代理签名,且是一个指定代理签名方的签名方案,因为代理签名中使用了代理签名方的身份信息。此方案具有不可否认性。KPW代理签名方案中,原始签名方和代理签名方之间实际上不需要安全通道。

6、盲代理签名*性质

盲代理签名*(BlindProxySignatureScheme)是指在一个代理签名中,原始签名人在得到代理签名时,不能根据代理签名确定出代理签名人的身份的一种签名*。盲代理签名有关广泛的应用基础。如在电子选举中利用盲代理签名可实现选举的保密性。通常盲代理签名满足如下几个性质:

(1)任何人都可以区别盲代理签名、代理签名和普通数字签名:

(2)除了代理签名人外,任何人都不能生成有效的盲代理签名:

(3)验证者可以方便地验证盲代理签名的有效性;

(4)原始签名人无法根据盲代理签名确定出代理签名人的身份;

(5)代理签名人不能否认他创立的且被认可的盲代理签名。

7、存在问题

(1)代理签名的安全性:目前很多代理签名方案存在安全隐患。例如,伪造攻击,公钥替换攻击等。因此,设计一个能同时抵抗现存各种攻击的代理签名方案是比较困难的问题。

(2)执行效率问题:目前的代理签名方案,尤其是门限代理签名方案和多重签名方案计算复杂性高,通信量大,执行效率低。因此,简单、有效的代理签名方案有待进一步研究。

(3)原始签名者在线问题:现有代理签名方案几乎都是原始签名者、代理签名者和接收者之间进行的交互协议。由于在每次代理签名中都有原始签名者的参与,这就违背了代理签名的初衷。因为我们由代理签名产生的背景知道,正是由于原始签名者到外地出差或由于事务繁忙而无法脱身才将签名权可信的代理签名者来行使其权力的一种行为。因此,从本质上来说,真正的代理签名在签名过程中不可能有原始签名者的参与。

(4)如何有效解决签名权不断转移的多重代理签名问题及代理签名权的撤销问题?

(5)如何利用盲签名、定向签名、零知识签名等特殊签名方案来实现代理签名?

上一篇:算法教学

下一篇:数字签名

推荐阅读