首页 百科知识 特殊数字签名体制

特殊数字签名体制

时间:2022-06-17 百科知识 版权反馈
【摘要】:4.1.3 特殊数字签名体制根据电子商务具体应用的需要,形成了许多特殊的数字签名应用,如不可否认数字签名、失败-终止数字签名、盲签名、批量签名、群签名、代理签名、多重签名等。不可否认数字签名,最本质的是在无签字者的配合下,不可能验证签字的有效性。盲签名在数字现金、电子投票等领域都有较大的应用价值,特别是目前的数字现金,大部分都是采用盲签名的原理实现。

4.1.3 特殊数字签名体制

根据电子商务具体应用的需要,形成了许多特殊的数字签名应用,如不可否认数字签名、失败-终止数字签名、盲签名、批量签名、群签名、代理签名、多重签名等。本节将对它们进行简单介绍。

1.不可否认数字签名

一般的数字签名能够被准确复制,其他人都可以用复制品来验证签名的有效性;这个性质有时是有用的,如公开宣传品的发布等。但是,有时也带来一些问题,如签名的私人信件、商业函件等,是不希望其他人验证的。由此1989年,Chaum和Antwerpen等引入了不可否认数字签名的概念。

不可否认数字签名,最本质的是在无签字者的配合下,不可能验证签字的有效性。利用这个特殊的性质,可以在一定程度上防止复制或散布他所签字的文件的可能性,从而使产权所有者可以控制产品的散发。这在电子出版领域的知识产权保护中有用途。

如果签字者拒绝合作就无法验证签名的有效性;但若确实是签字者的数字签名,其又拒绝合作时,又如何处理呢?那么可以在法庭等第三方的监督下,启用否认协议(Disavowal Protocol),以证明签名的真假。如果对方拒绝参与否认协议,那么,就是他签名的;如果不是他签名的,否认协议可以确认他没有签名。

2.失败-终止数字签名

失败-终止数字签名(Fail-stop Signature)是由B Pfitzmann和M Waidner于1991年引入的。它是一种经过强化安全性的数字签名,用以防范有强大计算资源的攻击者。使用失败-终止数字签名,签名者不能对自己的签名进行抵赖,同时即使攻击者分析出密钥的条件之下,也难以伪造签名者的签字。

它的基本原理是:对每个可能的公开密钥,对应着很多的私有密钥,它们都可以正常工作。而签名者仅仅持有并知道众多私有密钥中的一个;所以强大的攻击者恢复出来的私有密钥,刚好是签名者持有的私有密钥的出现概率是非常小的。而不同的私有密钥产生的签名是不相同的,以此可以鉴别出伪造者的签名。

3.盲签名

前面介绍的数字签名,签名者可以查看所签署消息的内容,这和日常生活的情形相符合:我们通常需要在知道文件内容之后才会签署。而本节介绍的签名方案,要求签名者对所签署消息是不可见的,称为盲签名(Blind Signature)。

盲签名是由David Chaum于1983年提出的。盲签名在数字现金、电子投票等领域都有较大的应用价值,特别是目前的数字现金,大部分都是采用盲签名的原理实现。

盲签名的基本思想是:求签名者把明文消息M通过盲变换为M′,M′隐藏了明文M的内容;然后把M′给签字者(仲裁者)进行签名,得到签名结果S(M′);最后,求签名者取回S(M′),采用解盲变换处理得到S(M),就是M的签名,如图4-5所示。

图4-5 盲签名原理

有一类特殊的盲签名叫完全盲签名,其性质是:签名者在文件上的签名是有效的,签名是其签署文件的证据。如果把文件给签名者看,他可确信他签署过这份文件。但是,签名者不能把签署文件的行为与签署了的文件相关联。即使他记下了他所做的每一个盲签名,他也不能确定他在什么时候签署了该文件。

4.批量签名

批量签名(Batch Signature),是指能够用一次签名动作,完成对若干个不同的消息的签名;并且以后可以对每一条消息独立的进行认证。该类签名算法的突出优点就是提高了对批量文件签名的效率,其在电子商务的某些领域是有应用的。

较早提出批量签名概念的是Amos Fiat,其于1990年提出Batch RSA方案。之后,还有学者提出基于DSA的批量签名算法等。

5.群签名

群体密码学(Group-Oriented Cryptography)是Desmedt于1987年提出来的。它是研究面向社会团体或群体中的所有成员需要的一种密码体制。本节介绍群体密码学中有关签名的一些内容。

