bluetooth-lowenergy - 从随机私有(private)可解析地址获取 BLE MAC

标签 bluetooth-lowenergy privacy mac-address

我想将 Android 设备(客户端)连接到外部 BLE 设备(服务器)。我有几个关于私有(private)随机可解析地址机制的问题。

  • 据我对 BLE 核心规范的了解,身份解析 key 可用于判断地址是否是使用此 key 生成的,但它不能用于解析原始 BLE MAC 地址同行。对吗?
  • 有没有办法获取原始的 BLE MAC 地址,同时仍然在服务器端使用私有(private)随机可解析地址?也许它是绑定(bind)信息的一部分?
  • 如果只有服务器使用私有(private)随机可解析地址而不是客户端,我能解决这个问题吗?这是否会破坏隐私保护,私有(private)随机可解析地址机制提供?

最后我想要一个 BLE 连接,它使用私有(private)随机可解析地址来确保隐私,并且仍然能够在我的服务器上获取客户端的原始 BLE MAC 用于内部目的。

如果有人能回答我的问题,我将不胜感激。

最佳 大卫

最佳答案

当绑定(bind)时,零个、一个或两个设备可以发送解析 key (如果协商的话)。对于发送解析 key (IRK) 的每个设备,也始终发送身份地址。这包含原始蓝牙设备地址,可以是公共(public)地址或静态随机地址。这个地址只有绑定(bind)的设备知道。

隐私功能的想法是永远不要在链路层数据包中使用原始蓝牙设备地址,而是随机生成一个每 x 分钟(通常为 15 分钟)更改一次的地址。这样,如果它定期转换广告,则不会有人跟踪它,因为它会在 15 分钟后消失。但是,如果您有相应的 IRK,则可以确定 IRK 是否匹配。如果匹配,您也知道原始蓝牙设备地址,因为您的绑定(bind)数据包含 IRK 和原始地址。但是,如果您丢弃该地址,那么即使您有 IRK,也无法恢复原始地址。

如果两个设备中只有一个使用随机可解析地址,则具有可解析地址的设备无法被非绑定(bind)设备跟踪,而未使用随机可解析地址的设备可以被跟踪。

关于bluetooth-lowenergy - 从随机私有(private)可解析地址获取 BLE MAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61660118/

相关文章:

actionscript-3 - AS3 麦克风隐私设置仅显示 3 个选项卡

python - 从 mac 地址转换为十六进制字符串,反之亦然 - python 2 和 3

networking - 是否可以找出直接有线连接设备的MAC地址?

c - 带有 getifaddrs 的 MAC 地址

javascript - Android BLE 客户端在 onCharacteristicRead 中只返回 600 字节的数据

ios - 如何从 iOS 网络应用程序与蓝牙设备配对?

ios - 使用 SLComposeViewController 的隐私政策?

aggregate-functions - 一种点对点和隐私感知的数据挖掘/聚合算法 : is it possible?

ios - Mi Band 1S 在 iOS 上处理来电时振动

ios - 接收到输入数据后读取并处理