
蓝牙
文章平均质量分 90
物联网布道师
拥有超过6年物联网开发经验。特别是在蓝牙领域有丰富的产品开发经验,对传统蓝牙,低功耗蓝牙,蓝牙Mesh等协议都有深入的研究。
展开
-
【转载】【Nordic博文分享系列】详解Zephyr设备树(DeviceTree)与驱动模型
这里其他的都好理解,值得详细说的是phandle-array类型。这个数组的每一个元素都是一个特殊的结构体,结构体的第一个值必定是一个phandle,后续的值可以是任意值,数量也可以任意。以设备树中的/soc/peripheral/adc@e000节点为例,节点中未指明interrupt parent,故从设备树向上推断,推到/soc节点,此节点指明中断控制器是&nivc,即/soc/interrupt-cntroller@e000e100,其device-binding是"arm,v8m-nvic"。转载 2023-03-17 15:24:16 · 4116 阅读 · 2 评论 -
【蓝牙系列】蓝牙5.4到底更新了什么(2)
加密广播特性提供了一种标准化的、普遍适用的机制,用于广播包、扫描响应包和 EIR 数据包中传输加密数据,并安全地共享相关的加密密钥材料。这意味着无连接通信现在可以用作一对多或一对一拓扑中的安全应用程序数据传输机制。通用属性配置文件 (GATT) 提供了一种方法,通过该方法可以在由 GATT 服务、特性和描述符组成的结构中表示设备数据和功能。原创 2023-03-09 11:22:06 · 9313 阅读 · 3 评论 -
【蓝牙系列】蓝牙5.4到底更新了什么?(1)--- PAwR
BLE有两种扫描方式:主动扫描和被动扫描。被动扫描是接收方只到扫描广播数据包,不发送任何回复数据包。而主动扫描,接收方接收到可扫描的广播包后,会回复一包Scan request PDU,来请求广播者发送更多的广播信息, 广播者收到后会继续广播scan response数据。可连接的 vs 不可连接的 可连接的广播表示扫描方收到该广播后,可能会发起连接请求,这也是我们最常见的广播包。而不可连接的广播最常见的就是蓝牙beacon包。可扫描的 vs 不可扫描的。原创 2023-03-07 22:39:50 · 6424 阅读 · 6 评论 -
一种更优雅的蓝牙配对技术 - Cross-transport key derivation (CTKD)
蓝牙CTKD是蓝牙4.2版本引入的一种交叉传输密钥派生的安全机制,全称 Cross-transport key derivation,主要用在蓝牙双模设备上,它可以跨越BLE和BT的边界,通过将BLE配对生成的LTK转化成BT配对的LinkKey,从而直接实现BT的配对,当然也可以通过BT配对生成的LinnkKey转化成BLE的LTK来实现BLE的配对,目前我们主要研究和使用前者。通过CTKD可以通过一次配对将BT和BLE两个链路都配对上,从而提升蓝牙双模设备的配对体验。原创 2022-09-04 19:38:56 · 5796 阅读 · 6 评论 -
一篇文章带你解读蓝牙配对绑定
实现蓝牙通信安全,除了paring/bonding这种底层方式,用户也可以在应用层去实现相同功能,两者从功能上和安全性上没有本质区别,只不过应用层自己实现的话,需要自己选择密码算法,密钥生成,密钥交换等,如果你不是这方面的专家,你的应用就有可能会存在安全漏洞。设备跟手机绑定成功后,手机再次重连这个设备时,就会自动跳过service discovery过程,换句话说,配对的时候手机会把设备所有服务和characteristic的handle保存下来,二次重连的时候,直接用以前保存的handle值去操作设备。.原创 2022-08-07 11:53:42 · 9836 阅读 · 17 评论 -
BLE安全之SM剖析(3)
上一章介绍了配对流程的第二阶段,剖析了配对第二阶段的配对算法的选择和鉴权方式的选择。接下来就进入了ble配对的阶段三,在该阶段双方会根据生成的STK或LTK来生成其他的密钥,就是配对的密钥分配阶段。......原创 2022-08-07 11:08:29 · 3990 阅读 · 1 评论 -
BLE安全之SM剖析(2)
上一章介绍了配对流程的第一阶段,剖析了配对第一阶段的配对请求包和配对响应包的各个字段的含义和使用。接下来就进入了ble配对的阶段二,在该阶段双方会根据阶段一中的配对信息选择合适的配对和认证方式,并且生成会后续链接加密的密钥。............原创 2022-08-05 08:58:16 · 1912 阅读 · 0 评论 -
BLE安全之SM剖析(1)
SM层是为了在两个蓝牙设备之间建立一个安全可靠的数据传输通道,主要的流程包括配对,绑定、鉴权、加密、消息完整性校验。配对在两个设备之间创建一个或多个共享密钥的过程绑定每一端保存配对中创建的密钥的行为,用于后续的连接,形成一个信任的设备对,绑定后的设备可以直接回连,而不用再走配对的流程。设备鉴权根据两端设备的输入、输出能力和鉴权需求,选择不同的鉴权方式,验证两个设备有相同的密钥加密对设备之间交换的数据进行加密的过程,用来保证数据链路的安全。消息完整性对数据进行签名,并在另一端验证签名的过程。......原创 2022-07-28 16:00:06 · 2528 阅读 · 0 评论 -
蓝牙5.2新特性 LE Audio - Isochronous channel
Isochronous channel 是蓝牙5.2发布的新特性,可以翻译为同步通道,主要应用在LE audio上。它定义了一个有时间依赖的数据的传输通道和传输策略。首先是定义了一个对于多接收方同步获取数据的机制;其次是定义了发送方在允许的时间外丢弃数据,从而保证接收方收取的数据满足时效要求。 同步通道分为连接同步通道和广播同步通道。看名字就可以知道,连接同步通道是需要两个设备建立gatt连接之后才可以使用的用来传输音频的通道,广播同步通道则是使用广播来传输音频流。 ble 的传统的gatt也可以原创 2022-07-06 23:35:35 · 3530 阅读 · 2 评论 -
蓝牙5.2新特性 - Enhance ATT
Enhance ATT是蓝牙5.2引入的一种新特性,是对ATT和L2CAP上做了改进,一方面使得多个应用的ATT可以并发进行处理,而不用各个应用分时处理,另一方面Enhance ATT可以使用一个数据包来传输多个服务特征数据的一个机制。 了解Enhance ATT之前先回顾一下BLE的ATT,BLE两个设备连接之后,GATT的client端如何知道server端支持了哪些profile、服务,这个就需要ATT, ATT层提供了标准机制、协议、帧格式,用来发现读、读取、写入对端设备的属性,ATT有c原创 2022-07-01 09:29:34 · 1085 阅读 · 0 评论 -
蓝牙5.2新特性 - LEPC简介
LEPC是LE Power Control的简称,是蓝牙5.2引入的用来优化功耗的一个普惠性的新特性,它既可以优化LE Audio的功耗,还可以优化现有ble的功耗。虽然在BLE中,LEPC是一个全新的概念,但经典蓝牙BR/EDR中却很早就引入了该特性。 LEPC是什么?一句话概括,LEPC是一个让蓝牙设备在建立连接后可以协商双方发射功率的机制。 两个ble设备建立连接后, 一端可以请求对端设备调整发送功率。不管是master还是slaver 都可以发起请求, 对端设备收到请求后,可以根据请原创 2022-06-30 17:32:56 · 1053 阅读 · 0 评论