简述 HTTPS 握手流程

简述 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 握手流程

  1. 客户端向服务端发送连接请求,并发送支持的 SSL 版本,支持的加密算法,一个随机数
  2. 服务端收到请求,验证 SSL 版本及加密算法是否支持。然后也发一个随机数,并且将含有公钥和私钥的证书发给客户端认证;
  3. 客户端收到证书,验证其有效性:是否是受信任的机构,证书是否过期,是否被吊销等。然后也生成一个随机数,并用公钥对这个随机数进行加密,发给服务端;
  4. 服务端使用自己的私钥对加密的随机数进行解密,然后使用加密算法将以上三个随机数进行加密,生成对话密钥,用来加密后面的对话过程;
  5. 客户端收到服务端的加密会话,后面客户端与服务的通信都使用密文传输
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三次握手流程如下: 1. 客户端发送SYN包到服务器,并进入SYN_SEND状态,等待服务器确认。 2. 服务器收到SYN包后,确认客户端的SYN,并发送一个SYN+ACK包给客户端,同时自己也发送一个SYN包,进入SYN_RECV状态。 3. 客户端收到服务器的SYN+ACK包后,向服务器发送确认包ACK,完成三次握手,客户端和服务器进入ESTABLISHED状态,可以开始传输数据。 四次挥手的流程如下: 1. 客户端或服务器其中一方执行close()操作,发送一个FIN包给对方,进入FIN_WAIT_1状态。 2. 接收到FIN包的一方发送一个ACK包给对方,进入CLOSE_WAIT状态。 3. 接收到ACK包的一方发送一个FIN包给对方,进入LAST_ACK状态。 4. 接收到FIN包的一方发送一个ACK包给对方,进入TIME_WAIT状态,等待一段时间后关闭连接。 需要注意的是,三次握手是用于建立连接,而四次挥手是用于关闭连接。 #### 引用[.reference_title] - *1* *2* [简述TCP协议“三次握手,四次挥手”流程](https://blog.csdn.net/ldj0816/article/details/88813835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [简述TCP的三次握手和四次挥手](https://blog.csdn.net/qq_44647809/article/details/115143100)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值