GNSS转发式欺骗干扰工程实现:数字存储转发架构如何用单链路生成数十路延时欺骗信号
在外场测试或板级调试中,GNSS接收机突然出现伪距观测值跳变、定位结果缓慢偏移、码跟踪环(Delay Locked Loop,DLL)相关峰展宽等异常现象,而信号功率却未见明显下降------这类"信号正常但定位错误"的故障,往往指向转发式欺骗干扰(Meaconing)。面对GPS P(Y)码、M码(M-Code)及北斗三号(BDS-3)授权信号等加密体制,攻击者无法合成伪造波形,只能"借用"真实信号并施加人为延时后重放,而数字存储转发架构正是实现这一攻击链路的工程核心。
本文核心摘要:本文聚焦全球导航卫星系统(Global Navigation Satellite System,GNSS)转发式欺骗的工程实现演进,从纯模拟延时方案的物理瓶颈出发,系统拆解数字存储转发架构中"采样---存储---多读---合成---发射"五个核心动作,揭示多抽头读取机制如何以单链路硬件资源实现数十路独立延时欺骗信号并行生成,为理解接收机侧抗欺骗对抗提供攻击链路的完整技术画像。
写作声明:本文所描述的技术架构、工程参数和实现细节,仅为便于介绍欺骗式干扰原理而设定的写作示例,不代表任何真实欺骗式干扰发生器的实际参数,也不代表任何GNSS接收机抗欺骗干扰的指标。
一、加密信号封锁下,攻击者为何只能"借"不能"造"
本文所讨论的转发式欺骗(Meaconing) 特指一种通过接收、延迟并重放真实GNSS信号来实现的欺骗式干扰(Spoofing)。其核心特征在于:信号内容完全源自真实卫星播发的导航电文与测距码,攻击者仅在时间轴上施加人为偏移。
在军用或政府授权的加密信号体制下------例如美国GPS的P(Y)码与M码(M-Code)、中国北斗三号(BDS-3)的授权信号------测距码序列由高度保密的密钥控制,对未授权接收者完全封闭。攻击者面前横着一道铁墙:没有密钥,软件定义无线电(Software Defined Radio,SDR)再强大,也合成不出与真实卫星码结构一致的信号。 他们无法像对付民用公开码(如GPS C/A码、北斗B1I码)那样,用基带算法加上射频模块就炮制出以假乱真的导航波形。
既然造不出,那就只能"借"。
所谓"借",就是架设高增益接收天线 ,把真实的加密授权信号从天空捕获下来,经过一段人为控制的延时,再用射频功放(Power Amplifier,PA) 发射出去。这种"接收---存储---延迟---重放"的链路,业内称为转发式欺骗(Meaconing)。信号内容完全真实------码结构正确、导航电文正确、功率正常------唯一的问题是,这个信号比真实卫星信号晚到了几百纳秒甚至数微秒。
对目标GNSS接收机而言,其码相关器看到的是一组"完美"信号。只有当接收机具备足够的时间分辨能力时,这些"迟到者"才会暴露出与真实卫星伪距观测值之间的不一致,从而触发抗欺骗检测机制。
现代转发欺骗器早已不是"一根电缆走到底"的纯模拟玩法。攻击者的高增益天线将微弱的卫星信号捕入低噪声放大器(Low Noise Amplifier,LNA) ,经一次下变频搬到中频,随即被高速模数转换器(Analog-to-Digital Converter,ADC) 以极高采样速率切成数字样本。这些样本被持续写入现场可编程门阵列(Field-Programmable Gate Array,FPGA) 内部的循环存储器------一个首尾相接的地址空间。写指针以固定节拍向前推进,最新的ADC采样数据不断覆盖最旧的样本,存储器内始终维持着一段滑动时间窗口内的完整射频波形。
多路欺骗信号的奥秘,就藏在这套存储系统的读取端。 下一节我们先回顾被数字方案淘汰的纯模拟路径,再深入这条读取端的工程细节。
二、纯模拟延时方案的物理天花板与淘汰逻辑
在数字存储转发技术普及之前,攻击者实现信号延时的手段极其朴素:射频同轴电缆 。电磁波在填充聚乙烯(PE)或空气介质的同轴电缆中的传播速度约为真空光速的66%~70% (即速度因子VF ≈ 0.66~0.70),因此每米电缆仅贡献约4.8~5.1 ns的延时 。想要制造一个码片宽度量级的延迟(例如GPS P码一个码片对应约97.8 ns ),需要约20米电缆;若要实现微秒级甚至毫秒级延时,则需数十米乃至上百米电缆卷绕在机柜内。若需多路独立延时,就必须多卷电缆、多个独立射频链路、多套功放和天线。
| 维度 | 纯模拟方案痛点 | 量化表现 |
|---|---|---|
| 体积与重量 | 延时随电缆长度线性膨胀,多路需多卷电缆 | 单路97.8 ns 延时需约20 m 同轴电缆;10路 独立延时需约200 m线缆 |
| 精度与稳定性 | 电缆长度决定延时,机械裁剪精度有限;温度漂移改变传播速度 | 铜芯电缆温度系数约1.7×10⁻⁵ /℃ ,10℃ 温漂可导致延时偏差约1 ns/m |
| 扩展性 | 每增加一路需增加完整射频延时单元和功放 | N 路需N套LNA、混频器、滤波器、PA、天线,硬件成本线性增长 |
| 功率控制 | 模拟衰减器调节各路功率,精度粗糙 | 步进式衰减器典型精度**±0.5 dB**,难以实现精细干信比控制 |
| 多路一致性 | 各模拟链路相位噪声、增益波动相互独立 | 10路 以上链路叠加后,合成信号幅度波动可达**±1~2 dB** |
声表面波(Surface Acoustic Wave,SAW)延时器件曾在通信领域大量应用,可在小型陶瓷封装内实现固定值 延时。但SAW器件的延时值由压电晶片物理尺寸在制造环节锁定,出厂后无法调整 ;多路需要多个独立器件,且延时分辨率受限于光刻与切割工艺,典型步进为几十纳秒 。对于需要同时产生十几路、几十路不同延时 的攻击场景,纯模拟方案在路数、精度、体积三个维度上都撞上了物理天花板。
数字存储转发技术的出现,彻底打破了这层天花板。
三、数字存储转发总览
将攻击者的数字转发设备想象成一台精密的 "射频复印机" :它接收一页来自太空的"原始文稿"(真实GNSS射频信号),在数字域里复印出多份,每份盖上不同的时间戳(人为延时),再把叠加后的稿件重新发射出去。整台机器的核心只有五个动作:采样、存储、多读、合成、发射。
图1展示了完整的信号处理链路拓扑:
#mermaid-svg-Gxcj1bi0cOrg1fqD{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Gxcj1bi0cOrg1fqD .error-icon{fill:#552222;}#mermaid-svg-Gxcj1bi0cOrg1fqD .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Gxcj1bi0cOrg1fqD .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .marker.cross{stroke:#333333;}#mermaid-svg-Gxcj1bi0cOrg1fqD svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Gxcj1bi0cOrg1fqD p{margin:0;}#mermaid-svg-Gxcj1bi0cOrg1fqD .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .cluster-label text{fill:#333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .cluster-label span{color:#333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .cluster-label span p{background-color:transparent;}#mermaid-svg-Gxcj1bi0cOrg1fqD .label text,#mermaid-svg-Gxcj1bi0cOrg1fqD span{fill:#333;color:#333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .node rect,#mermaid-svg-Gxcj1bi0cOrg1fqD .node circle,#mermaid-svg-Gxcj1bi0cOrg1fqD .node ellipse,#mermaid-svg-Gxcj1bi0cOrg1fqD .node polygon,#mermaid-svg-Gxcj1bi0cOrg1fqD .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Gxcj1bi0cOrg1fqD .rough-node .label text,#mermaid-svg-Gxcj1bi0cOrg1fqD .node .label text,#mermaid-svg-Gxcj1bi0cOrg1fqD .image-shape .label,#mermaid-svg-Gxcj1bi0cOrg1fqD .icon-shape .label{text-anchor:middle;}#mermaid-svg-Gxcj1bi0cOrg1fqD .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Gxcj1bi0cOrg1fqD .rough-node .label,#mermaid-svg-Gxcj1bi0cOrg1fqD .node .label,#mermaid-svg-Gxcj1bi0cOrg1fqD .image-shape .label,#mermaid-svg-Gxcj1bi0cOrg1fqD .icon-shape .label{text-align:center;}#mermaid-svg-Gxcj1bi0cOrg1fqD .node.clickable{cursor:pointer;}#mermaid-svg-Gxcj1bi0cOrg1fqD .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .arrowheadPath{fill:#333333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Gxcj1bi0cOrg1fqD .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Gxcj1bi0cOrg1fqD .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Gxcj1bi0cOrg1fqD .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Gxcj1bi0cOrg1fqD .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Gxcj1bi0cOrg1fqD .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Gxcj1bi0cOrg1fqD .cluster text{fill:#333;}#mermaid-svg-Gxcj1bi0cOrg1fqD .cluster span{color:#333;}#mermaid-svg-Gxcj1bi0cOrg1fqD div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Gxcj1bi0cOrg1fqD .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Gxcj1bi0cOrg1fqD rect.text{fill:none;stroke-width:0;}#mermaid-svg-Gxcj1bi0cOrg1fqD .icon-shape,#mermaid-svg-Gxcj1bi0cOrg1fqD .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Gxcj1bi0cOrg1fqD .icon-shape p,#mermaid-svg-Gxcj1bi0cOrg1fqD .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Gxcj1bi0cOrg1fqD .icon-shape .label rect,#mermaid-svg-Gxcj1bi0cOrg1fqD .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Gxcj1bi0cOrg1fqD .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Gxcj1bi0cOrg1fqD .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Gxcj1bi0cOrg1fqD :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 发射前端
数字处理核心
接收前端
高增益接收天线
- 低噪放(LNA)
一次下变频
中频信号
高速ADC采样
连续数字样本流
循环存储器
FPGA / ASIC 内部
多抽头并行读取
N 个独立读指针
数字加权
- 合成
DAC 转换
上变频至射频
功放(PA)+ 发射天线
图1 数字存储转发式欺骗信号生成链路总览架构图
采样环节 :高增益天线将宽带射频信号捕入前端,经LNA放大和一次下变频后,高速ADC以极高采样率将中频信号切成连续数字样本流。采样率须满足奈奎斯特采样定理 以完整捕获宽带GNSS信号的全部频谱信息(GPS L1 C/A码带宽约2.046 MHz ,P码带宽约20.46 MHz )。样本量化位宽通常较宽,以保证足够的动态范围同时容纳微弱的真实卫星信号和后续叠加的强欺骗分量,降低量化噪声对合成精度的影响。
存储环节 :数字样本被持续写入循环存储器。这不是普通数据缓存,而是一个首尾相接的地址空间 。写指针不断向前推进,每个新采样占据当前地址后指针递增;当指针到达地址空间末尾,自动跳回起始位置,覆盖最旧数据。存储器内始终维持最近一段时长内的完整射频波形------像一条咬住自己尾巴的蛇(环形缓冲(Ring Buffer)),永远循环吞食最新样本、吐出最旧样本。
多读环节 :多个独立读指针从同一份存储数据中并行抽取 不同时刻的样本切片。读指针#1滞后写指针Δ₁ 个地址,读指针#2滞后写指针Δ₂ 个地址......读指针#N滞后写指针Δ_N 个地址。每个地址偏移量乘以ADC采样周期,即为该路欺骗信号相对于真实信号的精确射频延时。
合成环节 :多路数字样本在FPGA内部被各自乘以一个独立的增益系数 ,然后在数字加法器中直接叠加,合成一路复合信号。这路信号在数字域里已同时携带了N个不同延时的"时间层"。
发射环节 :只需一个DAC、一次上变频、一根发射天线 ,就能将叠加后的射频波形辐射出去。电磁波在自由空间中天然完成线性叠加------目标接收机收到的,正是N个"迟到者"与真实信号混为一体的总电场。
💡 核心概念:时间维度的复用取代物理通道的复用
定义:数字存储转发架构中,N路具有不同延时的欺骗信号共享同一份ADC样本、同一个循环存储器和同一个DAC,通过多抽头并行读取与数字加权合成,在时间轴上完成多路信号的正交或近正交复用。
核心作用 :将硬件通道数从N缩减为1,使设备体积与成本与欺骗路数基本脱钩,实现纯模拟方案在路数、精度、体积三个维度上无法突破的扩展能力。
四、多抽头读取机制:欺骗信号的"数字复印车间"
如果把循环存储器比作一个巨大的环形仓库,写指针就是一辆永不停止的叉车 ,不断将新到的货物(数字样本)堆入库房最新位置,同时最旧位置的货物被推出销毁。读指针则是N辆独立的取货小车,每辆按照固定距离跟在叉车后面,从仓库不同历史位置取出货物。
#mermaid-svg-b0hNSGClTVQB99uh{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-b0hNSGClTVQB99uh .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-b0hNSGClTVQB99uh .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-b0hNSGClTVQB99uh .error-icon{fill:#552222;}#mermaid-svg-b0hNSGClTVQB99uh .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-b0hNSGClTVQB99uh .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-b0hNSGClTVQB99uh .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-b0hNSGClTVQB99uh .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-b0hNSGClTVQB99uh .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-b0hNSGClTVQB99uh .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-b0hNSGClTVQB99uh .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-b0hNSGClTVQB99uh .marker{fill:#333333;stroke:#333333;}#mermaid-svg-b0hNSGClTVQB99uh .marker.cross{stroke:#333333;}#mermaid-svg-b0hNSGClTVQB99uh svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-b0hNSGClTVQB99uh p{margin:0;}#mermaid-svg-b0hNSGClTVQB99uh .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-b0hNSGClTVQB99uh .cluster-label text{fill:#333;}#mermaid-svg-b0hNSGClTVQB99uh .cluster-label span{color:#333;}#mermaid-svg-b0hNSGClTVQB99uh .cluster-label span p{background-color:transparent;}#mermaid-svg-b0hNSGClTVQB99uh .label text,#mermaid-svg-b0hNSGClTVQB99uh span{fill:#333;color:#333;}#mermaid-svg-b0hNSGClTVQB99uh .node rect,#mermaid-svg-b0hNSGClTVQB99uh .node circle,#mermaid-svg-b0hNSGClTVQB99uh .node ellipse,#mermaid-svg-b0hNSGClTVQB99uh .node polygon,#mermaid-svg-b0hNSGClTVQB99uh .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-b0hNSGClTVQB99uh .rough-node .label text,#mermaid-svg-b0hNSGClTVQB99uh .node .label text,#mermaid-svg-b0hNSGClTVQB99uh .image-shape .label,#mermaid-svg-b0hNSGClTVQB99uh .icon-shape .label{text-anchor:middle;}#mermaid-svg-b0hNSGClTVQB99uh .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-b0hNSGClTVQB99uh .rough-node .label,#mermaid-svg-b0hNSGClTVQB99uh .node .label,#mermaid-svg-b0hNSGClTVQB99uh .image-shape .label,#mermaid-svg-b0hNSGClTVQB99uh .icon-shape .label{text-align:center;}#mermaid-svg-b0hNSGClTVQB99uh .node.clickable{cursor:pointer;}#mermaid-svg-b0hNSGClTVQB99uh .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-b0hNSGClTVQB99uh .arrowheadPath{fill:#333333;}#mermaid-svg-b0hNSGClTVQB99uh .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-b0hNSGClTVQB99uh .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-b0hNSGClTVQB99uh .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-b0hNSGClTVQB99uh .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-b0hNSGClTVQB99uh .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-b0hNSGClTVQB99uh .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-b0hNSGClTVQB99uh .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-b0hNSGClTVQB99uh .cluster text{fill:#333;}#mermaid-svg-b0hNSGClTVQB99uh .cluster span{color:#333;}#mermaid-svg-b0hNSGClTVQB99uh div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-b0hNSGClTVQB99uh .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-b0hNSGClTVQB99uh rect.text{fill:none;stroke-width:0;}#mermaid-svg-b0hNSGClTVQB99uh .icon-shape,#mermaid-svg-b0hNSGClTVQB99uh .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-b0hNSGClTVQB99uh .icon-shape p,#mermaid-svg-b0hNSGClTVQB99uh .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-b0hNSGClTVQB99uh .icon-shape .label rect,#mermaid-svg-b0hNSGClTVQB99uh .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-b0hNSGClTVQB99uh .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-b0hNSGClTVQB99uh .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-b0hNSGClTVQB99uh :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 循环存储器
写指针
持续写入新样本
...历史样本...
读指针#1
偏移量Δ₁
读指针#2
偏移量Δ₂
读指针#N
偏移量Δₙ
样本流#1
样本流#2
样本流#N
数字增益控制
×g₁
×g₂
×gₙ
数字加法器
Σ合成
单路DAC
图2 多抽头并行读取与数字加权合成原理图
读指针的物理实现 :每个读指针本质上是一个独立的地址生成器,在FPGA的时序逻辑中以与写指针相同的节拍运转,但始终保持固定的地址滞后 。地址偏移量由攻击者通过上位机软件配置,可在微秒甚至毫秒 量级范围内任意设定。所有读指针读取的是同一份存储样本,不存在数据复制开销,仅增加地址计数与乘法器的逻辑资源。
亚采样周期延时精度 :当所需延时恰好是采样周期的整数倍时,读指针地址偏移直接对应射频延时。当延时值落在两个相邻采样点之间------例如需要35.7 ns 而采样周期为20 ns ------分数延时滤波器(Fractional Delay Filter) 会在相邻样本间计算出精确的中间值。工程上常采用Farrow结构 (多项式插值实现,系数可编程)或拉格朗日插值(Lagrange Interpolation) ,将延时分辨率提升至亚采样周期级别 ,步进可细化至皮秒(ps)量级 。攻击者可以像调节旋钮一样,在数字域里微调每路欺骗信号相对于真实卫星信号的到达时刻偏差(即伪距偏差(Pseudorange Bias)),精度远超任何机械裁剪方案。
独立增益控制与功率比调节 :每路样本流在合成前经过一个独立的数字乘法器 ,乘以可编程增益系数。攻击者可精确调节每路欺骗信号相对于真实信号的功率强弱------想要等功率欺骗 (各欺骗分量功率与真实信号相当),就把各路增益设为相同值;想要功率压制型欺骗 (欺骗分量显著强于真实信号),就把特定路增益推高。这种精细的载干比(Carrier-to-Interference Ratio)控制,在纯模拟方案中依靠步进衰减器几乎无法实现。
单DAC发射的数学本质 :N路数字样本在加法器中完成的是严格的线性叠加 。合成后的信号经DAC转换为模拟中频,再上变频至射频频段辐射,其频谱内容在数学上严格等价 于N个独立延时信号在自由空间中的相干叠加。攻击者不需要N个功放、N根天线------一个功放、一根天线,即可将N层时间信号同时辐射。
扩展的边际成本对比 :在FPGA内增加第1个读指针,不过是多例化一个地址计数器和一个数字乘法器 ,消耗的硬件资源(查找表LUT、寄存器)微乎其微。对比纯模拟方案中增加一路需要多一卷电缆、多一个SAW器件、多一套完整的LNA-混频器-PA链路 ,数字方案的扩展性呈现出数量级的优势。
五、常见问答(FAQ)
Q1:转发式欺骗与生成式欺骗(Generation-based Spoofing)的核心区别是什么?
A:生成式欺骗是指攻击者掌握或破解了卫星信号的码结构(如民用公开C/A码),利用SDR在基带完全合成伪造的导航波形。转发式欺骗(Meaconing)则无需掌握任何码密钥,而是直接"借用"真实卫星播发的完整信号(包括加密码),仅在时间轴上施加人为延迟后重放。因此,转发式欺骗对加密授权信号同样有效,是攻击加密GNSS信号的主要手段。
Q2:多抽头读取时,各欺骗分量之间是否存在互干扰?
A:各读指针读取的是同一份存储样本的不同时间切片,在数字加法器中完成线性叠加,不存在非线性互调。但只要各延时分量之间码相位差小于相关函数的半峰宽 (对GPS P码约为约48.8 ns),在目标接收机的码跟踪环(Delay Locked Loop,DLL)中仍会产生相互耦合,导致相关峰展宽或偏移。这是接收机抗欺骗检测的物理基础之一。
Q3:为什么单根发射天线就能同时辐射多路欺骗信号?
A:电磁波在自由空间中的传播遵循线性叠加原理 。N路具有不同延时的信号在数字域中已完成线性相加,合成后的射频波形通过单天线辐射后,空间中任意一点的总电场即为各分量的矢量和。这与多根天线同时辐射在接收端产生的电磁效果数学等价,因此单天线方案在物理上完全可行。
Q4:接收机理论上能否区分真实信号与转发欺骗信号?
A:如果接收机具备足够的时间分辨带宽 (即相关函数足够尖锐),且真实信号与欺骗信号之间的延时差超过一个采样周期(典型值几十纳秒至数百纳秒 ),接收机的码相位跟踪环路可以检测到多个相关峰,从而识别出异常信号。但当延时差极小(低于约1 ns ,对应伪距偏差约0.3 m ),或攻击者采用同步功率渐增(Gradual Power Increase) 策略时,常规接收机的检测难度显著上升。
在本文中,我们深入探讨了GNSS转发式欺骗从纯模拟到数字化的技术演进,并详细剖析了数字存储转发架构如何通过"采样、存储、多读、合成、发射"五个核心动作,实现对真实GNSS信号的精确复制与延时重放,重点揭示了多抽头读取机制如何以单链路硬件资源高效"复印"出多路欺骗信号。
然而,这仅仅是"欺骗信号数字炼成"故事的开篇。攻击者制造出这些精巧的欺骗信号后,它们将如何影响目标GNSS接收机的伪距观测值、载波相位跟踪和导航解算?接收机又将如何构建抗欺骗防线?这些更深层次的技术攻防,将在下一篇文章中继续展开。
开放性技术讨论:在实际工程中,当转发式欺骗信号的延时差被压缩至亚采样周期级别(如低于1 ns),接收机侧还有哪些物理层或基带层的检测手段可能有效?欢迎在评论区分享你的外场测试数据或算法思路。
#GNSS欺骗干扰 #转发式欺骗 #卫星通信 #射频电子战 #FPGA数字信号处理