BLE Paring без склеивания на Android - PullRequest
0 голосов
/ 30 августа 2018

У меня есть пара периферийных устройств, к которым мой телефон Android должен иметь возможность подключаться. Для защиты связи я реализовал BLE-Secure Connections на периферии. Поскольку единственное, что я хочу, - это зашифровать ссылку, и я не хочу, чтобы пользователи имели все мои периферийные устройства в своем списке связанных устройств, я не хочу связываться.

Так можно ли просто выполнить сопряжение с устройством и забыть о нем после отключения (и не нужно бояться какого-то диалога Bonding-Request)?


Некоторая справочная информация:

Спецификация Bluetooth (v4.2 и v5) говорит мне, что Bonding или просто Paring (выбрасывание ключей после соединения) должны быть такими же простыми, как и флаг, который можно установить и запрашивать Bonding или нет. (И на моей периферии это так просто).

Я уже знаю, что я могу связать + связать мои устройства с BluetoothDevice.createBond(), который прекрасно связывается на заднем плане без какого-либо неприятного диалога.

1 Ответ

0 голосов
/ 30 августа 2018

Если вы установили флаг связывания на 0 на вашем периферийном устройстве, а возможность ввода-вывода - отсутствие ввода-вывода, то будет выполнено сопряжение Just Works (без диалога). Я также предполагаю, что Android будет уважать флаг соединения, который вы установили на своем периферийном устройстве, и не будет хранить информацию об устройстве в списке связывания, так как в противном случае он не будет соответствовать спецификации. Вы все равно должны вызывать метод createBond.

Безопасность, которую вы получаете в этом случае, - это просто обмен Диффи-Хеллмана, то есть защита от подслушивающих, но не для человека в середине.

...