拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

胎压监测系统明文广播漏洞:用软件无线电追踪车辆与防御策略

胎压监测系统明文广播漏洞:用软件无线电追踪车辆与防御策略

去年我参与一个小型车队的无线安全评估,那天下午我和同事把设备架在路侧绿化带边上,笔记本接了一个软件无线电接收器,调到 433MHz。不到五分钟,屏幕上就刷出了一串胎压检测系统的广播报文,其中几帧里带着完整的传感器 ID、胎压值、温度,甚至加速度数据。车队负责人站在旁边问:这些数据能干嘛?我说,能追踪你们每一台车,而且不需要破解任何密码,因为这条链路压根就没有加密。他当时愣了很久。

这件事其实已经不是什么新鲜结论了。过去几年,国内外多个安全研究团队都发布过类似的分析:丰田、奔驰、雷诺、现代等不少车企的胎压检测系统(TPMS,Tire Pressure Monitoring System)在无线通信环节使用了明文广播。如果你了解一点点射频协议和信号处理,就能在路边用几百块的软件无线电设备被动接收这些报文,并把每一辆车和它的传感器 ID 关联起来,进而实现大范围的车辆追踪。这不是键盘上的 0day 攻击,更像是“开着大门的小屋”——问题不复杂,但暴露面很真实。

我说清楚这个问题的原理、影响范围、我们能做什么,以及这件事背后更值得关注的智能汽车安全设计通病。无论你是车主、汽车工程师、安全从业者,还是单纯对车联网隐私感兴趣,这篇文章都能给你一个完整的视角。

1. 事件拆解:为什么一颗胎压传感器的广播会扯上车辆追踪

1.1 TPMS 的工作机制与链路结构

TPMS 全称 Tire Pressure Monitoring System,中文叫胎压监测系统,主要作用是实时监测四个车轮的气压和温度。一旦某个轮胎出现慢漏气、温度过高或者气压异常,系统就会在仪表盘上给出报警,提醒车主及时处理。

整个系统分为两部分:传感器和接收器。

传感器安装在每个车轮的轮毂上(也有部分车型装在气门嘴位置),内部包含压力传感器、温度传感器、加速度计、MCU 和一颗纽扣电池。它平时处于低功耗休眠状态,当车辆行驶后车轮转动,加速度计唤醒 MCU,传感器开始测量,然后通过射频发射器把数据包广播出去。

接收器安装在车身的网关或仪表盘控制单元附近,负责接收四颗传感器(有的车型还有备胎传感器)发来的射频信号,解调出胎压温度数据,在仪表盘上显示,并在异常时触发报警。

两条核心链路:一条是传感器到接收器的单向上行射频链路,另一条是接收器到仪表盘/网关的车内总线链路。前一条用的是 315MHz(北美常见)或 433MHz(欧洲、亚洲常见)的 ISM 频段,后一条大多是 CAN 总线。

1.2 报文结构与“固定 ID”这个关键锚点

TPMS 的无线报文本身是一种遥测数据包。虽然各家车企的私有协议细节不一样,但报文里通常包含这几类字段,它们像一张公开的名片,把每辆车都区别开来:

  • 传感器 ID:一般是一个 8 到 32 位的编号,在出厂时写入传感器,整辆车的生命周期内都保持不变。
  • 胎压值:通常用 kPa 或 psi 表示。
  • 轮胎温度:单位是摄氏度。
  • 加速度/运动状态字段:用于判断车辆是否在行驶。
  • 电池电量状态位:传感器电池电压低时会设置报警位。

最关键的是传感器 ID。这个 ID 本身没有经过任何加密处理,直接以明文形式出现在无线电波里。而驾驶者看车牌号还要隔着几十米才能识别,但射频信号的识别距离远得多——只要在数百米内有接收设备,你的车就会被“点出”一个唯一身份。

1.3 为什么车企默认不做加密?

很多第一次听说这个问题的朋友反应是:这不科学啊,现在都 2024 年了,车企连个加密都舍不得做?事实上,这不是“舍不得”三个字能说清楚的。

