数字签名技术
定义和应用原理
数字签名(Digital Signature,电子签名,公钥数字签名)利用电子信息加密技术实现在网络传送信息报文时,附加一个特殊的唯一代表发送者个人身份信息的标记,表示确认、经手、真实
这个标记是只有信息的发送者才能产生的别人无法伪造的一段数字串,是原信息报文数据加密转换生成的,是对信息的发送者发送信息真实性的一个有效证明
虽然也可以采用整个信息都使用非对称秘钥加密的方式,用发送方的私钥进行加密来确保无法伪造,且不可否认,但报文可能很大很长,而非对称加密效率较低,因此需要数字签名技术。
应用原理:
利用非对称秘钥加密和数字摘要技术,解决报文网络传输和交换的不可否认和真实性,就是防抵赖和篡改。
数字签名(信息报文) = 发送方私钥加密(hash函数(信息报文))
使用过程
1、发送方使用hash算法计算得到信息报文的数字摘要A
2、发送方将数字摘要A使用私钥 采用非对称加密算法 进行加密,得到数字签名,
3、发送方将信息报文和数字签名发送给接收方
4、接收方收到信息报文和数字签名
5、接收方使用发送方公钥 采用非对称加密算法 进行解密数字签名,得到数字摘要A。依此确认发送方身份。
6、接收方使用同样的hash算法计算得到信息报文的数字摘要B
7、比较两个数字摘要AB的一致性来确认报文是否完整
特点
- 真实可信。用公钥可解密数字签名,可以确认为发送方签名
- 不可伪造。签名由发送方私钥加密产生,只有发送方有自身私钥
- 不重复。签名由hash产生,信息报文改变,签名也会改变,一般信息报文会带上时间戳,防止重复使用签名
- 不可篡改。信息报文有任何更改,签名验证将不通过
- 不可抵赖。验证发送方的签名从而认证发送方的行为
优缺点
优点
- 确保数据的真实性和完整性,不易伪造。
缺点
- 无
数字签名应用
双重签名扩展
消息发送方给不同接收方的两条信息报文分别进行hash运算,得到各自的数字摘要,然后讲两条数字摘要连接起来,再进行hash运算,生成新的数字摘要,最后用发送方的私钥对双重摘要加密,得到基于两条数字摘要的数字签名。