1. 3C 数字钥匙规范简介 CCC ( Car Connectivity Consortium )车联网联盟 是一个致力于制定智能手机到汽车连接解决方案标准的全球跨行业组织。 2021 年 7 月 CCC 将 UWB 定义为第三代数字钥匙的核心技术,并发布 CCC R3 (第三代数字钥匙)规范。 CCC R3 是基于 NFC/BLE/UWB 作为基础的无线电技术的使用,该系统采用非对称密码技术对车辆和设备进行相互签名认证,且只对已知车辆显示身份,只有使用和车辆存储的公钥相对应的私钥签名计算,车辆才能进行解闭锁、启动发动机等功能。 R3 可以兼容 R2 (第二代数字钥匙), R1 (第一代数字钥匙)是独立于 R2 、 R3 进行部署。 在成功完成车主配对后,车主每次携带设备靠近车辆 Approach 前,应执行最低安全测距流程( UWB 的工作内容),以建立安全测距,然后才能启动 Approach ,如迎宾、 Lock 、 Unlock 功能;一旦建立了安全测距和设备本地化,车辆可以根据其策略或要求决定启动上述行动。在建立安全测距之前需要 URSK ( UWB 测距密钥),车辆可以有一个预先派生的 URSK 或根据需要派生一个新的 URSK 。 URSK 的机密性和完整性应在 URSK 的整个生命周期内得到保护。 2. DK (数字钥匙)系统架构 2.1 DK 体系架构 DK 体系架构各个流程的说明如下: 1) 车辆通过线路 1 远程连接到车辆云端,此链路提供安全的通信通道,并由车辆云端安全控制; 2) 车辆配备了 NFC (线路 3/4 )、 BLE (线路 11 )、 UWB (线路 12 )模块,可与设备通信以进行车主配对; 3) 所有合格的设备都有一个经过认证的 SE 以及 NFC 功能,使设备与车辆能够进行通讯,其中 NFC 功能是必须的,保证手机在没电的情况下依旧可以靠 NFC 对车辆的一些操作; 4) 车主设备通过线路 2 、线路 6 、线路 8 、线路 7 与车主设备云端、好友设备云端、好友设备进行通信,分享钥匙给好友设备,对好友设备进行车主可设置的访问配置文件、终止分享的 DK ;好友设备可以使用车主分享的 DK ,但不能向其它设备分享车主的的钥匙; 5) 车主设备通过线路 2 与车主设备云端通信,好友设备通过线路 7 与好友设备云端通信。车主设备 / 好友设备也可以通过线路 10/ 线路 9 直接与车辆云端通信; 6) 车主设备和好友设备可分别通过各自的设备云端线路 2/ 线路 6 、线路 7/ 线路 8 直接与车辆云端通信;线路 6/ 线路 8 用于交换车辆和车主 / 好友设备云端的证书,实现钥匙分享、跟踪、终止、通知、认证的功能; 7) 设备云端负责管理 DK 的生命周期(数据的周期) ,并分别通过线路 2/ 线路 7 更新、删除、暂停、恢复车主 / 好友设备中的证书;它可在设备丢失不可用时让其钥匙功能失效或恢复功能正常; 8) 车辆云端负责管理用户账户和 ID&V (识别和验证用户身份);它还通过线路 5 连接到 KTS ,以注册车辆所有的已颁发的 DK ,从而保留存储信息的隐私。 2.2 设备端 DK 架构 1 2 3 1) 2) 3) 4) 4.1 1 2 2.1 2.2 3. NFC 数字钥匙 NFC钥匙 即第一代数字钥匙,通过 NFC 卡片,实现车辆的解锁、闭锁和启动等功能。目前除了像特斯拉、极氪等车型的卡片钥匙,带NFC功能的手机和手表也逐渐成为进入车辆的新型车钥匙 。 图片来源于比亚迪 NFC 通信实现的主要功能如下: 手机第一次配对和分享钥匙时,用来作为设备和车辆通过 OOB (带外配对方法)配对来交换数据的通道; 在手机没电、 BLE 和 UWB 均不能正常工作的情况下,可以通过车门和控制台的 NFC 模块来解闭锁,以及启动车辆。 车辆和车辆的 NFC 接口需符合《 NFC 模拟技术规范》的轮询器要求,可支持 NFC-A 、 NFC-B 、 NFC-F 技术。 设备端的 NFC 接口应符合监听设备的需求,当电池低电量时,保证 NFC 还可以使用。 4. BLE 数字钥匙 蓝牙钥匙即第二代数字钥匙,通过蓝牙通信技术和车辆进行连接,实现钥匙定位、无钥匙进入、无钥匙启动、远程控制等功能。 BLE、SE、 UWB 是第三代数字钥匙解决方案的核心。其中钥匙定位升级为 UWB 技术实现,而设备和车辆之间的安全数据仍通过蓝牙技术进行通信, 从而使 SE 能够通过安全通道与车辆提供相互身份验证和数据分享。 图片来源于网络 4.1. BLE 配对流程 蓝牙钥匙和车端之间的蓝牙配对包含三个连接流程,其中使用 BLE OOB 配对建立车主配对连接的流程如下: 1) 首先是设备蓝牙链路层连接: 车辆主机开始发送 ADV_IND (广播),并将 CCC-DK-UUID ( CCC DK 的唯一通用标识符)作为广播负载,车辆 LL (链路层)处于广播状态,过滤策略设置为接受所有广播连接请求。设备主机开始被动扫描,设备 LL 应处于扫描状态,其过滤策略应是接受所有广播,一旦设备 LL 接收到一个广播,它将它转发给设备主机,设备主机应检查 CCC-DK-UUID 是否包含在广播有效载荷中,如果有效载荷中包含 CCC-DK-UUID ,则通知用户,如果用户接受车主配对请求,则用户应提供配对密码,在 14 步后,设备 LL 将进入启动状态,过滤策略设置为客户广播的地址,当设备 LL 收到下一个相同的广播时,设备 LL 将发送连接请求。 2) L2CAP 面向连接的通道: L2CAP 对 LL 进行一次简单的封装, LL 只关系数据本身, L2CAP 要区分时加密通道还是普通通道,同时对连接间隙进行管理。 最后是 BLE 设备配对流程如下: 1) 主动发起配对:设备发送 BLE 配对请求到车辆。车辆发送 BLE 配对响应到设备; 2) 公钥交换:设备向车辆发送 BLE 配对公钥。车辆向设备发送 BLE 配对公钥。设备和车辆生成 DHKey ; 3) 生成 LTK (长期的连接安全密钥):设备和车辆都要验证作为 OOB 配对准备程序的一部分接收到的确认值是否匹配。设备和车辆生成 1 个随机数( Na 和 Nb )。设备发送( Na )给车辆,车辆发送( Nb )给设备; 4) LTK 计算:一旦设备和车辆上的 DHKey 生成完成,设备和车辆会计算它们的 LTK ; 5) DHKey 检查:设备将检查值( Ea )发送给车辆,车辆将检查值( Eb )发送给设备,设备和车辆都需要验证这些值; 6) 密钥分发; 7) 启用设备和车辆加密:设备和车辆将彼此添加到它们的私有地址解析列表中。 5. UWB 数字钥匙 UWB 数字钥匙即第三代数字钥匙, UWB 全称为超宽带无线通讯技术,相比较于蓝牙通信技术, UWB 具有更宽的频带,且通过 ToA 到达时间测距技术,使其拥有更好的定位精度。 5.1. UWB 物理层 IEEE 标准定义了一种非常灵活的 UWB 物理层, IEEE 标准的灵活性是通过调整如同步前导长度、前导码、数据速率等参数来实现的,但该规范不需要实现指令的所有参数和格式。 Responder 用 SYNC 同步收到的 UWB 信息, STS 用于生成一个防篡改的时间戳。 PHY Header 包含 PSDU 信息, PSDU 包含有效信息。 PPDU(PHY protocal data unit) 物理层协议数据单元: 1) SYNC :又称前导码区域,接收机为了检测和同步 UWB 信号,首先必须找到符合协议的前导码;前导码(由 0/1 组成的一种帧结构,通知目标做好接受准备); 2) SFD :报文起始分隔符; 3) STS :安全时间戳; 4) PHY header(PHR)(SP3 没有 ) ,物理头(汉明码 SECDED ); 5) PHY 服务数据单元 (PSDU)(SP3 没有),物理层服务数据单元(里所码)。 Responder 用 SYNC 和 SFD 同步收到的 UWB 信息, STS 则用于生成 1 个防止篡改的时间戳, PHR 包含了关于 PSDU 的内容, PSDU 包含了有效信息,就是 Initiator 真正想传输的数据; STS 、 Payload 属于可选配置;根据配置,不是所有可选部件都必须在一个框架中表示。 SP0 的数据包 5.2. UWB 测距定位 UWB 设备测距流程如下: 首先, Initiator (设备)发送一个 Pre poll 帧( SP0 )到车上的每个 Responder (车端的节点), Initiator 再发送一个 Poll 帧( SP3 )到车上的每个 Responder ,然后车上的每个 Responder 分别发送一个 RSP 帧到 Initiator , Initiator 再发送一个 Final 帧到车上的每个 Responder ,最后 Initiator 发送一个 Final data 帧到车上的每个 Responder ,这时一个测距会话就完成了,最终车端通过不同的节点和设备之间的距离算出与设备之间的距离。 SP0 : STS packets type0 ,包含 UWB 的定位配置信息,但没有 STS 信息; SP3 : STS packets type3 ,包含 STS 索引信息,完全用于定位; Pre poll :包含了 UWB 会话 ID 、 Poll STS Index (后续 Poll 消息的 STS 索引)、 Ranging Block (会话当前测距块的索引)、 Round Index (当前测距块的测距四舍五入索引,该索引由前一个测距块中的测距交换器设置) 、 Hop Flag (当前测距块的操作标志,由前一个测距块中的测距交换器设置)。 Final data :包含了 UWB 会话 ID 、 Ranging Block 、 Hop Flag 、 Final STS Index (前面 Final 消息的 STS 索引)、 Ranging Timestamp Final TX ( Initiator Poll 和 Final 消息传输时间的时间差)、 Number Ranging Responders (此消息中要跟随的时间戳数)、 Responder Index 、 Ranging Timestamp Responder (启动器收到响应器的 Poll 和 Response 之间的时间差)、 Ranging Timestamp Uncertainty Responder (不同置信度下 1.5 cm-3.6 m 的值范围)、 Ranging Status Responder (来自响应程序的响应框架的状态)。 6. 7. 8. 8.1. 6. 总结 目前 UWB 技术在手机端和车端的应用仍处于初期阶段,但 UWB 技术的优点能为人车交互带来更丰富的应用场景。比如自动泊车、车辆共享、汽车支付、车内活体检测等。目前北汇已承接多个基于 NFC/BLE/UWB 技术的数字钥匙功能测试项目,积累了从零部件到实车的数字钥匙测试案例。后续会陆续分享数字钥匙测试方案讲解的文章,敬请关注。 文中部分图片来源于: 【1】 CCC Digital Key Release 3 CCC-TS-101