https通信流程

HTTPS通信流程通常包括以下几个关键步骤:

  1. 客户端发起请求:客户端(通常是Web浏览器)向服务器发起HTTPS连接请求,并连接到服务器的443端口(HTTPS的默认端口)。
  2. SSL/TLS握手:在数据传输之前,客户端和服务器会进行SSL/TLS握手。这个过程类似于TCP建立连接时的三次握手。在这个过程中,通信双方会交换消息以相互验证身份,确认所使用的加密算法,并生成会话密钥。
  3. 证书验证:客户端会验证服务器提供的数字证书,确保服务器的身份是可信的。证书通常由受信任的第三方机构签发,并包含服务器的公钥和数字签名。
  4. 非对称加密:在握手过程中,客户端使用服务器的公钥对一个随机生成的对称密钥进行加密,然后发送给服务器。只有服务器的私钥才能解密这个对称密钥,这样双方就安全地协商出了一个共享的秘密密钥,而不被第三方窃听。
  5. 对称加密传输:一旦握手完成,双方就会使用之前协商好的对称密钥对数据进行加密和解密,保证数据传输的安全性。这个对称密钥是临时的,只在当前的会话中使用,会话结束后就会被丢弃。
  6. 数据通信:在建立了加密通道之后,客户端和服务器就可以通过这个安全的通道进行数据的传输了。所有的数据都会被加密,直到通信结束。
  7. 通信终止:当数据交换完成后,客户端和服务器会终止连接,同时丢弃会话密钥。

PS:

第2阶段中具体流程:

SSL/TLS握手是HTTPS通信中的关键步骤,确保了数据的安全传输。

在HTTPS连接建立的过程中,SSL/TLS握手起到了至关重要的作用。它不仅是为了验证通信双方的身份,而且还要确立加密参数和会话密钥。以下是该过程的详细说明:

  1. 客户端发起请求:客户端发送一个"client_hello"消息到服务器,这个消息以明文形式传输,包含了客户端支持的TLS版本、加密套件列表、压缩算法列表、随机数等信息。
  2. 服务器响应:服务器回应一个"server_hello"消息,确认使用的TLS版本和加密套件,并发送自己的随机数。
  3. 证书交换:服务器向客户端提供其数字证书,如果需要双向验证,则请求客户端的证书。
  4. 密钥交换:根据协商的密钥交换算法(如RSA或Diffie-Hellman),产生预主秘钥(Pre-Master Secret)。在RSA密钥交换中,客户端会生成预主秘钥并用服务器的公钥加密后发送给服务器;服务器使用私钥解密得到预主秘钥。
  5. 生成会话密钥:双方利用预主秘钥和之前交换的随机数生成会话密钥。
  6. 验证和确认:如果使用了双向验证,则客户端验证服务器证书的合法性,并对服务器进行认证,然后发送一个包含自己证书的消息给服务器。最后,客户端和服务器分别发送一个"Finished"消息,表示握手结束。
  7. 安全数据传输:握手完成后,客户端和服务器使用会话密钥对数据进行加密和解密,开始安全的数据通信。

总的来说,这个复杂的过程确保了在开始传输实际数据之前,通信双方能够建立一个安全的加密通道。通过这种方式,即使在不安全的网络环境中,敏感信息也能得到保护,防止被窃听或篡改。

即使你使用ip通信,只要通过https协议,依然会有证书的交换过程

相关推荐
@Ma44 分钟前
Fiddler无法从苹果手机上获取app上https数据包解决方案
智能手机·https·fiddler
幻智星科技2 小时前
我砍掉了FPGA里的ARM核项目反而提前交付了
arm开发·网络协议·fpga开发·硬件架构
cyf312 小时前
半小时玩转RDMA:从零跑通高速网络通信
网络协议·rdma·高速通信·rocev2·wireshark抓包·ai 智算网络·入门实战
奇牙coding4 小时前
doubao-seed-2.1-pro 报 HTTP 401 怎么办?Key 正确也要检查请求头和端点
网络·数据库·http·ai
砺星Leetx11 小时前
工业总线选型与对接实战:PROFINET、EtherCAT、EtherNet/IP、PROFIBUS、Modbus-TCP 与 CC-Link
网络·网络协议·tcp/ip·控制器·国产拧紧系统
李纲明13 小时前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
Lsetea17 小时前
curl指定--tlsv1.2仍连接TLS1.3:最低版本与tls-max排查
linux·https·ssl证书·curl·tls
Lsetea17 小时前
curl访问HTTPS报47 Too many redirects:重定向循环与max-redirs排查
linux·http·https·ssl证书·curl
流浪00119 小时前
计算机网络篇8:传输层——序列化与反序列化,TCP 面向字节流的报文边界由应用层自己切
网络协议·tcp/ip·计算机网络·1024程序员节·序列化反序列化·面向字节流·面向数据包
幻智星科技19 小时前
多通道数据采集中collect_end信号的妙用
网络协议·架构·udp·硬件架构