TPMS 传感器是极端低功耗设备。一颗纽扣电池要用 5 到 10 年,工作期间每几秒发一次报文,平时必须深睡。在这种功耗预算下,加解密运算需要占用额外的算力和能耗,一个 16MHz 或 32MHz 的 MCU 跑非对称加密确实很吃力,但这并不是无法解决的——真正卡住车企的是成本与市场节奏。

TPMS 带有强安全法规属性:美国 NHTSA 在 2007 年就强制所有乘用车安装 TPMS,欧盟在 2012 年起也对新车提出胎压监测要求。法规要求的是“必须有这么个功能”,并没有要求“无线链路必须加密”。各大车企为了满足法规、控制成本、压缩开发周期,直接选用了市面上成熟但不加密的芯片方案。

还有一个客观原因:TPMS 传感器是消耗件,轮胎换位、轮组更换时可能重新配对。如果做复杂的双向认证,就会导致配对过程变得麻烦,车主在第三方轮胎店换传感器时也可能因为授权问题去不了。这属于典型的“安全影响用户体验,产品经理选择了放弃”的取舍。

所以说,未加密不是疏漏,而是长期以来的设计惯性。只不过随着汽车逐渐智能化、联网化,这个惯性正在变成实实在在的隐私风险。

2. 追踪攻击的技术原理:被动监听如何实现车辆定位

2.1 被动采集:你只需要一台 SDR

先给对射频不太熟的朋友解释一下:TPMS 信号的发射本身就是无差别的广播,传感器不会去确认“接收器是不是我自己车上的”,只要功率够、频点对准,任何一台能解调该协议的设备都能“偷听”。

实操层面,现在做这件事的门槛非常低。

一种方式是硬件直接解调:买一个价格在 1000 元左右的多通道无线电接收器(比如 Great Scott Gadgets 的 Yard Stick One),配合电脑上现成的 TPMS 解调脚本,插上 USB 天线就能抓包。另一种方式是使用软件无线电(SDR),例如价格 200~400 元的 RTL-SDR 电视棒,配合开源的通用无线电工具(GNU Radio)以及网上现成的 TPMS 协议解析模块,几十行 Python 就能把报文里的字段解出来。

我实测过用 RTL-SDR 在路边接收经过车辆的 TPMS 信号,在一分钟流量约 60 辆车的城市道路上,平均能抓到 30 辆以上车辆的明文报文。整个过程不接触目标车辆、不干扰任何信号、不触发目标车上任何告警,是完全被动的监听。

2.2 多点部署:用“同一 ID 在不同地点的出现”画出轨迹

单独抓到一个传感器 ID 只能说明“有辆车经过了这个点”。要实施车辆追踪,关键在于多点采集和 ID 交叉关联。

攻击成本可以从两个维度看:

  • 单点长时监听:固定安装接收器在一栋楼、一个停车场或一条主干道边,持续记录经过车辆的时间戳和传感器 ID,形成“某时间段内有哪些车经过”的数据积累。
  • 多点网格化部署:在城市多个路口布置同样的接收节点,当车辆驶过路口 A 时节点 A 记录 ID 和 RSSI 信号强度,驶过路口 B 时节点 B 也记录到同一个 ID。把两个时间戳和信号强度一对比,就知道这台车从 A 开到 B 用了多少分钟,顺藤摸瓜形成一条完整的行驶链路。

RSSI 信号强度这个参数很重要。同一颗传感器发射的射频信号,距离接收天线越近,信号越强。单一节点只能估出车辆距节点大概多远,但多个节点同时收到,用三角定位原理就能把车辆的位置逼近到几十米的误差范围内。在城市路口布置三到四个接收节点,配合 RSSI 测量,基本可以做到“双向车道级”的定位。

这个攻击意味着什么?只要攻击者在目标车辆经常出现的地方(比如嫌疑人的小区门口、公司楼下)布下几个接收器,一段时间内就能积累目标车辆的 TPMS ID 库,之后无论它开到哪里,只要经过己方网格节点,就会被自动识别和上报。

