Можно ли использовать фиксированный пин-код со стеком BlueZ? - PullRequest
0 голосов
/ 29 апреля 2020

Я разрабатываю приложение Bluetooth на основе стека Bluetooth linux, blueZ 5.52. Я использую интерфейс Dbus. Модуль работает с BLE 4.2.

Моё устройство выполняет роль периферийного устройства, а центральным будет смартфон (Android и IOS). Мне удалось реализовать безопасность через пин-код.

Моя проблема в том, что пин-код генерируется при каждом соединении, и я не могу найти способ использовать stati c пин-код.

В спецификации bluetooth 4.0 я видел, что мы можем установить фиксированный PIN-код (7.3.6 Команда ввода PIN-кода), но нет никакого способа дать пин-код, который мы хотим использовать ...

Как я могу использовать фиксированный пин-код для моего приложения? Является ли это возможным ?

Спасибо за помощь,

1 Ответ

0 голосов
/ 29 апреля 2020

Поскольку вы упоминаете, что запускаете BLE, а не Bluetooth Classi c, «Команда ввода типа PIN» не имеет значения (она используется для Bluetooth Classi c).

С протоколами безопасности в BLE , больше невозможно использовать фиксированный пароль. Новый случайный пароль должен генерироваться при каждой попытке. Протокол безопасности разработан таким образом, что свойство безопасности уничтожается при повторном использовании пароля. В частности, для взлома пароля требуется в среднем 10 попыток, поскольку при каждой попытке вы узнаете по крайней мере один дополнительный бит ключа.

См. Мой ответ по адресу https://devzone.nordicsemi.com/f/nordic-q-a/35856/questions-about-lesc-mitm-and-passkey для получения дополнительной информации. .

...