从随机私有可解析地址获取 BLE MAC

2023-12-21

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

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

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

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

最好的 大卫


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从随机私有可解析地址获取 BLE MAC 的相关文章

  • 在 Android BLE 中处理指示而不是通知

    使用蓝牙 SIG 应用加速器代码 它很好地演示了蓝牙低功耗的不同概念 然而 它没有提到与通知相反的指示 我知道与通知不同 需要确认指示 并且在代码中我会这样做byte val enabled BluetoothGattDescriptor
  • 树莓派蓝牙4.0连接

    我正在尝试使用 CoreBluetooth 蓝牙 4 0 通过 iPhone 连接到 Raspberry Pi 我已经发现了该设备并使用以下代码发出连接请求 if peripheral self foundPeripheral NSLog
  • 如何确定实际物理网卡的 MAC 地址——而不是 VPN 创建的虚拟网络接口 (.NET C#)

    背景 我正在尝试从计算机中获取唯一标识符 并且希望每次都能可靠地返回相同的 MAC 地址 相信我 我有使用 MAC 地址的理由 并且阅读了许多关于替代唯一 id 方法的帖子 是的 我考虑过他们是否没有任何网卡 Problem 问题出在 NE
  • 使用 php 运行 ipconfig 命令

    我使用这段代码来了解访问者 客户 的一些信息 它一直在我的 Xampp 虚拟服务器上运行 但我无法在我的主服务器 主机 上运行 我只看到一个空白页 info system ipconfig all echo info 这可能对你有帮助 服务
  • VSCode 扩展的安全性和隐私性

    我发现 VSCode 有很多不错的扩展 然而 我担心这些扩展是否将我的代码发送到他们的任何服务器 有什么办法可以查到吗 我可以使用 fiddler 并隔离插件中可能发生的调用 但不想对我安装的每个扩展都这样做 VScode 团队对此有一些指
  • 获取计算机的MAC地址

    我想使用c 访问计算机的mac地址 我使用以下代码来访问 mac 地址 但此代码存在一些问题 Code 1 foreach NetworkInterface nic in NetworkInterface GetAllNetworkInte
  • 通过 iBeacon 监控和测距与 CoreBluetooth scanForPeripheralsWithServices 检测信标

    对于 iOS 对想要扫描 BLE 信标 外设的应用程序施加的限制 存在很多困惑 在阅读了几个博客和 Stack Overflow 答案后 我想看看我是否正确理解了所有问题 如果有什么理解错误或者遗漏的地方请指正 我仅指 iOS 7 及更高版
  • BlueCove 与 Bluez 卡盘“无法打开 SDP 会话。[2] 没有这样的文件或目录”

    我正在尝试编写一个简单的蓝牙服务器 它接受来自我的 HeartRate Device 蓝牙 LE 的连接 但它总是引发异常 javax bluetooth ServiceRegistrationException Can not open
  • 从 BLE 设备同步读取多个特征(Android 推荐方法)

    我正在开发一个从 BLE 设备读取数据的 Android 应用程序 我在这里遇到了很多关于如何读取多个特征的解决方案 其中大多数都建议使用队列 我确实实现了 Queue 方法 并且我的代码中的一切都按预期正常工作 我开始这个帖子的原因是为了
  • BLE 堆栈的开源实现

    除了 BlueZ 和 Bluedroid 之外 还有其他 BLE 堆栈的开源实现吗 有几个开源 BLE 堆栈 NimBLE http mynewt apache org network ble ble intro Apache mynewt
  • 如何从 GitHub 上彻底删除问题?

    是否可以从 GitHub 问题跟踪器中完全删除问题 不可以 github API 只允许您打开 关闭 重新打开问题 这是问题 API 文档 http developer github com v3 issues
  • 核心蓝牙和后台:检测设备并触发操作,即使在后台模式几天后?

    我编写了一个应用程序 需要在某个低功耗蓝牙设备进入范围内时收到通知 如果 BLE 设备被注意到 我的应用程序只会存储一个时间戳 正如 WWDC 2012 核心蓝牙视频中所述 使用核心蓝牙时 应用程序有两种在后台模式下运行的可能性 活动背景
  • 如何使用C++在Windows中获取MAC地址? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • Android Thread、AsyncTask 与从 BLE onCharacteristicChanged() 调用的 IntentService

    我有一个 Android 应用程序 我从中接收 BLE 数据 每 62 毫秒通过通知 该应用程序可以通过 BufferedWriter 将数据保存到文件中 在每次 onCharacteristicChanged 回调时 如果用户启用了文件保
  • 如何获得蓝牙低功耗设备的实际名称?

    我需要从 ble 传感器获取友好的设备名称 例如 我想找到该设备并告诉用户他们已连接到 我的家庭传感器 我可以找到该设备 但我不知道如何找到该数据 在常规蓝牙中 我相信我可以使用BLUETOOTH DEVICE INFO或winsock 是
  • 在 Marshmallow 中获取蓝牙本地 mac 地址

    在 Marshmallow 之前 我的应用程序将通过以下方式获取其设备 MAC 地址BluetoothAdapter getDefaultAdapter getAddress 现在 随着 Marshmallow Android 的回归02
  • 如何在 iOS 上删除配对的蓝牙设备?

    我希望我的应用程序可以删除配对的蓝牙设备 因为如果设备与 iPhone 配对 则该设备无法用于其他设备 我尝试了 CBCentralManager cancelPeripheralConnection 但它不起作用 他们仍然配对 或者还有其
  • 外围 BLE 设备的唯一标识符

    所以我有外围设备BLE设备 我需要一些标识符以便稍后与另一部 iPhone 共享 我连接的示例iPhone A 为外围设备 iPhone A 将外围设备的标识符保存到数据库中 稍后我可以轻松获取iPhone B 并连接到通过该标识符找到的外
  • 通过网络浏览器扫描 iOS 上的信标

    有什么方法可以在 iOS 上进行网页扫描以查找信标吗 据我所知 目前没有iOS网络浏览器支持网络蓝牙 我什至找不到任何有关 Chrome 团队是否计划在 iOS 上为 Chrome 添加网络蓝牙支持的信息 有没有其他方法可以通过网络浏览器

随机推荐