nginx深度学习1——https原理

1,为什么需要HTTPS?

原因:HTTP不安全

(1)传输数据被中间人盗用、信息泄露

(2)数据内容劫持、篡改

 

2,HTTPS协议的实现

对传输内容进行加密以及身份验证

 

对称加密和非对称加密

对称加密:

nginx深度学习1——https原理

对称加密,加密的秘钥是一对的。

 

非对称加密:

nginx深度学习1——https原理

加密秘钥和解密秘钥是不一样的。服务端一般保存私钥,客户端一般保存公钥。

 

那么HTTPS的加密原理,它同时用到了对称加密和非对称加密。

nginx深度学习1——https原理

为什么要用两种呢?因为非对称加密,每次都要先发送公钥,对性能是有损耗的。因此,第一次用非对称加密之后,就可以用对称加密了。

 

中间人伪造客户端和服务端

nginx深度学习1——https原理

这种方式的劫持,上面的https是防范不了的,因此就加入了CA证书。

nginx深度学习1——https原理

这样的话,客户端会对CA证书进行校验,中间人是无法生成能够进行匹配CA证书的校验的,因为这个认证是第三方做的,客户端会单独进行校验。