Bluetooth

Bluetooth
Bluetooth
BluetoothLogo.svg
Уровень (по модели OSI):

Прикладной[источник не указан 405 дней]

Создан в:

1994 г.[1] г.

Назначение протокола:

Беспроводная связь между устройствами на расстоянии до 100 метров (класс I)

Спецификация:

IEEE 802.15.1

Разработчик:

Bluetooth SIG

Bluetooth или блютус (/bluːtuːθ/, переводится как синий зуб, назван в честь Харальда I Синезубого[2][3]) — производственная спецификация беспроводных персональных сетей (англ. Wireless personal area network, WPAN). Bluetooth обеспечивает обмен информацией между такими устройствами как персональные компьютеры (настольные, карманные, ноутбуки), мобильные телефоны, принтеры, цифровые фотоаппараты, мышки, клавиатуры, джойстики, наушники, гарнитуры на надёжной, бесплатной, повсеместно доступной радиочастоте для ближней связи.

Bluetooth позволяет этим устройствам сообщаться, когда они находятся в радиусе до 100 метров друг от друга (дальность сильно зависит от преград и помех), даже в разных помещениях.

Гарнитура для мобильного телефона, использующая для передачи голоса Bluetooth

Содержание

Название и логотип

Слово Bluetooth — перевод на английский язык датского слова «Blåtand» («Синезубый»). Это прозвище носил король Харальд I, правивший в X веке Данией и частью Норвегии и объединивший враждовавшие датские племена в единое королевство. Подразумевается, что Bluetooth делает то же самое с протоколами связи, объединяя их в один универсальный стандарт[4][5][6]. Хотя «blå» в современных скандинавских языках означает «синий», во времена викингов оно также могло означать «чёрного цвета». Таким образом, исторически правильно было бы перевести датское Harald Blåtand скорее как Harald Blacktooth, чем как Harald Bluetooth.

Логотип Bluetooth является сочетанием двух нордических («скандинавских») рун: «хаглаз»  _(Hagall) —_analog_latinskoi_H_i_«berkana»_ H-rune.gif (Hagall) — аналог латинской H и «беркана»  Runic letter berkanan.svg (Berkanan) — латинская B. Логотип похож на более старый логотип для Beauknit Textiles, подразделения корпорации Beauknit. В нём используется слияние отраженной K и В для «Beauknit», он шире и имеет скругленные углы, но в общем он такой же.

История создания и развития

Спецификация Bluetooth была разработана группой Bluetooth Special Interest Group (Bluetooth SIG)[2][7], которая была основана в 1998 году. В неё вошли компании Ericsson, IBM, Intel, Toshiba и Nokia. Впоследствии Bluetooth SIG и IEEE достигли соглашения, на основе которого спецификация Bluetooth стала частью стандарта IEEE 802.15.1 (дата опубликования — 14 июня 2002 года). Работы по созданию Bluetooth компания Ericsson Mobile Communication начала в 1994 году. Первоначально эта технология была приспособлена под потребности системы FLYWAY в функциональном интерфейсе между путешественниками и системой.

Класс Максимальная мощность, мВт Максимальная мощность, дБм Радиус действия, м
1 100 20 100
2 2,5 4 10
3 1 0 1

Компания AIRcable выпустила Bluetooth-адаптер Host XR с радиусом действия около 30 км.

Принцип действия Bluetooth

Принцип действия основан на использовании радиоволн. Радиосвязь Bluetooth осуществляется в ISM-диапазоне (англ. Industry, Science and Medicine), который используется в различных бытовых приборах и беспроводных сетях (свободный от лицензирования диапазон 2,4-2,4835 ГГц)[8][9]. В Bluetooth применяется метод расширения спектра со скачкообразной перестройкой частоты[10] (англ. Frequency Hopping Spread Spectrum, FHSS). Метод FHSS прост в реализации, обеспечивает устойчивость к широкополосным помехам, а оборудование недорого.

