CCC联盟数字车钥匙(七)——BLE连接流程

news2025/1/1 22:09:27

本文接上一篇CCC数字钥匙BLE概述,介绍BLE中相关连接流程的实现。

2、BLE流程

2.1 所有者配对连接建立

CCC中使用Bluetooth OOB(Out of Band, 带外)配对完成所有者配对、连接建立的流程。BLE设置分为以下两个子部分:

  • BLE链路层连接建立,以及BLE所有者配对GATT流
  • BLE配对和加密设置

一辆不支持安全测距的车辆不应允许通过BLE接口建立与所有者的配对,也不应广播所有者配对广播。所有者配对应通过NFC启动,以及完成相关的BLE激活流程。

2.1.1 BLE链路层连接建立和BLE所有者配对GATT工作流

在这里插入图片描述

建立流程由车辆端使用CCC_DK_UUID进行广播(ADV_IND)。车辆链路层应处于广播状态,同时其过滤策略应设置为接受所有连接请求。
而设备端则开启扫描,设备端应处于扫描状态,其过滤策略设置为接受所有广播。一旦设备链路层接收到一个广播,由HOST处理,Device Host检查收到的广播载荷中是否包含CCC_DK_UUID。如果包含CCC_DK_UUID,则通知用户,请求配对。若用户接受所有者配对请求,则提供配对秘钥,创建BLE连接。当收到下一个车端链路层的广播帧时,设备链路层发送CONNECT_IND,发起一个连接请求(图中步骤16)。至此,LE增强连接完成。
在这里插入图片描述
在图19-2中,设备Host(作为GATT客户端)与车辆主机(充当GATT服务器)发起服务发现,以获取DK服务和DK服务UUID_SPSM特征(Simplified Protocol/Service Multiplexer, SPSM),以建立DK服务的L2CAP连接。
图中,设备从车辆GATT服务器读取SPSM值。

2.1.2 BLE配对和加密设置

在这里插入图片描述在这里插入图片描述
设置流程从BLE安全OOB配对准备开始。

步骤1:主节点初始化配对,包括配对请求(设备发起)与配对应答(车端应答)。
步骤1a/1b:交换公钥(Pka/Pkb);
步骤2:安全连接秘钥生成;通过随机数进行配对与确认;配对过程中,需要计算Long Term Key(LTK);检查DHKey。
配对DHKey检查成功之后,主机设备开始加密,将设备和车辆添加到解析列表。

在此流程中,设备已生成公钥(Pka)和私钥(SKa),并通过安全通道收到车辆的蓝牙地址(BTAddrB),车辆的承诺值(Cb)和随机数(rb)。
车辆已生成其公钥(PKb)和私钥(SKb),并通过安全通道收到设备的蓝牙地址(BTAddrA)、设备的承诺值(Ca)和随机数(ra)。

2.1.3 所有者配对广播

对于所有者配对,仅支持Legacy LE 1M PHY。ADV_IND需要按照Section 2.3.1.1 Volume 6 Part B。
事件类型:无指向可连接和可扫描。
ADV_IND中包含广播地址和广播数据,如下所示,其中广播地址(Advertising Address, AdvA)为6字节。
在这里插入图片描述
其中IntentConfiguration用于设备上允许单独的用户流(user flow),具体取决于用户是否已经在车辆中开始车主配对。


持续更新,系列教程,收藏关注吧!

1、CCC联盟——UWB PHY
2、CCC联盟数字车钥匙(一)——UWB MAC概述
3、CCC联盟数字车钥匙(二)——UWB MAC时间网格
4、CCC联盟数字车钥匙(三)——UWB MAC时间网格同步及Hopping
5、CCC联盟数字车钥匙(四)——UWB MAC协议
6、CCC联盟数字车钥匙(五)——UWB MAC STS索引
7、CCC联盟数字车钥匙(六)——BLE连接概述

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

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

相关文章

SQL手工注入漏洞测试(MySQL数据库-字符型)-墨者

———靶场专栏——— 声明:文章由作者weoptions学习或练习过程中的步骤及思路,非正式答案,仅供学习和参考。 靶场背景: 来源: 墨者学院 简介: 安全工程师"墨者"最近在练习SQL手工注入漏洞&#…

《冬日“峰“会,有情岁月》丰谷酒品鉴会以酒会友

近日,由四川广播电视台金熊猫教育管理有限公司、丰谷酒业联合呈现的《冬日“峰“会,有情岁月》丰谷酒品鉴会在成都市橡树林举行。 品鉴会上,来自建筑界相关人士齐聚一堂,共同探讨交流把酒言欢、共品丰谷美酒。 据悉,参加本次活动的嘉宾都是四川乃至全国建筑界相关人士,在就餐时…

Vue3 Router跳转传参

最近遇到这个问题router跳转传参,真是要了老命了。 根据网上各位大神给出的方法,试了 import { useRouter } from vue-routerconst router useRouter()//1. 无法跳转 router.push(name:,params:{})//2. 可以跳转, 但需要在定义router同时定义占位符&a…

搭建nfs文件目录共享

搭建nfs文件目录共享 一、简介 NFS,英文全称是Network File System,中文全称是网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源,在NFS应用中,本地NFS的客…

运算放大器和常见运放电路

