当前位置: 首页 > news >正文

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

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来启动测距

相关文章:

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

1、建立安全测距Establish Secure Ranging 车端总共有三种建立安全测距的方式,具体如下: 1) Optimal Flow 2) Sub-Optimal Flow 3) Ranging Recovery Flow 为了确定建立安全测距需要执行哪条流程,车辆需要进行以下流程选择。当车辆和设备…...

Ubuntu22.04 Opencv4.5.1 CPU和GPU编译攻略,Opencv CPU和GPU编译保姆教程 亲自测试。

1、安装opencv依赖 安装时最好更换一下源。 sudo apt-get -y update sudo apt-get -y install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get -y install libgtk-3-dev gfortran openexr libatlas-base-dev python3-dev pyt…...

常识判断 --- 党史

目录 中共1~3大 例题 国民党 例题 中共4~5大 例题 中共起义~会议 例题 中共六届六中全会(1938年9月) 中共七大(1945年4月) 例题 中共七届二中全会 例题 中共8~10大 中共11~12届全会 例题 中共13~14大 …...

Rust 基础再理解

Rust堆栈 Rust中各种类型的值默认都存储在栈中,除非显式地使用Box::new()将它们存放在堆上,但数据要存放在栈中,要求其数据类型的大小已知。对于静态大小的类型,可直接存储在栈上,如裸指针、布尔、字符、整数浮点数&a…...

Opencv cuda版本在ubuntu22.04中安装办法,解决Could NOT find CUDNN的办法

文章目录 概要下载cuda的runfile版本配置环境变量官网下载cudann安装Opencv依赖包下载opencv和opencv_contrib并解压准备编译安装anaconda环境执行编译命令安装OpenCV并检查是否安装成功 概要 解决以下安装问题: -- Could NOT find CUDNN: Found unsuitable versi…...

全网首发YOLOv8暴力涨点:Gold-YOLO,遥遥领先,超越所有YOLO | 华为诺亚NeurIPS23

💡💡💡本文独家改进:提出了全新的信息聚集-分发(Gather-and-Distribute Mechanism)GD机制,Gold-YOLO,替换yolov8 head部分 实现暴力涨点 Gold-YOLO | 亲测在多个数据集能够实现大幅涨点 💡💡💡Yolov8魔术师,独家首发创新(原创),适用于Yolov5、Yolov7、…...

BD就业复习第四天

1. 布隆过滤器怎么实现去重 布隆过滤器是一种用于快速检查一个元素是否可能存在于一个大集合中的数据结构,但它并不适用于精确去重。因为布隆过滤器具有一定的误判率(可能会将不存在的元素误判为存在),所以不能确保完全的去重。但…...

数据结构 | 树

树 树是n(n>0)个结点的有限集。当n 0时,称为空树。在任意一棵非空树中应满足: 有且仅有一个特定的称为根的结点。当n>1时,其余节点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm&#…...

Android11 适配

一、修改targetSdkVersion为30 将build.gradle的目标版本targetSdkVersion修改为30(Android 11) targetSdkVersion 30Android11的改变改变主要影响以Adnroid11 为目标版本的应用(targetSdkVersion>30才有影响),和所…...

UML基础与应用之对象图

什么是对象图? 对象图表示一组对象及它们之间的关系,是某一时刻系统详细信息的快照,描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。因为对象是类的实例化,所以说某一时刻…...

英码科技精彩亮相火爆的IOTE 2023,多面赋能AIoT产业发展!

9月20日至22日,在这金秋飒爽的季节,为期三天的IOTE 2023第二十届国际物联网展深圳站在深圳国际会展中心盛大举行。英码科技精彩亮相本届展会,并在同期举办的AIoT视觉物联产业生态大会发表了主题演讲,与生态伙伴们共同探讨AIoT产业…...

400G QSFP-DD FR4 与 400G QSFP-DD FR8光模块:哪个更适合您的网络需求?

QSFP-DD 光模块随着光通信市场规模的不断增长已成为400G市场中客户需求量最高的产品。其中400G QSFP-DD FR4和400G QSFP-DD FR8光模块都是针对波分中距离传输(2km)的解决方案,它们之间有什么不同?应该如何选择应用?飞速…...

【Android】Kotlin 中的 apply、let、with、also、run 到底有啥区别?

一、图示 二、apply apply 函数接收一个对象并返回该对象本身。它允许您在对象上执行一些操作&#xff0c;同时仍然返回原始对象。 这个函数的语法为&#xff1a; fun <T> T.apply(block: T.() -> Unit): T 其中&#xff0c;T 是对象的类型&#xff0c;block 是一…...

设计模式——职责链模式

职责链模式 职责链模式职责链模式解决什么问题&#xff1f;职责链模式实现 职责链模式 使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这个对象练成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;知道有一个对象处理它为止 …...

小程序自定义tabbar,中间凸起

微信小程序自带tabbar&#xff0c;但无法实现中间按钮凸起样式和功能&#xff0c;因此按照设计重新自定义一个tabbar 1、创建tabbar文件&#xff0c;与pages同级创建一个文件夹&#xff0c;custom-tab-bar,里面按照设计图将底部tabbar样式编写 <view class"tab-bar&q…...

数据结构-顺序栈C++示例

栈(stack)是限定仅在表尾进行插入或删除操作的线性表。 对栈来说&#xff0c;表尾端称为栈顶(top)&#xff0c; 表头端称为栈底(bottom)&#xff0c;不含元素的空表称为空栈。 假设栈 S ( a 1 , a 2 , a 3 , ⋯ , a n ) S(a_1,a_2,a_3,\cdots,a_n) S(a1​,a2​,a3​,⋯,an​…...

若依cloud -【 100 ~ 103 】

100 分布式日志介绍 | RuoYi 分布式日志就相当于把日志存储在不同的设备上面。比如若依项目中有ruoyi-modules-file、ruoyi-modules-gen、ruoyi-modules-job、ruoyi-modules-system四个应用&#xff0c;每个应用都部署在单独的一台机器里边&#xff0c;应用对应的日志的也单独存…...

可转债实战与案例分析——成功的和失败的可转债投资案例、教训与经验分享

实战与案例分析——投资案例研究 股票量化程序化自动交易接口 一、成功的可转债投资案例 成功的可转债投资案例提供了有价值的经验教训&#xff0c;以下是一个典型的成功案例&#xff1a; 案例&#xff1a;投资者B的成功可转债投资 投资者B是一位懂得风险管理的投资者&#…...

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

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

【办公自动化】使用Python一键往Word文档的表格中填写数据(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...