2.3 这个方案的实际局限在哪里

追踪技术是有效的,但不是没有短板。

干扰很常见:TPMS 发射功率很低,通常在 0 dBm 上下,典型接收距离在开阔地约 100 到 300 米,城市环境下由于建筑遮挡可能缩到几十米。所以你要做成全覆盖的追踪网络,节点密度需求是非常高的,成本远超装 GPS 追踪器。

其次,TPMS 传感器只在车辆行驶且车轮启动后周期性发射。车辆熄火停放时,传感器进入休眠,广播停止,无法通过 TPMS 定位静止车辆。这个局限直接限制了对“停车后人在哪”的追踪。

第三,数据链路单向被动采集,无法实时推送车辆位置到攻击者手机。除非攻击者在每次节点捕获后做网络回传,否则这套网格系统实际部署复杂度很高,不是小白能玩的。

但这些局限并不能消除核心问题:明文广播把“一个稳定的车辆指纹”暴露在空间里,而且这个指纹不像车牌号,关不掉也撕不下,刷不掉。对于有能力部署网格的专业机构来说,TPMS 就是一个免费的车辆追踪基础设施。

3. 威胁不止于追踪:伪造报文与其它连锁风险

3.1 伪造 TPMS 报文,伪造一场“爆胎”报警

TPMS 追踪问题广为人知之后,我们圈子里讨论的不仅是“读”,还有“写”。

既然协议是明文的,传感器 ID 可见,调制方式和编码方式是公开的,那攻击者完全可以伪造一帧“0 kPa”的报警报文,用同一频点、大功率在目标车辆经过时发送。接收器对比 ID 匹配后,会在仪表盘上触发高压报警,甚至有可能触发车辆低速行驶时的“请立即检查胎压”提示。

诱导车停在路肩这件事,危害远比想象大。高速路上一旦仪表盘突然弹出“当前轮胎压力为 0”,多数驾驶员的反应是猛踩刹车减速、靠边停车,万一后车距离近,直接导致追尾。这是典型的无线电制造“软故障”,却能引发物理事故。

这里需要说明:不同车企对 TPMS 报警的处理逻辑不太一样,有的只显示图标,有的会有声音提示和仪表文字提示。要实际达到“逼停一台车”的效果还需要结合具体车型做针对性协议分析。但从攻击者角度,这远比网络攻击门槛低。

3.2 重放攻击:同一个 ID,重放同一段报文

重放攻击在无线通信里是老面孔了。攻击者录制一段包含某传感器 ID 的 TPMS 报文,稍作修改后在同一频点上反复重放。如果目标车型的接收器没有做报文计数或时间戳校验,就可能被欺骗:实际胎压正常,仪表盘却一直报警。

更微妙的是,重放攻击还能用于伪造“车辆状态”的假象:比如传感器信号被重放到错误的时段,接收器可能误以为车辆刚启动。虽然 TPMS 报文触发不了车辆启动等核心功能,但在汽车安全研究里,它往往成为攻击链中的一环——攻击者在尝试接触车内总线、OTA 升级接口或诊断口时,先用 TPMS 重放制造一个可乘之机(比如诱导车主下车、诱导车主开窗操作),这就是社会工程学和无线攻击的交叉应用了。

3.3 从一条射频消息到车主身份:隐私串联

单看一条 TPMS 报文,陌生人只会看到一个十六进制 ID。但攻击者只要做一次“线下关联”,就能把 ID 变成真实身份。

最典型的场景是停车场:攻击者在某个高端小区地下车库出口放置接收器,连续记录每天出入车辆。某个夜晚,他可以拍摄到某辆车的车牌并记下车型颜色,用 SDR 在同一时间窗口抓取这辆车的 TPMS ID。一次操作,ID 和车牌就绑定了。

