首页 > 其他分享 >聊聊蓝牙配对技术-CTKD OVER BR/EDR

聊聊蓝牙配对技术-CTKD OVER BR/EDR

时间:2024-09-25 18:22:35浏览次数:8  
标签:耳机 OVER EDR CTKD BR BLE 配对

背景

最近一直在调试耳机的BLE AUDIO功能,一次测试中把CTKD(Cross-transport key derivation)宏开关给关了,发现手机完全不会去连接耳机的LE AUDIO服务,甚至BLE连接都不会建立。说明手机连接双模蓝牙耳机的机制是:先去配对BR/EDR,然后通过CTKD的方式去建立BLE连接。带着好奇心去一探究竟:

1:通过CTKD配对的必要条件

1:耳机端的BR/EDR和BLE的地址必须一致。
2:耳机端需要打开Secure Connection(蓝牙4.2引入新的安全鉴权加密方式,采用椭圆曲线ECDH公钥算法进行配对鉴权,而legacy采用的是AES对称加密算法)。
查看耳机有没有支持Secure Connection,可以通过手机端的btsnoop HCI Log查看:HCI Read Remote extended feature complete event里有一个bit位,如下图:
在这里插入图片描述

2:BLE通过CTKD配对的流程

1:

手机和耳机先进行BR/EDR连接配对,如下图手机和耳机通过过simple pairing配对成功,生成了Link Key:
在这里插入图片描述

2:

手机和耳机利用Link Key,根据一定的算法(这个算法是另外一个topic),算出LE连接的IRK和CSRK。
IRK用来解析蓝牙Resolvble Random address 。
CSRK用来加密数据和验证数据的安全完整性。
手机和耳机利用BR/EDR的连接,直接交换以上的key和address, 如下图:
在这里插入图片描述

3:

上述BLE的key交换完成后,手机端会把耳机地址加入白名单,然后发起BLE连接,如下图:
在这里插入图片描述总结:CTKD在蓝牙4.2版本引入,但后来爆出很多安全问题,在5.1版本又做了很多限制。网上很多介绍CTKD OVER BLE,但CTKD OVER BR/EDR基本没有人介绍,我在这里抛砖引玉,博君一笑。

标签:耳机,OVER,EDR,CTKD,BR,BLE,配对
From: https://blog.csdn.net/Jzj1234555/article/details/142527430

相关文章

  • JetBrains IDEA 插件 AI Assistant 不可用 - 解决方案
    问题描述:如果购买了IDEA的AIAssistant插件,但是打开后不可用并有下面的提示:“很遗憾,AIAssistant目前在您所在的位置不可用”。Unfortunately,AIAssistantiscurrentlyunavailableinyourlocation. 1.打开网址https://account.jetbrains.com/profile-details......
  • Android 14.0 recovery竖屏界面旋转为横屏
    1.概述在14.0系统rom项目定制化开发中,由于平板固定横屏显示,而如果recovery界面竖屏显示就觉得怪怪的,所以需要recovery页面横屏显示的功能,所以今天就来解决这个问题2.实现功能相关分析Android的Recovery中,利用bootable\recovery下的minui库作为基础,采用的是直接存取framebu......
  • Linux 启动系统的过程中使用rd.break 在断点前进入shell
    参考:https://man7.org/linux/man-pages/man7/dracut.cmdline.7.html使用rd.break={cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}droptoashellbeforethedefinedbreakpointstarts介绍rd.break参数允许您在内核启动过程中......
  • RAG、单元测试等一大波新功能,上线JetBrains IDEs的CodeGeeX插件!
    CodeGeeX第三代模型发布后,多项基于第三代模型能力的新功能今天也同步上线JetBrainsIDEs全家桶。用户可以在IDEA、PyCharm等JetBrains系的IDE中,搜索下载CodeGeeXv2.5.0版本,深度使用最新功能。 一、新模型加持的代码补全和智能问答 以IDEA为例,在v2.5.0版本的CodeGeeX插件中,用户可......
  • WebRTC关键技术及应用场景:EasyCVR高效低延迟视频监控解决方案
    众所周知,WebRTC是一项开源的实时通信技术,它通过集成音频、视频和数据传输到Web浏览器中,使得实时通信变得简单且无需任何插件或第三方软件。WebRTC不仅是一个API,也是一系列关键技术和协议的集合,它的出现改变了传统通信方式,因此,目前WebRTC已经成为实时通信领域的重要标准,并且广泛应......
  • OpenWebrx RTLSDR V4 频道划分 json
    "sdrs":{"rtlsdr":{"name":"RTL-SDR","type":"rtl_sdr","profiles":{"VHFFMBroadcast-01":{......
  • mac M1,M2,M3芯片踩坑 nodejs ruby brew
    问题&解决方法先说解决方法,感兴趣的可以了解事情的经过,也许我描述的问题不专业,但确实解决了当下的问题,欢迎留言讨论这里主要是两个问题,一个是启用rosetta模式失败,一个是架构混合导致项目跑不起来启用rosetta模式失败执行arch-x86_64zsh报arch:posix_spawnp:z......
  • WebRTC中的维纳滤波器实现详解:基于决策导向的SNR估计
    目录1.维纳滤波器的基本原理2.WebRTC中的维纳滤波器实现3.代码逐步剖析4.总结在WebRTC的噪声抑制模块中,维纳滤波器(WienerFilter)是一种非常常见且重要的滤波器,用于提高语音信号的清晰度并抑制背景噪声。本文将详细解释维纳滤波器在WebRTC中的实现逻辑,并结合代码......
  • 中国大陆用户如何使用Jetbrains内置的AI插件AI Assistant
    1安装AIAssistant插件AI功能依赖AIAssistant插件:2功能解释代码、回答有关代码片段的问题、提交消息等等。在需要时更快地编码AIAssistant可以自动补全单行、函数和整个代码块,并与您的编码样式、项目上下文和命名约定保持一致。AIAssistant还可以根据您的自然语言提......
  • BreakLabelDemo
    packagecom.shrimpking.t2;/***CreatedbyIntelliJIDEA.**@Author:Shrimpking*@create2024/9/1515:27*/publicclassBreakLabelDemo{publicstaticvoidmain(String[]args){for(inti=0;i<2;i++){......