CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对

1、BLE车主配对总体说明

车主配对可以通过车内NFC进行,若支持UWB测距,也可能通过BLE/UWB进行,本文主要介绍通过BLE/UWB进行车主配对的流程。

如果车辆手机不支持UWB安全测距,则应通过NFC进行车主配对

如果车辆手机均支持UWB安全测距,则可通过NFC或BLE进行车主配对

车主配对可以通过车辆启动的Owner Pairing Connection Establishment自动触发(如CCC规范章节19.2.1),也可以通过用户进入车辆的系统菜单并手动触发车主配对。

在任何一种情况下,在启动车主配对之前,车辆都要确保满足其所有策略,相关策略可能如下:

1、 物理钥匙在车内

2、 车辆无已经匹配的手机

3、 Digital Key功能已开启

采用BLE进行车主配对与采用NFC进行车主配对流程基本相似。只有一些微小的修改,具体详见CCC图19-16。

但Phase 2、Phase 3和Phase 4的NFC相关流程(NFC polling和链路建立、NFC链路teardown、NFC复位等)不适用于BLE上的车主配对。

不支持UWB安全测距的车辆不允许通过蓝牙进行车主配对,且不能广播Owner Pairing Advertisement

2、BLE车主配对总体流程

BLE车主配对过程,可以细分为如下流程:

1) Owner Pairing Phase0:准备阶段;

2) Bluetooth LE Link Layer Connection Establishment,详见CCC图19-1;

3) BLE Owner Pairing GATT flow,详见CCC图19-2;

4) 手机发送“Request_Owner_Pairing” SubEvent notification来启动车主配对。

5) Phase2:SPAKE2+ Flow、Certificate Exchange;

6) 车辆发送“BLE_pairing_ready” SubEvent通知手机(表明车辆已准备好BLE配对);

7) Bluetooth LE Pairing & Encryption Setup Procedure,详见CCC图19-3;

8) 手机发送“Request_standard_transaction” SubEvent 通知车辆进行标准交互;

9) URSK Derivation Flow(URSK创建流程),详见CCC图19-21;

10) Capability Exchange,详见CCC图19-18;

11) Time Sync;

12) Secure Ranging Setup Flow,详见CCC图19-23;

13) 通过定位算法,检测到有效钥匙在车内;

14) 手机发送“Request_standard_transaction” SubEvent 通知车辆进行标准交互;

15) Phase3;

16) 车辆发送“Deselect_SE” SubEvent 通知手机取消选择Digital Key applet;

17) Phase4;

18) 车辆发送“Deselect_SE” SubEvent 通知手机取消选择Digital Key applet

具体梳理如下图:

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第1张图片

下面对每个步骤展开描述。

2.1 Owner Pairing Phase0Preparation

与采用NFC车主配对的流程基本一致,可参见之前文档《CCC数字钥匙设计【NFC】 --车主配对流程介绍》

2.2 BLE Link Layer Connection Establishment

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第2张图片

1) 车端蓝牙模块通过步骤11&15发送携带CCC_DK_UUID的广播信息

2) 步骤1,5,6,9,10:车辆端LL层处于广播状态,且设置为接受所有的连接请求。CCC规范要求广播信息配置如下:

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第3张图片

3) 步骤2:手机端开启被动扫描passive scanning

4) 步骤3,4,7,8:手机端 LL层处于扫描状态,且设置为接受所有的广播;

5) 一旦Device LL接收到广播报文,则转发到Device Host。(如上图box A).

6) 步骤12:若有检测到CCC_DK_UUID,则通知用户

7) 步骤13:若用户接受车主配对请求,则用户提供Pairing password给手机Device Host。

8) 之后Device LL则进入intiating状态。

9) Device LL一旦接收到Vehicle LL相同的广播报文,则如步骤16发起连接请求

至此,手机与车辆已建立了BLE蓝牙LL层连接。

2.3 BLE Owner Pairing GATT Flow

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第4张图片

1) 步骤1:手机启动服务发现,且手机Host作为GATT Client

2) 步骤2:车端返回DK服务。车端Host作为GATT Server

3) 手机启动服务发现,获取车端的DK Service和DK Service UUID_SPSM,并建立L2CAP连接。

4) 关于如何建立LL2CAP连接,可详见蓝牙协议栈Volume 3 Part A。

该步骤主要完成了BLE的GATT协议层的服务发现相关内容

2.4 手机发送“Request_Owner_Pairing” SubEvent来启动车主配对

该步骤,手机通过BLE发送“Request_Owner_Pairing” SubEvent来启动车主配对。具体如下:

2.4.1 DK Message Format

