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架构

03 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能够通过安全通道与车辆提供相互身份验证和数据分享。

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)物理层协议数据单元:

SYNC:又称前导码区域,接收机为了检测和同步UWB信号,首先必须找到符合协议的前导码;前导码(由0/1组成的一种帧结构,通知目标做好接受准备);

SFD:报文起始分隔符;

STS:安全时间戳;

PHY header(PHR)(SP3没有),物理头(汉明码SECDED);

PHY 服务数据单元(PSDU)(SP3没有),物理层服务数据单元(里所码)。

Responder用SYNC和SFD同步收到的UWB信息,STS则用于生成1个防止篡改的时间戳,PHR包含了关于PSDU的内容,PSDU包含了有效信息,就是Initiator真正想传输的数据;

STS、Payload属于可选配置;根据配置,不是所有可选部件都必须在一个框架中表示.

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. 总结

目前UWB技术在手机端和车端的应用仍处于初期阶段,但UWB技术的优点能为人车交互带来更丰富的应用场景。比如自动泊车、车辆共享、汽车支付、车内活体检测等。信驰达科技自2014年即涉入特斯拉数字钥匙方案产业链,截至目前已支持过个世界级品牌,为近两百万辆新能源汽车实现无线数字钥匙赋能。

详解汽车数字钥匙(Digital Key)规范相关推荐

  1. UWB 厘米级定位技术全新升级汽车数字钥匙,NXP NCJ29D5 将助力手机无感进出

    传统的汽车钥匙基于 PKE/RKE 的技术,同时会存在中继攻击的隐患,手机蓝牙定位精度也还没做得足够好,本文将介绍基于 NXP UWB 技术的汽车数字钥匙方案,具备更高的定位精度,支持手机操作无钥匙进 ...

  2. 详解央行数字货币和数字票据交易平台架构(多图)

    独家披露:详解央行数字货币和数字票据交易平台架构(多图) 暴走时评:央行推动的基于区块链的数字票据交易平台已测试成功,由央行发行的法定数字货币已在该平台试运行.作为一种创新的货币和全新的支付体系架构, ...

  3. python3 绝对值_Python3 abs() 函数详解 获取数字的绝对值

    Python3 abs() 函数详解 获取数字的绝对值 abs函数是Python的内置函数,在python文件中直接可以使用. 它的主要用途是获取数字的绝对值. 语法 abs(n) 参数 n - 数值 ...

  4. shell脚本详解(一)——Shell编程规范与变量

    详解Shell编程规范与变量 一.Shell脚本概述 1.shell脚本的概念 2.shell脚本应用场景 3.shell的作用--命令翻译器,"翻译官" 二.用户的登录shell ...

  5. Pygame详解(七):key 模块

    pygame.key 与键盘相关的 Pygame 模块. 函数 pygame.key.get_focused()  -  当窗口获得键盘的输入焦点时返回 True pygame.key.get_pre ...

  6. 汽车数字钥匙设计02--UWB基础知识

    数字钥匙实现需包含NFC,BLE,UWB等技术,其中UWB主要用于实现精准定位,以弥补BLE定位不准确的情况,另外UWB技术可以实现其他扩展功能,如儿童存在检测CPD,脚踢检测功能等. 1.什么是UW ...

  7. cocos2D捕鱼达人源代码初学者详解4数字滚动

    数字滚动由两个类实现,数字类UINumber和数字滚动类UIRollNum,都是继承的CCSprite,都是精灵.数字类实现单个数字的上下滚动,数字滚动类实现了界面分数数字的位置设置,分数变化时把分数 ...

  8. 汽车数字钥匙设计03:UWB测距原理

    传统PEPS钥匙及蓝牙钥匙采用场景RSSI来进行定位测距,而UWB是基于时间戳来进行定位测距的. IEEE 802.15-4z-2020标准列出UWB主要有三种定位测距方式:SS-TWR.DS-TWR ...

  9. 深度洞见|一文详解 2022 数字营销的变与不变

    这是神策研究院深度洞见系列文章的第四期,重点展望 2022 年营销科技的趋势,洞悉变与不变.本文约 3600 字,阅读时间 9 分钟左右. 数字营销生态进入快速发展期.神策研究院认为,在政策引领.科技 ...

最新文章

  1. 鞋企立足信息化建设 力争突破发展瓶颈
  2. python圣诞节快乐_用python让大白对你说圣诞快乐
  3. 通过Visual Studio 2005的项目模板来加速开发过程
  4. 易优cms后台RCE以及任意文件上传漏洞
  5. 【渝粤教育】电大中专新媒体营销实务 (13)作业 题库
  6. 山东理工大学计算机学院学号,计算机组成原理课程设计--山东理工大学计算机学院...
  7. 实验二:SQL server 2005高可用性之----数据库镜像
  8. Linux mail 命令 不兼容 从 Redhat-release5 迁移到 Redhat-release6以上
  9. TinaFace:人脸检测新纪录!
  10. Java-虚拟机-终结方法finalize
  11. javaweb实训第三天下午——Web基础-Servlet交互JSP原理及运用
  12. antd table表格删除末页数据,跳回上一页
  13. 【Cocos2d-x游戏引擎开发笔记(25)】XML解析
  14. 2021-05-12
  15. bmi计算 python_Python中的BMI计算器
  16. A* 第k短路详解 (详尽)
  17. 计算机系统要素-Project1实操笔记
  18. python利用以下公式求π的值_Python 计算 π 值的简单示例
  19. Java锁的种类和区别
  20. access应用是计算机吗,计算机access的应用技术.ppt

热门文章

  1. JQuery Mobile 学习
  2. 奈奎斯特抽样频率 matlab仿真,奈奎斯特采样定理、降采样、过采样
  3. Rstudio如何退出Browse
  4. UE4 ——蓝图控制昼夜交替(移动方向光和太阳光的位置)(学习笔记)
  5. java 修饰符默认_Java 默认修饰符 总结
  6. R语言使用dplyr包的arrange函数依据dataframe数据的指定数据列对dataframe进行排序(默认从小到大)
  7. 网赚自媒体圈钱攻略 年入百万不在话下
  8. python实现除法
  9. 谷歌浏览器登录不上 sarai浏览器可以登录的问题
  10. linux基础26——chgrp