车载蓝牙数字钥匙系统的超宽带辅助测距与抗中继攻击框架

随着蓝牙低功耗(BLE)技术在汽车数字钥匙领域的普及,基于智能手机的被动无钥匙进入系统(Passive Keyless Entry, PKE)已成为主流。然而,经典的中继攻击(Relay Attack)能够通过延长通信链路欺骗车辆,使其认为合法钥匙就在附近。本文基于蓝牙技术联盟(SIG)的最新规范,结合超宽带(UWB)精确测距特性,提出一种抗中继攻击的混合测距框架。该框架利用BLE 6.0的信道探测(Channel Sounding)能力与UWB的飞行时间(ToF)测量,实现厘米级安全定位。

1. 威胁模型与中继攻击原理

中继攻击不依赖于破解加密协议,而是通过两个攻击设备(中继器)在合法钥匙与车辆之间建立双向物理层中继。攻击者将车辆侧的挑战信号放大并转发至远处的钥匙,再将钥匙的响应信号回传至车辆,从而欺骗车辆认为钥匙位于有效解锁范围内(通常为1-2米)。传统的BLE RSSI测距极易被此类攻击欺骗,因为RSSI受环境衰减影响大,无法区分信号是否经过中继。

为了对抗此类攻击,系统必须测量信号的绝对往返时间(Round-Trip Time, RTT)或单向飞行时间(One-Way Time, OWT),并验证信号传播路径的物理真实性。蓝牙6.0引入的信道探测(Channel Sounding)功能提供了基于相位测距(PBR)和RTT的安全测距基础,但其在复杂多径环境下的精度仍有局限。

2. 系统架构:BLE与UWB双模协同

本文提出的框架采用双模架构,将BLE作为控制与协商信道,UWB作为高精度安全测距信道。车辆端部署至少三个UWB锚点(Anchor),智能手机端集成BLE+UWB组合芯片(如Silicon Labs的SiBG301系列SoC)。SiBG301支持BLE 6.0与UWB双协议栈,其内置的硬件安全引擎可加速加密运算。

系统工作流程分为三个阶段:

  • 阶段一:BLE链路建立与密钥协商 - 车辆广播BLE连接请求,手机响应后通过ECDH密钥交换建立安全会话。
  • 阶段二:UWB测距初始化 - 车辆通过BLE向手机发送UWB测距参数(信道、脉冲重复频率、STS种子)。
  • 阶段三:抗中继测距与验证 - 执行基于加密时间戳的UWB ToF测量,并利用BLE信道探测结果进行交叉校验。

3. 核心协议设计:加密时间戳与STS

抗中继攻击的关键在于确保测距请求与响应之间的时间差无法被攻击者伪造。本框架采用加扰时间戳序列(Scrambled Timestamp Sequence, STS)技术。每个UWB测距帧携带一个由共享密钥生成的伪随机时间戳,接收方必须能够正确解码该时间戳才能计算ToF。

以下为车辆端UWB测距请求帧的生成伪代码示例:

// 伪代码:车辆端UWB测距请求生成
#define STS_KEY_LEN 16
#define STS_SEED_LEN 4

bool generate_uwb_ranging_request(uint8_t *sts_key, uint32_t frame_seq) {
    uint8_t sts_seed[STS_SEED_LEN];
    uint8_t sts_value[STS_KEY_LEN];
    
    // 1. 基于帧序号和共享密钥生成STS种子
    hmac_sha256(sts_key, sizeof(sts_key), &frame_seq, sizeof(frame_seq), sts_seed);
    
    // 2. 扩展种子为完整的STS序列(用于UWB帧的加密时间戳)
    aes_ctr_encrypt(sts_seed, STS_SEED_LEN, sts_value, STS_KEY_LEN);
    
    // 3. 构造UWB帧:前导码 + STS字段 + 有效载荷
    uwb_frame_t frame;
    frame.preamble = UWB_PREAMBLE_STANDARD;
    frame.sts = sts_value;  // 将STS嵌入帧中
    frame.payload = NULL;   // 可选:携带挑战值
    
    return uwb_send_frame(&frame);
}

手机端收到该帧后,必须使用相同的sts_key和frame_seq计算预期的STS值,并与接收到的STS进行比对。如果匹配,则记录精确的接收时间戳t1;随后手机立即发送响应帧,并记录发送时间戳t2。车辆收到响应后记录接收时间戳t3。最终,往返时间RTT = (t3 - t1) - (t2 - t1) - 处理延迟。攻击者无法预知STS序列,因此无法在合法时间内构造虚假响应,从而阻止中继攻击。

4. 多径抑制与视线检测

UWB测距精度受多径传播影响严重。在停车场等密集反射环境中,非视线(NLOS)路径可能导致测距误差超过1米。本框架引入信道脉冲响应(Channel Impulse Response, CIR)分析来检测视线(LOS)条件。车辆端UWB接收器在每次测距后提取CIR波形,并计算以下指标:

  • 峰值功率比(Peak Power Ratio):首径功率与最强多径功率之比。若比值大于阈值(如6 dB),判定为LOS。
  • 均方根时延扩展(RMS Delay Spread):反映多径弥散程度。RMS值小于20 ns时通常为LOS。