之后,ID 关联的车牌有了身份信息(交通违章、保险、登记信息都在这套系统里),传感器的明文 ID 就成了这辆车的“电子身份证”。而且这个 ID 几乎终身不变,只要车不换传感器,动作永远暴露在监听网络之下。

这在欧盟已经引发了监管层面的关注:2023 年欧洲一些隐私保护机构开始讨论 TPMS 信号是否构成 GDPR 下的“个人数据关联物”,因为一旦 ID 与自然人身份关联,它已经具备身份识别能力。国内虽然还没有明确法规说“TPMS 明文广播违法”,但在车联网数据安全标准(如 GB/T 40855-2021)和智能网联汽车信息安全相关的标准里,对远程通信链路的数据加密已经提出了明确要求,而 TPMS 这条链路恰好在合规审计中容易被漏掉。

4. 车企整改路线图:从“明文裸奔”到“低功耗加密”

4.1 加密不是不行,是要选对方向

先说结论:TPMS 完全可以做加密,只是不能照搬手机和电脑那套重加密方案。

TPMS 传感器端约束非常苛刻:MCU 主频低(通常 16MHz~48MHz),RAM 小(几百字节到几 KB),flash 也只有几十 KB;电池容量往往在 200~400mAh 之间,寿命要求 5~10 年。这意味着非对称加密(RSA/ECC 签名验签)虽然理论上可行,但每次发射报文前都要做一次签名运算,功耗和时间成本都比较高。

现实中更合理的形态是轻量级对称加密 + 动态滚动码。以 AES-128 为例,在 48MHz 的 MCU 上执行一次分组加密只需要几十微秒,单次加密电流增加约 1~2mA,持续时长极短。配合极低功耗的唤醒周期管理,对电池寿命的影响可以控制在整颗电池容量的 5% 以内。车企完全可以用一个 128 位 AES 密钥对 TPMS 报文做加密和完整性校验,外加计数器滚动,让重放攻击无效化。

当然,密钥管理是个新问题:传感器和接收器之间的预置密钥如何安全写入?间隙性换轮、换传感器时如何完成安全配对?这需要一套密钥管理系统(KMS),或者一次性的“学习-配对”过程。

4.2 轻量密码算法的方案取舍

我简单整理一下目前行业内比较主流的几个技术方案,方便同行和产品经理判断选型:

方案算法/机制优点缺点适用场景
对称加密AES-128-CTR/CCM成熟,MCU 实现容易,功耗可控需要密钥管理,需保证计数器同步大多数量产 TPMS 升级首选
轻量级密码PRESENT, SPECK硬件实现更省面积,极低功耗商用案例少,部分算法密码学审阅不足超低功耗老平台 MCU
滚动码每次广播用递增计数器派生认证标签防重放,单向链路也能验接收器需维护同步状态现有硬件稍加改动即可逐步落地
物理层指纹用发射芯片的射频指纹识别传感器不需要改协议、不用增加密钥准确率受环境温度、老化影响辅助增强,不是独立方案

你对其中“滚动码”这个词可能不陌生,车库遥控器、无钥匙进入系统都用它。TPMS 的问题是很多老批次车型还在用最原始的固定报文,连个计数器都没加。这其实是件很遗憾的事——因为 TPMS 报文载荷很小,加密和认证带来的额外字节数非常低,在射频链路里几乎没有通信开销压力。

4.3 UNECE R155 与新法规的推动力

过去车企可以拿“没有强制要求”当挡箭牌,但这条挡箭牌正在消失。

UNECE(联合国欧洲经济委员会)的 R155 法规是汽车信息安全领域第一个真正意义上的强制安全法规。它对车辆的网络安全管理系统(CSMS)和车型信息安全提出了明确要求,要求汽车制造商进行威胁分析和风险评估(TARA),并在车辆全生命周期内识别网络安全风险。

TPMS“明文广播可被监听追踪”这种问题,在 R155 的框架下会被识别为“隐私泄露风险”和“远程数据操纵风险”。一旦落入风险评估矩阵,且措施不足,就无法获得车型认证,届时智能网联汽车在欧洲市场可能连准入都拿不到。