Согласно алгоритму FHSS, в Bluetooth несущая частота сигнала скачкообразно меняется 1600 раз в секунду[7] (всего выделяется 79 рабочих частот шириной в 1 МГц, а в Японии, Франции и Испании полоса у́же — 23 частотных канала). Последовательность переключения между частотами для каждого соединения является псевдослучайной и известна только передатчику и приёмнику, которые каждые 625 мкс (один временной слот) синхронно перестраиваются с одной несущей частоты на другую. Таким образом, если рядом работают несколько пар приёмник-передатчик, то они не мешают друг другу. Этот алгоритм является также составной частью системы защиты конфиденциальности передаваемой информации: переход происходит по псевдослучайному алгоритму и определяется отдельно для каждого соединения. При передаче цифровых данных и аудиосигнала (64 кбит/с в обоих направлениях) используются различные схемы кодирования: аудиосигнал не повторяется (как правило), а цифровые данные в случае утери пакета информации будут переданы повторно.

Протокол Bluetooth поддерживает не только соединение «point-to-point», но и соединение «point-to-multipoint»[7].

Спецификации

Bluetooth 1.0

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

Bluetooth 1.1

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

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[11].
  • Введены режимы управления потоком данных (Flow Control) и повторной передачи (Retransmission Modes) для L2CAP.

Bluetooth 2.0 + EDR

Bluetooth версии 2.0 был выпущен 10 ноября 2004 г. Имеет обратную совместимость с предыдущими версиями 1.x. Основным нововведением стала поддержка Enhanced Data Rate (EDR) для ускорения передачи данных. Номинальная скорость EDR около 3 Мбит/с, однако на практике это позволило повысить скорость передачи данных только до 2,1 Мбит/с. Дополнительная производительность достигается с помощью различных радио технологий для передачи данных[12].

Стандартная (базовая) скорость передачи данных использует GFSK-модуляцию радиосигнала при скорости передачи в 1 Мбит/с. EDR использует сочетание модуляций GFSK и PSK с двумя вариантами, π/4-DQPSK и 8DPSK. Они имеют большие скорости передачи данных по воздуху — 2 и 3 Mбит/с соответственно[13].

Bluetooth SIG издала спецификацию как «Технология Bluetooth 2.0 + EDR», которая подразумевает, что EDR является дополнительной функцией. Кроме EDR есть и другие незначительные усовершенствования к 2.0 спецификации, и продукты могут соответствовать «Технологии Bluetooth 2.0», не поддерживая более высокую скорость передачи данных. По крайней мере одно коммерческое устройство, HTC TyTN Pocket PC, использует «Bluetooth 2.0 без EDR» в своих технических спецификациях[14].

Согласно 2.0 + EDR спецификации, EDR обеспечивает следующие преимущества:

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

Bluetooth 2.1

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

Bluetooth 2.1 + EDR

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

Bluetooth 3.0 + HS

3.0+HS[13] была принята Bluetooth SIG 21 апреля 2009 года. Она поддерживает теоретическую скорость передачи данных до 24 Мбит/с. Её основной особенностью является добавление AMP (асимметричная мультипроцессорная обработка) (альтернативно MAC/PHY), дополнение к 802.11 как высокоскоростное сообщение. Две технологии были предусмотрены для AMP: 802.11 и UWB, но UWB отсутствует в спецификации[15].

Модули с поддержкой новой спецификации соединяют в себе две радиосистемы: первая обеспечивает передачу данных в 3 Мбит/с (стандартная для Bluetooth 2.0) и имеет низкое энергопотребление; вторая совместима со стандартом 802.11 и обеспечивает возможность передачи данных со скоростью до 24 Мбит/с (сравнима со скоростью сетей Wi-Fi). Выбор радиосистемы для передачи данных зависит от размера передаваемого файла. Небольшие файлы передаются по медленному каналу, а большие — по высокоскоростному. Bluetooth 3.0 использует более общий стандарт 802.11 (без суффикса), то есть не совместим с такими спецификациями Wi-Fi, как 802.11b/g или 802.11n.

