2016-08-15 13 views
6

Я изучаю типы безопасности, доступные в Bluetooth Low Energy (BLE), связанные с GATT. Более конкретно, какие операции выполняются при использовании gatttool с разными уровнями безопасности (низкий, средний, высокий)? Я понимаю, что менеджер по безопасности в BLE поддерживает 4 различных свойств безопасности:Уровни безопасности Bluetooth низкой энергии Bluetooth

  • не спаривание
  • спаривание с моделью ассоциации, которая не поддерживает человек-в-середине (MITM) защиты (JustWorks)
  • сопряжение с защитой MitM (ввод ключа доступа, числовое сравнение, OOB)
  • Соединения с защитой от несанкционированного доступа.

Связаны ли эти свойства безопасности с уровнями безопасности, указанными в gatttool, или есть ли какая-то другая функция безопасности, которую я пропустил при чтении спецификации Bluetooth?

Редактировать: Я хотел бы расширить свой вопрос, чтобы прояснить проблему. Как стек Bluetooth 4.2 определяет, использовать ли устаревшее сопряжение или нет? То есть, если у меня есть пакетный захват двух устройств BLE 4.2, как я могу определить, используется ли устаревшее сопряжение против спаривания, которое использует ECDH? Флаг Secure Connections указывает, что устаревшее сопряжение не должно использоваться или это просто его собственный режим, который обеспечивает использование одобренных FIPS алгоритмов?

ответ

4

Вы правы, но вы забываете об одной главной угрозе в сообщении BLE. Вот три основные угрозы:

людей в середине (MITM):

MITM требует злоумышленника, чтобы иметь возможность как монитор и изменять или вводить сообщения в канал связи

Подслушивание:

Пассивная Eavesdropp ING тайно слушать (с помощью нюхают устройства) к частному связи третьим лицам без согласия отслеживания

конфиденциальности/Идентичность:

Поскольку большинство рекламных и пакетов данных Bluetooth LE есть исходные адреса устройств, которые отправляют данные, сторонние устройства могут связывать эти адреса с идентификацией пользователя и отслеживать пользователя по этому адресу

Приводятся котировки от developer.bluetooth.org.

Вы уже упоминали о защите от MitM и Eavesdropping, однако по-прежнему существует проблема отслеживания идентичности.

Защита от отслеживания идентификации заключается в использовании MAC-адреса, который нельзя связать с одним и тем же устройством во времени, то есть MAC-адрес, который изменяется (как правило, каждые 15 минут). Есть четыре типа MAC-адрес:

  1. Общественного адрес: Этот адрес передается в незашифрованном виде и содержит вашу компанию уникального идентификатор и идентификатор устройства. Это небезопасно, поскольку оно не меняется во времени.
  2. Случайный статический адрес: Этот адрес является случайным (и известен как случайный благодаря флагам внутри) и незашифрован. Как только он изменится, вы потеряете возможность повторно подключиться к устройствам, которые уже вас знают, вам нужно перезапустить соединение с нуля.
  3. Случайный разрешенный частный адрес: Этот адрес может быть разрешен устройствами, которые знают его IRK, общий секрет между устройствами. Что касается статического случайного адреса, он часто изменяется, но всегда разрешима. Это самый распространенный вариант, поскольку он сохраняет конфиденциальность и позволяет восстановить соединение.
  4. Случайный неразрешимый личный адрес: Этот адрес не может быть разрешен. Core Spec не говорит об этом много, и, похоже, это не очень распространено. Разница со статическим адресом заключается в том, что он не сохраняется, поскольку он является частным адресом (т. Е. Устройство не ожидает восстановления соединения с частным адресным устройством).

Это объясняется в BLE Core Spec 4.2 Vol. 3 Часть C 15.1.1 Типы адресов устройств Bluetooth.

Что касается уровня безопасности, я не знаю gatttool, но я предполагаю, что это как-то похоже на панель управления nRF Connect/Master или LightBlue. Вы видите здесь, вероятно, уровень безопасности, связанный с каждым атрибутом. Есть четыре уровня безопасности, и они могут быть различными для каждого атрибута:

Режим 1 Уровень 1:

шифрования не требуется. Атрибут доступен в текстовом, незашифрованном соединении.

Режим 1 Уровень 2:

