作者 | zhao师傅小编 | 吃不饱
01
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的整个生命周期内得到保护。
02
DK(数字钥匙)系统架构
DK体系架构
Vehicle | ♘ 检查验证设备的DK(数字钥匙)服务资格和设备的合法性 ♘ 提供配对信息(车主公钥,设备信息等) 给KTS ,并且确认用户配对信息是否被KTS接收 ♘ 授权任意合法设备(拥有合法数字钥匙)的车辆操作权限,提供防盗令牌去启动车辆 ♘ 提供安全的交易过程和存储环境 |
Door NFC Reader | NFC在电源正常、低电量两种模式下工作,电源正常模式支持其所有功能,低电量模式许多功能无法使用,但NFC功能可以正常使用(包括门端NFC和控制台NFC)。门端NFC提供与好友设备的DK交易、分享钥匙时传输证书、实现Unlock/Lock功能。 |
Console NFC Reader | 提供与好友设备的DK交易、分享钥匙时传输证书、与设备通信交易,使其成为车主设备、为好友设备第一次交易提供认证、授权发动机启动的功能。 |
BLE | 与设备配对进行DK交易,让其成为车主设备、支持Unlock/Lock/RKE(遥控车辆)/发动机启动、好友设备第一次通信时的交易和配置、设置UWB测距范围、发送手机/车辆的通知状态数据信息、与有合法的设备进行交易。 |
UWB | 进行安全测距,以支持Approach和被动启动的功能。 |
设备 | 支持非接触式来Unlock/Lock/启动车辆、用户身份验证、检查设备服务资格、运行DK applet、支持配置用户授权认证CA(认证授权中心)一般为密码指纹、在钥匙配对或者朋友分享流程时,检查是否支持DK服务。 |
车主 设备 | 车辆只有一个车主设备,车主的DK需要在KTS内登记,车辆才会接纳该DK,车主设备拥有不受限制的所有访问配置权限,提供存储证书、DK的交易、钥匙配对、钥匙分享、钥匙终止/撤销服务。 |
好友 设备 | 车辆可接受多个好友设备(具体数量由车辆OEM决定)且访问权限有限制(由车主配置)。发放DK时,由车辆和OEM云端根据车辆OEM策略进行检查。好友DK也需要在KTS内登记才能被该车辆接受,提供存储证书、DK交易、DK分享、钥匙终止/撤销、向车辆云端发送终止认证服务。 |
车辆 云端 | 创建配对密码、签名公钥、向设备提供证书、管理钥匙、为好友设备提供车辆证明、提供车主账户关联到其所有车辆、管理DK服务订阅、为分享者提供必须的认证数据、签发合法分享者DK结构、钥匙配对过程为车主设备创建/提供配对密码数据、管理和建立与车端安全交互通道。 |
设备 云端 | 提供和更新必要的证书、加载和安装DK applet的DK实例、允许禁用和删除DK(在线)的服务。 |
KTS | 追踪平台,与车辆云端数据分离,满足跟踪数据的隐私要求,记录关键数据,以便将车辆跟踪数字钥匙分配和设备。 |
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,从而保留存储信息的隐私。
设备端DK架构
NFC | 支持非接触事务的卡仿真模式(解闭锁、启动)、车主配对所需的卡仿真模式。 |
BLE | BLE:与车辆进行DK交易,支持Unlock/Lock/RKE(遥控车辆)/发动机启动、好友设备第一次通信时的交易和配置、发送手机/车辆的通知状态数据信息。 |
UWB | UWB:同DK体系架构中的UWB内容。 |
SE | 安全元件、主控管理DK应用、可以区分是接触式还是非接触式交易。 |
DK Applet | 管理全部DK(一个应用实例包含全部的DK数据),执行相关的标准/快速交易,提供车辆需要的数据、实现实例CA以支持离线使用用例和隐私保护、验证车辆的真实性、验证好友设备的公钥证书链、存储防盗令牌、离线认证数据和其它与DK相关的数据、验证车辆公钥证书。 |
DK Framework | 车主配对、DK分享管理、与云端信息交互、连接手机的上层应用。 |
车辆 OEM APP | 手机上车辆OEM自己的APP,获取车主配对密码、支持某些特定的功能、使用非标准访问配置文件管理密钥、管理通过车辆云端提供的ID和认证数据。 |
Native APP | 设备本地UI、显示DK列表、DK终止/删除/启用/停用。 |
03
NFC数字钥匙
NFC钥匙即第一代数字钥匙,通过NFC卡片,实现车辆的解锁、闭锁和启动等功能。目前除了像特斯拉、极氪等车型的卡片钥匙,带NFC功能的手机和手表也逐渐成为进入车辆的新型车钥匙。
图片来源于比亚迪
NFC通信实现的主要功能如下
♘ 手机第一次配对和分享钥匙时,用来作为设备和车辆通过OOB(带外配对方法)配对来交换数据的通道;
♘ 在手机没电、BLE和UWB均不能正常工作的情况下,可以通过车门和控制台的NFC模块来解闭锁,以及启动车辆。
车辆和车辆的NFC接口需符合《NFC模拟技术规范》的轮询器要求,可支持NFC-A、NFC-B、NFC-F技术。设备端的NFC接口应符合监听设备的需求,当电池低电量时,保证NFC还可以使用。
04
BLE数字钥匙
蓝牙钥匙即第二代数字钥匙,通过蓝牙通信技术和车辆进行连接,实现钥匙定位、无钥匙进入、无钥匙启动、远程控制等功能。BLE、SE、UWB是第三代数字钥匙解决方案的核心。其中钥匙定位升级为UWB技术实现,而设备和车辆之间的安全数据仍通过蓝牙技术进行通信,从而使SE能够通过安全通道与车辆提供相互身份验证和数据分享。
图片来源于网络
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) 启用设备和车辆加密:设备和车辆将彼此添加到它们的私有地址解析列表中。
05
UWB数字钥匙
UWB数字钥匙即第三代数字钥匙,UWB全称为超宽带无线通讯技术,相比较于蓝牙通信技术,UWB具有更宽的频带,且通过ToA到达时间测距技术,使其拥有更好的定位精度。
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属于可选配置;根据配置,不是所有可选部件都必须在一个框架中表示。
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(来自响应程序的响应框架的状态)。
06
总结
目前UWB技术在手机端和车端的应用仍处于初期阶段,但UWB技术的优点能为人车交互带来更丰富的应用场景。比如自动泊车、车辆共享、汽车支付、车内活体检测等。目前北汇已承接多个基于NFC/BLE/UWB技术的数字钥匙功能测试项目,积累了从零部件到实车的数字钥匙测试案例。后续会陆续分享数字钥匙测试方案讲解的文章,敬请关注。 文中部分图片引用于:【1】 CCC Digital Key Release 3 CCC-TS-101
全部0条评论
快来发表一下你的评论吧 !