CCC 数字钥匙Release 3学习笔记 Part1

2022/08/23 北京

0 前言

2022年8年开始离开了从事14年的密码行业,去了汽车行业,当然在全新的行业里,还是去做密码相关的东西。最近开始学习目前CCC正在推广的的数字钥匙规范。

1 介绍

CCC数字钥匙技术规范(Digital Key Technical Specification)Release 3详细描述了一个数字钥匙生态系统,这个数字钥匙生态系统使用标准化数字钥匙applet、标准化车辆访问协议(vehicle access protocol)和一个可扩展的架构来支持不同车辆OEM和设备OEM进行数字钥匙服务的大规模开发。

Release 3是向前兼容Release 2的,但是Release 3不支持Release 1。Release 1可以独立与Release2和3部署。

数字钥匙技术规范Release 3基于BLE/UWB 或者NFC作为低层的无线通信技术来启用数字钥匙服务。数字钥匙服务管理框架被设计为和无线通信技术无关的,使得框架可以支持其他技术。

2 系统架构

2.1 概述

建议系统使用非对称密码体系来进行车辆和设备的互相认证。

设备只向已知的车辆暴露他的身份。

公钥在设备和车辆配对时互相交换,车主可以通过对朋友和家庭成员的公钥进行签名来完成对他们的授权。

系统设计为完全离线(车辆或者设备都不和服务器链接,相当于金融支付叫双离线)在所有相关的功能在执行时,比如车主使用数字钥匙配对或者开锁和上锁。监管和业务要求必须连线的场景,这些会被加入到系统中。

2.2 高层功能

本系统符合以下高层要求

  • 安全性和隐私性相当于或者强于机械钥匙

  • 车主设备和车辆配对

  • 车主和朋友之间共享钥匙

  • 设备和车辆OEM之间的互操作性

  • 在一个设备上支持来自不同汽车厂家的多个数字钥匙

  • 车辆OEM能够控制数字钥匙的发放机器策略

  • 针对主动/被动窃听者的隐私保护

2.3 高层架构

数字钥匙生态系统由多个参与者组成,他们使用标准和私有链接互相连接,如图2-1所示。标准化的连接在这个规范中被指定,可以支持实现和互操作性。每个实体的角色和职责在2.4和2.5节中描述。

超出本规范的范围的实体和私有连接在图2-1中为虚线的部分。

img

在系统中,vehicle连接到Vehicle OEM Server每个Telematics Link(1),这个链接提供一个安全通信信道并且完全被车辆OEM控制。

车辆vehicle配备了NFC读写器和可选的蓝牙/UWB模块用于在车主配对,车辆上锁解锁时和设备通信,可以通过链路3和4或者链路11和12。

2.4 角色

2.4.1 车辆 Vehicle

  • 在允许车主配对或者接受车主设备分享的朋友钥匙之前,决定车主/朋友设备是jie’sh

  • 如果钥匙要求追踪,可以提供车主到KTS的配对信息(车主公钥,设备信息等)或者验证被KTS接收到的车主配对信息。

  • 验证设备的真实性。

  • 授权一个设备,证明它有一个有效的数字钥匙访问车辆,如果车辆需要,一个immobilizer token来启动发动机。

  • 如果需要,提供一个用户接口来删除车主和朋友的数字钥匙

  • 提供安全处理和存储环境

2.4.2 车辆NFC读写器 Vehicle NFC Readers [WCC1]

  • 和车主设备通信,用于车主配对和数字钥匙交易(上锁,解锁,启动发动机等)。

  • 和朋友设备通信用于数字钥匙交易。

2.4.3 车辆蓝牙BLE模块 Vehicle Bluetooth LE Module [WCC2/WCC3]

  • 和车主设备通信,用于车主配对和数字钥匙交易(上锁,解锁,启动发动机,RKE等)

  • 和朋友设备通信,用于第一个朋友交易(什么鬼?)和数字钥匙交易

  • 和车主或者朋友设备通信,用于通过UWB设置安全范围

  • 和车主或者朋友的设备通信,用于远程交易

  • 和车主或者朋友设备通信,用于广播通知和状态信号的变化

  • 和车主或者朋友设备通信,用于广播第三方车辆OEM应用的数据

