将蓝牙设备安全连接到 Android

Puc*_*uck 5 security android bluetooth out-of-band

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

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

Android 上还可以使用 OOB 身份验证吗?

如果没有,还有其他选择可以解决我的问题吗?

You*_*eed 1

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

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

它并不简单,需要与目标手机进行初始不安全的连接,但如果这不是问题,那么这应该可行。

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