Bluetooth 4.0

Bluetooth SIG утвердил спецификацию Bluetooth 4.0 30 июня 2010г. Bluetooth 4.0 включает в себя протоколы Классический Bluetooth, Высокоскоростной Bluetooth и Bluetooth с низким энергопотреблением. Высокоскоростной Bluetooth основан на Wi-Fi, а Классический Bluetooth состоит из протоколов предыдущих спецификаций Bluetooth.

Протокол Bluetooth с низким энергопотреблением предназначен, прежде всего, для миниатюрных электронных датчиков (использующихся в спортивной обуви, тренажёрах, миниатюрных сенсорах, размещаемых на теле пациентов и т. д.). Низкое энергопотребление достигается за счёт использования специального алгоритма работы. Передатчик включается только на время отправки данных, что обеспечивает возможность работы от одной батарейки типа CR2032 в течение нескольких лет[9]. Стандарт предоставляет скорость передачи данных в 1 Мбит/с при размере пакета данных 8—27 байт. В новой версии два Bluetooth-устройства смогут устанавливать соединение менее чем за 5 миллисекунд и поддерживать его на расстоянии до 100 м. Для этого используется усовершенствованная коррекция ошибок, а необходимый уровень безопасности обеспечивает 128-битное AES-шифрование.

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

Первый чип с поддержкой Bluetooth 3.0 и Bluetooth 4.0 был выпущен компанией ST-Ericsson в конце 2009 года.

Bluetooth 4.0 поддерживается в MacBook Air и Mac mini (с июля 2011 года), iMac (ноябрь 2012 года), iPhone 4S (октябрь 2011 года) и iPhone 5 (сентябрь 2012 года), iPad 3 (март 2012 года)[16][17], смартфонах LG Optimus 4X HD (февраль 2012 года), HTC One X, S, V и Samsung Galaxy S III (май 2012 года), Explay Infinity (август 2012 года), HTC One X+ (2012), HTC Desire C, Google Nexus 7 (2012), Sony VAIO SVE1511N1RSI.

Стек протоколов Bluetooth

Bluetooth имеет многоуровневую архитектуру, состоящую из основного протокола, протоколов замены кабеля, протоколов управления телефонией и заимствованных протоколов. Обязательными протоколами для всех стеков Bluetooth являются: LMP, L2CAP и SDP. Кроме того, устройства, связывающиеся с Bluetooth обычно используют протоколы HCI и RFCOMM.

LMP
Link Management Protocol — используется для установления и управления радио-соединением между двумя устройствами. Реализуется контроллером Bluetooth.
HCI
Host/controller interface — определяет связь между стеком хоста (т.е. компьютера или мобильного устройства) с контроллером Bluetooth.
AVRCP
A/V Remote Control Profile — обычно используется в автомобильных навигационных системах для управления звуковым потоком через Bluetooth.
L2CAP
Logical Link Control and Adaptation Protocol — используется для мультиплексирования локальных соединений между двумя устройствами, использующими различные протоколы более высокого уровня. Позволяет фрагментировать и пересобирать пакеты.
SDP
Service Discovery Protocol — позволяет обнаруживать услуги, предоставляемые другими устройствами и определять их параметры.
RFCOMM
Radio Frequency Communications — протокол замены кабеля, создаёт виртуальный последовательный поток данных и эмулирует управляющие сигналы RS-232.
BNEP
Bluetooth Network Encapsulation Protocol — используется для передачи данных из других стеков протоколов через канал L2CAP. Применяется для передачи IP-пакетов в профиле Personal Area Networking.
AVCTP
Audio/Video Control Transport Protocol — используется в профиле Audio / Video Remote Control для передачи команд по каналу L2CAP.
AVDTP
Audio/Video Distribution Transport Protocol — используется в профиле Advanced Audio Distribution для передачи стереозвука по каналу L2CAP.
TCS
Telephony Control Protocol – Binary — протокол, определяющий сигналы управления вызовом для установления голосовых соединений и соединений для передачи данных между устройствами Bluetooth. Используется только в профиле Cordless Telephony.

