星星博客 »  > 

【计算机网络】https是如何做到加密的

1 对称加密

  • 特点:加密和解密用的是同一个密钥
    在这里插入图片描述
  • 优点:加密和解密速度
  • 缺点:密钥无法通过网络安全传输

2 非对称加密(如RSA)

  • 特点:通信双方都保存了一对密钥,一个公钥,一个私钥。公钥是公开的,私钥是保密的。用公钥加密的数据,只有对应的私钥才能解密;用私钥加密的数据,只有对应的公钥才能解密。私钥只存在本地,不需要进行网络传输,解决了对称加密传输密钥的安全性的问题

在这里插入图片描述

  • 优点:相对于非对称加密更安全
  • 缺点:加密和解密效率低

3 非对称加密+对称加密

先使用非对称加密,将对称加密的密钥安传传输给对方。然后通信双方使用这个密钥通过对称加密,进行通信。

4 中间人劫持

在这里插入图片描述

因为公钥是公开的,容易被中间人截取,然后进行劫持。

5 认证中心(CA)和数字证书

想要解决的问题:如何安全传输公钥?即,如何证明公钥是谁的

5.1 消息摘要

在这里插入图片描述
将某人的公钥和个人信息通过Hash算法,得到一个消息摘要。
常见的Hash算法有:MD5、SHA等。

5.2 数字签名

在这里插入图片描述
将消息摘要通过CA的私钥,加密得到数字签名

5.3 数字证书

在这里插入图片描述
数字签名 = 某人的公钥与个人信息+数字签名

5.4 验证数字证书

在这里插入图片描述

将数字证书中的某人公钥与个人信息,通过相同的Hash算法,得到消息摘要1。
将数字证书中的数字签名使用CA的公钥解密,得到消息摘要2。
比较两个消息摘要是否相同,如果相同,表示某人的公钥确实是他自己的

5.4 CA的公钥如何保证是真的

CA通过上一级来验证。直到根部,也就是操作系统/浏览器预置的顶层CA证书,会默认其是可信任的。

6 https完整传输过程

在这里插入图片描述

相关文章