BLE Paring без привязки на Android

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

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


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

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

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


person dCSeven    schedule 30.08.2018    source источник


Ответы (1)


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

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

person Emil    schedule 30.08.2018
comment
Я попытался сделать это, но по какой-либо причине периферийное устройство не отвечает ответом на сопряжение при снятии флажка связи. (При инициировании связывания с периферийного устройства (и при запросе на отсутствие связывания) на телефоне появляется запрос связывания (и после этого он отображается как связанный, но соединение работает). Поэтому я изучу это и сообщу об этом на следующей неделе. - person dCSeven; 31.08.2018