Заимствованные протоколы включают в себя: Point-to-Point Protocol (PPP), TCP/IP, UDP, Object Exchange Protocol (OBEX), Wireless Application Environment (WAE), Wireless Application Protocol (WAP).

Профили Bluetooth

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

Нижеуказанные профили определены и одобрены группой разработки Bluetooth SIG:

  • Advanced Audio Distribution Profile (A2DP) — разработан для передачи двухканального стерео аудиопотока, например, музыки, к беспроводной гарнитуре или любому другому устройству. Профиль полностью поддерживает низкокомпрессированный кодек Sub_Band_Codec (SBC) и опционально поддерживает MPEG-1,2 аудио, MPEG-2,4 AAC и ATRAC, способен поддерживать кодеки, определённые производителем.[18]
  • 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 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) — обеспечивает доступ Bluetooth-устройствам к вычислительным сетям LAN, WAN или Интернет посредством другого 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.

Безопасность

В июне 2006 года Авишай Вул[19] и Янив Шакед опубликовали статью[20], содержащую подробное описание атаки на bluetooth-устройства. Материал содержал описание как активной, так и пассивной атаки, позволяющей заполучить PIN код устройства и в дальнейшем осуществить соединение с данным устройством. Пассивная атака позволяет соответствующе экипированному злоумышленнику «подслушать» (sniffing) процесс инициализации соединения и в дальнейшем использовать полученные в результате прослушки и анализа данные для установления соединения (spoofing). Естественно, для проведения данной атаки злоумышленнику нужно находиться в непосредственной близости и непосредственно в момент установления связи. Это не всегда возможно. Поэтому родилась идея активной атаки. Была обнаружена возможность отправки особого сообщения в определённый момент, позволяющего начать процесс инициализации с устройством злоумышленника. Обе процедуры взлома достаточно сложны и включают несколько этапов, основной из которых — сбор пакетов данных и их анализ. Сами атаки основаны на уязвимостях в механизме аутентификации и создания ключа-шифра между двумя устройствами. И поэтому перед изложением механизма атак рассмотрим механизм инициализации bluetooth-соединения.

Инициализация 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 бит (аналог MAC-адреса, устанавливается производителем и уникален для каждого сетевого устройства)
  • 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

Уязвимости и атаки

Базовая pairing атака (атака на сопряжение)

Проанализируем данные, обмен которыми идёт на протяжении процесса сопряжения:

От К Данные Длина (бит) Прочая информация
1 A B IN_RAND 128 plaintext
2 A B LK_RAND(A) 128 XORed with Kinit
3 B A LK_RAND(B) 128 XORed with Kinit
4 A B AU_RAND(A) 128 plaintext
5 B A SRES 32 plaintext
6 B A AU_RAND(B) 128 plaintext
7 A B SRES 32 plaintext

Представим ситуацию: злоумышленнику удалось прослушать эфир и во время процедуры сопряжения, он перехватил и сохранил все сообщения. Далее найти PIN можно, используя перебор.

Прежде всего необходимо составить сам алгоритм перебора. Мы располагаем перехваченными величинами IN_RAND (он нешифрованный) и BD_ADDR (напомним, что адреса устройств видны в эфире) и запускаем алгоритм E22. Ему передаем вышеперечисленные данные и наш предполагаемый PIN. В результате мы получим предполагаемое значение Kinit. Выглядит оно примерно так:

