Bluetooth

Логотип Bluetooth
Наушники с поддержкой технологии Bluetooth

Bluetooth ( англ. Bluetooth ) - Это технология беспроводной связи, создана в 1998 году группой компаний: Ericsson, IBM, Intel, Nokia, Toshiba.

В настоящее время разработки в области Bluetooth ведутся группой англ. Bluetooth SIG ( англ. Special Interest Group ), В которую входят также Lucent, Microsoft и другие компании, чья деятельность связана с сетевыми технологиями. Основное назначение Bluetooth - обеспечение экономного (с точки зрения потребляемого тока) и дешевого радиосвязи между различными типами электронных устройств, таких как мобильные телефоны и аксессуары к ним, портативные и настольные компьютеры, принтеры и другие. Причем, большое значение уделяется компактности электронных компонентов, что дает возможность применять Bluetooth в малогабаритных устройствах размером с наручные часы.

Интерфейс Bluetooth позволяет передавать как голос (со скоростью 64 Кбит / с), так и данные. Для передачи данных могут быть использованы асимметричный (721 Кбит / с в одном направлении и 57,6 Кбит / с в другом) и симметричный (432,6 Кбит / с в обоих направлениях) методы. Работая на частоте 2.4 ГГц, приемопередатчик (Bluetooth-чип) позволяет устанавливать связь в пределах 10 или 100 метров. В стандарте Bluetooth предусмотрено шифрование передаваемых данных с использованием ключа эффективной длины от 8 до 128 бит и возможностью выбора односторонней или двусторонней аутентификации. Дополнительно к шифрованию на уровне протокола, может быть использовано шифрования на программном уровне.

Название Bluetooth происходит от фамилии средневекового короля Дании Харальда I Синезубого ( норв. Harald Bl?tann ). Харальд умел посадить за стол переговоров враждующие партии, договариваясь с каждой партией отдельно, поэтому название Bluetooth стала соответствующим именем для технологии, что позволяет различным устройствам общаться друг с другом. Используя первые буквы имени короля ( руны B и H) в комбинации, созданы и логотип технологии.


1. Редакции

1.1. Bluetooth 1.0

Устройства версий 1.0 (1998) и 1.0B имели плохую совместимость между продуктами различных производителей. В 1.0 и 1.0B была обязательной передача адреса устройства (BD_ADDR) на этапе установления связи, что делало невозможной реализацию анонимности соединения на протокольном уровне и было основным недостатком данной спецификации.

1.2. Bluetooth 1.1

В Bluetooth 1.1 было исправлено множество ошибок, найденных в 1.0B, добавлена ​​поддержка для нешифрованных каналов, индикация уровня мощности сигнала (RSSI).

1.3. Bluetooth 1.2

В версии 1.2 была добавлена ​​технология адаптивной перестройки рабочей частоты (AFH), что улучшило устойчивость к электромагнитной интерференции (помех) путем использования разнесенных частот в последовательности перестройки. Также увеличилась скорость передачи и добавилась технология eSCO, которая улучшала качество передачи голоса путем повторения поврежденных пакетов. В HCI добавилась поддержка трех-проводного интерфейса UART.

Главные улучшения включают следующее:

  • Быстрое подключение и обнаружения.
  • Адаптивная перестройка частоты с расширенным спектром (AFH), которая повышает устойчивость к радиопомехам.
  • Выше, чем в 1.1, скорости передачи данных, практически до 721 кбит / с.
  • Расширенные Синхронные Подключение (eSCO), которые улучшают качество передачи голоса в аудиопотока, позволяя повторную передачу поврежденных пакетов, и при необходимости могут увеличить задержку аудио, чтобы предоставить лучшую поддержку для параллельной передачи данных.
  • В Host Controller Interface (HCI) добавлена ​​поддержка трехпроводной интерфейса UART.
  • Утвержден как стандарт IEEE Standard 802.15.1-2005.
  • Введены режимы управления потоком данных (Flow Control) и повторной передачи (Retransmission Modes) для L2CAP.

1.4. Bluetooth 2.0 + EDR

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 обеспечивает следующие преимущества:

  • Увеличение скорости передачи в 3 раза (2,1 Мбит / с) в некоторых случаях.
  • Уменьшение сложности нескольких одновременных подключений через дополнительной полосы пропускания.
  • Ниже потребление энергии благодаря уменьшению нагрузки.

1.5. Bluetooth 2.1

