我正在研究一个关于拦截低功耗蓝牙 (BLE) 流量的项目。蓝牙提供了不同类型的配对机制,例如“Just Works”和“Passkey Entry”。此外,可以在链路层对蓝牙连接进行加密。
为了测试这些不同的情况,我产生了编写一个实现不同安全机制的 Android 应用程序的想法。所以我的问题是:
是否可以在 Android 应用程序中指定配对机制并打开和关闭链路层加密?
我查看了Android 文档,但在那里找不到答案。
我正在研究一个关于拦截低功耗蓝牙 (BLE) 流量的项目。蓝牙提供了不同类型的配对机制,例如“Just Works”和“Passkey Entry”。此外,可以在链路层对蓝牙连接进行加密。
为了测试这些不同的情况,我产生了编写一个实现不同安全机制的 Android 应用程序的想法。所以我的问题是:
是否可以在 Android 应用程序中指定配对机制并打开和关闭链路层加密?
我查看了Android 文档,但在那里找不到答案。
无法从 android 应用程序指定配对机制。通过让远程蓝牙设备仅支持特定的配对机制,可以隐式地强制执行配对机制。
无法从 Android 应用程序打开和关闭链路层加密。可以通过隐藏方法 BluetoothDevice.isEncrypted 检查加密状态(https://android.googlesource.com/platform/frameworks/base/+/android-7.0.0_r21/core/java/android/bluetooth/BluetoothDevice.java #1020 )。可以从远程蓝牙设备打开和关闭链路层加密。