Kinit = E22[IN_RAND, BD_ADDR(B), PIN'] где PIN' — предполагаемый нами PIN-код

Далее, сообщения 2 и 3 подвергаются XOR с только что полученным Kinit. Следовательно, следующим шагом мы получим LK_RAND(A) и LK_RAND(B) в чистом виде. Теперь мы можем высчитать предполагаемое значение Kab, для чего проделываем следующую операцию:

LK_K(A) = E21[BD_ADDR(A), LK_RAND(A)] где LK_K(A|B) — это промежуточные величины

LK_K(B) = E21[BD_ADDR(B), LK_RAND(B)]

Kab = LK_K(A) XOR LK_K(B)

Проверим PIN. Возьмем полученный Kab и перехваченный AU_RAND(A) и вычислим SRES(A).

После сравниваем полученный результат с SRES(A)', хранящийся в сообщении номер 5:

SRES(A) = E1[AU_RAND(A), Kab, BD_ADDR(B)]

Если SRES(A) == SRES(A)' — PIN успешно угадан. В противном случае повторяем последовательность действий заново с новой величиной PIN'.

Первым, кто заметил эту уязвимость, был англичанин Олли Вайтхауз (Ollie Whitehouse) в апреле 2004 года. Он первым предложил перехватить сообщения во время сопряжения и попытаться вычислить PIN методом перебора, используя полученную информацию. Тем не менее, метод имеет один существенный недостаток: атаку возможно провести только в случае, если удалось подслушать все аутентификационные данные. Другими словами, если злоумышленник находился вне эфира во время начала сопряжения или же упустил какую-то величину, то он не имеет возможности продолжить атаку.

Re-pairing атака (атака на пересопряжение)

Вулу и Шакеду удалось найти решение трудностей, связанных с атакой Вайтхауза. Был разработан второй тип атаки. Если процесс сопряжения уже начат и данные упущены, мы не сможем закончить атаку. Но был найден выход. Нужно заставить устройства заново инициировать процесс сопряжения (отсюда и название). Данная атака позволяет в любой момент начать вышеописанную pairing атаку.

Рассмотрим следующую ситуацию. Допустим, что устройства уже успели связаться, сохранили ключ Kab и приступили к Mutual authentication. От нас требуется заставить устройства заново начать pairing. Всего было предложено три метода атаки на пересопряжение, причём все из них зависимы от качества реализации bluetooth-ядра конкретного устройства. Ниже приведены методы в порядке убывания эффективности:

  • За pairing следует фаза аутентификации. Master-устройство отсылает AU_RAND и ждёт в ответ SRES. В стандарте декларирована возможность потери ключа связи. В таком случае slave посылает «LMP_not_accepted», сообщая master об утере ключа. Поэтому основная цель злоумышленника — отследить момент отправки AU_RAND master-устройством и в ответ внедрить пакет содержащий LMP_not_accepted. Реакцией master будет реинициализация процесса pairing. Причём это приведёт к аннулированию ключа связи на обоих устройствах.
  • Если успеть отправить IN_RAND slave-устройству непосредственно перед отправкой master-устройством величины AU_RAND, то slave будет уверен, что на стороне master утерян ключ связи. Это опять же приведёт к процессу реинициализации сопряжения, но уже инициатором будет slave.
  • Злоумышленник ожидает отправки master-устройством AU_RAND и отправляет в ответ случайно сгенерированный SRES. Попытка аутентификации провалена. Далее следует череда повторных попыток аутентификации(количество зависит от особенностей реализации устройств). При условии, что злоумышленник продолжает вводить master-устройство в заблуждение, вскоре (по счётчику неудачных попыток) устройствами будет принято решение о реинициализации сопряжения.[21]

Использовав любой из этих методов, злоумышленник может приступить к базовой атаке на сопряжение. Таким образом, имея в арсенале эти две атаки, злоумышленник может беспрепятственно похитить PIN-код. Далее имея PIN-код он сможет установить соединение с любым из этих устройств. И стоит учесть, что в большинстве устройств безопасность на уровне служб, доступных через bluetooth, не обеспечивается на должном уровне. Большинство разработчиков делает ставку именно на безопасность установления сопряжения. Поэтому последствия действий злоумышленника могут быть различными: от кражи записной книжки телефона до установления исходящего вызова с телефона жертвы и использования его как прослушивающего устройства.

Эти методы описывают, как принудить устройства «забыть» link key, что само по себе ведёт к повторному pairing’у, а значит, злоумышленник может подслушать весь процесс с самого начала, перехватить все важные сообщения и подобрать PIN.

Оценка времени подбора PIN-кода

В протоколе Bluetooth активно используются алгоритмы E22, E21, E1, основанные на шифре SAFER+. Брюс Шнайер подтвердил, что уязвимость относится к критическим. Подбор PIN на практике прекрасно работает. Ниже приведены результаты полученные на Pentium IV HT на 3 ГГц:

Длина (знаков) Время (сек)
4 0,063
5 0,75
6 7,609

Конкретные реализации вышеописанных атак могут работать с различной скоростью. Способов оптимизации множество: особые настройки компилятора, различные реализации циклов, условий и арифметических операций. Авишай Вул и Янив Шакед нашли способ сократить время перебора PIN-кода в разы.

Увеличение длины PIN-кода не является панацеей. Только сопряжение устройств в безопасном месте может частично защитить от описанных атак. Пример — bluetooth-гарнитура или автомобильный handsfree. Инициализация связи (при включении) с данными устройствами может происходить многократно в течение дня, и не всегда у пользователя есть возможность находиться при этом в защищённом месте.

Применение

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

См. также

Примечания

  1. Bluetooth traveler. www.hoovers.com. Проверено 2010-06-04/lang=en.
  2. 1 2 About the Bluetooth SIG  (англ.). Bluetooth SIG.(недоступная ссылка — история) Проверено 20 марта 2008. (недоступная ссылка — история)
  3. Jim Kardach. How Bluetooth got its name  (англ.). United Business Media (3 мая 2008). Архивировано из первоисточника 24 августа 2011. Проверено 20 марта 2008.
  4. Monson, Heidi Bluetooth Technology and Implications. SysOpt.com (14 декабря 1999). Архивировано из первоисточника 24 августа 2011. Проверено 17 февраля 2009.
  5. About the Bluetooth SIG. Bluetooth SIG.(недоступная ссылка — история) Проверено 1 февраля 2008.(недоступная ссылка — история)
  6. Kardach, Jim How Bluetooth got its name (3 мая 2008). Архивировано из первоисточника 24 августа 2011. Проверено 24 февраля 2009.
  7. 1 2 3 Вишневский и др. Широкополосные беспроводные сети передачи данных. — М.: Техносфера, 2005. — 592 с. — ISBN 5-94836-049-0
  8. Soltanian A., Van Dyck R.E. Performance of the Bluetooth system in fading dispersive channelsand interference // IEEE Global Telecommunications Conference, 2001 (GLOBECOM '01). — С. 3499—3503.
  9. 1 2 BLUETOOTH SIG Introduces BLUETOOTH Low Energy Wireless Technology, the Next Generation BLUETOOTH Wireless Technology  (англ.). Официальный сайт.(недоступная ссылка — история) Проверено 16 января 2010.(недоступная ссылка — история)
  10. Бителева А. Технологии мультимедийного доступа. Журнал «Теле-Спутник» 8(82) (август 2002). Архивировано из первоисточника 24 августа 2011. Проверено 15 января 2010.
  11. IEEE Std 802.15.1-2005 — IEEE Standard for Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements Part 15.1: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Wireless Personal Area Networks (WPANs)
  12. Guy Kewney High speed Bluetooth comes a step closer: enhanced data rate approved. Newswireless.net (16 ноября 2004). Архивировано из первоисточника 24 августа 2011. Проверено 4 февраля 2008.
  13. 1 2 Specification Documents. Bluetooth SIG.(недоступная ссылка — история) Проверено 4 февраля 2008. (недоступная ссылка — история)
  14. HTC TyTN Specification (PDF). HTC. Проверено 4 февраля 2008.
  15. David Meyer. Bluetooth 3.0 released without ultrawideband. zdnet.co.uk (22 апреля 2009). Архивировано из первоисточника 24 августа 2011. Проверено 22 апреля 2009.
  16. Технические характеристики iPad третьего поколения. Apple. Архивировано из первоисточника 23 июня 2012. Проверено ???.
  17. Наконец-то: по-настоящему волшебный iPad.  ??? (???). Архивировано из первоисточника 23 июня 2012. Проверено ???.
  18. http://www.bluetooth.com/SiteCollectionDocuments/A2DP_SPEC_V12.pdf
  19. Prof. Avishai Wool
  20. Yaniv Shaked, Avishai Wool (2005-05-02). «Cracking the Bluetooth PIN» (School of Electrical Engineering Systems, Tel Aviv University). Проверено 2010-06-04.
  21. Все эти атаки требуют отправки нужных сообщений в нужный момент времени. Стандартные устройства, доступные в продаже, почти со 100 % вероятностью не подойдут для этих целей.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Bluetooth" в других словарях:

  • Bluetooth — Saltar a navegación, búsqueda Teclado bluetooth enlazado a un computador de bolsillo …   Wikipedia Español

  • Bluetooth — est une spécification de l industrie des télécommunications. Elle utilise une technique radio courte distance destinée à simplifier les connexions entre les appareils électroniques. Elle a été conçue dans le but de remplacer les câbles entre les… …   Wikipédia en Français

  • Bluetooth —   [ bluːtuːθ, englisch; nach dem dänischen König Harald Blatand (»Blauzahn«), der im 10. Jahrhundert Dänemark und Norwegen unter seiner Herrschaft vereinigt hatte], Telekommunikation: Kurzstreckenfunkstandard, der die kabellose Kommunikation… …   Universal-Lexikon

  • Bluetooth — Blue‧tooth [ˈbluːtuːθ] noun [uncountable] trademark TELECOMMUNICATIONS Bluetooth technology makes it possible for information to be sent between mobile phone S, computers, and other electronic equipment without using wires: • Bluetooth technology …   Financial and business terms

  • Bluetooth™ — UK US /ˈbluːtuːθ/ noun [U] trademark COMMUNICATIONS, IT, INTERNET ► a technical system that allows people to exchange information and data using different types of electronic devices such as computers, mobile phones, printers, video cameras, etc …   Financial and business terms

  • BLUETOOTH — позволяет беспроводную передачу данных между различными устройствами такими как телефоны, коммуникаторы, гарнитуры, наушники, клавиатуры, мышки и др. Радиус действия 10 100 метров. Используется практически во всех мобильных устройствах. Словарь… …   Словарь бизнес-терминов

  • Bluetooth — es la norma que define un estándar global de comunicación inalámbrica, que posibilita la transmisión de voz y datos entre diferentes equipos mediante un enlace por radiofrecuencia. Los principales objetivos que se pretende conseguir con esta… …   Enciclopedia Universal

  • bluetooth — |blutúte| s. m. [Informática, Telecomunicações] Tecnologia que permite ligar e transferir dados entre equipamentos eletrônicos através de sinais de rádio.   ‣ Etimologia: palavra inglesa …   Dicionário da Língua Portuguesa

  • Bluetooth — (izg. blutȗt) DEFINICIJA tehn. naziv za bežičnu tehnologiju, ob. vezano uz mobilnu telefoniju ETIMOLOGIJA tvorničko ime proizvoda© …   Hrvatski jezični portal

  • Bluetooth — This article is about the electronic protocol. For the medieval King of Denmark, see Harald I of Denmark. Bluetooth logo Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances (using short wavelength …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»