Это четвертая часть перевода книги Мохаммада Афане.
«Введение в Bluetooth с низким энергопотреблением».
Сегодня мы рассмотрим возможности, появившиеся с новой версией стандарта, а также различные методы обеспечения безопасности соединения и пользовательских данных в BLE. Предыдущие части: Об архитектуре BLE О типах устройств, рекламе и сканировании О подключениях и услугах
7. Bluetooth 5
Bluetooth 5 решает задачу увеличения количества приложений Интернета вещей, которые могут использовать BLE. Он удваивает скорость передачи, в четыре раза увеличивает дальность действия и в 8 раз увеличивает объем информации, который можно передать во время рекламы.Давайте посмотрим на список нововведений Bluetooth 5 (из официальных спецификаций):
- Характеристики CSA 5 (более высокая выходная мощность)
- Маска доступности слотов (SAM)
- 2 Мсим/с PHY для LE
- ЛЕ дальнего действия
- Неподключаемая реклама с высоким рабочим циклом
- Рекламные расширения LE
- Алгоритм выбора канала LE №2
- 2 Мсим/с PHY для LE — удвоение скорости передачи.
- LE Long Range — увеличивает максимальную дальность передачи в 4 раза.
- LE Advertising Extensions — восьмикратное увеличение пропускной способности широковещательных пакетов.
Примечание: Msym/s — мегасимволы в секунду, здесь используются вместо более распространённых мегабит в секунду, поскольку они отражают фактическую скорость передачи.
В некоторых случаях (как мы увидим в зашифрованном PHY) для кодирования одного бита будет использоваться множество символов, что снижает фактическую скорость передачи данных в Мбит/с.
В этой главе мы будем использовать аббревиатуру «Msim/s» для «мегасимволов в секунду».
7.1 Удвоить скорость, увеличить дальность в четыре раза
Напомним, что PHY относится к физической части радио.Предыдущие спецификации Bluetooth (до Bluetooth 5) допускали использование только одного PHY со скоростью передачи 1 Мсим/с.
Как мы упоминали ранее, Bluetooth 5 принес два новых (дополнительных) PHY:
- 2М ФИЗ: Используется для удвоения скорости передачи (по сравнению с предыдущими версиями Bluetooth).
Также добавлено несколько новых функций: Снижение энергопотребления за счет того, что тот же объем данных передается за меньшее время, сокращается время нахождения передатчика в активном состоянии.
Уменьшите взаимные помехи из-за меньшего времени передатчик находится в активном состоянии.
Есть и недостатки: возможное уменьшение дальности, так как возросшая скорость передачи требует повышения чувствительности приёмника.
Кроме того, использование данного PHY запрещено для первичной рекламы.
Важно отметить, что внедрение этого PHY повлекло за собой изменения в аппаратном обеспечении, поэтому старые микроконтроллеры и модули могут его не поддерживать.
- Кодированный PHY: Используется для четырехкратного увеличения диапазона приемников и передатчиков по сравнению с предыдущими версиями BLE. Очевидное преимущество увеличенной дальности передачи имеет два недостатка: Повышенное энергопотребление : Поскольку для передачи одного бита используется несколько символов, нам необходимо увеличить активное время передатчика.
Сниженная скорость: по этой же причине нам остаются доступны скорости 125 кбит/с или 500 кбит/с, в зависимости от используемого типа схемы кодирования .
В ходе испытаний были достигнуты расстояния передачи до 800 метров (прямая видимость).
Это позволяет использовать BLE в устройствах, находящихся на расстоянии сотен метров друг от друга.
С учетом обязательных задержек между пакетами (150 микросекунд по спецификации), а также служебной информации и других требований, предъявляемых спецификацией (например, ответов и пакетов подтверждения), реальная скорость передачи полезных информации будет меньше.
Например, для 2M PHY максимальная скорость передачи полезных данных составит около 1,4 Мбит/с.
7.1.1 2M PHY
На уровне приложения вам не нужно знать множество деталей PHY низкого уровня.Все, что вам нужно сделать, это включить его для достижения высокой скорости передачи.
Однако имейте в виду, что использование этого PHY потенциально может уменьшить дальность связи вашего устройства.
Мы также упомянули о запрете использования 2М ФИЗИ для первичной рекламы.
У нас осталось два варианта использования этого режима:
- Вторичная реклама ( расширенный режим рекламы ).
- Реклама на первичном или вторичном канале с использованием 1M PHY. После установления соединения любая сторона может запросить изменение PHY на 2M. Стоит помнить, что канал связи между устройствами может быть асимметричным, то есть пакеты от периферийного устройства могут передаваться с использованием 1M PHY, а пакеты от центрального устройства — с использованием 2M PHY.
7.1.2. Кодированный PHY
Bluetooth 5 позволяет значительно увеличить дальность передачи, используя новый зашифрованный PHY. Что это значит в данном контексте кодирование ? И как это помогает увеличить дальность связи? Увеличение дальности достигается за счет прямой коррекции ошибок ( ТЭК ).Помехоустойчивое кодирование позволяет приемнику восстанавливать данные, полученные с ошибками.
Это становится возможным за счет введения избыточности в передаваемые данные с помощью специального алгоритма.
Таким образом, вместо того, чтобы запрашивать повторную передачу данных в случае возникновения ошибок, приемник восстанавливает данные путем их декодирования.
Используются следующие схемы кодирования:
- С = 2, Каждый бит данных кодируется 2 битами, максимальная скорость передачи 500 кбит/с.
- С = 8, Каждый бит данных кодируется 8 битами, максимальная скорость передачи 125 кбит/с .
7.2 Восьмикратное увеличение емкости рекламных пакетов
7.2.1 Расширенные рекламные пакеты
Добавлена концепция Bluetooth 5 вторичные рекламные каналы , которые позволяют устройству отправлять пакеты большего размера, чем разрешено на Основные рекламные каналы.Рекламные пакеты, рассылаемые только по первичным каналам, называются устаревший тогда как реклама, которая начинается на первичном канале и продолжается на вторичном канале, называется расширен.
В случае расширенной рекламы пакеты передаются по основному каналу и содержат информацию о том, какой именно вторичный канал поиск остальных данных.
Это позволяет передавать 255 байт данных вместо 31. Это также может быть полезно для разгрузки трех основных рекламных каналов.
Пакеты, передаваемые по вторичным рекламным каналам, могут использовать любой из трех существующих PHY, тогда как пакеты, передаваемые по первичным каналам, могут использовать только классический PHY 1M или зашифрованный PHY. Это означает, что центральное устройство должно использовать соответствующий PHY при поиске периферийных устройств.
7.2.2 Периодическая реклама
Представьте себе следующую ситуацию: у нас есть множество датчиков температуры, распределенных по всему зданию.Показания температуры на них со временем меняются.
Эти показания вместе с сопутствующей служебной информацией (местоположение, время считывания и т. д.) необходимо передать на устройства, передающие эти данные в облако.
Мы могли бы использовать расширенную рекламу, поскольку наши пакеты больше, чем старый рекламный пакет (31 байт), но это означало бы, что центральному устройству пришлось бы постоянно прослушивать радиоканал в ожидании пакетов, потребляя много энергии.
Вместо этого мы можем использовать новую функцию, которая появилась в Bluetooth 5: периодическая реклама.
Это особый случай расширенной рекламы.
Он позволяет центральному устройству синхронизироваться с периферийными устройствами, которые отправляют расширенные пакеты через фиксированные интервалы.
Это снижает энергопотребление, поскольку пакеты отправляются через большие интервалы времени, и в то же время позволяет синхронизировать большое количество центральных устройств с периферийными устройствами.
Работа периодической рекламы основана на передаче информационных пакетов по первичным рекламным каналам.
Эти пакеты содержат информацию (отметку времени, используемый PHY и т. д.), помогающую найти расширенный рекламный пакет. Этот пакет, в свою очередь, содержит поля, определяющие данные, необходимые для синхронизации с периодическими рекламными пакетами — аналогично тем, которые используются для синхронизации соединений: карта каналов, шаг прыжка, используемый PHY, и другие).
7.3 Подробнее о расширенной рекламе
Расширенная реклама использует вторичные рекламные каналы, которые представляют собой те же каналы, которые используются для передачи пакетов данных между двумя устройствами во время соединения.Расширенные рекламные пакеты не считаются частью рекламных мероприятий, о которых мы говорили ранее ( устаревшая реклама ), которые происходят на первичных рекламных каналах (37, 38 и 39).
Расширенная реклама используется, чтобы избежать передачи пакеты поддержки на первичных рекламных каналах, тем самым разгружая их.
Разгрузка происходит путем передачи по первичному каналу указателя на вспомогательный пакет, передаваемый по вторичному каналу.
Пакет, передаваемый по основному каналу, содержит номер радиоканала и временной сдвиг относительно времени начала передачи расширенного рекламного пакета.
Важно еще раз отметить, что пакеты расширенной рекламы могут использовать любой из трех PHY, тогда как пакеты первичной рекламы могут использовать либо классический, либо зашифрованный PHY. Поскольку устройства, не поддерживающие Bluetooth 5, не могут обнаруживать расширенные рекламные пакеты, рекомендуется использовать дополнительный набор рекламных данных, который использует только основной канал и совместим со старыми устройствами, чтобы позволить им получать данные и устанавливать соединение.
Ниже представлена диаграмма, показывающая пример использования расширенной рекламы:
Рис.
20: Расширенная реклама (Источник: Спецификация Bluetooth) Режим периодической рекламы позволяет нескольким устройствам обмениваться данными без установления соединения.
Периферийное устройство отправляет данные синхронизации вместе с другими расширенными рекламными данными, позволяя синхронизировать с ним другое устройство.
Такая синхронизация позволяет устройству получать рекламные данные через определенные промежутки времени.
На схеме ниже показан пример использования периодической рекламы:
Рис.
21. Периодическая реклама (Источник: спецификация Bluetooth)
Безопасность
Безопасность — один из наиболее важных аспектов Интернета вещей.В громких заголовках новостей упоминаются хакерские атаки и уязвимости, обнаруженные во многих продуктах Интернета вещей, поэтому безопасность стала серьезной проблемой для производителей и разработчиков устройств Интернета вещей.
В этой главе мы:
- Познакомимся с некоторыми аспектами безопасности.
- Давайте посмотрим на меры безопасности, которые обеспечивает BLE.
- Давайте посмотрим на вопросы конфиденциальности.
8.1 Проблемы безопасности
Некоторые из наиболее распространенных аспектов безопасности любой системы представлены ниже:- Аутентификация: это доказательство того, что искомое устройство действительно находится на другой стороне.
Если вы подключаетесь к устройству BLE, вам нужно быть уверенным, что вы действительно подключаетесь к нему, а не к какому-то другому устройству, маскирующемуся под ваше.
- Честность: гарантирует нам, что полученные данные не будут повреждены или заменены третьими лицами.
- Конфиденциальность: обеспечивает гарантию того, что наши данные не будут обнародованы.
- Конфиденциальность: дает ответ на вопрос, насколько скрыто наше соединение и имеют ли сторонние устройства возможность отслеживать нас, особенно по Bluetooth-адресу.
Это наиболее общие аспекты безопасности, применимые к любой системе.
Важность каждого зависит от применения и типа устройства.
8.1.1 Типы атак
Основываясь на вышеизложенных аспектах безопасности, мы можем идентифицировать несколько различных типов атак, которые может осуществить злоумышленник.Некоторые из них представлены ниже:
- Пассивное слушание: случай, когда злоумышленник подслушивает соединение между двумя устройствами и может понять передаваемые данные — обычно путем получения доступа к ключу, с помощью которого передаваемые данные зашифрованы.
- Активное слушание: также известна как атака «человек посередине» ( МитМ ).
В этой атаке злоумышленник играет роль обоих устройств (периферийного и центрального).
Он перехватывает соединение между устройствами таким образом, что они не знают об атаке, и подменяет данные в передаваемых пакетах.
- Наблюдение: В ходе этой атаки устройства и пользователи отслеживаются по их адресам Bluetooth, что позволяет определить их местоположение и предсказать их действия в автономном режиме.
8.2 Безопасность в BLE
Безопасность в BLE обеспечивается менеджер по безопасности ( С.М.
).
Рис.
22: Место менеджера безопасности в архитектуре BLE Менеджер безопасности определяет протоколы и алгоритмы генерации ключей и обмена ими между двумя устройствами.
Он включает в себя пять функций безопасности:
- Пейринг: процесс создания общих секретных ключей между двумя устройствами.
- Обвязка: процесс создания и хранения общих секретных ключей на каждой стороне для использования в последующих соединениях между устройствами.
- Аутентификация: процесс проверки того, что оба устройства имеют одинаковые секретные ключи.
- Шифрование: процесс шифрования данных, передаваемых между устройствами.
Шифрование BLE использует стандарт AES-128, алгоритм симметричного блочного шифрования (один и тот же ключ используется как для шифрования, так и для дешифрования данных с обеих сторон).
- Обеспечение целостности сообщения: процесс подписание данные во время передачи и проверка подписи при поступлении.
Это помимо простой проверки целостности с помощью контрольной суммы.
Особенно это касается BLE, который представил концепцию безопасных соединений ( ЛЕСК ) в версии 4.2. LESC использует протокол Диффи-Хеллман об эллиптических кривых ( ECDH ) во время процесса сопряжения, что делает соединение более безопасным, чем методы, использовавшиеся в предыдущих версиях Bluetooth. Bluetooth 4.2 также представил термин «устаревшая связь» , что в совокупности относится к методам сопряжения, использовавшимся в более ранних версиях протокола.
Важно отметить, что устаревшие соединения по-прежнему поддерживаются в Bluetooth 4.2 и более поздних версиях.
Менеджер безопасности решает различные проблемы безопасности следующим образом:
- Конфиденциальность путем шифрования.
- Аутентификация посредством сопряжения и связывания устройств
- Конфиденциальность через разрешимые частные адреса.
- Честность с помощью цифровых подписей.
Подчиненное устройство может запросить запуск процедуры безопасности, отправив запрос подчиненному устройству, но решение о запуске процедуры всегда остается за ведущим.
Чтобы лучше понять механизм безопасности BLE, нам необходимо понять две важные концепции: сопряжение и привязку.
Но сначала давайте посмотрим на схему, изображающую процесс обеспечения безопасности:
Рис.
23: Различные этапы процесса безопасности BLE Сопряжение это комбинация фаз 1 и 2. Связывание представлены на третьем этапе процесса.
Обратите внимание, что разница между LE Legacy Connections и LE Secure Connections заключается только в реализации этапа 2.
8.2.1 Сопряжение и связывание
Сопряжение — это временная мера безопасности, которая вызывается и выполняется каждый раз, когда соединение устанавливается или повторно подключается для его шифрования.Чтобы один раз зашифровать все последующие подключения, необходимо выполнить сопряжение устройств.
Давайте подробнее рассмотрим этапы процесса обеспечения безопасности:
8.2.1.1 Шаг 1
На этом этапе ведомое устройство может запросить ведущее устройство начать процесс сопряжения.Мастер инициирует процесс сопряжения, отправляя запрос на сопряжение подчиненному устройству, на что он отвечает сообщением ответ на сопряжение .
Сообщения запроса на сопряжение и ответные сообщения на сопряжение представляют собой обмен функциями, поддерживаемыми обоими устройствами, и требованиями безопасности этих устройств.
Каждое сообщение включает в себя следующую информацию:
- Возможности ввода/вывода: наличие дисплея, клавиатуры или кнопок.
- Поддержка передачи сообщений другим методом, например, с помощью NFC.
- Требования аутентификации: включают требование защиты от атак «человек посередине», требование привязки и поддержки безопасных соединений.
- Максимальный размер ключа шифрования , поддерживается устройством.
- Различный ключи безопасности, какие устройства могут запросить использование.
Ниже приведена таблица, показывающая различные комбинации возможностей ввода-вывода сопряженных устройств и соответствующий им метод сопряжения:
Рис.
24: Возможности ввода-вывода и метод сопряжения (источник: спецификация Bluetooth 5)
8.2.1.2 Шаг 2
Как упоминалось ранее, реализация второго шага зависит от выбранного метода: LE Legacy Connections или LE Secure Connections. Давайте посмотрим на разницу между этими двумя методами:- Устаревшие соединения LE: Устаревшие соединения используют два ключа: временный ключ И кратковременный ключ.
- Безопасные соединения LE: В защищенных соединениях во время сопряжения секретные ключи не передаются между устройствами по беспроводной сети.
Вместо этого устройства используют алгоритм Диффи-Хеллмана на основе эллиптической кривой для генерации пары открытый и закрытый ключ .
После этого устройства обмениваются только открытыми ключами и генерируют из них общий секрет. долгосрочный ключ .
Преимущество использования эллиптических кривых Диффи-Хеллмана состоит в том, что они исключают возможность перехвата или изучения общего секретного ключа, даже если у злоумышленника есть оба открытых ключа.
Вы можете узнать больше об эллиптических кривых и о том, как они работают. Здесь .
Также я нашел видео , что хорошо объясняет, как они работают.
8.2.1.3 Шаг 3
Третий шаг – это процесс обязательность устройства.Это необязательный шаг, который устраняет необходимость повторного сопряжения при каждом новом подключении для защиты канала связи.
В результате сопряжения каждое устройство сохраняет набор ключей, которые можно использовать при каждом последующем подключении, и позволяет устройствам пропустить этап сопряжения.
Эти ключи передаются между устройствами по каналу, зашифрованному с использованием ключей, полученных на втором этапе.
8.2.2 Методы сопряжения
Устаревшие соединения и безопасные соединения имеют разные методы сопряжения.Некоторые из этих методов имеют одно и то же название, но различаются в деталях.
Используемый метод сопряжения определяется возможностями устройств, которыми они обмениваются на первом этапе.
8.2.2.1 Устаревшие подключения LE (все версии Bluetooth)
Как мы уже упоминали, в устаревшие связи краткосрочный ключ создается с использованием временного ключа и двух случайно сгенерированных чисел.
- Метод «Просто работает»: В этом методе временный ключ 0 .
По понятным причинам этот метод является наименее безопасным из всех.
- Out of Band (OOB), используя другой метод передачи: В этом методе временный ключ передается с использованием технологии, отличной от BLE. Чаще всего используется NFC - бесконтактная связь рядом .
Этот метод делает процесс сопряжения намного более безопасным, особенно если используется технология, обеспечивающая более высокий уровень безопасности, чем BLE. Это самый надежный из устаревших методов сопряжения.
- Пароль: В этом методе временный ключ представляет собой шестизначное число, передаваемое между пользовательскими устройствами.
Например, его можно ввести вручную на одном из устройств.
Проблема заключается в необходимости иметь минимальные возможности ввода-вывода на устройствах, таких как дисплей и клавиатура, что ограничивает удобство использования этого метода.
8.2.2.2 Безопасные соединения LE (версии Bluetooth 4.2 и более поздние)
- Метод «Просто работает»: В этом методе открытые ключи для каждого устройства вместе с другими сгенерированными значениями передаются между двумя устройствами через BLE.
- Out of Band (OOB), используя другой метод передачи: В этом методе ключи передаются с использованием другой среды передачи (например, NFC).
- Пароль: В этом методе используются шестизначные числа.
Они должны вводиться пользователем на каждом устройстве, иначе одно устройство сгенерирует номер, который пользователь сможет ввести на другом устройстве.
- Сравнение чисел: Этот метод ничем не отличается от первого, за исключением дополнительного шага в конце процедуры.
Этот дополнительный шаг позволяет защититься от атак «человек посередине».
Это самый безопасный из всех методов сопряжения.
Примечание: Безопасность BLE — довольно обширная тема, которую невозможно охватить полностью в этой книге.
Вы можете узнать больше о различных методах сопряжения и о том, как они работают, просмотрев диаграммы сообщений, представленные в спецификации Bluetooth 5 (том 3, часть H, приложение C, стр.
2364).
8.3 Конфиденциальность
Обеспечение конфиденциальности Это еще одна важная задача для пользователя, к которой следует относиться серьезно.Каждое устройство Bluetooth имеет свой адрес, и, если не приняты определенные меры безопасности, этот адрес может использоваться для отслеживания пользователя.
К счастью, BLE предоставляет все необходимые функции для защиты от этой уязвимости.
Устройство может использовать часто меняющийся частный адрес в качестве адреса Bluetooth, который могут получить только доверенные устройства.
В данном случае это подключенные устройства.
Случайный частный адрес генерируется с использованием идентификационный ключ, которым два подключенных устройства обмениваются данными на третьем этапе.
Таким образом, связанное устройство имеет доступ к идентификационному ключу и может расшифровать случайный адрес.
8.4 Обзор различных ключей безопасности
В различных процедурах безопасности используется множество ключей и переменных.Давайте посмотрим на них всех.
- Временный ключ: Создание временного ключа зависит от выбранного вами метода сопряжения.
Временный ключ создается каждый раз, когда происходит процесс сопряжения.
Он используется только в устаревших методах подключения.
- Краткосрочный ключ: Этот ключ создается с использованием временного ключа, общего для обоих устройств.
Кратковременный ключ генерируется каждый раз, когда происходит процесс сопряжения, и используется для шифрования данных, передаваемых между устройствами в текущем соединении.
Он используется только в устаревших методах подключения.
- Долгосрочный ключ: Этот ключ создается и сохраняется на устройстве на третьем этапе процесса обеспечения безопасности в устаревших соединениях и на втором этапе в безопасных соединениях.
Он сохраняется на каждом из двух подключенных устройств и используется при последующих соединениях между двумя устройствами.
- Зашифрованный диверсификатор и случайное число: Эти два значения используются для создания и идентификации долгосрочного ключа.
Они также сохраняются на устройстве во время процесса сопряжения.
- Ключ расшифровки подписи соединения: Используется для подписи передаваемых данных и проверки подписи полученных данных на другом устройстве.
Этот ключ сохраняется на обоих подключенных устройствах.
- Идентификационный ключ: Используется для расшифровки случайного частного адреса.
Этот ключ уникален для каждого устройства, главный ключ хранится на подчиненном устройстве, а подчиненный ключ хранится на главном устройстве.
8.5 Режимы и уровни безопасности
Есть два режима безопасности: режим 1 И режим 2 .Первое больше связано с шифрованием, второе — с подписанием передаваемых данных.
Также существуют разные уровни каждого режима: Режим безопасности 1
- 1-й уровень: Никакой безопасности (без аутентификации или шифрования).
- Уровень 2: Непроверенное сопряжение с шифрованием.
- Уровень 3: Проверенное сочетание с шифрованием.
- Уровень 4: Проверенное безопасное соединение с связыванием и шифрованием.
- 1-й уровень: Непроверенное сопряжение с подписанием данных.
- Уровень 2: Проверенное сопряжение с подпиской данных.
В таблице, представленной на рисунке 24, перечислены условия, при которых метод сопряжения считается проверенным.
Соединение между двумя устройствами должно быть установлено в одном и том же режиме, но при этом могут использоваться разные уровни этого режима (используемые характеристики могут требовать разных уровней безопасности).
Вот пример:
- При чтении одной характеристики могут отсутствовать требования безопасности (Уровень 1).
- Для этой же характеристики при записи может потребоваться уровень 3.
- Для другой характеристики может потребоваться уровень 4 для чтения и записи характеристики.
8.6 Как запускается процесс защиты соединения?
Существует ряд ситуаций, требующих безопасности соединения.Вот некоторые из них:
- Ведущий отправляет запрос на сопряжение, в результате чего ведомые устройства отправляют ответ на сопряжение.
- Ведомое устройство отправляет запрос безопасности, на которое ведущее устройство отправляет запрос на сопряжение и срабатывает.
-
Упругость, Модуль Упругости, Закон Гука
19 Oct, 24 -
Хватит Ставить Сову На Глобус
19 Oct, 24 -
Когда Чья-То Продуктивность Интересует
19 Oct, 24 -
Linux Все Еще Не Торт
19 Oct, 24 -
Опера Мини 4 Финал
19 Oct, 24 -
Apple Создает Нетбук, Похожий На Iphone!
19 Oct, 24