(1)群签名特点

群签名(Group Signature)是Chaum和vanHeyst于1991年提出的,有时也称为团体签名。

举例:如用在投标中,所有投标公司组成一个团体,每一个公司都用群签名方式对标书签名,通常情况下是不知道哪一个标书是具体哪一个公司签名的,只有选中标书之后才能识别出是哪一家公司;当然,此时中标公司若想反悔也无济于事了,因为签名不可能是别人签署的,并且没有该公司参与下同样可以识别出它的签名。

群签名有如下特性:

①只有团体内的成员才能够代表团体签名;

②接收到签名的人可以验证该签名是否属于某一团体的;

③但是,接收者不知道签名的是该团体中的哪一个成员;

④在出现争议时,可以由团体的成员或第三方识别出签字者。

(2)一个简单的群签名协议

介绍一个简单的协议来完成群签名。该协议使用了一个可信赖的第三方,假设该团体有n个成员,下面简单地描述该协议的步骤:

①第三方产生n×m对密钥(公钥私钥对);然后给每一个成员m对互异的密钥;

②第三方把n×m个公钥用随机的顺序加以公开,作为群体的公钥表;并且第三方记住每一个成员对应哪m对密钥;

③当群体中某一个成员签名时,从自己的m个私钥中随机选择一个,进行签名;

④而验证签名时,用该团体的公钥表进行签名认证即可;

⑤当发生争议时,第三方知道密钥对与成员之间的对应关系,所以可以确定出签名者是团体中哪一个成员。

当然,上述协议的较大缺陷在于需要一个第三方。

6.代理签名

代理签名(Proxy Signature),就是指定某人来代替自己签署,也称为委托签名。由此就引来问题,如何在不把自己的私钥给代理人的情况下,而使代理人又替代自己完成签名的功能?代理签名在某些特殊领域是有用途的,例如:当你度假期间,希望你的秘书替你签署处理一些文件,就需要使用代理签名。

代理签名一般应该具有如下特点:

(1)可区分性(Distinguish ability) 代理签名与某人的通常签名是可以区分的。

(2)不可伪造性(Unforge ability) 只有原来的签名者和所托付的代理人可以建立合法的代理签名。

(3)代理签名的差异(Deviation) 代理签名者不可能制造一个合法代理签名,而不被检查出来其是一个代理签名。

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

(5)可识别性(Identifiability) 原始签名者可以从代理签字结果中识别出代理签名者的身份。

(6)不可抵赖性(Undeniability) 代理签名者不能事后抵赖他所建立的已被认可的代理签名。

在有的情况下,可能还需要更加强大的可识别性,如任何人都可以从代理签名中识别出代理人的身份等。

代理签名从授权的程度上来划分,可以分为三类:完全授权(full delegation),部分授权(partial delegation),许可证授权(delegation by warrant)。

完全授权方式,就是全部的秘密参数都交给代理者,此时可区分性不复存在。

部分授权方式,就是用秘密参数s,计算出另外一个的参数σ,把σ交给代理者;当然要求从σ不可能推导出s;代理者秘密保存σ。其中又可以区分为两种方式,一种称为不保护代理者(proxy-unprotected)的方式,就是原始的签名者和代理者都可以产生合法的代理签名,而其他人不可能产生合法的代理签名;另一种称为保护代理者(proxy-protected)的方式,就是仅仅代理者可以产生合法的代理签名,而原始的签名者和其他人都不可能产生合法的代理签名。

许可证授权方式也区分为两种。一种称为Delegate-proxy方式,就是原始签名者用自己的私钥按普通签名方式签署一个文件给代理者、声明该人作为自己签名的代理者;另一种称为Bearer-proxy方式,许可证包括消息和原始签名者用自己的私钥按普通签名方式完成的签名,消息中包含一个全新的公钥,而对应的私钥交给代理者保存并用其进行代理签名。

7.多重签名

多重签名是面对团体而使用的,即一个文件需要多个人进行签署。这在实际生活中最为普通,有时甚至需要在一个文件上加盖十几个印章。

假设A和B都需要对文件进行签名,最为简单的有两种方式。一是A、B各对文件的副本进行签名,当然保存时需要保存两份。二是先由A对文件签名,然后B再对A的签名结果进行签名,此时的缺点是必须先验证B的签名前提下,才可能验证A的签名。当然,签署人更多时,上面两法的缺点就非常严重了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