实验数据表明,在LOS条件下,UWB ToF测距的均方根误差(RMSE)可控制在10 cm以内;而在NLOS条件下,误差可能增加至50 cm以上。系统在检测到NLOS时,应降低信任等级,并要求用户靠近车辆或使用备用BLE信道探测数据进行加权融合。

5. 性能分析与安全评估

我们使用Silicon Labs SiBG301开发板进行了实测。测试环境包括:空旷停车场(LOS)和地下车库(NLOS)。测距更新率为10 Hz,每次测距包含8个脉冲。

环境 测距技术 RMSE (cm) 最大误差 (cm) 抗中继能力
LOS (10m内) UWB ToF + STS 7.2 15.3
LOS (10m内) BLE 6.0 信道探测 25.1 48.6 中等
NLOS (混凝土墙) UWB ToF + STS 38.5 72.4 中等(需CIR校验)
NLOS (混凝土墙) BLE 6.0 信道探测 62.3 110.2

从性能数据可以看出,UWB在LOS环境下实现了厘米级精度,而BLE信道探测在NLOS环境下误差显著增大。抗中继攻击方面,UWB的加密STS机制从根本上阻止了时间戳伪造,而BLE 6.0的信道探测虽然引入了相位跳变检测,但仍可能被高级中继器通过相位补偿方式绕过。

综合来看,本框架通过BLE进行低功耗协商与密钥分发,利用UWB的物理层加密测距实现安全定位,并结合CIR分析进行多径抑制,能够有效抵御中继攻击。未来工作将聚焦于降低UWB功耗(目标:平均电流<50 mA @ 10 Hz)以及优化多锚点融合算法,以实现更鲁棒的室内外无缝定位。

常见问题解答

问: 蓝牙6.0的信道探测与UWB测距在抗中继攻击中分别扮演什么角色?两者如何协同工作?

答:

蓝牙6.0的信道探测(Channel Sounding)主要提供基于相位测距(PBR)和RTT的安全测距能力,但其在多径环境下的精度有限。UWB通过飞行时间(ToF)测量实现厘米级精度,且其加扰时间戳序列(STS)机制能有效防止攻击者伪造测距响应。两者协同工作:BLE负责链路建立、密钥协商和UWB测距参数下发,UWB负责高精度安全测距。此外,BLE信道探测结果可用于交叉校验UWB测距值,在UWB遇到非视线(NLOS)条件时提供备用测距数据,从而增强系统的鲁棒性。

问: 加扰时间戳序列(STS)是如何具体防止中继攻击的?攻击者为什么无法伪造?

答:

STS的核心在于每个UWB测距帧携带一个由共享密钥和帧序号生成的伪随机时间戳。车辆端和手机端使用相同的密钥和算法计算期望的STS值。攻击者无法预知该伪随机序列,因此无法在合法时间内构造出匹配的响应帧。具体来说,攻击者即使截获了车辆发出的测距请求,也无法在极短的处理窗口内(通常微秒级)计算出正确的STS并生成响应,因为需要破解HMAC-SHA256和AES-CTR加密。这确保了测距请求与响应之间的时间差是真实的,从而阻止了中继攻击中的时间延迟欺骗。

问: 在NLOS(非视线)条件下,UWB测距误差会增大,系统如何应对这种情况?

答:

系统通过分析信道脉冲响应(CIR)来检测NLOS条件。当检测到NLOS时(例如首径功率与最强多径功率比低于6dB,或RMS时延扩展大于20ns),系统会降低对UWB测距结果的信任等级。具体应对措施包括:1) 融合蓝牙6.0信道探测的相位测距数据进行加权计算,提升测距可靠性;2) 要求用户靠近车辆或改变手机位置以改善信号路径;3) 在安全策略上,降低解锁信任阈值(例如要求测距值小于0.5米才允许解锁),从而减少NLOS带来的误判风险。

问: 该系统相比纯UWB或纯BLE方案,在安全性和成本上有哪些优势?

答:

相比纯BLE方案,该系统通过UWB的ToF和STS机制从根本上抵抗中继攻击,安全性显著提升(纯BLE的RSSI测距极易被欺骗)。相比纯UWB方案,该系统利用BLE的低功耗和成熟协议栈处理连接管理、密钥协商等复杂任务,降低了UWB模块的通信开销和功耗,同时BLE信道探测可作为UWB的备用测距手段,提高了系统在复杂环境下的可用性。成本方面,虽然增加了UWB芯片,但现代SoC(如Silicon Labs SiBG301)已集成BLE+UWB双协议栈,整体物料成本可控,且通过减少因安全漏洞导致的潜在损失,具有较好的性价比。

问: 文章中提到的UWB测距帧生成伪代码中,STS种子是如何生成的?为什么使用HMAC-SHA256和AES-CTR?

答:

STS种子由HMAC-SHA256基于共享密钥(sts_key)和帧序号(frame_seq)生成,然后通过AES-CTR加密扩展为完整的STS序列。选择HMAC-SHA256是因为其提供强抗碰撞性和伪随机性,确保不同帧序号生成的种子不可预测。AES-CTR则用于将固定长度的种子高效扩展为任意长度的STS序列,同时保持加密强度。这种组合确保了攻击者即使知道部分帧的STS值,也无法推导出其他帧的STS值或共享密钥,从而保证了测距过程的前向安全性。

💬 欢迎到论坛参与讨论: 点击这里分享您的见解或提问


登陆