2007 год. Добавлена ​​технология расширенного запроса характеристик устройства (для дополнительной фильтрации списка при сочетании), энергосберегающая технология Sniff Subrating, которая позволяет увеличить продолжительность работы устройства от одного заряда аккумулятора в 3-10 раз. Кроме того обновленная спецификация существенно упрощает и ускоряет установление связи между двумя устройствами, позволяет производить обновления ключа шифрования без разрыва соединения, а также делает указанные соединения более защищенными, благодаря использованию технологии Near Field Communication.


1.6. Bluetooth 2.1 + EDR

В августе 2008 года Bluetooth SIG представил версию 2.1 + EDR. Новая редакция Bluetooth снижает потребление энергии в 5 раз, повышает уровень защиты данных и облегчает распознавание и соединение Bluetooth-устройств благодаря уменьшению количества шагов за которые оно выполняется.

1.7. Bluetooth 3.0

Рабочая группа по разработке стандарта беспроводной передачи данных Bluetooth 21 апреля 2009 выпустила спецификацию Bluetooth 3.0. Модули с поддержкой новой спецификации совмещать в себе две радиосистемы.

Первая, с низким энергопотреблением, обеспечивает передачу данных на обычной для второй версии Bluetooth скорости в три мегабита в секунду. Другая, высокоскоростная и совместимая со стандартом IEEE 802.11, обеспечивает скорости, сравнимые со скоростью сетей Wi-Fi. Стоит отметить, что Bluetooth 3.0 использует стандарт 802.11 без суффикса, то есть формально не совместим с такими спецификациями Wi-Fi, как 802.11b / g или 802.11n. 802.11 - более общий стандарт.

Использование той или иной радиосистемы зависит от размера передаваемого файла. Небольшие файлы будут передаваться по медленному каналу, а большие - по высокоскоростному. После окончания передачи модуль вернется в режим пониженного энергопотребления.

Кроме того, в Bluetooth 3.0 появится возможность под названием "расширенный контроль питания" (Enhanced Power Control). Она позволяет избежать разрыва соединения, если устройство положили в сумку или в карман.


1.8. Bluetooth 4.0

В декабре 2009 консорциум Bluetooth SIG анонсировал стандарт Bluetooth 4.0 для электронных датчиков. Новый стандарт предназначен для передачи коротких пакетов данных объемом по 8-27 байт со скоростью 1 Мбит / с. Для сравнения, Bluetooth 3.0, разработка которого была завершена в апреле 2008, позволяет передавать данные со скоростью до 24 Мбит / с, но и предназначен он для другой сферы применения.

Bluetooth 4.0 планируется использовать в миниатюрных сенсорах, размещаемых на теле пациентов, в спортивной обуви, тренажерах и т.д.. Сенсоры на базе нового стандарта смогут передавать различную информацию из окружающего мира - температуру, давление, влажность, скорость передвижения и так далее - на различные устройства, включая мобильные телефоны. По словам представителей консорциума, отдельный стандарт был разработан в связи с тем, что Bluetooth 3.0 и более ранние версии не в состоянии обеспечить необходимый низкий уровень энергопотребления.

Первый чип с одновременной поддержкой Bluetooth 4.0 и 3.0 выпустил ST-Ericsson.

В июле 2010 года спецификация была утверждена Bluetooth Special Interest Group [1].


2. Профили Bluetooth

Профиль - набор функций или возможностей, доступных для конкретного устройства Bluetooth. Для совместной работы Bluetooth-устройств необходимо, чтобы все они поддерживали общий профиль. Нижеприведенные профили определены и одобрены группой разработки Bluetooth SIG:

Advanced Audio Distribution Profile (A2DP) A2DP разработан для передачи двухканального стерео аудиопотока, например, музыки, к беспроводной гарнитуре или любого другого устройства. Профиль полностью поддерживает низькокомпресований кодек Sub_Band_Codec (SBC) и опционально поддерживает MPEG-1, 2 аудио, MPEG-2, 4 AAC и ATRAC, способен поддерживать кодеки, определенные производителем.

Audio / Video Remote Control Profile (AVRCP) профиль разработан для управления стандартными функциями телевизоров, Hi-Fi оборудования и прочее. То есть позволяет создавать устройства с функциями дистанционного управления. Может использоваться в связке с профилями A2DP или VDPT.

Basic Imaging Profile (BIP) Профиль разработан для пересылки изображений между устройствами и включает возможность изменения размера изображения и конвертирование в поддерживаемый формат принимающего устройства.

