CCC数字钥匙设计【BLE】 --建立安全测距

news2024/10/7 14:30:25

1、建立安全测距Establish Secure Ranging

车端总共有三种建立安全测距的方式,具体如下:

1) Optimal Flow

2) Sub-Optimal Flow

3) Ranging Recovery Flow

为了确定建立安全测距需要执行哪条流程,车辆需要进行以下流程选择。当车辆和设备使用相同的URSK交换UWB安全测距消息时,测距session被视为一个Active Ranging Session。具体流程如下图所示。

如果车辆需要对手机进行定位,则车辆应首先检查应启动哪个流程以建立安全测距。为此,车辆应首先检查它是否已经有一个active ranging session。如果是,车辆将使用该session来定位手机。

如果没有active ranging session,则车辆将检查是否存在激活的URSK。如果是,则车辆应遵循ranging recovery flow恢复与该活动URSK关联的测距session(使用其UWB_Session_Id)。

如果没有激活的URSK,车辆将检查是否存在pre-derived URSK。如果有,则车辆将遵循optimal flow建立安全测距。

如果没有激活的URSK或pre-derived URSK,车辆将退回到sub-optimal flow。

如果有一个激活的测距session,如果车辆的URSK TTL即将到期,或者车辆决定使用一个TTL更短的URSK来启动发动机(参见第19.5.6.1节),车辆可以用一个pre-derived URSK建立一个新的Secure ranging session。

当pre-derived URSK激活时,车辆和手机应丢弃先前激活的URSK(如果有的话)

2、Optimal Flow,即Secure Ranging Setup

如果车辆具有可用的pre-derived URSK,则应由车辆执行Optimal flow。Optimal flow只需简单地遵循Secure Ranging Setup flow,使用pre-derived URSK。如下图:

如果车辆使用此流程激活pre-derived URSK,则车辆和手机应在新URSK被激活之前丢弃当前激活的URSK(如果有的话)以获得相关的数字钥匙。

为了建立安全测距,每条消息都应使用消息类型:UWB Ranging Service message,如下表。

3、Sub-Optimal Flow

如果车辆没有可用的pre-derived URSK,则执行Sub-Optimal流程。Sub-Optimal流程是URSK生成流程和Secure Ranging Setup流程的结合,如下图。

此外,如果手机在执行Optimal流程时,激活URSK失败并且无其他可用的Pre-derived URSK,或者当车辆URSK与手机URSK不同步时,车辆应退回到Sub-Optimal流程

一旦通过使用Optimal流程或Sub-Optimal流程建立了安全测距,车辆就可以定位手机。一旦定位到手机,则车辆可以执行PE进入功能。

4、Ranging Recovery Flow

一旦建立了测距session,只要它的URSK TTL没有过期或STS_Index没有达到最大限制,它就可以在很长一段时间内处于激活状态。但是,如图19-25所示,车辆或手机可能会将Active Ranging Session置于暂停状态,以进行功率优化

何时发送Ranging Suspend Request,取决于发送方/请求方。但是,接收方可以选择在有限的时间内延迟Ranging Suspend Request

例如,如果手机在很长一段时间内没有检测到任何运动,则手机可以请求将测距session置于暂停状态。另一方面,如果车辆强烈认为,目前仍然需要测距,或将在不久的将来需要测距,则可能会响应延迟Ranging Suspend Request的请求。

下图是手机请求执行Ranging Suspend Request,车端接收该请求的流程【Ranging_Suspend_RS(0x00)】

下图是手机请求执行Ranging Suspend Request,但返回延时的流程【Ranging_Suspend_RS(0x01)】

当处于测距暂停模式时,车辆可以向手机发送测距恢复请求消息(见19.3.1.9节)。手机可以通过向车辆发送Device Ranging Intent SubEvent来触发测距恢复。

Ranging Recovery flow提供了一个低延迟的安全测距(最小的交换),且无新的URSK。

但是,在启动Ranging Recovery 流程之前,车辆必须满足以下要求:

1、 是否有一个激活的URSK (TTL未过期)与车辆打算恢复的暂停测距会话相关联。

2、 打算恢复的暂停测距会话不需要改变测距配置,如改变频率、锚点编号等。

如果车辆需要安全测距,车辆将检查连接的手机是否存在暂停的测距会话,并判断是否同时满足上述两个要求。

