车联网安全之滚动码系统研究
字数 1778 2025-08-29 08:30:18

车联网安全之滚动码系统研究教学文档

一、研究背景与汽车钥匙系统发展

1.1 无钥匙进入系统发展历程

从无线遥控无钥匙进入(RKE)系统开始,到被动式进入系统(PEK)和被动进入/被动启动(PEPS),再到被动式安全进入系统(PASE),无钥匙进入系统在过去40年经历了显著发展:

  • 技术演进:从ASK、FSK调制到蓝牙低功耗(BLE)系统的编码跳频扩频,再到超宽带(UWB)调制
  • 安全演进:从简单的无编码数字技术到编码数字技术、滚动编码和高级加密标准(AES)的实施

1.2 遥控钥匙(RKE)系统

工作原理

  1. 发送信号:用户按下按钮,遥控器发送RF信号(含特定识别码)
  2. 接收信号:车辆接收器接收并解析RF信号
  3. 验证信号:识别码匹配则发送信号到ECU
  4. 执行指令:ECU执行解锁/锁定等操作

技术特点

  • 使用315MHz或433MHz频段的RF信号
  • 采用滚动码技术防止信号拦截和复制
  • 单向验证机制(钥匙→车辆)

1.3 被动进入系统(PKE)

工作原理

  1. 车辆周期性发送LF信号(1-3米范围)
  2. 钥匙接收LF信号并响应发送HF信号
  3. 车辆验证HF信号中的识别码
  4. 识别码匹配则自动解锁

技术特点

  • 使用125kHz LF信号和315/433MHz HF信号
  • 双向认证和加密技术
  • 车辆主动发起验证

1.4 被动进入和启动系统(PEPS)

工作原理

  • 进入车辆:同PKE机制
  • 启动车辆:车内LF信号确认钥匙位置,验证后允许启动

技术特点

  • 结合PKE所有技术
  • 多天线阵列实现精确定位
  • 集成NFC和蓝牙功能
    • 蓝牙提供更高安全性(跳频机制、测距定位)
    • 测距精度:RSSI方法(1-5米),AoA方法(约0.5米)

二、滚动码机制详解

2.1 滚动码基本原理

  • 每个钥匙fob信号传输都是唯一的(随每次按键变化)
  • 通过16位宽计数器实现唯一性
  • 钥匙和车辆计数器同步机制:
    • 正常情况:双方计数器同步增加
    • 重放攻击:接收器会丢弃旧计数器信号(Cv > Ck)

2.2 同步机制分类

单一窗口(Single Window)

  • 条件:计数器差值Cdiff = Ck - Cv < 16
  • 特点:
    • 一次按键即可同步
    • 车辆立即更新计数器
    • 丢弃所有未接收到的代码

重新同步/双窗口(Resync/Dual Window)

  • 条件:16 < Cdiff < 2^15
  • 特点:
    • 需要两次按键操作完成同步
    • 第一次信号被暂存,验证第二次信号计数器值是否+1
    • 提供更高安全性防止重放攻击

2.3 未来代码机制

  • 车辆维护一组"未来代码"集合
  • 当钥匙fob计数器领先时:
    • 接收到的代码若匹配未来代码集合,则重新同步
    • 使之前未使用的代码失效
  • 安全漏洞:攻击者获取未使用的未来代码可在车主再次使用前重放

三、滚动码攻击技术

3.1 RollJam攻击

攻击流程

  1. 时刻捕捉信号
  2. 干扰车辆与钥匙的正常通信
  3. 引诱车主第二次发送解锁信号(因第一次被干扰)
  4. 重放第一次捕获的信号

原理

  • 拦截并阻止一个滚动码后,合法用户会发送下一个
  • 接收设备未意识到有滚动码被阻塞并存储
  • 被拦截的滚动码仍被视为有效

缺点

  1. 对阻塞装置放置要求高
  2. 必须及时使用收集的信号(否则会随更新失效)

3.2 RollBack攻击

攻击流程

  1. 时刻捕捉信号
  2. 干扰车辆与钥匙的正常通信
  3. 引诱车主第二次发送解锁信号

原理

  • 利用滚动码系统的回滚机制
  • 当多个连续已发送的滚动码被重新发送时,系统认为出错并回滚
  • 无需立即重放,可在任意时间使用

优势

  • 不受时间限制(不像RollJam需立即使用)
  • 对阻塞装置要求相对较低

四、防御措施与安全建议

  1. 系统设计改进

    • 限制回滚机制的使用
    • 实现更严格的同步验证
    • 增加额外的身份验证因素
  2. 用户防护

    • 使用法拉第袋存放钥匙
    • 注意异常解锁行为
    • 定期更换钥匙电池(避免因低电量导致信号弱)
  3. 技术升级

    • 采用PEPS替代传统RKE系统
    • 部署UWB技术提高定位精度
    • 实施更强的加密算法

五、实验与CTF应用

