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

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

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

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

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

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

具体过程如下:

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

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


这期就到这里 , 下期见!

相关推荐
fat house cat_4 小时前
记一次网络io学习流水账
网络·学习
is08155 小时前
全志 H3 armbian 备份
linux·服务器·网络
国科安芯6 小时前
ASP4644芯片低功耗设计思路解析
网络·单片机·嵌入式硬件·安全
IT_Octopus6 小时前
https私人证书 PKIX path building failed 报错解决
java·spring boot·网络协议·https
艾菜籽6 小时前
网络原理-HTTPS
网络·网络协议·https
努力学习的小廉7 小时前
深入了解linux网络—— TCP网络通信(下)
linux·网络·tcp/ip
Arva .8 小时前
HTTP Client
网络协议·http·lua
Bruce_Liuxiaowei9 小时前
MQTT协议在物联网环境中的安全风险与防范指南
运维·网络·物联网·安全·网络安全
Paul_09209 小时前
golang面经——内存相关模块
服务器·网络·golang
yenggd9 小时前
vxlan-bgp-evnp分布式网关配置案例
网络·分布式·华为