如果是,车辆将启动Ranging Recovery流程。当手机接收到测距恢复请求时,它应该识别出提供的UWB_Session_Id的同一组配置,用于建立测距会话。

然后手机将选择并发送一个新的UWB_Time0和STS_Index0。测距恢复流程如下图所示:

上图步骤1:Ranging_Recovery_RQ由车端发出,其报文定义及相关参数定义如下:

上图步骤2:Ranging_Recovery_RS由手机端发出,其报文定义及相关参数定义如下:

上图步骤D框,车辆选择之前协商的UWB配置参数,用于恢复测距会话的UWB_Session_Id。

5、低功耗模式处理

车辆处于低功耗状态时,在建立BLE连接后可能无法开始测距。在这种情况下,车辆可能会发送vehicle state SubEvent notification,表明其“低功耗模式”。收到此通知后,手机应负责使用Ranging Intent SubEvent来启动测距。该手机可能会立即发送Ranging Intent,或者在检测到车辆接近时,稍后以更高的置信度发送Ranging Intent。

6、总结

车端总共有三种建立安全测距的方式,具体如下:

1) Optimal Flow

2) Sub-Optimal Flow

3) Ranging Recovery Flow

1、Optimal Flow,Secure Ranging Setup流程。发生在测距未建立前,但无激活的URSK,且已有pre-derived URSK

2、Sub-Optimal Flow,URSK生成流程+Secure Ranging Setup流程。发生在测距未建立前,但无激活的URSK,且无pre-derived URSK

3、Ranging Recovery Flow,发生在测距已暂停, 且有激活的URSK,及不需要改变测距配置

4、当车辆处于低功耗模式时,可能无法测距,此时车端可能会发送vehicle state SubEvent notification,表明处于低功耗模式手机接收到后,再发送Ranging Intent SubEvent来启动测距

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1039722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

速码!!BGP最全学习笔记:BGP路径属性与选路原则

BGP路径属性 1、路径属性分类 公认属性:所有BGP路由器都必须能够识别的属性 公认必遵(Well-known Mandatory):必须包括在每个Update消息里。公认任意(Well-known Discretionary):可能包括在某…

数学公式测试

