一 数字签名
数字签名的概念:本质是一段加密信息,只有发送者才能生成,别人无法伪造(类似于手工签字、印章)。底层基于非对称加密实现,使用私钥加密、公钥解密,因为私钥只有发送者自己知道,所以杜绝了被伪造的可能。
数字签名的作用:
- 防冒充(伪造)。
- 鉴别身份
- 防篡改(信息完整性)
- 防重放
- 防抵赖
- 机密性
二 加密通信模型
严格的加密通信需要满足以下几个条件:
- 保证数据不会被第三方获知。(也许会被第三方获取到信息,但绝不会被解密,需要使用非对称加密方式)
- 保证数据的发送者身份可信。(验证数据不是其他第三方发送的,确保数据来源可信,通过数字签名验证)
- 保证数据完整性。(保证数据是完整的,没有被篡改或破坏的,通过信息摘要验证)
以下通信模型可以满足上述条件:
- 信息摘要,发送者生成信息摘要连同数据一起发送过去,接收方拿到数据之后重新生成信息摘要并比较发送方的信息摘要,如果相同则保证了数据完整性,没有被破坏或篡改。
- 数字签名,发送者使用自己的私钥加密信息摘要生成数字签名,接收者收到数据后使用发送者的公钥解密。私钥只有发送者自己知道,如果不是发送者发的数据则数字签名解密不对,最后的信息摘要也验证不过的。
- 非对称加密,数据和数字签名在网络中传输的内容是被公钥加密的,只有接受者的私钥才能解密,因此保证了数据安全性,不会被第三方获知。
对称加解密的时间成本比较高,对以上模型做出改进,用对称加密方式加密主要内容,非对称加密只用来加密对称加密的秘钥