关于运算放大器 运算放大器(Operational Amplifier), 简称运放, 是一种直流耦合, 差模输入, 单端输出(Differential-in, single-ended output)的高增益电压放大器件. 运放能产生一个比输入端电势差大数十万倍的输出电势. 因为刚发明时主要用于加减法等运算电路中, 因而得名运算…

微信号被封了怎么办

13-7 常在河边走,哪有不湿鞋,做为经常用微信做电商客服的,或者经常在微信上和顾客谈钱的,总是会被微信后台重点关注,一不小心就有可能被封号。 如果遇到太倒霉的时候,永久封号了,这个时候微信…

C++模板—函数模板、类模板

目录 一、函数模板 1、概念 2、格式 3、实例化 4、模板参数的匹配 二、类模板 1、定义格式 2、实例化 交换两个变量的值,针对不同类型,我们可以使用函数重载实现。 void Swap(double& left, double& right) {double tmp left;left ri…

WebDriver+Selenium实现浏览器自动化

前言 Selenium是一款可以自动化操作浏览器的开源项目,最初的目的是浏览器功能的自动化测试,但是随着项目的发展,人们根据它的特性也用来做一些更多的有意思的功能而不仅仅是UI的自动化测试工具。就像Selenium官方网站上描述的那样&#xff0…

python 使用reportlab打造29页图文并茂pdf(全网reportlab最强pdf自动化生成代码)

python 使用reportlab打造29页图文并茂pdf(全网reportlab最强pdf自动化生成代码) 这次项目所使用的代码如果同志们可以灵活使用,基本上可以解决百分之九十以上的pdf模板自动化生成。 最近博主,做了一个项目,使用reportlab制作pd…

【Linux】:信号(三)捕捉

信号捕捉 一.sigaction1.基本使用2.sa_mask字段 二.可重入函数三.volatile四.SIGCHLD信号 承接上文 果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。由于信号处理函数的代码是在用户空间的,处理过程比较复杂,举例如下: 用户程序注册了SIGQUIT信…

【Python表白系列】无限弹窗,满屏表白代码来啦(完整代码)

文章目录 满屏表白代码环境需求完整代码详细分析系列文章 满屏表白代码 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需…

浮点运算误差

输出所有形如aabb的4位完全平方数(即前两位数字相等,后两位数字也相等) 解决这个问题首先需要表示aabb这个变量,只需要定义一个变量n存储即可,另一个问题就是如何判断n是否为完全平方数? 第一种思路是先求出…

100道接口测试面试题值得收藏!

HTTP, HTTPS协议 什么是DNSHTTP协议怎么抓取HTTPS协议说出请求接口中常见的返回状态码HTTP协议请求方式HTTP和HTTPS协议区别HTTP和HTTPS实现机有什么不同POST和GET的区别HTTP请求报文与响应报文格式什么是HTTP协议无状态协议?怎么解决HTTP协议无状态协议常见的POST提交数据方…

3D悬停相册

先上图 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>3D悬停相册</title><style>*{margin: 0;padding: 0;box-sizing: border-box;}body{display: flex;justify-cont…

msvcp140.dll无法继续执行代码是什么意思?六个解决方法分享

今天我想和大家分享的是如何解决由于缺失msvcp140.dll无法继续执行代码的6个办法。 首先&#xff0c;让我们来了解一下msvcp140.dll文件。msvcp140.dll是微软Visual C 2015运行库的一部分&#xff0c;它包含了许多用于支持各种应用程序的函数和类。当您在计算机上运行某些程序…

【ICCV2023论文阅读】XNet(能跑通代码)

这里写目录标题 论文阅读摘要介绍方法overviewwhy use wavelet transform?融合方法用于全监督分割和半监督分割可行性分析 效果局限性总结 代码跑通去掉分布式训练生成低频和高频图片产生数据集改读取数据的位置损失函数添加自己数据集的信息结果 ps:我现在不知道自己研究方向…

<JavaEE> 什么是线程安全?产生线程不安全的原因和处理方式

目录 一、线程安全的概念 二、线程不安全经典示例 三、线程不安全的原因和处理方式 3.1 线程的随机调度和抢占式执行 3.2 修改共享数据 3.3 关键代码或指令不是“原子”的 3.4 内存可见性和指令重排序 四、Java标准库自带的线程安全类 一、线程安全的概念 线程安全是指…

WebGL开发交互式艺术品技术方案

开发交互式艺术品需要使用 WebGL 技术&#xff0c;并结合其他前端技术以实现丰富的用户体验。以下是一个可能的技术方案&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.WebGL 框架&#xff1a; 选…

业余爱好-社会工程管理记账报税

税务问题笔记 印花税税费申报及缴纳财务和行为税合并纳税申报增值税及附加税费申报企业所得税季度A类申报残疾人就业保障金申报财务报表个税申报 印花税 印花税是对在经济活动和经济交往中书立、领受具有法律效力的凭证的行为征收的一种税。 税费申报及缴纳 财务和行为税合并…

String类 ---java

目录 一. 常用的字符串的构造 二. 字符串的源代码 三. 字符串比较 1. 是不能比较字符串的值的 ​编辑 2.比较两个字符串 --- compareTo() 3. 忽略大小写比较 ---compareToIgnoreCase() 四. 字符串转化 1. 数字转字符串 valueOf() 2. 字符串转数字 3. 小写转大写 to…