9.BLE---安全机制之白名单
1. 白名单机制
- 白名单(white list)是BLE协议中最简单、直白的一种安全机制。
- 所谓的白名单,就是一组蓝牙地址。
- 通过白名单,可以只允许特定的蓝牙设备(白名单中列出的)扫描(Scan)、连接(connect)我们。
- 也可以只扫描、连接特定的蓝牙设备(白名单中列出的)。
OCF |
Command parameters |
Return Parameters |
0x000F |
Status White_List_Size |
White_List_Size,size,范围是1~255。
注2:由此可知,白名单是保存在controller中,由于size的范围是1~255,因此controller必须实现白名单功能(最少保存一个)。
2.2 LE Clear White List Command,将controller中的白名单清空该命令的格式为:
OCF |
Command parameters |
Return Parameters |
0x0010 |
Status |
2.3 LE Add Device To White List Command,将指定的设备添加到白名单该命令的格式为:
OCF |
Command parameters |
Return Parameters |
0x0011 |
Address_type(1 byte) Address(6 bytes) |
Status |
Address,设备的地址。
Status,命令执行的结果,0为success。
2.4 LE Remove Device From White List Command,将指定的设备从白名单中移除的命令该命令的格式为:
OCF |
Command parameters |
Return Parameters |
0x0012 |
Address_type(1 byte) Address(6 bytes) |
Status |
Address,设备的地址。
Status,命令执行的结果,0为success。
最后需要说明的是,当controller处于以下三个状态的时候,以上命令除"LE Read Resolving List Size Command"外,均不能执行:
正在advertising;
正在scanning;
【9.BLE---安全机制之白名单】正在connecting。
3. 白名单使用策略有关的命令BLE设备在发起Advertising、Scanning或者Connecting操作的时候,可以通过Set Advertising Parameters、Set Scan Parameters或者LE Create Connection Command,设置Advertising、Scanning或者Connecting的过滤策略(Filter_Policy),具体如下:
3.1 Advertising时的白名单策略LE Set Advertising Parameters Command的命令格式为:
OCF |
Command parameters |
Return Parameters |
0x0006 |
… Advertising_Filter_Policy(1 byte) |
Status |
0x00,禁用白名单机制,允许任何设备连接和扫描。
0x01,允许任何设备连接,但只允许白名单中的设备扫描(scan data中有敏感信息?)。
0x02,允许任何设备扫描,但只允许白名单中的设备连接。
0x03,只允许白名单中的设备扫描和连接。
3.2 Scanning时的白名单策略LE Set Scan Parameters Command的命令格式为:
OCF |
Command parameters |
Return Parameters |
0x000B |
… Scanning_Filter_Policy(1 byte) |
Status |
0x00,禁用白名单机制,接受所有的广播包(除了那些不是给我的directed advertising packets)。
0x01,只接受在白名单中的那些设备发送的广播包(除了那些不是给我的directed advertising packets)。
0x02,和白名单无关,不再介绍。
0x03,接受如下的广播包:在白名单中的那些设备发送的广播包;广播者地址为resolvable private address的directed advertising packets;给我的给我的directed advertising packets。
注3:Scanning时的白名单策略有点奇怪,既然是主动发起的,要白名单的意义就不大了吧?
3.3 Connecting时的白名单策略LE Create Connection Command的命令格式为:
OCF |
Command parameters |
Return Parameters |
0x000D |
… Initiator_Filter_Policy(1 byte) … |
Status |
0x00,禁用白名单机制,使用Peer_Address_Type and Peer_Address指定需要连接的设备。
0x01,连接那些在白名单中的设备,不需要提供Peer_Address_Type and Peer_Address参数。
本文参考:http://www.wowotech.net/bluetooth/ble_white_list.html
转载于:https://www.cnblogs.com/yuqilihualuo/p/9568185.html
推荐阅读
- NeuVector 会是下一个爆款云原生安全神器吗()
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- 何以解忧,企业信息化、数字化选型焦虑之五·系统安全隐患大
- K8S|K8S 生态周报| Istio 即将发布重大安全更新,多个版本受影响
- 科三测评
- 简易有效Api接口防攻击策略
- 成功通航(用宜搭提升数字化管理效能,确保每次飞行任务安全执行)
- 轻量模块注意力机制ECA-Net(注意力模块+一维卷积)
- Python进阶|警惕 Python 中少为人知的 10 个安全陷阱
- 佐伊挖财(6个公式,检测你的家庭财富是否安全())