首页 > 其他分享 >BLE中的Privacy功能

BLE中的Privacy功能

时间:2024-05-25 09:50:51浏览次数:14  
标签:原生 功能 Privacy 88 地址 隐私 Address BLE 设备

说明

​ BLE中的Privacy功能用于隐藏设备的真实设备地址,方法为通过密钥对原生设备地址进行加密,加密后的地址只有当对端完成配对绑定后双方同步密钥信息后才能进行解密确认,这种做法确保了设备不会被第三方设备跟踪

Privacy表

隐私表的单元结构如下

  • Peer_Identity_Address_Type:对端设备标识地址类型-只有Public和Random(Static)两种
  • Peer_Identity_Address:对端设备标识地址(原生地址)
  • Peer_IRK:对端设备身份解析密钥
  • Local_IRK:本地设备身份解析密钥

角色配置

​ 无论是SCAN、ADV还是INIT,progress发起前都需要设置自身地址类型,这里在HCI设置时便可以选择是否使用隐私地址

Own_Address_Type:

Value Parameter Description
0x00 Public Device Address (default)
0x01 Random Device Address
0x02 控制器基于隐私列表里的本地密钥生成可解析的隐私地址,如果隐私列表没有则使用Public地址
0x03 控制器基于隐私列表里的本地密钥生成可解析的隐私地址,如果隐私列表没有则使用Random地址

Peer_Address_Type:

Value Parameter Description
0x00 Public Device Address (default)
0x01 Random Device Address

​ 上述可以看到,只有自身地址可以设置是否使用隐私地址,对于对端设备是不能设置的,这里协议的定义是当启用隐私功能后,底层控制器会自动检查(根据隐私地址的位特征)并解析对端设备地址,给到用户端的都是解析好的原生地址。

​ 比如说从机A的原生地址为88:88:88:88:88:88,经过加密后为B5:20:6F:3C:3C:7C 。那么空中包抓包会看到从机A的广播地址是B5:20:6F:3C:3C:7C。但是经过配对绑定后得到过IRK的主机B进行扫描时,扫描报告中得到的从机地址会是原生的88:88:88:88:88:88

时序

注意

  1. 隐私功能需要专门进行开关
  2. 隐私地址有专门的地址要求,最高两个Bit为0b10,原生地址不允许就设置为隐私地址
  3. 如果原生地址就配置为隐私地址格式,控制器会不加密直接使用
  4. 如果主机在扫描定向广播是遇到隐私地址且无法解析,会有专门的定向扫描广播report给host

用法

隐私地址+白名单+定向广播,该三者一般共同用于设备快速回连

标签:原生,功能,Privacy,88,地址,隐私,Address,BLE,设备
From: https://www.cnblogs.com/simpleGao/p/18212060

相关文章

  • SpringMVC+MyBatis 开发社交网站-27_实现图书更新功能
    实现图书修改更新功能imooc-reader项目:webapp\WEB-INF\ftl\management\book.ftl 图书管理页面<scriptsrc="/resources/layui/layui.all.js"></script><script>   vartable=layui.table;//table数据表格对象   var$=layui.$;//jQuery   var......
  • SpringMVC+MyBatis 开发社交网站-25_实现图书新增功能
    实现图书新增功能imooc-reader项目:pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/mav......
  • uni-app 微信 支付宝 小程序 使用 longpress 实现长按删除功能,非常简单 只需两步
    1、先看效果2、直接上代码ui结构<viewclass="bind"@longpress="deleteImage":data-index="index"><viewclass="bind_left">绑定设备</view><viewclass="bind_right"><viewc......
  • 【Linux】icmp_seq=1 Destination Host Unreachable
    执行ping命令提示:From192.168.XX.XX  icmp_seq=1DestinationHostUnreachable这个错误消息通常表示以下几种情况之一:网络连接问题:目标主机可能没有连接到网络,或者网络中的某个路由器无法将数据包转发到目标主机。目标主机不存在:目标主机的IP地址可能不存在,或者......
  • 网盘项目注册以及登录功能的实验
    注册功能的实现思路:用户输入用户名,手机号,密码作为登录所用的数据,后端检验用户名,密码,手机号的合法性,并且后端可以通过手机号唯一的特性来验证该手机号是否已被注册过,若被注册过,则返回错误信息,否则,使用UUID生成盐值来对密码进行加盐处理,然后再使用md5对密码进行加密(加盐值的好处......
  • CF1909I Short Permutation Problem 题解
    这是一道*1900的黑。考虑枚举\(m\),将\(<\fracm2\)和\(\ge\fracm2\)的数分开讨论。考虑相邻两个数\(a,b\(a>b)\)分别在\(\fracm2\)的两侧,则有\(b\gem-a\)。考虑将所有数按某种方法从小到大排序,以\(\min(x,m-x)\)为第一关键字,\(-x\)为第二关键字,则排列中......
  • Mybatis-plus核心功能-自定义SQL
    MyBatis-Plus提供了强大的条件构造器。通过条件构造器可以写一些复杂的SQL语句,从而提高我们的开发效率。通过EntityWrapper(简称EW,MP封装的一个查询条件构造器)或者Condition(与EW类似)来让用户自由的构建查询条件,简单便捷,没有额外的负担,能够有效提高开发效率,它主要用于处理......
  • 商会招商项目系统功能定制开发介绍
    商会招商项目系统功能定制开发介绍商会招商项目系统,是一个集PC和移动端功能于一体的解决方案,线上线下进行服务,围绕活动报名、在线课程、项目大厅、线下签到、会员系统等。为商会提供了更加便捷高效的管理方式,提升了商会活动和项目的组织、推广和运营能力。功能特性为你介绍......
  • 新定义RD8T36P48使用USCI0的TWI功能点亮OLED
    时间不多,因此先只给出工程,等有时间再添加详细说明现象这是从之前的一个51单片机的程序移植过来的,主要修改了IIC启动和停止,以及数据发送的代码,我现在还不是很满意的一点是发送过程中要等待上一个字节发送完才能接着发送本次字节。我使用的是while循环等待发送完成标志位,......
  • BLE中的白名单过滤配置
    说明白名单作用非常简单,就是在设备进行广播(ADV),扫描(SCAN)和连接(CONN)过程中做一个过滤作用whitelist白名单的结构非常简单,只有两个参数Address_TypeAddress即地址和地址类型,类型即常见的Public和Random过滤配置ADV配置项说明Advertising_Filter_Policy=0x00不......