3

我正在开发一种需要通过蓝牙与 Android 应用程序安全通信的设备。出于安全原因,我只需要一个预定义的电话就可以与我的设备进行通信。而且我还需要确保这不是试图将伪造数据传递给应用程序的入侵设备。

查看蓝牙规格,我的印象是唯一的方法是使用预配置临时密钥 (TK) 进行带外 (OOB) 身份验证。这看起来很有希望,但在尝试找到如何在 Android 应用程序上使用 OOB 之后,似乎不支持它。

是否仍然可以在 Android 上使用 OOB 身份验证?

如果没有,是否有其他方法可以解决我的问题?

4

1 回答 1

0

这是可行的,但取决于您正在开发的 BLE 外围设备及其支持的功能。也就是说,您的设备需要支持白名单和绑定。这就是它应该如何工作的方式。

  1. 在第一次连接到 BLE 设备时,BLE 设备无论如何都应该接受连接。
  2. 建立连接后,中央设备(Android 手机)需要启动绑定。这不需要是带外 (OOB) 绑定,标准的 Just Works 绑定应该可以。
  3. 绑定成功后,BLE 外围设备应将 Android 设备的 IRK 添加到白名单设备列表中。
  4. 从此时起,BLE 外围设备将激活白名单,因此只有白名单中的设备才能连接到您的 BLE 外围设备,在您的情况下,它将是您用来进行第一次连接的 Android 手机。

这不是直截了当的,需要与目标手机建立初始的无安全连接,但如果这不是问题,那么这应该可以工作。

您可以在以下链接中找到有关此的更多信息:-

于 2022-02-18T07:37:05.633 回答