Как реализовать безопасность BLE? - PullRequest
0 голосов
/ 04 ноября 2019

Мы реализовали связь между устройством Linux и мобильным приложением через BLE. Мы можем читать и записывать данные, используя бесплатное приложение «nRF Connect». Теперь нам нужно поддержать безопасность BLE. В основном наши данные чувствительны. Мы хотим защитить наши данные от MITM. Поэтому нам необходимо поддерживать разумный высокий уровень безопасности. Кажется, нам нужен «Режим безопасности 1, уровень 3: аутентифицированное соединение с шифрованием». Наше устройство не поддерживает визуальный ввод. Мы используем BlueZ, D-Bus и Python3 на стороне Linux.

Но у меня есть несколько практических вопросов:

  1. Для сопряжения, как мы поддерживаем защиту паролем? Это только для разработчика мобильных приложений?
  2. Как мы узнаем, когда происходит сопряжение на стороне Linux? Есть ли обратный вызов или уведомление, которое мы можем использовать из BlueZ Python API?
  3. Как работает шифрование данных? Некоторые упоминали AES-CMAC, некоторые упоминали AES-CCM? Какой из них мы должны использовать? Так что нам просто нужно зашифровать данные на Linux Python и отправить данные?
...