Basic Printing Profile (BPP) Профиль позволяет пересылать текст, e-mails, vCard и другие элементы на принтер. Профиль не требует от принтера специфических драйверов, что выгодно отличает его от HCRP.

Common ISDN Access Profile (CIP) Профиль доступа устройств к ISDN.

Cordless Telephony Profile (CTP) Профиль беспроводной телефонии.

Device ID Profile (DIP) Профиль позволяет идентифицировать класс устройства, производителя, версию продукта.

Dial-up Networking Profile (DUN) Протокол предоставляет стандартный доступ к интернету или другому телефонному сервису через Bluetooth. Базируется на SPP, включает в себя команды PPP и AT, определенные в спецификации ETSI 07.07.

Fax Profile (FAX) Профиль предоставляет интерфейс между мобильным или стационарным телефоном и ПК на котором установлено программное обеспечение для факсов. Поддерживает набор AT-команд в стиле ITU T.31 и / или ITU T.32. Голосового вызова или передача данных профилем не поддерживается.

File Transfer Profile (FTP_profile) Профиль обеспечивает доступ к файловой системе устройства. Включает стандартный набор команд FTP, позволяющий получать список директорий, изменения директорий, получать, передавать и удалять файлы. В качестве транспорта используется OBEX, базируется на GOEP.

General Audio / Video Distribution Profile (GAVDP) Профиль является базой для A2DP и VDP.

Generic Access Profile (GAP) Профиль является базой для всех других профилей.

Generic Object Exchange Profile (GOEP) Профиль является базой для других профилей передачи данных, базируется на OBEX.

Hard Copy Cable Replacement Profile (HCRP) Профиль предоставляет простую альтернативу кабельного соединения между устройством и принтером. Минус профиля в том, что для принтера необходимы специфические драйвера, что делает профиль неуниверсальные.

Hands-Free Profile (HFP) Профиль используется для соединения беспроводной гарнитуры и телефона, передает монозвук в одном канале.

Human Interface Device Profile (HID) Обеспечивает поддержку устройств с HID (Human Interface Device), таких как мышки, джойстики, клавиатуры и пр.. Использует медленный канал, работает на пониженной мощности.

Headset Profile (HSP) Профиль используется для соединения беспроводной гарнитуры (Headset) и телефона. Поддерживает минимальный набор AT-команд спецификации GSM 07.07 для обеспечения возможности совершать звонки, отвечать на звонки, завершать звонок, настраивать громкость. Через профиль Headset, при наличии Bluetooth 1.2 и выше, можно выводить на гарнитуру все звуковое сопровождение работы телефона. Например, прослушивать на гарнитуре все сигналы подтверждения операций, mp3-музыку с плеера, мелодии звонка, звуковой ряд видеороликов. Гарнитуры, поддерживающие такой профиль имеют возможность передачи стереозвука, в отличие от моделей, которые поддерживают только профиль Hands-Free.

Intercom Profile (ICP) Обеспечивает голосовые звонки между Bluetooth-совместимыми устройствами.

LAN Access Profile (LAP) LAN Access profile обеспечивает возможность доступа Bluetooth-устройств к вычислительным сетям LAN, WAN или Internet посредством Bluetooth, устройства, имеющего физическое подключение к этим сетям. Bluetooth-устройство использует PPP поверх RFCOMM для установки соединения. LAP также допускает создание ad-hoc Bluetooth-сетей.

Object Push Profile (OPP) Базовый профиль для пересылки ?объектов?, таких как изображения, виртуальные визитные карточки и т.д.. Передачу данных инициирует отправляет устройство (клиент), а не приемное (сервер).

Personal Area Networking Profile (PAN) Профиль позволяет использовать протокол Bluetooth Network Encapsulation как транспорт через Bluetooth-соединение.

Phone Book Access Profile (PBAP) Профиль позволяет обмениваться записями телефонных книг между устройствами.

Serial Port Profile (SPP) Профиль базируется на спецификации ETSI TS07.10 и использует протокол RFCOMM. Профиль эмулирует последовательный порт, предоставляя возможность замены стандартного RS-232 беспроводным соединением. Есть базовым для профилей DUN, FAX, HSP и AVRCP.

Service Discovery Application Profile (SDAP) Профиль используется для предоставления информации о профиле, которые использует устройство-сервер.

SIM Access Profile (SAP, SIM) Профиль позволяет получить доступ к SIM-карте телефона, что позволяет использовать одну SIM-карту для нескольких устройств.

Synchronisation Profile (SYNCH) Профиль позволяет синхронизировать личные данные (PIM). Профиль заимствован из спецификации инфракрасной связи и адаптирован группой Bluetooth SIG.

