网络安全基础知识:
问题 | 解决 |
---|---|
1.窃听 | 加密 |
2.欺骗 | 消息认证/数字签名 |
3.伪造 | 消息认证/数字签名 |
4.否认 | 数字签名 |
在公钥密码中,任何人都可以使用公钥进行加密
在数字签名技术中,有以下2种行为
生成签名
- 由消息的发送者完成,通过“签名密钥”生成
验证签名
- 由消息的接收者完成,通过“验证密钥”验证
思考
如何能保证这个签名是消息发送者自己签的?
答案
用消息发送者的私钥进行签名
数字签名和公钥密码
数字签名,其实就是将公钥密码反过来使用
私钥 | 公钥 | |
---|---|---|
公钥密码 | 接受者解密时使用 | 发送者加密时使用 |
数字签名 | 签名者生成签名时使用 | 验证者验证签名时使用 |
谁持有密钥 | 个人持有 | 只要需要,任何人都可以持有 |
数字签名的过程(简化版)
简化版缺点就是对消息进行加密很耗性能或者耗费时间.
数字签名的过程 – 改进
数字签名验签
如果有人篡改了文件内容或者签名内容,会是什么结果?
结果是:签名验证失败,证明内容会篡改
数字签名不能保证机密性?
数字签名的作用不是为了保证机密性,仅仅是为了能够识别内容有没有被篡改
数字签名的作用
- 1.确认消息的完整性
- 2.识别消息是否被篡改
- 3.防止消息发送人否认
数字签名无法解决的问题
中间人攻击
要正确使用签名,前提是用于验证签名的公钥必须属于真正的发送者
如果遭遇了中间人攻击,那么
- 1.公钥将是伪造的
- 2.数字签名将失效
所以在验证签名之前,首先得先验证公钥的合法性
如何验证公钥的合法性?
证书(数字证书)