代理签名
出自 MBA智库百科(https://wiki.mbalib.com/)
目录 |
代理签名就是指在一个代理签名方案中,一个被指定的代理签名者可以代表原始签名者生成有效的签名。[1]
代理签名的条件[1]
1.不可伪造性(unforgeability) 除了原始签名者,只有指定的代理签名者能够代表原始签名者产生有效代理签名。
2.可验证性(verifiability) 从代理签名中,验证者能够相信原始签名者认同了这份签名消息。
3.不可否认性(undeniability) 一旦代理签名者代替原始签名者产生了有效的代理签名,他就不能向原始签名者否认他所签的有效代理签名。
4.可区分性(distinguishability) 任何人都可区分代理签名和正常的原始签名者的签名。代理签名者的不符合性(proxy signer’s deviation) 代理签名者必须创建一个能检测到是代理签名的有效代理签名。
5.可识别性(identifiability) 原始签名者能够从代理签名中确定代理签名者的身份。
代理签名的分类[1]
1.完全代理签名(full delegation) 在完全代理签名中,原始签名者直接把自己的签名密钥通过安全信道发送给代理签名者,他们能产生相同的签名。
由于代理签名者所产生的签名与原始签名者所产生的签名是不可区分的,所以不能制止可能的签名滥用。完全代理签名也不具有可识别性和不可否认性。在很多情况下,原始签名者过后不得不修改他的签名密钥。因此这种签名不适用于商业应用。
2.部分代理签名(partial delegation) 在部分代理签名中,原始签名者使用自己的签名密钥s 产生代理签名密钥σ ,并把σ 以安全的方式发送给代理签名者。出于安全考虑,要求从代理签名密钥σ 不能求出原始签名者的密钥s 。使用这种方法有两种类型的方案:
代理非保护代理签名(proxy-unprotected proxy signature) 除了原始签名者,指定的代理签名者能够代替原始签名者产生有效代理签名。但是,没有指定为代理签名者的第三方不能产生有效代理签名。
代理保护代理签名(proxy-protected proxy signature) 只有指定的代理签名者能够代替原始签名者产生有效代理签名。但是,原始签名者和第三方都不能产生有效代理签名。在部分代理签名中,代理签名者以σ 为签名密钥按普通的签名方案产生代理签名,可以使用修改的验证方程来验证代理签名的有效性。因为在验证方程中有原始签名者的公钥,所以验证者能够确信代理签名是经原始签名者授权的。人们根据不同的需要提出了各种各样的部分代理签名。例如,门限代理签名、不可否认代理签名、多重代理签名、具有接收者的代理签名、具有时戳的代理签名和具有证书的部分代理签名,极大地丰富和发展了部分代理签名。
部分代理签名具有可区分性等性质。但在一些部分代理签名中,原始签名者也能产生代理签名,这对代理签名者来说是不公平的。这涉及不可否认问题,不可否认性是指原始签名者和代理签名者不能欺诈性地否认他产生的签名。在实践中,不可否认性是非常重要的。例如,当签名滥用发生争议时,权威机构必须确定谁是代理签名的真正签名者。因此,具有不可否认性的部分代理签名是商业应用的理想选择。
3.具有证书的代理签名(delegation by warrant) 使用这种方法有两种类型的方案
授权代理签名(delegate proxy) 在授权代理签名中,原始签名者用他的签名密钥使用普通的签名方案签一个文件(称某某为代理签名者),然后,把产生的证书发给代理签名者。
持票代理签名(bearer proxy) 在持票代理签名中,证书是由消息部分和原始签名者对新产生的公钥的签名组成。原始签名者把新产生的公钥所对应的秘密钥以安全的方式发给代理签名者。
总之,部分代理签名和具有证书的代理签名比完全代理签名更安全。部分代理签名与具有证书的代理签名相比具有较高的处理速度。而具有证书的代理签名可以毫无修改地使用普通签名方案来执行签名,并且可以适当地限制所要签的文件,例如,证书可以表明授权的有效期,但是,部分代理签名一般不具有这个性质。为了解决这个问题,部分代理签名要求一个附加的代理撤销协议,通过此协议原始签名者可以撤销代理签名者的签名能力或已经产生的代理签名。具有证书的部分代理签名具有部分代理签名和具有证书的代理签名的双方的优点。一般说来,具有证书的部分代理签名提供了可接受的执行效率和合理的授权规则,例如,代理签名的有效期,原始签名者的身份,代理签名者的身份等信息。