1、PE进入流程
PE进入的流程大体可以拆解为如下步骤:
1、手机与车端建立BLE加密连接;
2、创建URSK流程;
3、时间同步流程;
4、UWB测距流程;
5、根据各锚点BLE的RSSI及UWB的距离值,通过定位算法进行手机位置的定位;
6、若检测手机在合法区域,则进行迎宾、解锁。
本文档主要描述上面步骤1(PE进入过程中与BLE通信相关的流程)的内容。
若BLE pairing和Encryption已经执行完成,之后手机靠近车辆时,将会启动PE进入流程。具体流程如下图。
1.1 步骤1:建立BLE连接
1、 车端BLE模块进行广播,手机进行扫描。
2、 采用RPA地址(resolvable private address)的方式。
3、 建立车端与手机的BLE连接。
1.2 步骤2:启动BLE加密
该步骤的流程如下图,具体可详见BLE5.0规范Vol6 Part D。
1、链路层通过Host的请求进行此操作,可以使用加密启动进程,在进入链接状态后启用数据包的加密。为了使能加密,必须交换两个参数,IV和SKD。两者都由两部分组成:master部分和slave部分,通过LL_ENC_REQ 和 LL_ENC_RSP PDUs进行交换。在交换完成以及Host已经通知链路层长期秘钥(LTK)在链接中使用时,加密可以使用三方握手的方式LL_START_ENC_REQ 和 LL_START_ENC_RSP PDUs。具体流程如上图。
2、为了启动加密,master的链路层需要生成初始化向量(IVm) 和会话密钥(SKDm)的master部分。IVm为master的链路层生成的32位的随机数。SKDm为master的链路层生成的64位随机数。
3、master的链路层需要发送LL_ENC_REQ PDU,Rand 和 EDIV字段由Host提供。在master收到LL_ENC_RSP PDU应答后,只期望收到这个进程需要的PDUs。
4、当slave的链路层接收到LL_ENC_REQ PDU,slave的链路层需要生成初始化向量(IV