Стек Bluetooth
- 1 year ago
- 0
- 0
Bluetooth (от слов англ. blue — синий и tooth — зуб, произносится /bluːtuːθ/ ), блюту́с — производственная спецификация беспроводных персональных сетей ( Wireless personal area network, WPAN ). Bluetooth обеспечивает обмен информацией между такими устройствами, как персональные компьютеры (настольные, карманные, ноутбуки ), мобильные телефоны , интернет-планшеты , принтеры , цифровые фотоаппараты , мыши , клавиатуры , джойстики , наушники , гарнитуры и акустические системы на надёжной, бесплатной, повсеместно доступной радиочастоте для ближней связи. Bluetooth позволяет этим устройствам сообщаться, когда они находятся друг от друга в радиусе около 100 м в старых версиях протокола и до 150 м начиная с версии Bluetooth 5 . Дальность сильно зависит от преград и помех, даже в одном помещении.
Слово Bluetooth — адаптация на английский язык датского слова «Blåtand» («Синезубый»). Так когда-то прозвали короля викингов Харальда I , жившего в Дании около тысячи лет назад. Прозвище этот король получил за тёмный передний зуб. Харальд I правил в X веке Данией и частью Норвегии и объединил враждовавшие датские племена в единое королевство. Подразумевается, что Bluetooth делает то же самое с протоколами связи, объединяя их в один универсальный стандарт . Хотя «blå» в современных скандинавских языках означает «синий», во времена викингов оно также могло означать «чёрного цвета». Таким образом, исторически правильно было бы перевести датское Harald Blåtand скорее как Harald Blacktooth , чем как Harald Bluetooth .
В русском тексте портал Грамота.ру рекомендует писать «Bluetooth», но также считает допустимым — «блюту́с» .
Логотип Bluetooth является сочетанием двух нордических («скандинавских») рун : Хагалаз младшего футарка ( ᚼ) и Беркана ( ᛒ ), звуковые значения которых соответствуют инициалам Харальда I Синезубого — h и b ( дат. Harald Blåtand, норв. Harald Blåtann). Логотип похож на более старый логотип для Beauknit Textiles, подразделения корпорации Beauknit. В нём используется слияние отраженной K и В для «Beauknit», он шире и имеет скругленные углы, но в общем такой же.
Работы по созданию Bluetooth начал производитель телекоммуникационного оборудования Ericsson в 1994 году как беспроводную альтернативу кабелям RS-232 . Первоначально эта технология была приспособлена под потребности системы FLYWAY в функциональном интерфейсе между путешественниками и системой.
Спецификация Bluetooth была разработана группой (Bluetooth SIG) , которая была основана в 1998 году . В неё вошли компании Ericsson , IBM , Intel , Toshiba и Nokia . Впоследствии Bluetooth SIG и IEEE достигли соглашения, на основе которого спецификация Bluetooth стала частью стандарта IEEE 802.15.1 (дата опубликования — 14 июня 2002 года ).
Класс | Максимальная мощность, мВт | Максимальная мощность, дБм | Радиус действия, м |
---|---|---|---|
1 | 100 | 20 | 100 |
2 | 2,5 | 4 | 10 |
3 | 1 | 0 | менее 10 |
Принцип действия основан на использовании радиоволн . Радиосвязь Bluetooth осуществляется в -диапазоне ( англ. Industry, Science and Medicine ), который используется в различных бытовых приборах и беспроводных сетях . Частоты Bluetooth: 2,402-2,48 ГГц. . В Bluetooth применяется метод расширения спектра со скачкообразной перестройкой частоты ( англ. Frequency Hopping Spread Spectrum, FHSS ). Метод FHSS прост в реализации, обеспечивает устойчивость к широкополосным помехам, а оборудование недорогое.
Согласно алгоритму FHSS, в Bluetooth несущая частота сигнала скачкообразно меняется 1600 раз в секунду (всего выделяется 79 рабочих частот шириной в 1 МГц, а в Японии , Франции и Испании полоса у́же — 23 частотных канала). Последовательность переключения между частотами для каждого соединения является псевдослучайной и известна только передатчику и приёмнику, которые каждые 625 мкс (один временной слот) синхронно перестраиваются с одной несущей частоты на другую. Таким образом, если рядом работают несколько пар приёмник-передатчик, то они не мешают друг другу. Этот алгоритм является также составной частью системы защиты конфиденциальности передаваемой информации: переход происходит по псевдослучайному алгоритму и определяется отдельно для каждого соединения. При передаче цифровых данных и аудиосигнала (64 кбит/с в обоих направлениях) используются различные схемы кодирования: аудиосигнал не повторяется (как правило), а цифровые данные в случае утери пакета информации будут переданы повторно.
Протокол Bluetooth поддерживает не только соединение «point-to-point», но и «point-to-multipoint» .
версий 1.0 (1998) и 1.0B имели плохую совместимость между продуктами различных производителей. В версиях 1.0 и 1.0B была обязательной передача адреса устройства (BD_ADDR) на этапе установления связи, что делало невозможной реализацию анонимности соединения на протокольном уровне и было основным недостатком данной спецификации.
В Bluetooth 1.1 было исправлено множество ошибок, найденных в версии 1.0B, добавлена поддержка для нешифрованных каналов, индикация уровня мощности принимаемого сигнала ( RSSI ).
Главные улучшения:
Bluetooth версии 2.0 был выпущен 10 ноября 2004 г. Имеет обратную совместимость с предыдущими версиями 1.x. Основным нововведением стала поддержка Enhanced Data Rate (EDR) для ускорения передачи данных. Номинальная скорость EDR — около 3 Мбит/с, однако на практике это позволило повысить скорость передачи данных только до 2,1 Мбит/с. Дополнительная производительность достигается с помощью различных радиотехнологий передачи данных .
Стандартная (базовая) скорость передачи данных использует GFSK -модуляцию радиосигнала при скорости передачи 1 Мбит/с. EDR использует сочетание модуляций GFSK и PSK с двумя вариантами, π/4-DQPSK и 8DPSK. Они имеют бо́льшие скорости передачи данных по воздуху — 2 и 3 Мбит/с соответственно .
Bluetooth SIG издала спецификацию как «Технология Bluetooth 2.0 + EDR», которая подразумевает, что EDR является дополнительной функцией. Кроме EDR есть и другие незначительные усовершенствования к спецификации 2.0, и продукты могут соответствовать «Технологии Bluetooth 2.0», не поддерживая более высокую скорость передачи данных. По крайней мере одно коммерческое устройство — HTC TyTN Pocket PC — использует «Bluetooth 2.0 без EDR» в своих технических спецификациях .
Согласно спецификации 2.0 + EDR, у EDR имеются следующие преимущества:
2007 год. Добавлена технология расширенного запроса характеристик устройства (для дополнительной фильтрации списка при сопряжении), энергосберегающая технология , которая позволяет увеличить продолжительность работы устройства от одного заряда аккумулятора в 3—10 раз. Кроме того, обновлённая спецификация существенно упрощает и ускоряет установление связи между двумя устройствами, позволяет производить обновление ключа шифрования без разрыва соединения, а также делает указанные соединения более защищёнными благодаря использованию технологии Near Field Communication . [ прояснить ]
В августе 2008 года Bluetooth SIG представила версию 2.1 + EDR. Новая редакция Bluetooth снижает потребление энергии в пять раз, повышает уровень защиты данных и облегчает распознавание и соединение Bluetooth-устройств благодаря уменьшению количества шагов, за которые оно выполняется.
+ HS была принята Bluetooth SIG 21 апреля 2009 года. Она поддерживает теоретическую скорость передачи данных до 24 Мбит/с. Её основной особенностью является добавление AMP (Alternate MAC/PHY), дополнение к 802.11 как высокоскоростное сообщение. Для AMP были предусмотрены две технологии: 802.11 и UWB, но UWB отсутствует в спецификации .
Модули с поддержкой новой спецификации соединяют в себе две радиосистемы: первая обеспечивает передачу данных в 3 Мбит/с (стандартная для Bluetooth 2.0) и имеет низкое энергопотребление; вторая совместима со стандартом 802.11 и обеспечивает возможность передачи данных со скоростью до 24 Мбит/с (сравнима со скоростью сетей Wi-Fi ). Выбор радиосистемы для передачи данных зависит от размера передаваемого файла. Небольшие файлы передаются по медленному каналу, а большие — по высокоскоростному. Bluetooth 3.0 использует более общий стандарт 802.11 (без суффикса), то есть несовместим с такими спецификациями Wi-Fi, как 802.11b/g/n.
30 июня 2010 года Bluetooth SIG утвердил спецификацию Bluetooth 4.0. Включает в себя протоколы:
Высокоскоростной Bluetooth основан на Wi-Fi, а классический Bluetooth состоит из протоколов предыдущих спецификаций Bluetooth.
Частоты работы системы Bluetooth (мощность не более 0,0025 Вт).
Полоса частот: 2 402 000 000 — 2 480 000 000 Гц (2,402 — 2,48 ГГц)
Протокол Bluetooth с низким энергопотреблением предназначен прежде всего для миниатюрных электронных датчиков (использующихся в спортивной обуви, тренажёрах, миниатюрных сенсорах, размещаемых на теле пациентов и т. д.). Низкое энергопотребление достигается за счёт использования особого алгоритма работы. Передатчик включается только на время отправки данных, что обеспечивает возможность работы от одной батарейки типа CR2032 в течение нескольких лет . Стандарт предоставляет скорость передачи данных 1 Мбит/с при размере пакета данных 8—27 байт. В новой версии два Bluetooth-устройства смогут устанавливать соединение менее чем за 5 мс и поддерживать его на расстоянии до 100 м. Для этого используется усовершенствованная коррекция ошибок, а необходимый уровень безопасности обеспечивает 128-битное AES-шифрование.
Датчики температуры, давления, влажности, скорости передвижения и т. д. на базе этого стандарта могут передавать информацию на различные устройства контроля: мобильные телефоны, КПК, ПК и т. п.
Первый чип с поддержкой Bluetooth 3.0 и Bluetooth 4.0 был выпущен компанией ST-Ericsson в конце 2009 года.
В конце 2013 года Bluetooth Special Interest Group (SIG) представила спецификацию Bluetooth 4.1. Одно из улучшений, реализованных в спецификации Bluetooth 4.1, касается совместной работы Bluetooth и мобильной связи четвёртого поколения LTE . Стандарт предусматривает защиту от взаимных помех путём автоматического координирования передачи пакетов данных.
3 декабря 2014 Bluetooth Special Interest Group (SIG) представила Bluetooth 4.2 . Основные улучшения — повышение конфиденциальности и увеличение скорости передачи данных.
16 июня 2016 года Bluetooth Special Interest Group (SIG) представила спецификацию Bluetooth 5.0 . Изменения коснулись в основном режима с низким потреблением и высокоскоростного режима. Радиус действия увеличен в четыре раза, скорость увеличена вдвое. Также версия Bluetooth 5.0 полностью совместима с предыдущими версиями Bluetooth.
В этом типе протокола были серьёзные качественные обновления, которые позволили назвать новую версию не 4.3, а именно 5.0. Bluetooth 5.0 — большое обновление «синезуба», но оно почти не затрагивает беспроводную передачу звука.
От предыдущих версий Bluetooth 5.1 отличается тем, что у пользователей есть возможность определять местоположение и направление с максимальной точностью . Ещё лучше оптимизировалось энергопотребление и увеличилась надёжность соединения по Bluetooth Low Energy.
Спецификация опубликована SIG 6 января 2020 года. Новые функции:
13 июля 2021 года Bluetooth SIG опубликовал спецификацию ядра Bluetooth версии 5.3. Улучшения функций Bluetooth 5.3:
В этой версии спецификации были удалены следующие функции:
7 февраля 2023 года компания Bluetooth SIG выпустила версию 5.4 базовой спецификации Bluetooth. В эту новую версию добавлены следующие функции:
Bluetooth имеет многоуровневую архитектуру, состоящую из основного протокола, протоколов замены кабеля, протоколов управления телефонией и заимствованных протоколов. Обязательными протоколами для всех стеков Bluetooth являются: LMP , L2CAP и SDP. Кроме того, устройства, связывающиеся с Bluetooth, обычно используют протоколы и RFCOMM.
Заимствованные протоколы включают в себя: Point-to-Point Protocol ( PPP ), TCP/IP , UDP , Object Exchange Protocol ( OBEX ), Wireless Application Environment (WAE), Wireless Application Protocol (WAP).
Профиль — набор функций или возможностей, доступных для определённого устройства Bluetooth. Для совместной работы Bluetooth-устройств необходимо, чтобы все они поддерживали общий профиль.
Нижеуказанные профили определены и одобрены группой разработки Bluetooth SIG :
В июне 2006 года Авишай Вул и Янив Шакед опубликовали статью , содержащую подробное описание атаки на устройства Bluetooth. Материал содержал описание как активной, так и пассивной атаки, позволяющей получить PIN-код устройства и затем соединиться с данным устройством. Пассивная атака позволяет соответствующе экипированному злоумышленнику «подслушать» (sniffing) процесс инициализации соединения и в дальнейшем использовать полученные в результате прослушки и анализа данные для установления соединения (spoofing). Естественно, для проведения такой атаки злоумышленнику нужно находиться в непосредственной близости и непосредственно в момент установления связи. Это не всегда возможно. Поэтому родилась идея активной атаки. Была обнаружена возможность отправки в определённый момент особого сообщения, позволяющего начать процесс инициализации с устройством злоумышленника. Обе процедуры взлома достаточно сложны и включают несколько этапов, основной из которых — сбор пакетов данных и их анализ. Сами атаки основаны на уязвимостях в механизме аутентификации и создания ключа-шифра между двумя устройствами.
Инициализацией Bluetooth-соединения принято называть процесс установки связи. Его можно разделить на три этапа:
Первые два пункта входят в так называемую процедуру паринга.
Паринг (pairing), или сопряжение, — процесс связи двух (или более) устройств с целью создания общего секретного значения Kinit, которое они будут в дальнейшем использовать при общении. В некоторых переводах официальных документов по Bluetooth можно также встретить термин «подгонка пары». Перед началом процедуры сопряжения на обеих сторонах необходимо ввести PIN-код.
Kinit формируется по алгоритму E22, который оперирует следующими величинами:
Для создания ключа связи Kab устройства обмениваются 128-битными словами LK_RAND(A) и LK_RAND(B) , генерируемыми случайным образом. Далее следуют побитовый XOR с ключом инициализации Kinit и снова обмен полученным значением. Затем вычисляется ключ по алгоритму E21.
Для этого необходимы величины:
На данном этапе pairing заканчивается и начинается последний этап инициализации Bluetooth — Mutual authentication, или взаимная аутентификация. Основана она на схеме «запрос-ответ». Одно из устройств становится верификатором, генерирует случайную величину AU_RAND(A) и посылает его соседнему устройству (в открытом виде), называемому предъявителем. Как только предъявитель получает это «слово», начинается вычисление величины SRES по алгоритму E1, и она отправляется верификатору. Соседнее устройство производит аналогичные вычисления и проверяет ответ предъявителя. Если SRES совпали, то устройства меняются ролями и процесс повторяется заново.
E1-алгоритм оперирует такими величинами:
Если злоумышленнику удалось прослушать эфир, и во время процедуры сопряжения он перехватил и сохранил все сообщения, то далее найти PIN можно используя перебор.
Первым, кто заметил эту уязвимость, был англичанин Олли Вайтхауз (Ollie Whitehouse) в апреле 2004 года. Он первым предложил перехватить сообщения во время сопряжения и попытаться вычислить PIN методом перебора, используя полученную информацию. Тем не менее метод имеет один существенный недостаток: атаку возможно провести только в случае, если удалось подслушать все аутентификационные данные. Другими словами, если злоумышленник находился вне эфира во время начала сопряжения или же упустил какую-то величину, то он не сможет продолжить атаку.
Вулу и Шакеду удалось найти решение трудностей, связанных с атакой Вайтхауза. Был разработан второй тип атаки. Если процесс сопряжения уже начат и данные упущены, провести атаку невозможно. Но если устройства уже успели связаться, сохранили ключ Kab и приступили к взаимной аутентификации, можно заставить устройства заново инициировать процесс сопряжения, чтобы провести вышеописанную атаку на сопряжение.
Данная атака требует отправки нужных сообщений в нужный момент времени. Доступные в продаже стандартные устройства для этих целей не подходят.
Использовав любой из этих методов, злоумышленник может приступить к базовой атаке на сопряжение. Таким образом, имея в арсенале эти две атаки, злоумышленник может беспрепятственно похитить PIN-код. Далее, имея PIN-код, он сможет установить соединение с любым из этих устройств. И стоит учесть, что в большинстве устройств безопасность на уровне служб, доступных через Bluetooth, не обеспечивается на должном уровне. Большинство разработчиков делает ставку именно на безопасность установления сопряжения. Поэтому последствия действий злоумышленника могут быть различными: от кражи записной книжки телефона до установления исходящего вызова с телефона жертвы и использования его как прослушивающего устройства.
В протоколе Bluetooth активно используются алгоритмы E22, E21, E1, основанные на шифре SAFER +. Брюс Шнайер подтвердил, что уязвимость относится к критическим. Подбор PIN на практике прекрасно работает и может быть выполнен в реальном времени . Ниже приведены результаты, полученные на Pentium 4 HT с частотой 3 ГГц:
Длина (знаков) | Время (сек) |
---|---|
4 | 0,063 |
5 | 0,75 |
6 | 7,609 |
Конкретные реализации вышеописанных атак могут работать с различной скоростью. Способов оптимизации множество: особые настройки компилятора, различные реализации циклов, условий и арифметических операций. Авишай Вул и Янив Шакед нашли способ значительно сократить время перебора PIN-кода.
Увеличение длины PIN-кода не является панацеей. От описанных атак может частично защитить только сопряжение устройств в безопасном месте, например Bluetooth-гарнитура или автомобильное handsfree-устройство. Инициализация связи (при включении) с данными устройствами может происходить многократно в течение дня, и не всегда у пользователя есть возможность находиться при этом в защищённом месте.
Радиус работы устройств BT2 не превышает 16 м, для BT1 — до 100 м (класс А). Эти числа декларируются стандартом для прямой видимости, в реальности не стоит ожидать работы на расстоянии более 10—20 м. На практике такой дистанции для эффективного применения атак недостаточно. Поэтому ещё до детальной проработки алгоритмов атаки на Defcon-2004 публике была представлена антенна-винтовка BlueSniper, разработанная Джонном Херингтоном (John Herington). Устройство подключается к портативному устройству — ноутбуку/КПК и имеет достаточную направленность и мощность (эффективная работа до 1,5 км).
Частая смена рабочего канала FHSS в широком диапазоне частот дает шанс на совместное существование с другими протоколами. С введением адаптивной AFH ситуация немного улучшилась .
Отладка и контроль соответствия стандарту осложняется активными соседями по диапазону (например Wi-Fi). Существуют решения, позволяющие декодировать и отслеживать все соединения одновременно во всех 79 каналах Bluetooth.