Безопасность и приватность Bluetooth Mesh: построение доверенной IoT-сети
В частях 1 и 2 мы изучили архитектуру Bluetooth Mesh и поток сообщений. В современном сверхсвязанном мире безопасность не опциональна — это незыблемый фундамент для любого Mesh-питаемого IoT-решения.
Bluetooth SIG требует от каждого Mesh-устройства реализацию безопасности; ее отключение запрещено. Классические BLE point-to-point соединения, напротив, могут работать без безопасности по выбору разработчика.
Процесс провижининга, добавляющий устройство в Mesh, и все последующие обмены данными спроектированы с безопасностью как высшим приоритетом.
- Man-in-the-Middle атаки предотвращены Elliptic Curve Diffie-Hellman (ECDH) ключевым обменом во время провижининга.
- Replay-атаки предотвращены per-message порядковыми номерами.
- Trash-can атаки от утилизированных устройств нейтрализованы через процедуру key-refresh (черный список).
Mesh-топология опирается на обязательные ключи, защищающие каждый слой стека. Давайте пройдемся по ключевым механизмам безопасности и приватности детально.
Провизининг: Добавление непровижненного устройства в Mesh-сеть
Mesh-устройство становится узлом, когда оно провижнено. Устройство, выполняющее провижининг — провижнер — обычно смартфон. Провижнер создает сеть, назначает сетевой ключ и раздает необходимые ключи. Непровижненные Mesh-узлы анонсируют себя после включения. Провижнер сканирует эти биконы и устанавливает стандартное BLE-соединение (используя PB-GATT в современных устройствах) для обмена ключами через ECDH.
После вывода сессионного ключа, он шифрует сетевой ключ, ключ устройства, IV-индекс и unicast-адрес, которые затем передаются узлу. После успешного провижининга узел входит в фазу конфигурации, где провижнер обнаруживает возможности узла и назначает Application keys. Узел может держать несколько Application keys; каждый ключ привязан к конкретной Mesh-модели, гарантируя, что только намеренные устройства могут расшифровать прикладной payload.
Рисунок 1 иллюстрирует полную последовательность провижининга для регулируемой лампы с использованием набора оценки CYBT‑213043‑MESH.
click for larger image
Рисунок 1: Процесс провижининга для регулируемой лампы. (Источник: Cypress)
Когда помощник Mesh-приложения на смартфоне выбирает лампу из непровижненного списка, он инициирует рукопожатие провижининга. Лампа отвечает своими возможностями — поддерживаемые элементы, алгоритмы безопасности, OOB-опции, методы ввода/вывода. На основе этих, публичные ключи обмениваются либо через OOB, либо по BLE-линку, следом аутентификация. После аутентификации лампы, провижнер шлет зашифрованные данные провижининга (сетевой ключ, ключ устройства, IV-индекс, unicast-адрес и др.). Узел теперь полностью провижнен и готов к конфигурации.
Сетевые, Application и Device ключи
Сетевые ключи позволяют узлу дешифровать и аутентифицировать сообщения до сетевого слоя, позволяя ему ретранслировать трафик. Application keys разделяются подмножеством узлов, выполняющих схожие функции; только устройства с правильным Application ключом могут дешифровать payload. Device keys уникально идентифицируют каждый провижненный узел и используются исключительно во время конфигурации.
Сетевой ключ: Узел может держать один или несколько сетевых ключей, позволяя создавать множество подсетей в одной Mesh-сети. Например, многоуровневый паркинг может изолировать каждый уровень в свою подсеть, ограничивая ретрансляцию трафика соответствующим уровнем.
Application ключ: Обычно разделяется устройствами, служащими одной цели — напр., все лампы гостиной делят один ключ, а датчики движения или замки — другой. Только устройства с подходящим ключом могут интерпретировать сообщение на изменение состояния лампы.
Device ключ: Назначается во время провижининга, Device ключ уникально идентифицирует узел и используется исключительно в фазе конфигурации.
Удаление узла: Key Refresh и Blacklisting
Чтобы предотвратить повторное присоединение скомпрометированного или утилизированного узла к целевой сети — сценарий, известный как Trash-can атака — Mesh-спецификация определяет процедуру key-refresh. Провижнер может поставить узел в черный список и выпустить новые сетевые и Application ключи всем не-черносписанным устройствам. Старые ключи больше не дают доступ, защищая сеть от эксплуатации.
Приватность (обфускация сообщений)
Приватность достигается через privacy key, выводимый из сетевого ключа. Mesh-протокол использует этот ключ для обфускации полей заголовка, таких как адрес источника, предотвращая отслеживание источников сообщений подслушивателями.
Replay-атаки
Replay-атака подразумевает захват легитимного сообщения и его повторную отправку для нарушения сети — например, повторную передачу команды разблокировки дверного замка. Mesh-протокол противостоит этому двумя защитами: IV-индекс и порядковый номер (SEQ). Каждое сообщение несет SEQ, инкрементируемый с каждой публикацией; узлы отбрасывают любой пакет с SEQ равным или меньшим последнего валидного значения. IV-индекс также должен быть равен или больше последнего обработанного значения; иначе пакет отбрасывается. Атакующему понадобятся все релевантные ключи для модификации этих полей, делая успешные реплеи нереальными.
Подводя итог, процесс провижининга Bluetooth Mesh гарантирует, что только доверенные устройства присоединяются к сети и защищает от MITM, replay и Trash-can атак. Сетевые ключи позволяют субнетинг, Application ключи обеспечивают, что только намеренные устройства интерпретируют payload, а key-refresh механизмы безопасно удаляют скомпрометированные узлы. Приватность скрывает адреса источников, а порядковые номера и IV-индексы предотвращают replay-атаки. Вместе эти механизмы устанавливают Bluetooth Mesh как высокозащищенную и приватную платформу для IoT-развертываний.
В части 3 мы обсудим, как выбрать правильное Bluetooth Mesh устройство для вашего конкретного приложения.
Встроенный
- Synopsys представляет полный набор HBM3 IP для много-кристаллических систем, повышая пропускную способность до 921 ГБ…
- Bluetooth Mesh: выбор между модулем и дискретным чипом
- Cypress запустила двухрежимные Bluetooth 5.0 MCU с Mesh-сетями, связывающие IoT-устройства со смартфонами
- Future Electronics формирует глобальное партнерство с Silvair для ускорения Bluetooth Mesh решений
- Contrinex 2020: облачные сенсоры и Bluetooth light curtains для безопасности
- Swissbit демонстрирует передовые аппаратные решения безопасности для IoT на it‑sa
- Renesas RX23W MCU укрепляет IoT-безопасность с Bluetooth 5.0
- Система домашней безопасности на Raspberry Pi: обнаружение движения PIR + камера с email-уведомлениями
- Устойчивый успех: уроки упорства от Авраама Линкольна и лидерства в ТО
- Могут ли безопасность и приватность помешать IoT-революции?