HTTPS通信的加密问题

如大家所了解的,在未加密的 HTTP 中,客户端会打开一条道 web 服务器端口 80 的 TCP 连接,发送一条请求报文,接收一条响应报文,关闭连接。

在 HTTPS 通信中:

  1. 由于 SSL 安全层的存在,客户端首先打开一条道web服务器端口 443(安全HTTP的默认端口)的连接。
  2. 一旦建立了 TCP 连接,客户端和服务器就会初始化 SSL 层,对加密参数进行沟通,并交换密钥,进行 SSL 握手。
  3. 握手完成之后,SSL 初始化就完成了,客户端就可以将请求报文发送给安全层了
  4. 在将这些报文发送给 TCP 之前,要先对其进行加密

在发送已加密的 HTTP 报文之前,客户端和服务器要进行一次 SSL 握手,这个过程中,它们要完成以下工作:

  1. 交换协议版本号
  2. 选择一个两端都了解的密码
  3. 对两端的身份进行验证
  4. 生成临时的会话密钥,以便加密信道

需要注意的是:SSL 是一个二进制协议,且在通过网络传输任何已加密的 HTTP 数据前,SSL 已经发送了一组握手数据来建立通信连接了。

相关推荐
sunfove16 小时前
光网络的立交桥:光开关 (Optical Switch) 原理与主流技术解析
网络
Kevin Wang72719 小时前
欧拉系统服务部署注意事项
网络·windows
min18112345619 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
汤愈韬19 小时前
NAT策略
网络协议·网络安全·security·huawei
汤愈韬19 小时前
Full Cone Nat
网络·网络协议·网络安全·security·huawei
zbtlink19 小时前
现在还需要带电池的路由器吗?是用来干嘛的?
网络·智能路由器
桌面运维家20 小时前
vDisk配置漂移怎么办?VOI/IDV架构故障快速修复
网络·架构
dalerkd20 小时前
忙里偷闲叙-谈谈最近两年
网络·安全·web安全
汤愈韬20 小时前
NAT ALG (应用层网关)
网络·网络协议·网络安全·security·huawei
运维栈记1 天前
虚拟化网络的根基-网络命名空间
网络·docker·容器