网络通信基础回顾:OSI七层模型与TCP/IP四层模型、数据包封装与解封装过程、常见网络协议简介

做传输脱敏,说白了你得先搞懂数据在网络上是怎么跑的。如果连数据包长什么样、在哪一层被处理都不清楚,那脱敏策略基本就是瞎蒙。这一节我带大家把网络通信的基础再过一遍——不扯太深的理论,重点讲你实际做安全防护时用得上的东西。

OSI七层模型:理论上的完美分层

OSI模型是国际标准化组织搞出来的参考模型。七层,从下往上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

我个人习惯记一个口诀:「物链网传会表应」。你想想看,数据从一台机器发出去,要经过这七层一层层打包,到了对端再一层层拆开。每一层只关心自己的事,不越界。

核心要点:OSI模型是理论框架,实际生产中没人完全按七层来建系统。但它给了我们一个清晰的「分层思维」——每一层独立处理,层与层之间通过标准接口通信。做安全的人必须理解这个思维,否则你根本不知道你的防护手段该放在哪一层。

我在项目中遇到过不少团队,做加密只盯着应用层,结果数据在传输层就裸奔了。嗯,这里要注意:脱敏策略必须明确作用在哪一层。

TCP/IP四层模型:实际工业标准

TCP/IP模型把OSI七层压缩成了四层:网络接口层、网际层、传输层、应用层。说白了,这就是互联网真正在用的那套东西。

OSI七层 TCP/IP四层 典型协议
应用层、表示层、会话层 应用层 HTTP、HTTPS、FTP、MQTT、SMTP
传输层 传输层 TCP、UDP
网络层 网际层 IP、ICMP、ARP
数据链路层、物理层 网络接口层 以太网、Wi-Fi、PPP

做传输脱敏,你最常打交道的是传输层和应用层。TCP保证可靠,UDP追求速度,HTTP/HTTPS承载Web流量,MQTT是物联网的宠儿——每一类协议都有不同的脱敏切入点。

数据包封装与解封装:数据在网线里到底长什么样

数据从应用层往下走,每一层都会给数据加一个头部(有的层还会加尾部)。这个过程叫封装。到了对端,从下往上逐层去掉头部,叫解封装。

举个例子。你在浏览器里发一个POST请求,数据是这样的:

应用层:HTTP请求头 + 请求体(比如JSON数据)
传输层:TCP头部(源端口、目的端口、序列号等)+ 上层数据
网际层:IP头部(源IP、目的IP、TTL等)+ 上层数据
网络接口层:以太网帧头(源MAC、目的MAC)+ 上层数据 + 帧尾(FCS校验)

我曾经帮一个客户排查数据泄露问题,发现他们的脱敏网关只检查了应用层内容,但攻击者把敏感数据塞到了TCP选项字段里——结果网关直接放行了。这就是典型的「脱敏层选错了」的坑。

避坑指南:数据包封装过程中,每一层都可能携带敏感信息。IP头里的源地址、TCP头的序列号、应用层的Cookie——这些都可能成为泄露点。做脱敏时,不要只盯着载荷,头部信息同样需要评估。

常见网络协议简介

下面这几个协议,你做传输脱敏几乎天天碰到。我挑重点讲。

HTTP / HTTPS

HTTP是明文协议,请求和响应都是肉眼可读的。HTTPS就是在HTTP外面套了一层TLS加密。很多人觉得HTTPS就安全了——其实不一定。HTTPS只加密传输通道,数据到了服务端就解密了。如果你在网关层面做脱敏,HTTPS流量必须先解密才能处理。

我个人建议:HTTPS解密一定要合规,别私自搞中间人。我曾经见过一个团队在内部网关硬解HTTPS,结果被审计查出来,罚得不轻。

TCP / UDP

TCP面向连接,可靠传输,有三次握手、重传机制。UDP无连接,速度快,但丢包不负责。

做脱敏时,TCP流可以完整重组,适合做深度内容检测。UDP就麻烦一些——数据包之间没有顺序关系,你很难还原完整的会话。我在做物联网安全项目时,UDP流量脱敏一直是难点。

FTP

FTP传文件很古老了,但很多企业内部还在用。FTP有两个通道:控制通道(21端口)和数据通道(20端口)。控制通道传命令,数据通道传文件内容。

脱敏FTP要注意:数据通道的端口是动态协商的,你如果只固定监控21端口,文件内容就漏了。我曾经踩过这个坑,后来老老实实做了FTP协议解析。

MQTT

MQTT是物联网场景的轻量级协议,基于发布/订阅模式。设备通过Topic发布消息,订阅者接收。

MQTT的Payload通常是JSON或二进制数据,而且很多IoT设备计算能力有限,做不了太复杂的加密。这时候传输脱敏就很重要——你可以在MQTT Broker层面做字段级脱敏,比如把设备ID、位置信息替换掉。

经验之谈:MQTT的Topic本身也可能包含敏感信息,比如 /factory/line1/temperature。脱敏时别忘了Topic也要处理。我见过一个项目,Payload脱得干干净净,结果Topic直接暴露了产线编号和工艺参数。

本章知识体系图

下面这张图把OSI模型、TCP/IP模型、封装过程以及常见协议的关系串起来了。建议你保存下来,后面做脱敏方案时随时对照。

网络通信基础:分层模型与协议关系 OSI七层模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP/IP四层模型 应用层 传输层 网际层 网络接口层 常见协议 HTTP / HTTPS FTP MQTT TCP / UDP IP / ICMP ARP 以太网 封装过程 数据 +TCP头 +IP头 +帧头 +帧尾 比特流 脱敏切入点:应用层(HTTP/MQTT Payload)、传输层(TCP/UDP头部)、网际层(IP地址)

这张图从左到右展示了OSI七层、TCP/IP四层、常见协议以及数据封装过程。你可以看到,每一层都有对应的协议和封装动作。做传输脱敏时,你需要明确:你的脱敏策略作用在哪一层?处理的是头部还是载荷?