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

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

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

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

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

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

具体过程如下:

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

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


这期就到这里 , 下期见!

相关推荐
虎王物联9 分钟前
ESP32 HTTP客户端开发实战:TLS加密通信与RESTful API集成方案
http·restful·iphone
Zguigo1 小时前
lesson19-23计算机网络数据链路层完全指南:从帧封装到滑动窗口协议
网络·计算机网络
小僧景贤3 小时前
嵌入式网络协议 | MQTT、CoAP与HTTP协议深度解析(原理、差异、工程选型、代码实操)
mqtt·http·物联网协议·coap·网络协议选型
肠畔码农4 小时前
Redis 主从复制内核深潜:从物理模型到全量增量同步的本质
网络·redis·php
CDN3605 小时前
360CDN发布HTTP/3(QUIC)弱网加速方案:实测首屏提速40%,彻底终结移动端接口超时与频繁断连
网络·网络协议·http
随风而飘1865 小时前
安立(Anritsu)MT8820C无线综合测试仪(手机综测仪)
网络·功能测试·测试工具·5g·智能手机
SWAGGY..5 小时前
【C++ 初阶】:(12)深入理解C++ stack:容器适配器、底层容器与算法实战
网络·网络协议·rpc
嵌入式阿蔡6 小时前
项目实战 02:智能家居环境网关——ESP32 做 BLE 中心 + 本地联动
网络·单片机·嵌入式硬件·esp32·智能家居·嵌入式实时数据库
Doraemomo6 小时前
Linux编程-socket网络编程之TCP
linux·网络·tcp/ip
猫咪宝妖6 小时前
信息安全工程师-网络信息安全
网络