HTTPS加密通信
1.客户端发起https请求(在浏览器中输入https网址)
2.服务器收到请求后,发送非对称的公钥A给客户端
3.客户端生成随机数,作为对称加密的密钥B
4.客户端使用公钥A对密钥B进行加密,得到密钥C
5.客户端将密钥C返回给服务器
6.服务器利用私钥D对接收的密钥C进行解密,得到对称密钥B
7.客户端和服务器利用密钥B作为对称加密密钥进行通信
注意:::公钥其实就是证书(包含了证书的颁发机构和过期时间等)
图片理解
加密方式有哪些???
- 对称加密:加密和解密都是同一个密钥
- 非对称加密:密钥成对出现,分为公钥和私钥,公钥加密需要私钥解密,私钥加密需要公钥解密
加密方式的区别???
- 对称加密速度块
- 对称加密要将密钥暴露,和明文传输没区别
- 非对称加密将公钥暴露,供客户端进行加密,服务端使用私密解密
加密方式的优缺点
- 对称加密:速度块,适合https加密算法,但是客户端和服务器之间传递密钥的过程被人监听,想当于明文传输
- 非对称加密:服务器只将公钥暴露,客户端使用公钥对信息进行非对称加密,服务端用私钥进行解密,但是服务端向客户端回复的适合,只能用私钥进行加密,客户端只能用公钥进行解密;但是公钥是所有人都知道的,都可以读取服务端回复的消息进行解密,所以解决不了服务端向客户端传递消息