2.4.4 车辆UWB模块 Vehicle UWB Module [WCC3]

  • 和车主或者朋友设备通信,用于安全测距,安全的确定设备和车辆之间的距离,以支持被动进入和被动发动机启动功能的安全距离测量

2.4.5 车辆OEM服务器 Vehicle OEM Server

2.4.6 钥匙追踪服务器 Key Tracking Server

2.4.7 设备 Device

2.4.7.1 车主设备 Owner Device
2.4.7. 朋友设备 Friend Device

2.4.8 设备OEM服务器 Device OEM Server

2.4.9 中继服务器 Relay Server

2.5 Relationships

2.6 设备结构 Device Structure

img

安全单元SE和NFC控制器是合格设备的必备组件。安全单元SE提供信任的根,根是信任链的起点。

2.6.1 NFC组件 NFC Component [WCC1]

  • 非接触交易时要求必须具有卡模拟模式

  • 在车主配对功能要求必须具有主机卡模拟模式(HCE)

2.6.2 蓝牙模块 Bluetooth Module [WCC2]

  • 在车主配对时和车辆通信,第一个朋友交易和数字钥匙交易(上锁,解锁,启动发动机,RKE等)

  • 和车辆通信,用于通过UWB设置安全范围

  • 和车辆通信,用于远程交易

  • 和车辆通信,用于广播通知和状态信号的变化

  • 和车辆通信,用于广播第三方车辆OEM应用的数据

UWB模块 UWB Module [WCC3]

  • 和车辆通信,用于安全测距,安全的确定设备和车辆之间的距离,以支持被动进入和被动发动机启动功能的安全距离测量
可以从2.6.1,2.6.2,2.6.3看出来这里设备上的蓝牙和NFC功能和车上的蓝牙NFC功能基本一致,可以参考2.4.2,2.4.3和2.4.4

2.6.4 安全单元(或相当) Secure Element(or equivalent) ——> 密码、智能卡相关的同学请关注

  • 支持Java Card(只是规范推荐的一种方案,并不是唯一选择)和Global Platform, SE根基于GP定义的Controlling Authority Security Domain。

  • GP卡规范修正C和GP非接触扩展

  • 支持标准对称和非对称密码算法

  • 主机数字钥匙applet

  • 能够区分通信接口是来自有线接口和非接触通信接口

2.6.5 数字钥匙Applet Digital Key Applet ——> 密码、智能卡的同学请关注

  • 主机数字钥匙(一个applet实例,所有车辆OEM都是这个applet)

  • 实现相关的交易(快速和标准) 那这不就跟银行卡一样,也是分快速流程和标准流程了么

  • 实现CA以支持离线用例和隐私保护

  • 如果车辆需要保存防盗令牌(immobilizer token),离线证明,访问配置和其他和数字钥匙相关的数据

  • 验证车辆的真实性

  • 验证朋友的公钥和证书链

applet还可以提供下面的功能

  • 验证车辆公钥证书

2.6.6 数字钥匙框架 Digital Framework

  • 实现的主要功能:车主配对,数字钥匙分享和管理

  • 给车辆OEM apps提供一套通用的数字钥匙功能API

2.6.7 车辆OEM App Vehicle OEM App

  • 车辆OEM app是可选的,应用主要功能是由设备原生的支持

  • 可以支持跟本地app一样的功能

  • 恢复车主配对口令

  • 管理没有标准的密钥(还是钥匙?)访问配置

2.6.8 本地app Native App

  • 提供设备原生的UI,比如数字钥匙创建,数字钥匙终止,数字钥匙删除,数字钥匙启用/禁用。

  • 显示一个所有车主和朋友的数字钥匙列表

2.7 车辆状态 Vehicle States

  • 未配对

  • 已配对

  • 配对中

  • 锁定

3 NFC接口 NFC Interface [WCC1]

标准要求车辆和设备支持NFC-A。支持NFC-B和NFC-F是可选的。

这个确实也是和日常金融卡、交通卡一样,Type A的最多,Type B和Felica少见,日本车会用Felica?

设备的NFC被要求支持两种电源模式,电源正常模式和低电量模式,低电量模式要求电量低于一个阈值,保证NFC控制器的供电,来保证NFC可以正常工作。

Post Directory