我们正在设计一个通过BLE进行通信的小型硬件设备(称为“冰球”),以及iOS的Android应用程序与之通话。我们有一个应用程序(用C#/ Xamarin编写)连接到冰球,它们正在连接和发送数据。BLE(低功耗蓝牙)配对和绑定
根据this web site,当第一次进行蓝牙连接时,两个设备“配对”,这就意味着它们交换安全信息。
问题1:我的理解是,我的理解是安全信息的交换是自动发生的,在我的代码中没有任何事情可以使它发生?
问题2:我保证通信(在包括密钥在内的安全信息的初始交换之后)将被加密吗?
问题3a:在Android设备上,如何查询连接以找出两个BLE设备达成一致的安全功能?
问题3B:同3A但iOS装置
上的冰球没有显示说话的(几个LED和按钮),所以不能显示用于接合的PIN。该计划是让用户在移动应用程序中启动绑定,通过BLE连接发送一些命令;作为回应,冰球将以某种模式闪烁其灯并等待用户按下按钮。如果在某个超时时间内按下按钮,则应该进行粘接。
问题4:为了保持BLE连接尽可能安全,绑定的“最佳实践”是什么?
可能最好在[信息安全](http://security.stackexchange.com)中提出。 – zaph
除非您请求加密,否则数据未加密。在iOS上访问加密属性将触发一个配对对话框,要求用户输入PIN码。 – Paulw11