HTTP与HTTPS-HTTPS 的应用数据是如何保证完整性的?

资料来源 : 小林coding
小林官方网站 : 小林coding (xiaolincoding.com)

HTTPS 的应用数据是如何保证完整性的?

TLS 在实现上分为握手协议和记录协议两层

  • TLS 握手协议就是我们前面说的 TLS 四次握手的过程,负责协商加密算法和生成对称密钥,后续用此密钥来保护应用程序数据(即 HTTP 数据)
  • TLS 记录协议负责保护应用程序数据并验证其完整性和来源,所以对 HTTP 数据加密是使用记录协议

TLS 记录协议主要负责消息(HTTP 数据)的压缩,加密及数据的认证,过程如下图

具体过程如下:

  • 首先,消息被分割成多个较短的片段,然后分别对每个片段进行压缩
  • 接下来,经过压缩的片段会被加上消息认证码(MAC 值,这个是通过哈希算法生成的),这是为了保证完整性,并进行数据的认证。通过附加消息认证码的 MAC 值,可以识别出篡改。与此同时,为了防止重放攻击,在计算消息认证码时,还加上了片段的编码
  • 再接下来,经过压缩的片段再加上消息认证码会一起通过对称密码进行加密
  • 最后,上述经过加密的数据再加上由数据类型、版本号、压缩后的长度组成的报头就是最终的报文数据

记录协议完成后,最终的报文数据将传递到传输控制协议(TCP)层进行传输。


这期就到这里 , 下期见!

相关推荐
一遍再一遍11 小时前
【LTE Attach流程】
网络
星夜夏空9911 小时前
网络编程(5)—— Reactor实现(v3)
服务器·网络·php
枫叶丹411 小时前
从一次推理请求出发:模型、显存、网络与服务系统如何共同决定性能
网络·人工智能·chatgpt·开源·agent·codex
恒拓高科WorkPlus11 小时前
制造企业出现生产异常后,如何通过IM快速通知责任人?
网络·制造
熊文豪13 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
网络·网络协议·ssl
91刘仁德13 小时前
Linux网络编程从入门到实战:UDP/TCP协议与socket编程全解析
linux·网络·笔记·tcp/ip·udp
小此方14 小时前
Linux网络(二十):TCP拥塞控制与延迟应答详解:从拥塞窗口到TCP性能优化,理解TCP与UDP的效率差异
linux·网络·php
迪康coolmu14 小时前
屏幕水印与防拍照落地:从水印类型到泄密溯源的完整配置
运维·网络·安全·网络安全·数据安全
AIgorithmGEEK14 小时前
[Linux]HTTP 应用层协议全解(下篇)
linux·网络·网络协议·http·cookie·无连接·无状态