Video Distribution Profile (VDP) Профиль позволяет передавать потоковое видео. Поддерживает H.263, стандарты MPEG-4 Visual Simple Profile, H.263 Profiles 3, profile 8 поддерживаются опционально и не содержатся в спецификации.

Wireless Application Protocol Bearer (WAPB) Протокол для организации P-to-P (Point-to-Point) соединения через Bluetooth.


3. Инициализация bluetooth-соединения

Инициализацией, по bluetooth, принято называть процесс установления связи. Ее можно разделить на три этапа:

  • Генерация ключа Kinit
  • Генерация ключа связи (он носит название link key и обозначается, как Kab)
  • Аутентификация

Первые два пункта входят в так называемую процедуру паринга. Паринг (PAIRING), или пару - процесс связи двух (или более) устройств с целью создания единой секретной величины Kinit, которую они будут в дальнейшем использовать при общении. В некоторых переводах официальных документов по bluetooth можно встретить термин "подгонка пары".

Перед началом процедуры сопряжения на обеих сторонах необходимо ввести PIN-код. Обычная ситуация: два человека хотят связать свои телефоны и заранее договариваются о PIN-коде.

Для простоты будем рассматривать ситуацию с двумя устройствами. Принципиально это не повлияет на механизмы установления связи и последующие атаки. Далее соединяются устройства будут обозначаться A и B, более того, одно из устройств при сочетании становится главным (Master), а второе - ведомым (Slave). Будем считать устройство A главным, а B - ведомым. Создание ключа Kinit начинается сразу после того, как были введены PIN-коды.

Kinit формируется по алгоритму E22, который оперирует следующими величинами:

  • BD_ADDR - уникальный MAC-адрес BT-устройства. Длина 48 бит (аналог IP-адреса, но устанавливается производителем и уникальный для каждого сетевого устройства)
  • PIN-код и его длина
  • IN_RAND. Случайная 128-битная величина

На выходе E22 алгоритма получаем 128-битное слово, именуемое Kinit. Число IN_RAND отсылается устройством A в чистом виде. В случае, если PIN неизменный для этого устройства, то при формировании Kinit используется BD_ADDR, полученное от другого устройства. В случае если у обоих устройств изменяемые PIN-коды, будет использован BD_ADDR (B) - адрес slave-устройства. Первый шаг сообщение пройден. За ним следует создание Kab. После его формирования Kinit исключается из использования.

Для создания ключа связи Kab устройства обмениваются 128-битными словами LK_RAND (A) и LK_RAND (B), генерируются случайным образом. Далее следует побитовый XOR с ключом инициализации Kinit. И снова обмен полученным значением. Затем следует вычисления ключа по алгоритму E21.

Для этого необходимы величины:

  • BD_ADDR
  • 128-битный LK_RAND (каждое устройство сохраняет свое и полученное от другого устройства значения)

На данном этапе pairing заканчивается и начинается последний этап инициализации bluetooth - Mutual authentication или взаимная аутентификация. Основана она на схеме "запрос-ответ". Одно из устройств становится верификатором, генерирует случайную величину AU_RAND (A) и засылает его соседнему устройства (в plain text), называемому предъявителем (claimant - в оригинальной документации). Как только предъявитель получает это "слово", начинается исчисление величины SRES по алгоритму E1, и она отправляется верификаторы. Соседнее устройство производит аналогичные вычисления и проверяет ответ предъявителя. Если SRES совпали, то, значит, все хорошо, и теперь устройства меняются ролями, таким образом процесс повторяется заново.

E1-алгоритм оперирует такими величинами:

  • Случайно созданное AU_RAND
  • Link Key Kab
  • Свой собственный BD_ADDR

4. Применение

4.1. Аппаратное обеспечение

Радиус работы устройств BT2 не превышает 15 метров, для BT1 до 100 м (класс А). Эти числа декларируются стандартом для прямой видимости, в реальности не стоит работу на расстоянии более 10-20 м. Такой дальнодействия недостаточно для эффективного применения атак на практике. Поэтому, еще до детальной проработки алгоритмов атаки, на Defcon-2004 публике была представлена ​​антенна-винтовка BlueSniper, разработанная Джоном Херингтона (John Herington). Устройство подключается к портативному устройству - ноутбуку / КПК и имеет достаточную направленность и мощность (эффективная работа до 1,5 км).


4.2. Программное обеспечение

5. Сноски

См.. также