数字签名的缺陷

本站作者 2023-04-21 23:55:00

数字签名的缺陷

数字签名

签名将信息和拥有信息的实体可信地联系起来。

数字签名的目的同样是保证信息的完整性和真实性,即消息内容没有被篡改,而且签名也没有被篡改,消息只能始发于所声称的发送方。

定义:数字签名是一种鉴别机制,它可以使一个报文附加上一段起到签名作用的代码,这个代码可以保证报文的来源和完整性。

数字签名应该具有的特性:

(1)签名是不可伪造的;

(2)签名是不可抵赖的;

(3)签名是可信的,任何人都可以验证签名的有效性;

(4)签名是不可复制的,对一个消息的签名不能通过复制变成另一个消息的签名;

(5)签名的消息是不可篡改的,一旦签名的消息被篡改则任何人都可以发现消息与签名之间的不一致性。

数字签名和手写签名的比较:

(1)手写签名:签名被认为是被签名下消息的一部分。数字签名:签名与消息是分开的,需要一种方法将签名与消息联系绑定起来。

(2)手写签名:验证需要由经验丰富的消息接收者通过同以前的签名相比较而进行。数字签名:所有拥有公钥的人都可以验证

(3)物理复制的不同,手写签名不易拷贝,数字签名容易拷贝。

签名算法:S=SigA(M)或S=Sigsk(M) 返回代码

验证算法:VerA(M,S)或Verpk(M,S) 返回布尔值

设计要求:

(1)签名必须依赖于被签名消息的比特模式(签名与消息应该是一个不可分割的整体)

(4)伪造不可行

RSA攻击方式:攻击者获取密文后构造一个”明文“让私钥方签名,传回后就可以处理得到明文。

目前签名机制的抗抵赖只能针对签名方,对于接收方的抗抵赖存在问题。

数字签名的执行方式有两类:直接数字签名和具有仲裁的数字签名方式

(1)直接数字签名方式

数字签名的执行过程只有通信双方参与,并假定双方有共享的秘密密钥,或者接收一方知道发送方的公开密钥。

局限性:依赖于发送方密钥的保密,发送方可以谎称私钥被窃用了

(2)具有仲裁的数字签名

引入第三方仲裁者。通常的做法是所有从发送方到接收方的签名消息首先送到仲裁者,仲裁者将消息及其数字签名进行一系列的测试,以检查其来源和内容,并将消息加上时间戳,与已被仲裁者验证通过的数字签名一起发送给接收方。

方案一 对称加密,仲裁者可以看到消息内容

该方案的前提是每个用户都有与仲裁者共享的秘密密钥。接收者和发送者之间没有。

方案二:对称加密,仲裁者不能看到消息内容

该方案的前提是每个用户都有与仲裁者共享的秘密密钥,而且两两用户间也有共享密钥。

方案三:公钥加密,仲裁者不能看到消息内容

该方案的前提是每个用户都能安全获取仲裁者和其它用户的公开密钥。

基于公钥密码体制的典型数字签名方案

三个过程:

(1)系统的初始化过程:产生的数字签名方案中用到的一切参数,有公开的,也有秘密的。

(2)签名产生过程:签名过程可以是公开的也可以不公开;

(3)签名的验证过程:公开验证方法。

RAS

RSA 数字签名算法的安全性取决于 RSA 公开密钥密码算法的安全性。

EIGamal

非确定性,随机数k不能被泄露,安全性基于有限域上求解离散对数问题的困难性。

特殊数字签名方案

1.不可否认签名

签名者参与才能进行签名的验证,而签名者又不能否认签名。目的是阻止签名文件的随意复制和任意散布

三个部分:签名算法,验证算法,否认协议。

2.盲签名

应用情景:电子匿名选举

签名者不知道签名的内容,显著特点:

(1)消息的内容对签名者不可见

(2)在签名完成之后签名者不能追踪自己签名

原理:盲化处理,签名算法

3.群签名

应用前景:网上匿名招标

某个群组中的任何一个成员都可以以群组的名义匿名签发消息,验证者可以确认数字签名来自该群组,但不能确认是群组中的哪一个成员进行的签名。但当出现争议时,借助于一个可信的机构或群成员的联合就能识别出那个签名者。满足以上要求的数字签名就是群签名(Group signature)。

匿名性,防伪造性,可信跟踪,可开脱性,抗合谋攻击

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。