Unauthenticated шифрования требуется. Для доступа к этому атрибуту необходимо зашифровать соединение, но ключи шифрования не должны быть аутентифицированы (хотя они могут быть).

Режим 1 Уровень 3:

Аутентифицированный шифрования требуется. Для доступа к этому атрибуту соединение должно быть зашифровано с помощью аутентифицированного ключа.

Режим 1 Уровень 4:

идентифицированные LE Безопасные соединения спаривание с шифрованием. Соединение должно быть зашифровано с помощью соединения Secure Connection Pairing, которое было введено в Bluetooth LE с версии 4.2.

Определения режимов 1 уровень 1-3 происходят из «Getting Started with Bluetooth Low Energy» Роберт Дэвидсон, Акиба, Карлес CUFI, Кевин Таунсенд.

Устройство также может быть в режиме, который называется Secure Connection Only, в котором все его услуги, за исключением одного в режиме 1 Уровня 1, могут быть доступны только в режиме 1 Уровень 4.

+0

Спасибо за всю эту информацию. Используя ваши точки относительно режимов и уровней безопасности LE, я перешел в спецификацию Bluetooth, чтобы получить немного большую ясность. По моему мнению, требования к аутентификации основаны на модели ассоциации, используемой во время спаривания, и соответствует ли эта модель защите MitM: ** Режим 1 Уровень 1 ** = Отсутствует сопряжение; ** Режим 1 Уровень 2 ** = Сопряжение с использованием JustWorks (как минимум); ** Режим 1 Уровень 3 ** = Сопряжение с использованием численного сравнения, ввода пароля или OOB; ** Режим 1 Уровень 4 ** = Сопряжение с использованием защищенных соединений; – 1nc1n3rat0r

+0

@ 1nc1n3rat0r Да, это все. Когда вы подключены, но не спарены, и вы хотите получить доступ к характеристике, требующей больше, чем Mode 1 Level 1, тогда соединение будет выполнено. – Tim

1

Да, это правильно, но вы должны заметить, что в них все еще есть режим безопасности, режим безопасности LE 1 и режим безопасности LE 2, который сочетается с разными уровнями безопасности. И до Bluetooth 4.2 LE небезопасен, т. Е. Вы можете снижать ключ шифрования только в начале соединения LE.

+0

Это замечательная информация. Что касается уязвимости спаривания в BLE <4.2, эта проблема все еще присутствует в BLE 4.2, когда не используется соединение с Secure Connections? Я понимаю, что если соединение Secure Connections не используется, тогда используется сопряжение LE Legacy, которое уязвимо для обнюхивания взлома STK. – 1nc1n3rat0r

+0

Ну, уязвимости в BLE <4.2 можно использовать только в том случае, если вы обнюхаете начальный процесс сопряжения. Вы не можете расшифровывать последующие соединения, если только вы не понюхали начальный процесс сопряжения. И да, если вы используете устаревшее спаривание, тогда оно уязвимо. – Emil

+0

Спасибо за ответ. Я должен перефразировать мой вопрос, чтобы быть немного более ясным: если у меня есть пакетный захват двух спариваний устройств BLE 4.2, как я могу определить, используется ли устаревшее сопряжение против спаривания, которое использует ECDH? Флаг Secure Connections указывает, что устаревшее сопряжение не должно использоваться или это просто его собственный режим, который обеспечивает использование одобренных FIPS алгоритмов? – 1nc1n3rat0r

1

Как работает 4.2 Bluetooth стек определяют, следует ли использовать устаревшее сопряжение или нет? То есть, если у меня есть пакетный захват двух устройств BLE 4.2, как я могу определить, используется ли устаревшее сопряжение против спаривания, которое использует ECDH? Флаг Secure Connections указывает, что устаревшее сопряжение не должно использоваться или это просто его собственный режим, который обеспечивает использование одобренных FIPS алгоритмов?

Во время этапа обмена характеристиками сопряжения, если флажок Secure Connections (SC) установлен в блоках PDU сопряжения и сопряжения, тогда используется LE SC. Это указывает на то, что оба устройства поддерживают LE SC и соглашаются использовать его.

Если используется LE SC, в журналах будут отображаться «Pairing Public Key» и «PDU Pairing DHKey Check». Они относятся к LE SC.

Смежные вопросы