如何使BLE通信加密?

时间:2016-12-03 09:26:37

标签: android encryption bluetooth-lowenergy android-bluetooth

我使用Bluez 5.28制作了智能手机应用程序并提供服务。 他们之间的沟通非常有效。 但我想破解沟通,我试图用Ubertooth和裂缝。 起初,我开始ubertooth,然后连接到智能手机的服务。捕获后,我试图破解(解密)噼里啪啦,但噼啪声说: “由于他跟随错误而无法破解:   缺少Mrand和Srand

没有解密任何数据包,没有写一个新的pcap ......“

总之,智能手机和ble服务之间的连接没有加密。我发现关于加密的ble服务标志是真的,但我不知道智能手机。我认为android和ble支持自动加密。 如何在两个加密的设备之间建立连接? 我应该在Android应用程序或ble服务中设置任何内容吗?

1 个答案:

答案 0 :(得分:0)

您需要配对设备。要么进入Android的蓝牙系统设置以配对设备,要么使用https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#createBond()以编程方式进行设置。或者您可以从外围设备发送安全请求数据包。配对完成后,所有其他连接都将被加密。

请注意,除非您使用最新的Android,并且您的外围设备支持新的Secure Connections配对方法,否则如果配对过程本身被嗅探,您将能够嗅探所有后续流量。如果你没有嗅到初始配对,你就无法解密其余的配对。