网络协议学习笔记 · 18

加密、数字签名及证书学习笔记
本文是一篇学习笔记,介绍了加密相关知识,包括对称加密(如DES、3DES、AES)及密钥配送问题,非对称加密的公钥、私钥和密钥配送,混合密码系统结合二者优势。还讲解了数字签名的生成、验证及作用,最后提到公钥合法性及证书的使用、注册等内容。

学习笔记系列文章


加密

对称加密(对称密码)
对称密码中,加密用的密钥和解密用的密钥是相同的
图01

非对称加密(公钥密码)
公钥密码中,加密用的密钥和解密用的密钥是不同的
图02

对称加密(Symmetric Cryptography)

图03

DES(Data Encryption Standard)

图04

3DES(Triple Data Encryption Algorithm)

图05

加解密过程
图06
3个密钥都是不同的,也称为 DES-EDE3
如果密钥1、密钥3相同,密钥2不同,称为 DES-EDE2

如果所有密钥都使用同一个,则结果与普通的 DES 是等价的

AES(Advanced Encryption Standard)

图07

密钥配送问题

在使用对称加密时,一定会遇到密钥配送问题

如果 Alice 将使用对称加密过的消息发给了 Bob,只有将密钥发送给 Bob,Bob 才能完成解密。
在发送密钥过程中,可能会被 Eve窃取密钥,最后 Eve 也能完成解密。

解决方法
图08

非对称加密(Asymmetric Cryptography)

图09

公钥、私钥

公钥和私钥是一一对应的,不能单独生成
一对公钥和私钥统称为密钥对(key pair)

由公钥加密的密文,必须使用与该公钥对应的私钥才能解密
由私钥加密的密文,必须使用与该私钥对应的公钥才能解密

非对称加密密钥配送

  1. 由消息的接收者,生成一对公钥、私钥
  2. 将公钥发给消息的发送者
  3. 消息的发送者使用公钥加密消息

非对称加密的加密解密速度比对称加密要慢

目前使用最广泛的非对称加密算法是 RSA

RSA 的名字由它的 3 位开发者,Ron Rivest、Adi Shamir、Leonard Adleman 的姓氏首字母组成

混合密码系统(Hybrid Cryptosystem)

对称加密的缺点
不能很好地解决密钥配送问题(密钥会被窃听)

非对称加密的缺点
加密解密速度比较慢

混合密码系统:是将对称加密和非对称加密的优势相结合的方法
解决了非对称加密速度慢的问题,并通过非对称加密解决了对称加密的密钥配送问题

网络上的密码通信所用的 SSL/TLS 都运用了混合密码系统

加密

会话密钥 (session key)
为本次通信随机生成的临时密钥
作为对称加密的密钥,用于加密消息,提高速度

加密步骤(发送消息)

  1. 首先,消息发送者要拥有消息接收者的公钥
  2. 生成会话密钥,作为对称加密的密钥,加密消息
  3. 用消息接收者的公钥,加密会话密钥
  4. 将前 步生成的加密结果,一并发给消息接收者

发送出去的内容包括
会话密钥加密的消息(加密方法:对称加密)
公钥加密的会话密钥(加密方法:非对称加密)

解密

解密步骤(收到消息)

  1. 消息接收者用自己的私钥解密出会话密钥
  2. 再用第①步解密出来的会话密钥,解密消息

加解密流程

图10

思考

图11

数字签名

在数字签名技术中,有以下 2 种行为:

生成签名
由消息的发送者完成,通过“签名密钥”生成

验证签名
由消息的接收者完成,通过“验证密钥”验证

如何能保证这个签名是消息发送者自己签的?
用消息发送者的私钥进行签名

过程

图12

过程改进

图13

思考

  1. 如果有人篡改了消息内容或签名内容,会是什么结果?
    签名验证失败,证明内容被篡改了

  2. 数字签名不能保证机密性?
    数字签名的作用不是为了保证机密性,仅仅是为了能够识别内容有没有被篡改

  3. 数字签名的作用?
    确认消息的完整性
    识别消息是否被篡改
    防止消息发送人否认

公钥、私钥再总结

图14
图15

公钥的合法性

如果遭遇了中间人攻击,那么公钥将可能是伪造的
图16
如何验证公钥的合法性?
证书

证书(Certificate)

图17

使用

图18
各大CA的公钥,默认已经内置在浏览器操作系统

注册和下载

图19

查看 Windows 已经信任的证书

图20

上一篇:17. 代理 · CDN · 网络安全 · 单向散列函数
下一篇:19. HTTPS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值