HTTPS的工作原理(HTTPS建立连接的过程)

5 分钟阅读 597 字 + 523 词
HTTPS 采⽤的是对称加密和非对称加密结合的「混合加密」⽅式
HTTPS在建立了TCP连接之后还需要进行TLS握手阶段,我介绍一下基于RSA算法密钥交换的流程。
1.客户端首先发送client hello,将**随机数R1,TLS版本号,密码套件(RSA算法)**发过去。
2.服务端收到后,发送server hello,将 随机数R2,以及它的数字证书发送过去 ,并且 确认TLS版本号以及密码套件
3.客户端 通过CA来校验证书,取出公钥 ,并通过 公钥加密随机数pre-master-key发送给服务端 。再结合这 三个随机数 算出会话密钥,这个会话密钥就是为之后通信做对称加密的密钥。
4.服务端利用 自己的私钥解密取出pre-master-key ,同样结合这三个随机数算出会话密钥。然后发送握手数据的摘要。之后进行对称加密。
参考答案:
HTTPS 主要基于 SSL/TLS 协议, 确保了数据传输的安全性和完整性, 其建立连接并传输数据的过程如下:
  1. 密钥交换 :客户端发起HTTPS请求后, 服务器会发送其公钥证书给客户端
  2. 证书验证 :客户端 会验证服务器的证书是否由受信任的证书颁发机构( CA )签发 ,并检查证书的有效性。
  3. 加密通信 :一旦证书验证通过, 客户端会利用三个随机数生成一个随机的对称加密密钥 并使用服务器的公钥加密这个密钥,然后发送给服务器。
  4. 建立安全连接 :服务器 使用自己的私钥解密得到对称加密密钥 ,此时客户端和服务器都有了相同的密钥,可以进行加密和解密操作。
  5. 数据传输 :使用 对称加密密钥对所有传输的数据进行加密,确保数据在传输过程中的安全性
  6. 完整性校验 :SSL/TLS协议还包括 消息完整性校验机制 ,如 消息认证码,确保数据在传输过程中未被篡改
  7. 结束连接 :数据传输完成后, 通信双方会进行会话密钥的销毁 ,以确保不会留下安全隐患。
数字证书签发和验证流程:
image-20241021164246846
/image-20241021164246846.png)