简述 HTTPS 握手流程

简述 HTTPS 握手流程

前言
SSL
HTTPS 握手流程

前言

HTTPS 是在 HTTP 的基础上加入了 SSL 协议,SSL 是依靠证书来验证服务器的。所以 HTTPS 与 HTTP 最大的区别是 SSL ,那么 SSL 是什么东西呢。HTTPS 又是如何握手的呢?

SSL

概念

SSL(全称:Secure Sockets Layer,中文译为:安全套接层)和 TLS(全称:Transport Layer Securty,中文译为:安全传输层)是对网络传输进行加密并保证其数据的完整性。

特点

SSL 协议分为两层。一层是 SSL 记录协议,它建立在 TCP 协议之上,为高层协议提供数据封装、压缩、加密功能;一层是 SSL 握手协议,它建立在 SSL 记录协议之上,主要是协议双方进行身份认证、协商加密算法、交换秘钥。

作用

认证客户端与服务端;数据传输加密;保证数据完整性,防止数据被篡改。

HTTPS 握手流程

客户端向服务端发送连接请求,并发送支持的 SSL 版本,支持的加密算法,一个随机数;
服务端收到请求,验证 SSL 版本及加密算法是否支持。然后也发一个随机数,并且将含有公钥和私钥的证书发给客户端认证;
客户端收到证书,验证其有效性:是否是受信任的机构,证书是否过期,是否被吊销等。然后也生成一个随机数,并用公钥对这个随机数进行加密,发给服务端;
服务端使用自己的私钥对加密的随机数进行解密,然后使用加密算法将以上三个随机数进行加密,生成对话密钥,用来加密后面的对话过程;
客户端收到服务端的加密会话,后面客户端与服务的通信都使用密文传输。

你可能感兴趣的:(https)