硬件需求

  • ESP32 + CC1101模块×2
  • SDR设备(如RTL-SDR或EvilcrowRF)

攻击模拟

  • 可实现RollJam和RollBack攻击原理演示
  • 可用于设计车联网安全CTF题目

教学价值

  • 帮助理解滚动码系统工作原理
  • 演示实际攻击场景
  • 培养安全防御思维
车联网安全之滚动码系统研究教学文档 一、研究背景与汽车钥匙系统发展 1.1 无钥匙进入系统发展历程 从无线遥控无钥匙进入(RKE)系统开始,到被动式进入系统(PEK)和被动进入/被动启动(PEPS),再到被动式安全进入系统(PASE),无钥匙进入系统在过去40年经历了显著发展: 技术演进 :从ASK、FSK调制到蓝牙低功耗(BLE)系统的编码跳频扩频,再到超宽带(UWB)调制 安全演进 :从简单的无编码数字技术到编码数字技术、滚动编码和高级加密标准(AES)的实施 1.2 遥控钥匙(RKE)系统 工作原理 : 发送信号:用户按下按钮,遥控器发送RF信号(含特定识别码) 接收信号:车辆接收器接收并解析RF信号 验证信号:识别码匹配则发送信号到ECU 执行指令:ECU执行解锁/锁定等操作 技术特点 : 使用315MHz或433MHz频段的RF信号 采用滚动码技术防止信号拦截和复制 单向验证机制(钥匙→车辆) 1.3 被动进入系统(PKE) 工作原理 : 车辆周期性发送LF信号(1-3米范围) 钥匙接收LF信号并响应发送HF信号 车辆验证HF信号中的识别码 识别码匹配则自动解锁 技术特点 : 使用125kHz LF信号和315/433MHz HF信号 双向认证和加密技术 车辆主动发起验证 1.4 被动进入和启动系统(PEPS) 工作原理 : 进入车辆:同PKE机制 启动车辆:车内LF信号确认钥匙位置,验证后允许启动 技术特点 : 结合PKE所有技术 多天线阵列实现精确定位 集成NFC和蓝牙功能 蓝牙提供更高安全性(跳频机制、测距定位) 测距精度:RSSI方法(1-5米),AoA方法(约0.5米) 二、滚动码机制详解 2.1 滚动码基本原理 每个钥匙fob信号传输都是唯一的(随每次按键变化) 通过16位宽计数器实现唯一性 钥匙和车辆计数器同步机制: 正常情况:双方计数器同步增加 重放攻击:接收器会丢弃旧计数器信号(Cv > Ck) 2.2 同步机制分类 单一窗口(Single Window) 条件:计数器差值Cdiff = Ck - Cv < 16 特点: 一次按键即可同步 车辆立即更新计数器 丢弃所有未接收到的代码 重新同步/双窗口(Resync/Dual Window) 条件:16 < Cdiff < 2^15 特点: 需要两次按键操作完成同步 第一次信号被暂存,验证第二次信号计数器值是否+1 提供更高安全性防止重放攻击 2.3 未来代码机制 车辆维护一组"未来代码"集合 当钥匙fob计数器领先时: 接收到的代码若匹配未来代码集合,则重新同步 使之前未使用的代码失效 安全漏洞:攻击者获取未使用的未来代码可在车主再次使用前重放 三、滚动码攻击技术 3.1 RollJam攻击 攻击流程 : 时刻捕捉信号 干扰车辆与钥匙的正常通信 引诱车主第二次发送解锁信号(因第一次被干扰) 重放第一次捕获的信号 原理 : 拦截并阻止一个滚动码后,合法用户会发送下一个 接收设备未意识到有滚动码被阻塞并存储 被拦截的滚动码仍被视为有效 缺点 : 对阻塞装置放置要求高 必须及时使用收集的信号(否则会随更新失效) 3.2 RollBack攻击 攻击流程 : 时刻捕捉信号 干扰车辆与钥匙的正常通信 引诱车主第二次发送解锁信号 原理 : 利用滚动码系统的回滚机制 当多个连续已发送的滚动码被重新发送时,系统认为出错并回滚 无需立即重放,可在任意时间使用 优势 : 不受时间限制(不像RollJam需立即使用) 对阻塞装置要求相对较低 四、防御措施与安全建议 系统设计改进 : 限制回滚机制的使用 实现更严格的同步验证 增加额外的身份验证因素 用户防护 : 使用法拉第袋存放钥匙 注意异常解锁行为 定期更换钥匙电池(避免因低电量导致信号弱) 技术升级 : 采用PEPS替代传统RKE系统 部署UWB技术提高定位精度 实施更强的加密算法 五、实验与CTF应用 硬件需求 : ESP32 + CC1101模块×2 SDR设备(如RTL-SDR或EvilcrowRF) 攻击模拟 : 可实现RollJam和RollBack攻击原理演示 可用于设计车联网安全CTF题目 教学价值 : 帮助理解滚动码系统工作原理 演示实际攻击场景 培养安全防御思维