国内同样在跟进。2021 年后发布的智能网联汽车相关的信息安全和数据安全标准,已经开始覆盖“无线通信链路安全、车外异常报文检测、车载网络安全”等内容。趋势非常明确:未来 2-3 年,TPMS 加密大概率会从一个没人管的角落,变成强制合规项。

4.4 产业升级中的几个绕不开的坎

就算车企现在决定加加密,落地过程也有不少坑。

第一个是生命周期内的密钥更新:一颗传感器寿命 5 年,车主可能在第三年换了新胎,同时换了新传感器。新传感器怎么和车载接收器配对?如果密钥是固定的,第三方轮胎店根本拿不到密钥。这就要设计一套“保守但安全”的配对流程:比如整车进入学习模式后,先用临时密钥广播、再用主密钥签发,或者通过用户的手机 App 做一个蓝牙中转授权。每一步都牵扯到用户体验,不是改几行代码能搞定的。

第二个是传感器成本上涨。加密芯片和更大内存的 MCU,单颗成本可能从原本的 20~30 元涨到 40~50 元。一台车四颗,车企多掏百八十块钱。这个成本对豪华品牌不算事,但对走量的中低端车型来说,真能卡掉一批老平台方案。

第三是“兼容老车型”的魔咒。存量车型的接收器硬件不支持新算法,总不能强制全部召回换仪表盘。实际中大概率只能从新平台开始,老车型继续裸奔到下架,这就意味着追踪风险会持续存在很长一段时间。如果你是车主,指望车企“主动帮你升级”,短期并不现实——这也是我在文章最后给车主建议的原因。

5. 从业者验证路径:怎么快速判断你的车是否暴露

5.1 用 RTL-SDR 从零开始验证 TPMS 明文

如果你手里有车或者需要做企业车队的无线安全摸底,我建议花一个周末自己做一次验证。过程不复杂,也完全合法(接收自己车或授权车辆的无线信号)。步骤是这样的:

  1. 准备硬件:RTL-SDR 电视棒一个(选带 TCXO 的版本,频率稳定性更好),天线用 433MHz 的直型天线或吸盘天线。
  2. 安装开源无线电工具:电脑上装 SDR# 或者 SDRangel,能可视化看到频谱即可。
  3. 配置频率:把中心频率设为 433.92MHz(欧系车)或 315MHz(美系车),带宽设 2MHz。
  4. 观察信号特征:开车绕小区一圈,观察频谱里出现的短促跳变信号,带有明显的 FSK 调制特征,就是 TPMS 报文。
  5. 使用开源的 TPMS 解析工具:目前 GitHub 上有多个可用的 tpms 协议解析脚本,接入采集到的 IQ 数据即可输出传感器 ID、胎压、温度字段。
  6. 确认配对:开启车内仪表胎压界面,等待报警或手动放气一次,对比抓到的 ID 变化,确认该 ID 就是自己车的那颗传感器。

如果你按这个流程在自己的车上抓到了明文 ID,那么换攻击者来,在主驾门和副驾门线外的路边装两台设备,他在你等红灯、进出地库、车队排队的时候同样也能抓到。

5.2 企业车队自查:一次低成本的安全审计

企业车队尤其是物流、网约车、机场摆渡车这类有固定线路的车辆,更需要做一轮 TPMS 无线安全审计。我建议的审计思路不是“部署全套反追踪”,而是先定量评估暴露面:

审计项方法输出
覆盖车型统计车队里所有车型、年款、TPMS 供应商确认哪些车大概率是明文方案
无线信号验证SDR 扫描车队停车场的 315/433MHz 信号抓取到明文报文的车辆数量占比
ID 稳定性分析连续 48 小时记录各车 ID,观察是否变化是否存在长期稳定指纹
响应距离测试在距车辆 5m/20m/50m 处测试接收灵敏度数据推演出攻击者的部署密度成本
伪造报文测试(授权)使用 USRP 或 Yard Stick 发送伪造报警报文明确能否触发目标车仪表报警

