蓝牙 BLE 标准中是否有认证? (逆向工程麻烦)

Is there an authentication in the Bluetooth BLE standard? (reverse engineering trouble)

简而言之

当我使用非官方 app/program 连接到 BLE 设备时,设备不执行 GATT 命令。

该应用程序是否需要 运行 某种设备身份验证之王? (一个灯泡)

我的逆向工程故事

我正在尝试对蓝牙 LE 灯泡(洒红节睡眠伴侣)进行逆向工程。我已成功找到我需要的 GATT 消息:

  1. 通过阅读来自 Android(开发工具)的 HCI 期刊
  2. 通过反汇编 Android 应用程序 (Sleep360) 的 Java 代码

但是,向灯泡发送完全相同的蓝牙消息序列是行不通的。

在测试时,我实际上发现如果以正确的顺序快速 运行 以下内容适用于一个 GATT 命令:

  1. 我连接官方Android app
  2. 我关闭官方Android应用程序
  3. 我连接自己的 app/program 并发送一个 GATT 命令(来自同一设备或另一设备)

我的测试

我运行 我用两种方法进行测试:

  1. 使用 nF Connect Android 应用程序
  2. 使用我自己的 python 脚本 运行在装有 bluez 的 Linux 笔记本电脑上

谢谢你的帮助!

没有这样的"authentication standard"。然而,您在标准中有配对和绑定,但这通常由系统而不是 Android 中的应用程序处理。

制造商可以自由使用 GATT 作为传输层,然后在其之上构建身份验证协议。