我正在为通过蓝牙与Android应用程序进行通信的硬件设备开发身份验证层。我想确保设备只与我们的应用程序通信。有没有办法阻止用户使用我们的应用程序连接到设备,然后打开另一个应用程序并继续使用现有连接与设备通信?有一些方法可以通过加密来解决这个问题,但由于这可能很昂贵,我正在寻找替代解决方案。
答案 0 :(得分:3)
如果您主要担心安全问题,请使用安全BT执行连接 socket,可以通过直接调用createRfcommSocketToServiceRecord来创建 (大多数现代设备)或通过反射调用“createRfcommSocket”(一些旧设备)。
BTWiz可以很好地隐藏您的这些复杂性,以及支持异步蓝牙IO。
这将为您提供“基本”安全级别。
我认为你想要更多,获得这个的唯一方法是通过表演 某种程度的应用认证。如果不必复杂,仅仅是 从一侧到另一侧传递一个简单的密码短语将为您提供更高水平的密码 认证比我遇到的大多数BT实施。
Gilad Haimov
Android开发人员
www.mobileedge.co.il