蓝牙
文章平均质量分 93
Johnny 周
百岁写代码
展开
-
蓝牙BLE安全-SSP简单安全配对
在这种模型中,只有显示屏的设备显示一个6位数的数字,然后用户在具有输入能力的设备上输入该数字。设备验证阶段如下图所示,注意与LSC不一样的地方在于,SSP的设备双方都是申验者和验证者,即通信的设备既会验证对方的Link Key,也会被对方验证本方的Link Key,只要有一方验证失败,则这整个阶段都验证失败。接下来的加密密钥的生成以及加密算法如下图所示,可以看到其大致与LSC一致,不过采用的算法完全不一样,这里采用h3来生成加密密钥,使用AES-CCM来加密数据包。包的长度时,要使用专门的。原创 2024-02-19 19:52:49 · 1320 阅读 · 0 评论 -
蓝牙BLE学习-GATT和ATT
GATT-Generic Attribute profle-通用属性配置文件。GATT层是传输真正数据所在的层。包括了一个数据传输和存储架构以及其基本操作。GATT用来规范attribute中的数据内容,并运用group(分组)的概念对attribute进行分类管理。没有GATT,BLE协议栈也能跑。但互联互通就会出问题,也正是因为有了GATT和各种各样的应用profile,BLE摆脱了Zigbee等无线协议的兼容性困境,成为了出货量最大的2.4G无线通信产品。原创 2024-02-19 19:31:05 · 1349 阅读 · 0 评论 -
BLE蓝牙安全机制
蓝牙配对是建立安全连接的关键过程。对于传统蓝牙应采用SSP配对方式,而低功耗蓝牙4.0和4.1的版本应使用legacy pairing配对方式,4.2以后的版本应采用Secure connection的配对方式。传统的蓝牙采用的配对方式如下:蓝牙2.1版本之前使用的Legacy pairing。该配对方式蓝牙双方采用输入固定pin Code来实现身份的认证,该方式目前已经不在使用。蓝牙2.1版本提出了简单安全配对(Secure simple pairing)的方式。原创 2024-02-13 12:34:49 · 1144 阅读 · 0 评论 -
蓝牙BLE学习-安全
BLE的配对和绑定是一连串的动作,总结下来可以用下图来表示。阶段1:配对特征交换,得到临时密钥(TK)值(配对请求、配对响应)阶段2:身份确认以及短期密钥(STK)生成(通过安全管理协议(SMP)配对),确定自己正在和一个真正想要通信的设备通信,而非第三方。即确定对方身份。阶段3:传输特定密钥(密钥分配)。绑定所需存储到安全数据库的数据也是在此阶段发送的。上述三阶段总结:配对认证:主从机一方提供密码,一方输入密码,如果双方密码一致,那么此密码将作为TK(临时密码)。原创 2024-02-13 12:07:15 · 2176 阅读 · 0 评论 -
蓝牙BLE学习-GAP
GAP层(Generic access profile-通用访问配置文件)。GAP是对LL层payload(有效数据包)如何进行解析的两种方式的一种,而且也是最简单的一种。GAP简单的对LL payload进行一些规范和定义,因此GAP能实现的功能极其有限。GAP目前主要用来进行广播,扫描和发起连接。GAP保证了不同的BLE设备可以互相发现对方并建立连接GAP定义了蓝牙设备如何发现和建立与其他设备的安全或不安全连接。它处理一些一般模式的业务,比如询问、命名和搜索,还处理一些安全问题,比如担保。原创 2024-02-13 08:53:01 · 967 阅读 · 0 评论 -
蓝牙BLE学习-蓝牙广播
什么叫做广播,顾名思义就像广场上的大喇叭一样,不停的向外传输着信号。不同的是,大喇叭传输的是音频信号,而蓝牙传输的是射频信号。BLE使用的是无线电波传递信息,就是将数据编码,调制到射频信号中发射。BLE使用的射频频率是2.4GHz。跟WIFI、Zigbee等协议使用的是同一频段。那如何做到使用同一频段而有不相互干扰呢?首先要知道的是2.4G指的不是某一个频率,而指的是一个频段(2400MHz-2483.5MHz)。在这个频段内每隔2M为一个信道,共40个信道。原创 2024-02-12 20:02:05 · 1294 阅读 · 0 评论 -
蓝牙BLE学习-概述
蓝牙,直接来自于一位国王的名字--King Harald ‘Bluetooth' Gromsson。这位国王因两件事留名于史,其一是在公园958年统一了丹麦和挪威,其二是在其死后,其牙齿呈现出暗蓝色的颜色,因而得名蓝牙为绰号。而蓝牙联盟之所以选择它作为联盟的名字,则是看中了King Harald在统一丹麦和挪威上的贡献。联盟希望,该技术能够像他一样,将PC和无线产业用短距离无线传输连接在一起。原创 2024-02-12 10:46:29 · 898 阅读 · 0 评论