安全连接蓝牙设备到Android

5
我正在开发一款设备,需要通过蓝牙与Android应用程序进行安全通信。出于安全考虑,我需要仅允许预定义的电话与我的设备进行通信。我还需要确保这不是一个试图向应用程序发送伪造数据的入侵者设备。
查看蓝牙规范,我有一种印象认为唯一的方法是使用带预配临时密钥(TK)的带外(OOB)身份验证。这看起来非常有前途,但在尝试找到如何在Android应用程序上使用OOB之后,似乎不受支持。
在Android上是否仍然可以使用OOB身份验证?
如果不行,是否有其他替代方案解决我的问题?
1个回答

1

这是可行的,但它取决于您正在开发的BLE外设及其支持的功能。换句话说,您的设备需要支持白名单和绑定。以下是它的工作方式:

  1. 首次连接到BLE设备时,BLE设备应该接受连接。
  2. 一旦连接成功,中央设备(Android手机)需要启动绑定。这不需要是带外绑定(OOB)绑定,标准的Just Works绑定即可。
  3. 一旦绑定成功,BLE外设应将Android设备的IRK添加到白名单设备列表中。
  4. 从此时开始,BLE外设将激活白名单,并且只有在白名单中的设备才能连接到您的BLE外设,而在您的情况下,它将是您用来进行第一次连接的Android手机。

这并不是非常简单,并需要与目标手机进行初始安全性较低的连接,但如果这不是问题,则应该可以正常工作。

您可以在以下链接中找到更多信息:


这个答案有很多限制可能会有问题:1)在“配置”过程中需要拥有手机,这只是第一次不安全地连接。2)无法安全地连接到多个手机。3)不能保证设备的身份验证。4)需要第一次配对,这实际上并不可扩展。无论如何,感谢您的建议,我会研究白名单。 - Puck

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接