https的通信过程
https的特点
1. https有 握手阶段 和 请求阶段
2. 握手阶段 使用 非对称加密算法
请求阶段 使用 对称加密算法
3. 保证数据的完整性使用数字签名
4. 握手阶段有两组非对称加密,数字证书本身有一组公私钥,用于将服务器公钥发送到客户端。
服务器也有一组公私钥,用于将客户端的随机密码发送到服务器。
https基本过程
1. 客户端请求服务器,服务器返回数字证书(里面包括,服务器公钥,网站地址,证书颁发机构),数字证书本身使用证书私钥加密
2. 解密证书,验证证书数字签名,通过操作系统和浏览器内置的CA证书信息。验证通过后,客户端生成一个随机密码,用接收到的服务器公钥将其加密,发送到服务器
3. 用服务器私钥解密,得到随机密码
4. 握手结束,之后的通信全部使用随机密码进行对称加密通信
https的缺点
1. 握手阶段增加了服务器和客户端的开销,延长了通信时间
2. 通信阶段使用对称加密也会增加服务器和客户端的负担