一、HTTPS工作流程
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
它的工作流程为:
- 客户端访问网站,先建立SSL连接,发送一个随机数A以及自己的加密套件等信息。这一步通常被成为
Client Hello
- 服务端收到客户端的请求之后,生成一个随机数B,携带自己的证书(证书包含公钥、有效期等信息)一起发送给客户端,同时返回的还有加密协议信息。这一步通常称为
Server Hello
。 - 客户端拿到证书后,通过公钥验证证书是否有效。如果有效的话,通过随机数A、随机数B以及公钥加密得到一个预主密钥,发送到服务端,这个密钥被称为
Premaster Secret
- 服务端拿到客户端的数据后用私钥解开,通过加密校验,确认数据来自客户端。然后用随机数和预主密钥加密得到会话密钥,通过会话密钥加密一段握手消息,发送到客户端。
- 客户端收到之后解密数据,如果校验通过也发送一段握手消息到服务端。从这里开始所有后续的数据就会通过会话密钥来加密数据通信了。
图解流程为:
二、为什么需要多个随机数
避免客户端的随机数生成不是绝对随机的,多加一层随机数校验
此处评论已关闭