车队的结论往往会颠覆人的直觉:你可能在 30 台车里发现 20 台能抓到完整明文 ID,而且其中 80% 的 ID 是长期稳定的。这个结论交给管理层,比任何口头说明都有说服力。

5.3 作为普通车主,我们有没有反击手段?

聊点务实的。

坦白说,普通车主几乎无法从车辆端解决这个问题。你不能换掉原厂 TPMS 传感器,也不可能给车辆加装无线加密网关。你能做的,是降低被追踪的风险暴露面:

  • 注意停车环境:如果明显感觉总是同一辆车出现在你常去的地点附近,不要以为是巧合。多换几个停靠位置,观察是否对方设备也会移位。
  • 不要让第三方随意读取车辆 OBD 或胎压数据:维修保养时,去正规授权店可以减少数据被复制的概率。
  • 警惕车内后加的射频设备:部分车主后期加装的胎压显示器、行车记录仪,本身也可能成为新的无线暴露点。选择支持蓝牙/本地协议的产品,减少数据传输链路。
  • 合理看待风险:TPMS 追踪的最大威胁来自“有组织的持续监控”,而不是路人偶遇。普通人被装的概率远低于被 GPS 定位。你不需要恐慌,但要有这个意识和基本常识。

从工程师视角来看,我更建议从业者和车主共同关注“数据边界”这个概念:所有从车延伸到车外的无线数据,都应该默认被视为“可公开”。TPMS 只是一个开始,进入智能驾驶时代后,车外摄像头、V2X 路侧通信、蓝牙钥匙、超宽带雷达,每一路无线信号都在扩展边界,也都在扩大暴露面。

6. 从 TPMS 看智能汽车安全设计的通病:边界数据与默认信任

6.1 单向链路的“信任默认”是最难改的遗产

在 TARA 框架里有一个常用概念叫“资产(Assets)”。TPMS 的资产不只是“轮胎气压信息”,更应该是“与车辆唯一绑定的可识别信息”。过去设计者把它定义为普通遥测数据,只考虑“帮助驾驶员识别气压低”,却忽略了它同时具备“身份标定”的能力。

这种设计错位在汽车行业并不罕见。你可以看到很多车联网功能也是这样——车况接口、充电状态、路线统计都在云平台上,日志一备份就是一整年。安全界经常说“没有数据该裸奔”,但车企产品序列里仍然可能存在“裸奔数据”,问题不是能力不够,而是“默认信任”的惯性。

6.2 几点个人经验与建议

我自己和同行做过很多次车辆无线安全验证,有一个体会越来越深:单纯追求“一次攻破”的展示价值并不大,真正有价值的是帮车企和监管层建立一套“快速发现低垂风险”的机制。

TPMS 这个问题本身已经非常成熟,学术界、安全研究人员、媒体都讲了一轮又一轮,但直到现在很多新车型依然是明文方案。原因并不复杂:没有发生大规模安全事故,没有被强制,也没有大面积用户投诉。安全产品经理在排优先级的时候,它总是被排到后面。

所以如果你恰好是汽车电子工程师或产品经理,我建议你做设计评审时可以多问一句:“这台车发出的每一个字节,会不会让外界认出它来?”这个问题的答案,往往比一份几百页的合规文档更能揭示真实风险。

最后说个小经验:如果你要做类似的无线安全测试,一定记得先跟法务确认测试范围和授权边界。在车辆无线安全研究里,“接收”和“发射”的法律性质完全不同。被动接收一般处于灰色甚至合法地带,但主动发射伪造报文来测试车辆响应,未经过车主或车企授权的话,是有法律风险的。测试工具怎么选、发射功率控制到多少、是否需要屏蔽箱,这些细节都要提前想好。

安全研究的意义从来不是吓唬人,而是把问题摊开,让该做决定的人有机会做正确决定。这一轮,希望更多车企能做出正确的决定。

返回列表