我是新的BLE技术之外使用它的Arduino(RFduino)。我正在努力让所有能看到这个设备的手机都不能与RFduino配对。我不明白的是,我知道BLE有安全措施,但我该如何实施这些措施。
看这个问题,看起来可以使用MAC地址的安全性?https://stackoverflow.com/questions/22712632/pair-ble-device-with-android我想我应该做的是让用户输入设备的正确MAC地址如果不匹配他们就不能连接?
我真的不明白的是如何将配对私钥/公钥添加到整个通信中,我认为这是最好的实践方法?
BLE为其通信提供完整性和机密性,但不提供身份验证。这意味着一旦建立了连接,黑客就很难入侵,但您必须确保自己没有连接到恶意用户!
Public Private key身份验证将是一个很好的起点。您可能希望RFDuino保存私钥。当您尝试连接到它时,它将以只有私钥所有者才能签署的方式签署某些内容,并且您可以使用您的公钥验证这一点。现在你可以确定你联系对了人。
安全性是一件很难正确实现的事情,但是,如果有人已经为蓝牙实现了这样的库,你可能想看看周围。
- Android在4.3以上版本支持BLE。
- 为了与Arduino通信,您需要使用GATT服务和UUID。
android默认UUID为"0000180F-0000-1000-8000-00805f9b34fb"。
请提供您自己的UUID id
更多有用的细节,请访问此链接:http://developer.android.com/reference/android/bluetooth/BluetoothGattService.html