Обеспечение безопасности и аутентификации через Bluetooth с помощью BlueZ - PullRequest
0 голосов
/ 29 ноября 2018

Я использую BlueZ 5.49 и пытаюсь соединить, соединить и передать информацию между двумя различными устройствами Bluetooth.Кажется, у меня есть проблема с обеспечением безопасности и аутентификации между ними.

Я настраиваю каждое устройство hci с помощью: hciconfig hci0 pscan auth encrypt, который, как я читал, устанавливает устройство в режим безопасности 3.

Кроме того, я вручную создаю этот путь в обе стороны: /var/lib/bluetooth/<local_bdaddr>/<remote_bdaddr>/info с LinkKey.

Я заметил, что если я создаю путь только для одного устройства, изатем попытка подключения с помощью устройства rfcomm connect без файла info, соединение будет установлено успешно, даже если на устройстве отсутствует файл info, который содержит LinkKey.Если я пытаюсь rfcomm connect с устройства с файлом info, я получаю Key Exchange ошибку, которая является приемлемой, поскольку на другом устройстве нет ключа.

Myосновная черта в том, что кажется, что безопасность и аутентификация не применяются.

Большое спасибо, Лиад

1 Ответ

0 голосов
/ 21 декабря 2018

Видимо, hci устройство по умолчанию настроено на работу в Безопасное простое соединение , также известное как sspmode.Простое сопряжение, первоначально созданное для поддержки устройств, которые не могут вставить пин-код во время процесса сопряжения (например, гарнитура).

Следовательно, когда устройство включено sspmode, оно использует стандартную клавишу пина - скажем, 0000,и затем на основе пина генерируется LinkKey для шифрования и аутентификации, и, таким образом, не выполняется принудительная проверка подлинности, как я уже упоминал ранее.

Строка hciconfig hci0 sspmode disable отключает режим безопасного простого соединения и, наконец, обеспечивает аутентификациюиспользуя статический LinkKey, который вы указали в информационном файле, который находится в /var/lib/bluetooth/<your_mac>/<remote_mac>/info.

...