MVP变换 MVP变换用来描述视图变换的任务,即将虚拟世界中的三维物体映射(变换)到二维坐标中。 MVP变换分为三步: 模型变换(model tranformation):将模型空间转换到世界空间(找个好的地方,把所…

4年北漂之路,从软件测试外包到外企的一点小心得

4年前,我独自一人拖着行李箱来到了北京,成为了一名北漂,离开了校园的庇护,只身一人想要在这片陌生的地方闯出一番名堂,可最后却不得人意,面临着和所有北漂群体的共同困局,没有任何归属感&#x…

【Python Fastapi】js上传文件,fastapi处理,js显示回传信息

python from fastapi import FastAPI, File, UploadFile, HTTPException from fastapi.staticfiles import StaticFiles from fastapi.responses import HTMLResponse from typing import List import requestsapp FastAPI()# 配置静态文件目录 app.mount("/static"…

C++程序员,想入坑音视频方向,需要掌握那些技能树?

C程序员,想入坑音视频方向,需要掌握那些技能树? “音视频”方向太笼统了。 最核心的技术包括编码理论,从基础开始就是信号处理,傅里叶变换,DCT, 采样量化插值等等。这些和C没啥关系,就是一套数学理论。 …

工作薄代码之将活动工作表复制到新工作簿等

【分享成果,随喜正能量】得失,可以说是人类事业上的考验,不要因一时的得失影响一生的期许。得失是一时的,理想是一生的。。 我给VBA下的定义:VBA是个人小型自动化处理的有效工具。可以大大提高自己的劳动效率&#xf…

基于SpringBoot的企业客户管理系统

目录 前言 一、技术栈 二、系统功能介绍 管理员功能模块 员工功能模块 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 本论文主要论述了如何使用JAVA语言开发一个企业客户管理系统,本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c…

JVM堆内存转储

堆转储是 JVM 中特定时刻内存中的所有对象的快照。它们对于解决内存泄漏问题并优化 Java 应用程序中的内存使用情况非常有用。 堆转储通常以二进制格式 hprof 文件存储。我们可以使用 jhat 或 JVisualVM 等工具打开和分析这些文件。 下面介绍两种堆转储的方式: 1…

HTTP 请求轻松搞定:Swift 网络编程的不二之选 | 开源日报 No.38

Alamofire/Alamofire Stars: 39.8k License: MIT Alamofire 是一个用 Swift 编写的 HTTP 网络库。 简洁的语法和强大的功能集,让你仅需几行代码就能实现诸如自动重试等强大特性。支持链式请求/响应方法,使得处理网络请求变得如丝般顺滑。完美兼容 Swif…

前端性能测试工具-lighthouse

Lighthouse简介 Lighthouse 是 Google 的一款开源工具,它可以作为一个 Chrome 扩展程序运行,或从命令行运行。只需要给 Lighthouse 提供一个要审查的网址,它将针对此页面运行一连串的测试,然后生成一个页面性能的报告。 Lightho…

【电子通识】办法总比问题多:立式贴片座子整形成卧式

最近在测试一些和电池有关的项目,因为这个电池接口是没有用过的,以前做的一些接口板上没有兼容,导致不方便测试。 拿到座子后发现这个座子是立式贴片的。 但是不方便我做测试接口板工装,因为已经有一个立工座子了,再焊…

多个pdf合并成一个文件,3个方法合并pdf

如何把多个pdf合并成一个文件?在我们日常的工作中,经常会遇到一些需要处理的文件,其中包括PDF文件。特别是当我们需要将多个PDF文件合并成一个PDF文件时,会面临一些困难。这样的情况下,我们的阅读能力会受到限制&#…

ElementUI之首页导航+左侧菜单

一.Mockjs 什么是Mock.js Mock.js的优缺点 安装配置Mock.js 引入jsdev.env.js ​编辑 引入 prod.env.js 导依赖 导入json数据 造数据 测试结果 ​编辑 二. 总线 什么是总线 导入组件 编写路由 跳转主页 编写AppMain 编写LeftNav 编写TopNav 一.Mockjs 什么是Moc…

车载通信架构 —— SOME/IP-SD 协议介绍

车载通信架构 —— SOME/IP-SD 协议介绍 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗…

Xilinx FPGA 7系列 GTX/GTH Transceivers (3) Aurora 8b10b

第一节:Xilinx FPGA 7系列 GTX/GTH Transceivers (1)–了解了GTX硬件的基础知识 第二节:IBERT GTX --通过Ibert IP测试链路通信 学习官方历程 aurora 8b10b single lane 4byte 1硬件介绍 2 实验目标 跑通官方历程。检测发送数据与接收收据一致。 3 IP 生成过程 在 IP Cat…

Xcode14.3.1打包报错Command PhaseScriptExecution failed with a nonzero exit code

真机运行编译正常,一打包就报错 rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/d9889869-120b-11ee-b796-7a03568b17ac/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender2.6.9] Command PhaseScrip…

@NotNull注解不生效,全局异常处理

1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId><version>3.1.2</version> </dependency> 2&#xff1a;实体类 实体类属性加上NotNull注解…

第二章 使用matplotlib绘制简单图表

第二章 使用matplotlib绘制简单图表 1.绘制折线图 1.1.使用plot()绘制折线图 ​ 使用pyplot的plot()函数可以快速绘制折线图。plot()函数的语法格式如下&#xff1a; plot&#xff08;x, y, fmt, scalexTrue, scaleyTrue, dataNone, labelNone, *args, **kwargs&#xff09…

开启 Kerberos 安全认证的大数据环境中如何正确指定 HS2 的 jdbc url 地址?

开启 Kerberos 安全认证的大数据环境中如何正确指定 HS2 的 jdbc url 地址&#xff1f; 1 Kerberos 环境中 HS2 的认证方式概述 大家知道&#xff0c;HIVE 的认证方式可以通过参数 hive.server2.authentication 在服务端进行统一配置&#xff0c;而在开启了 Kerberos 安全认证…

Metasploit Framework

简介 目前最流行、最强大、最具扩展性的渗透测试平台软件基于Metasploit进行渗透测试和漏洞分析的流程和方法 2003年由HDMore发布第一版&#xff0c;2007年用 ruby 语言重写 框架集成了渗透测试标准(PETS)思想一定程度上统一了渗透测试和漏洞研究的工作环境新的攻击代码可以比较…