网络的基本概念、通信原理以及网络安全问题
目录
1、 什么是网络?
(1)网络的概念与本质
(2)电压信号的合并与抵消
(3)电压的本质
2、中转设备
(1)背景
(2)中转设备的处理能力与编程能力
3、信息监听的可能性
(1)中转设备带来的监听风险
(2)设备并联带来的监听风险
(3)硬件加密与厂商兼容性
4、网络攻击的两种主要类型
5、真实网络结构简介与安全意义
(1)家庭到交换机的接入
(2)交换机到核心交换的分层关系
(3)网络安全中的“必经之路”监听问题
6、网络通信过程
(1)公网ip与局域网ip
(2)设备交互
(3)程序的区分
(4)网络响应
①确认消息到达
②确认消息没穿错--校验码
③超时重传与过期时间
④ 网络协议漏洞-重复数据包问题
⑤ 轮流转发与数据拆分、排序
7、网络协议
(1)概念及意义
(2)网络协议的通用性和开放性
(3)网络协议的分层结构
8、网络数据截获与攻击方式
(1)监听
(2)篡改
(3)拦截
(4)拷贝/复制
1、 什么是网络?
(1)网络的概念与本质
-
网络就是能够互相通信的设备的集合。
-
不论是手机、电脑、平板、服务器,只要能上网,并且安装了同一个应用(比如微信),它们理论上都可以两两互联。
-
“两两互联”意味着:一个设备发出物理信号,另一个设备就能接收到。
为了跨越很大的地理范围并且保持高速,目前只有两种主要的物理信号方式:
电信号(在电缆、网线中传输),电信号主要有两种感知方式【电压信号、电流信号,网络中常用电压信号,因电流信号不稳定,电流 = 电压 ÷ 电阻,而电阻会随温度等环境因素变化,导致电流波动大。而电压信号受环境影响小,更适合在网络中稳定传输。在真实的网络通信中,高电压代表 1,低电压代表 0,网络最终传输的都是 01比特信号(数字信号)】
电磁波信号(在无线网络、卫星通信等中传输)
网络本质上就是通过电信号(或电磁波)传输“0”和“1”,而这些01比特再被解释成文字、图片、视频等我们能理解的内容。
(2)电压信号的合并与抵消
-
物理上势能会叠加或抵消
-
重力势能、原子势能、电势能……只要方向相同,就叠加;方向相反,就抵消。
-
类比:从 100 米楼顶跳下,同时地面还有一个 -100 米的坑,相当于总落差 200 米。
-
-
电压信号也是一样:同方向 → 电压值叠加,变成更高电压。反方向 → 电压互相抵消。
所以,在单根导线上传输时,多个电压信号会互相叠加或抵消,所以不能同时传多个电压信号。如果要传多个比特信号(比如 5 个比特),只能排队依次传输 → 电压信号依次变化 5 次;或者用多根导线 → 不同导线同时传不同的电压信号(并行传输)
(3)电压的本质
电压 = 势能差,来源于电子数量的不均衡。当某个位置电子数量异常(过多或过少)时,就会产生势能差,这种差异会驱动电子流动。电子的流动方向:从电子多的一端 → 电子少的一端。
当两端通过金属导线连接时,电子会有释放的通道:
-
电子多的一端 → 推动相邻电子 → 相邻电子再推动下一段电子。
-
这种“推挤”类似于一根管子里的水分子互相传递压力,电子本身并不是从头跑到尾,而是通过推挤传递信号。
-
这个推挤压力,就是我们感受到的电压。
信号的传播速度 ≈ 电压的传播速度(不是电子本身移动速度)。
在金属中:金:约 20 万 km/s(最快);银:略慢;铜:再慢一些 ;铁:密度低、致密性差,导电性最弱;越致密的金属,电子传递压力的速度越快。
空气:分子间距大,电子难以穿越(除非电压极高到击穿空气)。
金属:原子排列致密,自由电子多,电子间的距离小,容易传导。
绝缘体(木头、橡胶):分子间距大,电子几乎无法流动;
但木头遇水后,水分子间距小于空气,电子更容易流动,所以会变得有一定导电性,但仍弱于金属。
电压是电子数量不均衡导致的势能差,通过金属的高致密性原子结构,电子之间相互推挤,形成高速的信号传播。传播速度取决于材料的致密性和导电性。
(4)三种传输媒介的比较(有线 / 无线 / 光纤)
-
有线(导线、电压信号)
导线传输通常需要“轮流发送”(半双工/时分的直观比喻),容易被并联攻击(接线监听)。
易被中途并联窃听或篡改(可以在导线上并联拿到电压信号)。
-
无线(电磁波)
用“波”传输,可以同时通过不同频率并行发送(不同频率/颜色比喻),不会相互干涉(频分复用的直观说法)。无线是向四面八方发射,易被周边接收器监听:只要在附近放接收器并按协议解码,就可能知道通话/短信内容。虽可用定向天线(大锅/雷达)定向发送,但覆盖面仍较大、保密性差。
-
光纤
光也是电磁波的一种,可以多频同时发送(带宽大、并行能力强),传输速度理论更快。光纤把光约束在纤芯内传播,中途不容易做并联监听;若物理破坏(打穿),会明显看到信号衰弱或丢失(泄露明显)。因此更安全、更难中途窃听。
无线电:向四面八方发射 → 最容易被监听(只需接收器+解码器)。
有线:可并联窃听或攻击路由/交换设备 → 也有风险。
光纤:中途监听难、但两端转换时仍可被攻击(终端安全要保障)
(5)数据的表示与存储(“一切都是数组”)
所有网络流、文件流、本地程序数据,底层都是二进制流,可以用数组存储和解析。
比特与基本类型映射:
-
每 8 位(bit)可以组成一个
char
(字节)——常把每 8 位看作一个char
存储; -
若是 16 的倍数可用
short
,32 的倍数可用int
/float
,64 的倍数可用long
/double
不管是网络流还是文件流,本质上都能看成数组的不同区间,解析即是对数组分片并按协议解释这些区间。【程序运行在内存中,数据从硬盘加载到内存后也是以数组形式存储】
2、中转设备
(1)背景
要实现电脑之间互联,就需要两两相连,但是这种直连方式:
-
网线数量巨大
-
插满网口也无法高效连接所有设备
-
信号会在同一条导线上互相干扰(电压合并成一个信号)
解决干扰的方法:所有设备先把信号发给中转设备。
中转设备的功能:接收信号、排队、按顺序转发【具有逻辑性】
常见中转设备:机房的交换机(插满网线)、家用路由器(也属于交换设备)
(2)中转设备的处理能力与编程能力
中转设备能进行逻辑判断 → 必须有处理器。中央处理器(CPU)并不是唯一有“智力”的部件,鼠标、键盘、U盘、显示器、硬盘、内存等硬件内部都有一定的处理能力。这些处理器使得硬件能理解指令并配合工作。
仅有处理器不够 → 必须配合编程语言,才能实现逻辑处理和下达指令。
有了处理器 + 编程语言:可以执行复杂逻辑、可以对数据包进行深度处理
全双工技术:
早期网络:一条导线只能单向传输(半双工),需要互相等待。全双工技术是发送和接收用不同的导线,可以同时进行,不会产生冲突。
优点:提高效率,避免数据传输互相阻塞。
3、信息监听的可能性
(1)中转设备带来的监听风险
中转设备在转发数据时,可以复制一份通信内容,并额外发送到其他目的地。
这意味着:如果程序代码中被写入“监听逻辑”,就可以实时获取网络中传输的全部数据。
世界主要国家对网络通信的监听,大多发生在这一环节(交换设备处)。
历史例子:在华为生产通信设备之前,全球大量设备来自美国(思科、锐捷等)。设备可能内置监听功能,使美国能够监控其他国家的通信。
政策影响:许多国家推动国产化设备替换外国设备,以防被监听。美国抵制华为的一个原因:使用华为设备后,美国的监听能力会受限。
(2)设备并联带来的监听风险
在并联电路中,各分支共享同一个电压。
-
电压传输需要持续的电荷流动(电流),才能维持稳定信号。
-
如果有人在传输线路上并联接入另一个电路分支,这个分支就会分到相同的电压信号。
-
因为并联支路和原支路共享电压,所以监听方等于复制了一份数据,不影响原线路继续工作。
-
这样就能“窃取”线路上的信息——无论是发出去的还是返回来的。
这就像水管里的水压:
-
主水管在输水,如果你在中间开个支管,不会影响主水流的方向和速度,但你能接到一模一样的水。
-
在电路中,这个“水压”就是电压信号,而“水流”就是电流。
(3)硬件加密与厂商兼容性
-
不同厂商的设备要互通:必须提前约定统一的通信协议(比如频率、调制方式、编码方式等)。如果某个厂商单独加密,而不告诉别人密钥和算法,别人就无法解码,就无法通话。
-
传统电话和短信其实就是按照公开协议传输的明文信号(虽然有简单编码,但不是加密)。
监听方只要接入同样的线路(物理层并联)或使用合适的无线接收设备,就能还原内容。
凡是不同品牌/不同公司的硬件之间直接交互的时候,是没有秘密可言的,各家厂商不得不使用公开的协议,这就给监听创造了条件。
但是这一问题可以在软件层加密保证通信安全!!!
不同硬件之间直 接通信(如电话、短信)基本上是明文通信,难以保证安全。
解决方案:通过同一软件平台实现端到端加密(E2EE)。
例如微信、QQ电话,它们都是同一家公司开发的软件。
软件之间传输的内容经过加密,外部监听者无法直接解读。
硬件层面无法实现有效加密(跨厂商标准问题)。软件层面加密才是真正安全的通信手段。
4、网络攻击的两种主要类型
-
程序级别攻击:针对软件本身的漏洞,比如缓冲区溢出、脚本攻击等。
-
例如利用程序缺陷实施入侵或恶意操作。
-
-
网络空间攻击:针对网络传输层面进行攻击,比如截获数据包、流量劫持、拒绝服务攻击等。
网络空间安全关注的是数据在网络上传输时的安全,而非软件内部漏洞。
5、真实网络结构简介与安全意义
先从最基础的“每个家庭是如何上网的”开始讲解。
(1)家庭到交换机的接入
家庭(圆圈)是通过一根网线连接到一个交换设备(交换机)。交换机我们在机房或者网络机柜里经常见到,通常体积不大,端口有24口、36口、48口不等。一台交换机可以支持几十个家庭同时上网。
当家庭里的设备上网时,发出的信息先汇集到交换机。交换机会负责排队和转发,将各个家庭的信号轮流发送到外部网络。
(2)交换机到核心交换的分层关系
多台交换机会连接到一个更高级别的核心交换机。核心交换机的处理能力更强,可以支持更多下层交换机的接入。核心交换机和其他核心交换机之间也会相互连接,形成一个更大的交换网络。这种层次结构确保网络的负载能够被合理分配,信号不会冲突。
核心交换机不再集中汇聚到单一点,而是实现两两互联。
这样设计的好处是:
安全性更高,如果某条链路断了,数据流量可以绕道其他链路继续传输。
这避免了单点故障造成整个网络瘫痪的风险。
由于核心交换机的数量有限,两两互联的设计在规模和维护上是可行的。
从地域上划分,网络的层级结构大致为:家庭 → 楼 → 小区 → 市区 → 城市 → 省 → 大区(例如北方大区、华南大区、东北大区等)每个大区有自己的核心交换机,负责管理和路由大区内的流量。大区之间通过核心交换互联,连接全国的网络。
(3)网络安全中的“必经之路”监听问题
整个网络从核心向外围像树状一样扩散。这使得网络既有稳定的中心节点,又有广泛的覆盖范围。有的时候不确定你是否这个信号要走哪条路,但是有一些关键路径是数据必经之路。
也就是说,某些通信数据一定会经过这些链路。攻击者或监听者如果想截获数据,选择在这些必经路径上进行拦截最有效。
网络攻击和监听者需要合理选择拦截区域,选择在网络骨干或必经链路上拦截。
6、网络通信过程
(1)公网ip与局域网ip
一个公网 IP 地址,有可能对应一个路由器。这个路由器连接到互联网后,可以为多个内部设备(电脑、手机、平板等)提供上网服务。换句话说,这个公网IP是路由器对外的唯一标识,多个设备通过路由器共享这个IP访问互联网。
局域网内的设备IP(私网IP)**是唯一的,不同设备拥有不同的局域网IP,对外的公网IP是路由器拥有的,是局域网设备访问互联网时暴露的IP地址。
简单来说:局域网内IP各不相同,区分设备身份;对外互联网多个设备共享同一个公网IP
你们宿舍所有设备连接同一个Wi-Fi,路由器给每个设备分配局域网IP,比如:
电脑1:192.168.1.2
手机1:192.168.1.3
平板1:192.168.1.4
但对外看,所有设备使用的IP地址是路由器的公网IP,比如:123.45.67.89
(2)设备交互
当设备 A 想给设备 B 发送消息时,必须知道设备 B 的目的 IP 地址,这表示消息要发到哪个网络位置。但是,光知道目的 IP 地址还不够。因为一个 IP 地址可能对应多个设备(如局域网内共享一个公网IP的情况)。还需要知道目的设备标志【一个唯一标识设备的标志】,才能确定具体发给哪台设备,这个唯一标志是全球约定的,保证每个设备都有唯一身份。【购买的设备会在购买信息中可以查到这个设备号】
这个唯一标志是什么?
在网络通信中,最常见的“唯一设备标志”就是MAC地址(媒体访问控制地址)。MAC地址是网卡(网络接口卡)的硬件地址,全球唯一,不会重复。设备通信时,在局域网内会用MAC地址来确定具体设备,保证消息正确送达
(3)程序的区分
在网络通信中,IP 地址 → 用来找到目标设备(电脑、手机等)。端口号 → 用来确定设备上具体的应用程序(比如是发给 QQ 还是微信)。
一个设备上可以同时运行很多程序,这些程序可能都要收发网络数据。为了区分这些程序,操作系统会给它们分配不同的端口号。端口号是一个 16 位无符号整数,所以范围是 0~65535(大约 6 万多个)。同一时刻,一个端口号只能被一个程序使用(避免数据混乱)。不同时间可以重复使用同一个端口号(比如程序关闭后,端口释放)。
IP 地址 = 小区和楼栋地址(找到哪栋楼)。
MAC 地址 = 每个房子的全球唯一身份证号(即使换了门牌,也不会变)
端口号 = 楼里的具体房间号(找到哪户人家)。
(4)网络响应
①确认消息到达
在网络通信中,即使我们能够确定目标设备和目标程序,还存在一个重要问题——如何确认消息是否送达,并且能正确返回响应。
现实中,网络传输可能会出错,例如:网线断了、设备没开机、网络掉线、断电..........因此,发送方需要在收到接收方的**确认响应(ACK)后,才能确保数据真正送达。、
如何返回响应呢?返回响应需要知道:来源 IP 地址(源设备)来源 MAC 地址(源网卡)来源端口号(源程序),这些信息会被放入数据包的头部,确保接收方能准确把响应送回去。所以每次发送数据包,都会附带发送方的身份信息(IP、MAC、端口等),并且中转设备会记录网络交互信息,并且可能长期保存【网络运营商会将数据包信息传送到国家的监控服务器----->基站可以定位你的物理位置】,所以在上网浏览信息的时候,只要是对外发了请求。就相当于告诉整个网络中你是谁.............
②确认消息没穿错--校验码
电压信号在传输和感知过程中也会有误差,不是精确的数字。例如附近有变化的磁场,会使某条线切割磁感线而产生额外电压:同方向电压信号:会增强原信号。方向电压信号:会削弱原信号。这可能导致“0变成1”或“1变成0”,从而引发传输错误。
差错检测的思路:在传输时可以同时传递一份校验数据(例如:数据本身 × 2),接收方对比数据与校验值,如果对不上,就说明数据出错。这种方法就是传输时附带“校验码”或“关联数据”,方便接收方验证。
③超时重传与过期时间
如果长时间没有响应,可能是对方出现了问题。通常做法是超时重传:超时后重新发送一次。但如果网络速度慢(如网络震荡、排队延迟),这种情况下,第一个消息传输时间过长,中途经过多个中转设备,每个设备可能有排队时间,导致延迟增加。第一次消息还在路上没到,重传会导致重复发送。
避免无意义的延迟传输,应该设置过期时间:经过中转设备时,如果发现消息已超时,就直接丢弃。
④ 网络协议漏洞-重复数据包问题
网络空间安全的基础,是理解和掌握网络协议,网络协议定义了“电压信号如何编码、如何发送、如何接收”的规则。网络安全设备/系统必须识别不同协议,才能判断数据是否合法、有无攻击行为。
但网络协议本身一般不会存储已接收的所有数据来判断是否重复,因为这样需要占用很大存储空间。例如:下载数据时,一秒可能接收很多兆数据,存储所有接收过的数据代价太大。协议层的选择是不做记录,所以无法判断是否是重复数据包【如果第一个消息还在传输中,ACK(确认)没回来,发送方重传,结果接收方可能收到两次相同的内容。】。结果就是:如果第一次数据已经处理完成,第二次到达的重复数据仍会被再次处理。
如果只是发送一句“我喜欢你”,重复收到可能没什么问题。但如果是转账操作,例如“转账 1 万元”:第一次已转账成功,重复到达的数据会再次转账,造成严重后果。这个问题是网络协议层无法解决的,必须在应用程序层去处理。--在程序级别弥补协议漏洞,防止重复提交,自行实现防重复机制。
⑤ 轮流转发与数据拆分、排序
即轮流进行数据发送。
例如发送了十个GB或一个TB大小的数据包,导致转发设备压力大,其他设备等待时间过长,严重时会出现相当于断网的现象。解决方案是对过大的数据进行拆分,把大数据拆成多份小数据包,分批传输,避免长时间阻塞网络和设备。
数据拆分后,接收方要合并数据包。发送方是按顺序发包,但接收方收到的顺序可能是乱序,原因包括:
-
超时重传机制,某些包丢失后会重发。
-
数据包可能通过不同路径传输,因为网络中会自动选择拥堵较少的路径(类似“蓄电路”概念),导致包的到达顺序不一致。
因此,网络传输中的数据包到达顺序是乱的。接收方面对乱序数据包,必须进行重新排序。
为此,每个数据包必须带有序号,以便接收方根据序号对包进行排序。
重新排序的难点和代价:
假设接收方已收到200个数据包,但不知道发送方是否已全部发送完毕。
重新排序需要时间和计算资源,最佳排序算法复杂度是 O(N log N)。
如果每收到一个包就排序,效率低且开销大。
因此,一般需要知道数据总大小或发送结束的标志,才能进行最终排序。
必须有机制让接收方知道何时数据传输完毕
7、网络协议
(1)概念及意义
网络协议就像是互联网世界的 “交通规则”。就像马路上的车要遵守红灯停绿灯行、靠右侧通行一样,设备之间要想顺畅沟通,也得有一套大家都认可的约定。这些约定涵盖了数据怎么打包、怎么发送、怎么校验、遇到问题怎么处理等一系列细节,简单来说网络协议就是一套约定俗成的通信规则,规定了计算机和网络设备之间如何传输数据,如何处理异常,如何保证数据完整和安全。
网络协议核心是根据当前物理传输环境的特点,提前预判可能出现的问题并做预案,让传输过程中的各种异常情况得到有效处理。协议部分是负责硬件交互,没法加密,数据部分是软件交互
如并非每个数据包都必须单独收到响应,因为数据丢包情况相对较少。
可以采取批量确认的方式,降低响应次数。
例如用滑动窗口机制,一次确认一批数据包的接收情况。
这种机制属于网络协议中的性能优化措施。
(2)网络协议的通用性和开放性
互联网由全球数以千万计不同厂商制造的设备组成(华为、小米、爱立信、思科等),它们必须共同遵守公开标准,实现互联互通。
这也意味着:
-
协议是公开的,不加密,任何设备都能识别,负责硬件交互
-
而传输的数据在软件层,可以对数据加密,保障隐私和安全。
(3)网络协议的分层结构
网络协议通常分为多层,每层负责不同的任务:
-
物理层:规定电压信号和传输媒介,硬件之间直接通信。决定物理信号类型(电压/电磁波/光)、发功率、接收灵敏度、误差处理 —— 处理“怎么发/怎么接”。
-
链路层:负责点对点数据传输和错误检测。解决小范围内(两两设备)如何传输、如何划分帧(开始/结束)、时间错位、介质访问方式(在多人共享时如何错开发送)。
-
网络层:负责路由选择和数据包转发。解决广域网(复杂路由)的传输问题。
-
传输层:提供端到端连接和数据完整性保障(如TCP协议)。软件到软件(端到端)
-
TCP:做的工作多 → 可靠但慢(用于需要精确的文本/文件传输)。
-
UDP:做的工作少 → 快速但可能丢包(适用于对丢包有容忍的场景,如音视频、直播、部分图像流,丢失一两个像素不会影响)。
-
传输层的选择直接影响“是否出现报错/丢包”。
-
-
应用层:各种网络服务和应用的协,HTTP、SMTP、FTP、SSH 等,上千种协议,表现形式各异。
每一层都有自己的协议,层层协作,保障数据从源头到目的地的安全和完整。发送时,每层都会把自己的协议头/信息放到下层的数据部分里(封装):物理层的数据包含链路层;链路层的数据包含网络层;网络层的数据包含传输层;传输层的数据包含应用层(应用层的数据与协议有时交织)。
8、网络解析
解析就是从一个大数组(接收到的数据)中按已知长度/规则切片,解析要按层次和约定的编码去处理:
-
知道物理层占多少字节 → 解析出链路层部分;
-
再按链路层长度取出网络层;
-
再按网络层长度取出传输层;
-
剩下就是应用层的数据部分(或混合的协议+数据)。
应用层特殊性:应用层协议(如 HTTP)常常把协议字段与数据混在一起,不像前面层那样严格固定长度。HTTP 请求就是一行行的字段与数据交织的例子。
9、网络数据截获与攻击方式
常见攻击方式
-
监听
-
篡改
-
拦截
-
拷贝复制
-
其中危害最大的是 监听、篡改和拷贝复制。
例如:转账 1 万元被拷贝 1 万次,就变成转出 1 亿元。
(1)监听
未授权情况下,秘密获取信息传输过程中的数据(如网络数据包、通信内容、文件内容等)
网络数据在传输过程中,无论走网线并联还是中转,攻击者都能截获一份数据。即使数据加密,攻击者截获的也是数据,破解难度虽大,但很多工具是公开的。攻击者不必自己解密,可直接用合法软件(如 QQ 客户端)来解析加密数据。早期 QQ 加密很弱,甚至未加密,因此可以轻易通过数据包监听聊天内容。
稍微加密数据能解决吗?如果数据中带有加密的身份标志(如发送方 ID),理论上可防止攻击者冒充。但攻击者可以申请自己的账号,发送数据给自己进行对比分析:
发现加密数据中,前半部分会变,后半部分的身份标志保持不变。
攻击者只需用自己的身份标志替换截获数据的标志,再组合成新数据发送给自己。
这样客户端会认为是合法身份并成功解密。
如何解决????简单或浅层加密无法防止攻击。攻击者通常不是硬破解,而是利用协议漏洞“顺势攻击”。所以我们需要找一个方式如
-
不要只依赖简单或浅层加密,要结合协议安全设计。
-
在每次通信数据中加入随机数(Nonce)或时间戳,使同一内容每次加密后的结果不同,防止重放和模式分析。
(2)篡改
在信息传输或存储过程中,未授权修改数据内容,导致接收方获取错误信息。这时候不破解加密规则了而是直接篡改。。。
如何解决???防止数据被篡改???加关联数据---数字签名技术
- 支付过程中,攻击者修改转账金额(如将 100 元改为 10000 元)或收款账户;
- 合同文件传输时,篡改条款(如修改价格、期限);
- 传感器数据被篡改(如工业系统中,温度、压力数据被修改,导致设备误操作)。
-
发送方在发送数据前,先用哈希算法(如 H = SHA256(D))对数据计算一个固定长度的“摘要值”(就是关联数据)。这个摘要和原数据一起发给接收方。
-
接收方收到后,再对接收到的数据重新计算摘要,与发送方发来的摘要对比:
-
一致 → 数据完整
-
不一致 → 数据被篡改
-
-
缺点:只用哈希不能防止攻击者篡改数据并同时重新生成摘要,所以还需要对关联数据加盐【加随机干扰】之后再加密【形成私钥】
这里也可以用散列函数【不可逆的】对关联数据进行散列加密,这时候就不用加盐了,因为不可逆,无法被破解。无法根据y反推x。
(3)拦截
阻止信息正常传输,使发送方的内容无法到达接收方,或延迟到达。
- 网络攻击中的 “拒绝服务(DoS)”,通过大量无效请求堵塞服务器,导致合法用户无法访问;
- 拦截验证码短信,使用户无法完成登录或支付验证;
- 物理拦截快递中的文件、设备,导致信息传递中断。
解决方法:采用 TLS/SSL 等加密协议,保证数据在传输过程中不可被窃听和篡改。即使被拦截,攻击者也无法读取内容
(4)拷贝/复制
复制合法的信息或操作请求,重复发送或使用,导致系统重复执行同一操作。
- 支付场景中,攻击者复制用户的 “转账 1 万元” 请求,重复发送 1 万次,导致系统执行 1 万次转账(即用户提到的 “1 万次拷贝变成 1 亿元”);
- 复制登录凭证(如 Cookie、Token),重复登录用户账户;
- 复制门禁卡数据,多次刷开大门。
解决方法?
使用唯一标识和防重放机制
-
给每条请求加上唯一的随机数(nonce)、时间戳或序列号。
-
服务器验证请求的唯一性,拒绝重复请求。
消息认证码(MAC)或数字签名
-
对请求内容签名,保证请求来源真实且内容未被篡改。
-
防止伪造和重放。