【BLE】蓝牙设备地址

您所在的位置:网站首页 随机一个地址 【BLE】蓝牙设备地址

【BLE】蓝牙设备地址

2024-07-07 19:45| 来源: 网络整理| 查看: 265

目录: 1. 前言2. Public device address3. Random device address3.1 Static device address3.2 Non-resolvable private address3.3 Resolvable private address 4. 总结

1. 前言

为什么有些蓝牙设备的地址是固定的,但是有些每次开机起来是不一样的,又有些设备地址在正常运行过程中会变化呢。

蓝牙设备通过地址和地址类型来标识自己,地址类型指示是public device address(公共地址)或者random device address(随机地址),两种设备地址都是48bit的。

一个设备至少包含一种地址类型,可以同时包含两种。

当两个设备地址进行比较时,该比较应包括设备地址类型(如果两个地址类型不同,即使两个48bit未地址相同也不同)。

2. Public device address

设备唯一地址,不会变化。正常情况下,该地址是需要向IEEE申请的。企业交钱,IEEE保证地址的唯一性。

3. Random device address

在BLE时代,只有Public Device Address还不够,因为:

需要购买安全因素。BLE很大一部分的应用是广播通信,这意味着主要知道了设备的地址,就可以获取所以的信息,这是不安全的。

随机地址可以细分为三种地址类型,通过48bit地址的最高2位决定。

Address[47:46]Sub-Type0b00Non-resolvable private address0b01Resolvable private address0b10Reserved for future use0b11Static device address 3.1 Static device address

Static device address 是随机生成的,需满足以下两个条件:

最高两位为1不能全为0或1 在这里插入图片描述 如果使用的是静态随机地址,则每次开机的时候地址随机生成后不会再改变。下一次上电的时候可以改变,但不是强制的,因此可以保持变。

如果设备的静态地址发生变化,则存储在对端设备的配对信息将无效,并且使用旧地址重连会失败。

3.2 Non-resolvable private address

Non-resolvable private address 是随机生成的,需满足以下三个条件:

最高两位为0不能全为0或1不能和 Public device address 相同 在这里插入图片描述 3.3 Resolvable private address

不可解析私密地址需满足以下条件:

高24bit为随机数,且最高 2bits 为 “10”低 24bits 是随机数和 IRK 通过 hash 运算得到 hash 值,hash=ah(IRK,prand) 在这里插入图片描述 对端BLE设备扫描到该类型地址后,用本地 IRK 和该地址的 prand 进行 ah 运算,如果得到值和该类型地址低 24bits 一致才进行后续操作。 4. 总结

蓝牙设备地址可分为4种:

Public device addressStatic device addressNon-resolvable private addressResolvable private address

Public device address 是唯一不变的,相当于是设备的MAC地址。

Static device address在初始化后不会改变。

Static Device Address通过地址随机生成的方式,解决了部分问题,Private Device Address则更进一步,通过定时更新和地址加密两种方法,提高蓝牙地址的可靠性和安全性。

Non-resolvable private address 和 Resolvable private address在系统运行中可以指定周期更新(广播、扫描、已连接等过程中都有可能更新),更新的周期由GAP规定,称作T_GAP(private_addr_int),建议值是15分钟,不能大于1小时。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3