数字签名
概述
一个把数字形式的信息和某个源发实体相联系的数据串,把它附加在一个消息或完全加密的消息上,以便于消息的接收方能够鉴别消息的内容,并证明消息只能源发于所声称的发送方
在信息安全,包括鉴别、数据完整性、抗抵赖性,大型网络安全通信中的密钥分配、鉴别及电子商务系统中,具有重要作用;主要作用:将消息和拥有消息的实体可信地联系起来
需满足
- 签名不可伪造:除合法签名者外,任何其他人伪造签名困难
- 签名不可抵赖:签名者事后不能否认自己的签名
- 签名可信:任何人都可以验证签名的有效性
- 签名不可复制
- 签名不可篡改:签名的消息被篡改,任何人都可以发现消息与签名的不一致
手写签名 | 数字签名 |
---|---|
签名被认为是被签名消息的一部分 | 签名与消息是分开的,需要绑定在一起 |
验证通过同以前的签名相比较进行的 | 使用公开的方法对签名进行验证 |
签名的物理复制是无效的或容易识别的 | 签名代码物理上可被复制,故需要组织重复使用 |
数字签名方案
由带有陷门的数字签名算法和验证算法构成
数字签名的执行方式
直接数字签名方式
数字签名的执行过程只有通信双方参与,并假定双方有共享的秘密密钥,或者接受一方知道发送方的公钥
缺点:方案的有效性依赖于发送方秘密密钥的安全性
具有仲裁的数字签名方式
在通信双方的基础上引入了第三方仲裁者参与,S表示发送方,R表示接收方,A是仲裁者,M是传送的消息
- 应用对称加密,仲裁者能看到消息内容:每个用户都有与仲裁者共享的秘密密钥
- 应用对称加密,仲裁者不能看到消息内容:每个用户都有与仲裁者共享的秘密密钥,两两用户间也有共享密钥
- 应用公钥加密,仲裁者不能看到消息内容:每个用户都能安全获取仲裁者和其他用户的公钥
基于公钥密码体制的典型数字签名方案
RSA数字签名方案
RSA数字签名体制的安全性决定于RSA公开密钥密码算法的安全性
ElGamal数字签名方案
安全性基于求解离散对数问题的困难性,不费时间打过程了,直接贴图(¬‿¬)
数字签名标准DSS
其中的算法称为DSA,可看作ElGamal的变体,也是基于离散对数问题
基于椭圆曲线密码的数字签名算法ECDSA
签名过程
特殊数字签名方案
不可否认签名
在现实生活中,有时需要在签名者参加的情况下才能进行签名的验证,而签名者又不能否认签名。满足这个要求的数字签名称为不可否认签名方案(Undeniable signature scheme)这一方案的主要目的是阻止签名文件的随便复制和任意散布。
包含三部分
- 签名算法
- 验证算法
- 否认协议
盲数字签名
在常规的数字签名方案中,签名者总是先知道数据的内容后才实施签名,这是通常的办公事务所需要的。但有时却需要某个人对某数据签名,而又不能让他知道数据的内容,这种签名方式称为盲数字签名(Blind Signature),简称盲签名。
显著特点:
- 消息内容对签名者不可见
- 在签名被接收者公开后,签名者不能追踪签名
群签名
……