Обеспечение безопасности и аутентификации через Bluetooth с помощью BlueZ
Я использую 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
Ошибка, которая допустима, так как у другого устройства нет ключа.
Моя базовая линия заключается в том, что кажется, что безопасность и аутентификация не применяются.
Большое спасибо, Лиад
0 ответов
По-видимому hci
Устройство по умолчанию настроено на работу в режиме Secure Simple Pairing, также известной как sspmode
, Простое сопряжение изначально создано для поддержки устройств, которые не могут вставить пин-код в процессе сопряжения (например, гарнитура).
Следовательно, когда устройство находится в sspmode
включен, он использует ключ пин по умолчанию - скажем, 0000, а затем на основе пин, генерируя LinkKey
шифровать и проверять подлинность, и, таким образом, не обеспечивать подлинную проверку подлинности, как я уже говорил
Линия hciconfig hci0 sspmode disable
отключает режим безопасного простого сопряжения и, наконец, обеспечивает проверку подлинности с использованием статического LinkKey
Вы вводите в информационном файле, который находится в /var/lib/bluetooth/<your_mac>/<remote_mac>/info
,