CCC规定通过DK Message Format格式来发送数据,采用DK Event Notification的Message Type,如下图,具体也可详见CCC规范19.3章节。

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第5张图片

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第6张图片

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第7张图片

上面三表可以梳理为下图:

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第8张图片

2.4.2 DK Event Notification

另外,在CCC规范章节19.3.8 DK Event Notification有详细描述该命令的数据结构。

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第9张图片

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第10张图片

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第11张图片

上面四表可以梳理为下图:

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第12张图片

2.5 Phase2:SPAKE2+ Flow、Certificate Exchange

流程与采用NFC车主配对的Phase2部分相似,可参见之前文档《CCC数字钥匙设计【NFC】 --通过NFC进行车主配对Phase2》。

2.6 车端发送“BLE_Pairing_Ready” SubEvent反馈已准备好车主配

车端发送“BLE_Pairing_Ready”通知手机,已准备好车主配对。细节可参考上面2.4章节。

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第13张图片

2.7 BLE Secure OOB Pairing Preparation

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第14张图片

详见CCC规范19.5.1的Figure 19-17: Bluetooth 1 LE Secure OOB Pairing Prep.

2.8 BLE Pairing and Encryption Setup

该步骤为BLE的配对绑定过程。下面大概讲下BLE连接/配对/绑定的区别:

1)连接:通讯的基础,通讯数据为明文,此时蓝牙双方已经能进行通信交互

2)配对:配对后,则通讯数据经过加密的密文,提高蓝牙链路传输的安全性。

3)绑定:绑定是配对发起时的一个可选配置。把配对信息记录下来, 下次不用配对自动进入加密的连接;

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第15张图片

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第16张图片

2.9 手机发送“Request_Standard_Transaction” SubEvent来启动标准交互

手机发送“Request_Standard_Transaction” SubEvent,车辆收到后,启动标准交互流程。暂不展开详细描述。

2.10 UWB测距流程

步骤9-12:主要进行了UWB测距,主要涉及如下流程:

1) URSK Drivation Flow,详见之前文档《CCC数字钥匙设计【BLE】--URSK管理》

2) Capability Exchange,用来交互手机与车辆之间的DK Protocol Version, UWB Configuration Identifier, PulseShape Combinations等信息。交互流程如下图:

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第17张图片

3) Time Sync详见之前文档《汽车数字钥匙设计05:UWB测距之蓝牙时间同步》

4) Secure Ranging Setup Flow详见之前文档《CCC数字钥匙设计【BLE】 --建立安全测距》

2.11 手机定位

根据前面UWB各锚点UWB的距离值,通过定位算法,对手机进行定位。若检测到有效钥匙在车内,则满足要求,流程继续。

2.12 手机发送“Request_Standard_Transaction” SubEvent来启动标准交互

手机发送“Request_Standard_Transaction” SubEvent,车辆收到后,启动标准交互流程。与本流程中的步骤8相同,暂不展开详细描述。

2.13 Owner Pairing Phase3:Tracking Key Request

与采用NFC车主配对的流程基本一致。可参见之前文档《CCC数字钥匙设计【NFC】--通过NFC进行车主配对Phase3》

2.14 车端发送Deselect_SE” SubEvent请求手机取消Digital Key applet

2.15 Owner Pairing Phase4:收尾阶段,与KTS交互

与采用NFC车主配对的流程基本一致。可参见之前文档《CCC数字钥匙设计【NFC】 --通过NFC进行车主配对Phase4》

2.16 车端发送Deselect_SE” SubEvent请求手机取消Digital Key applet

3、Command Complete SubEvent命令说明

在通过BLE进行车主配对过程中,用到如下Command Complete SubEvent,具体可详见CCC规范 Table19-73。

3.1Request_owner_pairing

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第18张图片

3.2BLE_pairing_ready

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第19张图片

3.3Request_standard_transaction

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第20张图片

3.4Deselect_SE

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第21张图片

4、总结

1) 如果车辆手机不支持UWB安全测距,则应通过NFC进行车主配对

2) 如果车辆手机均支持UWB安全测距,则可通过NFC或BLE进行车主配对

3) 通过NFC配对和通过BLE配对的流程基本相似,主要差异点如下:

a. 在NFC的Phase2之前增加了BLE连接的建立 ;

b. 在NFC的Phase3之前增加了BLE的配对绑定过程、UWB的测距、手机定位算法(检测到手机在车内)

总结差异如下表:

CCC数字钥匙设计【BLE】 --通过BLE/UWB进行车主配对_第22张图片

你可能感兴趣的:(数字钥匙,CCC,软件工程,汽车)