Bluetooth
Bluetooth | |
---|---|
Уровень (по модели OSI) | Физический |
Назначение протокола | Энергоэффективная беспроводная связь устройств на расстоянии до 100 м (с версии 5.0 до 1500 м) |
Спецификация | IEEE 802.15.1 |
Разработчик | Bluetooth SIG |
Медиафайлы на Викискладе |
MQ (от слов англ. blue — синий и tooth — зуб; произносится /bluːtuːθ/), блюту́с[1][2] — производственная спецификация беспроводных персональных сетей (Wireless personal area network, WPAN). Bluetooth обеспечивает обмен информацией между такими устройствами, как персональные компьютеры (настольные, карманные, ноутбуки), мобильные телефоны, интернет-планшеты, принтеры, цифровые фотоаппараты, мыши, клавиатуры, джойстики, наушники, гарнитуры и акустические системы на надёжной, бесплатной, повсеместно доступной радиочастоте для ближней связи. Bluetooth позволяет этим устройствам сообщаться, когда они находятся друг от друга в радиусе около 100 м в старых версиях протокола и до 1500 м начиная с версии Bluetooth 5[3]. Дальность сильно зависит от преград и помех, даже в одном помещении.
Название
Слово Bluetooth — адаптация на английский язык датского слова «Blåtand» («Синезубый»). Так когда-то прозвали короля викингов Харальда I, жившего в Дании около тысячи лет назад. Прозвище этот король получил за тёмный передний зуб. Харальд I правил в X веке Данией и частью Норвегии и объединил враждовавшие датские племена в единое королевство. Подразумевается, что Bluetooth делает то же самое с протоколами связи, объединяя их в один универсальный стандарт[4][5][6]. Хотя «blå» в современных скандинавских языках означает «синий», во времена викингов оно также могло означать «чёрного цвета». Таким образом, исторически правильно было бы перевести датское Harald Blåtand скорее как Harald Blacktooth, чем как Harald Bluetooth.
В русском тексте портал Грамота.ру рекомендует писать «Bluetooth», но также считает допустимым — «блюту́с»[7].
Логотип Bluetooth является сочетанием двух нордических («скандинавских») рун: Хагалаз младшего футарка (ᚼ) и Беркана (ᛒ), звуковые значения которых соответствуют инициалам Харальда I Синезубого — h и b (дат. Harald Blåtand, норв. Harald Blåtann). Логотип похож на более старый логотип для Beauknit Textiles, подразделения корпорации Beauknit. В нём используется слияние отраженной K и В для «Beauknit», он шире и имеет скругленные углы, но в общем такой же.
История создания и развития
Работы по созданию Bluetooth начал производитель телекоммуникационного оборудования Ericsson в 1994 году как беспроводную альтернативу кабелям RS-232. Первоначально эта технология была приспособлена под потребности системы FLYWAY в функциональном интерфейсе между путешественниками и системой.
Спецификация Bluetooth была разработана группой Bluetooth Special Interest Group (Bluetooth SIG)[8][9], которая была основана в 1998 году. В неё вошли компании Ericsson, IBM, Intel, Toshiba и Nokia. Впоследствии Bluetooth SIG и IEEE достигли соглашения, на основе которого спецификация Bluetooth стала частью стандарта IEEE 802.15.1 (дата опубликования — 14 июня 2002 года).
Класс[10] | Максимальная мощность, мВт | Максимальная мощность, дБм | Радиус действия, м |
---|---|---|---|
1 | 100 | 20 | 100 |
2 | 2,5 | 4 | 10 |
3 | 1 | 0 | менее 10 |
Принцип действия Bluetooth
Принцип действия основан на использовании радиоволн. Радиосвязь Bluetooth осуществляется в ISM-диапазоне (англ. Industry, Science and Medicine), который используется в различных бытовых приборах и беспроводных сетях. Частоты Bluetooth: 2,402-2,48 ГГц.[11][12]. В Bluetooth применяется метод расширения спектра со скачкообразной перестройкой частоты[13] (англ. Frequency Hopping Spread Spectrum, FHSS). Метод FHSS прост в реализации, обеспечивает устойчивость к широкополосным помехам, а оборудование недорогое.
Согласно алгоритму FHSS, в Bluetooth несущая частота сигнала скачкообразно меняется 1600 раз в секунду[9] (всего выделяется 79 рабочих частот шириной в 1 МГц, а в Японии, Франции и Испании полоса у́же — 23 частотных канала). Последовательность переключения между частотами для каждого соединения является псевдослучайной и известна только передатчику и приёмнику, которые каждые 625 мкс (один временной слот) синхронно перестраиваются с одной несущей частоты на другую. Таким образом, если рядом работают несколько пар приёмник-передатчик, то они не мешают друг другу. Этот алгоритм является также составной частью системы защиты конфиденциальности передаваемой информации: переход происходит по псевдослучайному алгоритму и определяется отдельно для каждого соединения. При передаче цифровых данных и аудиосигнала (64 кбит/с в обоих направлениях) используются различные схемы кодирования: аудиосигнал не повторяется (как правило), а цифровые данные в случае утери пакета информации будут переданы повторно.
Протокол Bluetooth поддерживает не только соединение «point-to-point», но и «point-to-multipoint»[9].
Спецификации
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
Главные улучшения:
- Быстрое подключение и обнаружение.
- Адаптивная перестройка частоты с расширенным спектром (AFH), которая повышает стойкость к радиопомехам.
- Более высокие, чем в версии 1.1, скорости передачи данных, практически до 1 Мбит/с.
- Расширенные синхронные подключения (eSCO), которые улучшают качество передачи голоса в аудиопотоке, позволяя повторно передавать повреждённые пакеты, и при необходимости могут увеличить задержку аудио для лучшей поддержки параллельной передачи данных.
- В Host Controller Interface (HCI) добавлена поддержка трёхпроводного интерфейса UART.
- Утверждён как стандарт IEEE Standard 802.15.1-2005[14].
- Введены режимы управления потоком данных (Flow Control) и повторной передачи (Retransmission Modes) для L2CAP.
Bluetooth 2.0 + EDR
Bluetooth версии 2.0 был выпущен 10 ноября 2004 г. Имеет обратную совместимость с предыдущими версиями 1.x. Основным нововведением стала поддержка Enhanced Data Rate (EDR) для ускорения передачи данных. Номинальная скорость EDR — около 3 Мбит/с, однако на практике это позволило повысить скорость передачи данных только до 2,1 Мбит/с. Дополнительная производительность достигается с помощью различных радиотехнологий передачи данных[15].
Стандартная (базовая) скорость передачи данных использует GFSK-модуляцию радиосигнала при скорости передачи 1 Мбит/с. EDR использует сочетание модуляций GFSK и PSK с двумя вариантами, π/4-DQPSK и 8DPSK. Они имеют бо́льшие скорости передачи данных по воздуху — 2 и 3 Мбит/с соответственно[16].
Bluetooth SIG издала спецификацию как «Технология Bluetooth 2.0 + EDR», которая подразумевает, что EDR является дополнительной функцией. Кроме EDR есть и другие незначительные усовершенствования к спецификации 2.0, и продукты могут соответствовать «Технологии Bluetooth 2.0», не поддерживая более высокую скорость передачи данных. По крайней мере одно коммерческое устройство — HTC TyTN Pocket PC — использует «Bluetooth 2.0 без EDR» в своих технических спецификациях[17].
Согласно спецификации 2.0 + EDR, у EDR имеются следующие преимущества:
- В некоторых случаях увеличение скорости передачи в три раза (2,1 Мбит/с).
- Уменьшение сложности нескольких одновременных подключений из-за дополнительной полосы пропускания.
- Снижение потребления энергии благодаря уменьшению нагрузки.
Bluetooth 2.1
2007 год. Добавлена технология расширенного запроса характеристик устройства (для дополнительной фильтрации списка при сопряжении), энергосберегающая технология Sniff Subrating, которая позволяет увеличить продолжительность работы устройства от одного заряда аккумулятора в 3—10 раз. Кроме того, обновлённая спецификация существенно упрощает и ускоряет установление связи между двумя устройствами, позволяет производить обновление ключа шифрования без разрыва соединения, а также делает указанные соединения более защищёнными благодаря использованию технологии Near Field Communication.
Bluetooth 2.1 + EDR
В августе 2008 года Bluetooth SIG представила версию 2.1 + EDR. Новая редакция Bluetooth снижает потребление энергии в пять раз, повышает уровень защиты данных и облегчает распознавание и соединение Bluetooth-устройств благодаря уменьшению количества шагов, за которые оно выполняется.
Bluetooth 3.0 + HS
3.0 + HS[16] была принята Bluetooth SIG 21 апреля 2009 года. Она поддерживает теоретическую скорость передачи данных до 24 Мбит/с. Её основной особенностью является добавление AMP (Alternate MAC/PHY), дополнение к 802.11 как высокоскоростное сообщение. Для AMP были предусмотрены две технологии: 802.11 и UWB, но UWB отсутствует в спецификации[18].
Модули с поддержкой новой спецификации соединяют в себе две радиосистемы: первая обеспечивает передачу данных в 3 Мбит/с (стандартная для Bluetooth 2.0) и имеет низкое энергопотребление; вторая совместима со стандартом 802.11 и обеспечивает возможность передачи данных со скоростью до 24 Мбит/с (сравнима со скоростью сетей Wi-Fi). Выбор радиосистемы для передачи данных зависит от размера передаваемого файла. Небольшие файлы передаются по медленному каналу, а большие — по высокоскоростному. Bluetooth 3.0 использует более общий стандарт 802.11 (без суффикса), то есть несовместим с такими спецификациями Wi-Fi, как 802.11b/g/n.
Bluetooth 4.0
30 июня 2010 года Bluetooth SIG утвердил спецификацию Bluetooth 4.0. Включает в себя протоколы:
- Классический Bluetooth,
- Высокоскоростной Bluetooth
- Bluetooth с низким энергопотреблением.
Высокоскоростной Bluetooth основан на Wi-Fi, а классический Bluetooth состоит из протоколов предыдущих спецификаций Bluetooth.
Частоты работы системы Bluetooth (мощность не более 0,0025 Вт).
Полоса частот: 2 402 000 000 — 2 480 000 000 Гц (2,402 — 2,48 ГГц)
Протокол Bluetooth с низким энергопотреблением предназначен, прежде всего, для миниатюрных электронных датчиков (использующихся в спортивной обуви, тренажёрах, миниатюрных сенсорах, размещаемых на теле пациентов и т. д.). Низкое энергопотребление достигается за счёт использования особого алгоритма работы. Передатчик включается только на время отправки данных, что обеспечивает возможность работы от одной батарейки типа CR2032 в течение нескольких лет[12]. Стандарт предоставляет скорость передачи данных 1 Мбит/с при размере пакета данных 8—27 байт. В новой версии два Bluetooth-устройства смогут устанавливать соединение менее чем за 5 мс и поддерживать его на расстоянии до 100 м. Для этого используется усовершенствованная коррекция ошибок, а необходимый уровень безопасности обеспечивает 128-битное AES-шифрование.
Датчики температуры, давления, влажности, скорости передвижения и т. д. на базе этого стандарта могут передавать информацию на различные устройства контроля: мобильные телефоны, КПК, ПК и т. п.
Первый чип с поддержкой Bluetooth 3.0 и Bluetooth 4.0 был выпущен компанией ST-Ericsson в конце 2009 года.
Bluetooth 4.1
В конце 2013 года Bluetooth Special Interest Group (SIG) представила спецификацию Bluetooth 4.1. Одно из улучшений, реализованных в спецификации Bluetooth 4.1, касается совместной работы Bluetooth и мобильной связи четвёртого поколения LTE. Стандарт предусматривает защиту от взаимных помех путём автоматического координирования передачи пакетов данных.
Bluetooth 4.2
3 декабря 2014 Bluetooth Special Interest Group (SIG) представила спецификацию Bluetooth 4.2[19]. Основные улучшения — повышение конфиденциальности и увеличение скорости передачи данных.
Bluetooth 5.0
16 июня 2016 года Bluetooth Special Interest Group (SIG) представила спецификацию Bluetooth 5.0[20][21]. Изменения коснулись в основном режима с низким потреблением и высокоскоростного режима. Радиус действия увеличен в четыре раза, скорость увеличена вдвое. Также версия Bluetooth 5.0 полностью совместима с предыдущими версиями Bluetooth.
В этом типе протокола были серьёзные качественные обновления, которые позволили назвать новую версию не 4.3, а именно 5.0. Bluetooth 5.0 – большое обновление «синезуба», но оно почти не затрагивает беспроводную передачу звука.
Bluetooth 5.1
От предыдущих версий Bluetooth 5.1 отличается тем, что у пользователей есть возможность определять местоположение и направление с максимальной точностью[22]. Ещё лучше оптимизировалось энергопотребление и увеличилась надёжность соединения по Bluetooth Low Energy.
Bluetooth 5.2
Спецификация[23] опубликована SIG 6 января 2020 года. Новые функции:
- Улучшенная версия протокола атрибутов ATT — Enhanced Attribute protocol (EATT), который более безопасен, так как использует только шифрованное соединение. EATT поддерживает параллельные транзакции, а также позволяет изменять блок максимальной передачи ATT (MTU) во время соединения. В EATT добавлен новый L2CAP режим безопасного управления потоком — Enhanced Credit Based Flow Control Mode.
- Новый LE Power Control — позволяет устройствам динамически оптимизировать мощность для связи между подключенными устройствами. Приёмники Bluetooth LE теперь могут отслеживать уровень сигнала и запрашивать изменения уровня мощности передачи в подключенных устройствах, как правило, для поддержания оптимального уровня сигнала как с точки зрения качества сигнала, так и с точки зрения снижения энергопотребления.
- LE Isochronous Channels — функция для поддержки нового стандарта передачи аудио LE Audio[24], следующего поколения Bluetooth-аудио. Позволяет передавать данные с привязкой ко времени на одно или несколько устройств для синхронизированной по времени обработки (пример: беспроводные наушники с раздельными приёмниками), а также для параллельной трансляции на неограниченное количество устройств.
- Bluetooth LE Audio (с 2022 г.)[25]
Bluetooth 5.3
Bluetooth SIG опубликовал спецификацию[26] ядра Bluetooth версии 5.3 13 июля 2021 года. Улучшения функций Bluetooth 5.3 заключаются в следующем:
- Вычитание соединения
- Периодический рекламный интервал
- Улучшение классификации каналов
- Улучшения в управлении размером ключа шифрования
В этой версии спецификации были удалены следующие функции:
- Альтернативное расширение MAC и PHY (AMP)
Стек протоколов Bluetooth
Bluetooth имеет многоуровневую архитектуру, состоящую из основного протокола, протоколов замены кабеля, протоколов управления телефонией и заимствованных протоколов. Обязательными протоколами для всех стеков Bluetooth являются: LMP, L2CAP и SDP. Кроме того, устройства, связывающиеся с Bluetooth, обычно используют протоколы HCI и RFCOMM.
- LMP
- Link Management Protocol — используется для установления и управления радиосоединением между двумя устройствами. Реализуется контроллером Bluetooth.
- HCI
- Host/controller interface — определяет связь между стеком хоста (то есть компьютера или мобильного устройства) и контроллером 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[27]:
- Advanced Audio Distribution Profile (A2DP) — разработан для передачи двухканального стерео-аудиопотока, например музыки, к беспроводной гарнитуре или любому другому устройству. Профиль полностью поддерживает низкокомпрессированный кодек Sub_Band_Codec (SBC) и опционально — иные кодеки.
- Audio/Video Remote Control Profile (AVRCP) — разработан для управления стандартными функциями телевизоров, оборудования Hi-Fi и прочего, то есть позволяет создавать устройства с функциями дистанционного управления. Может использоваться в связке с профилями A2DP или VDP.
- Basic Imaging Profile (BIP) — разработан для пересылки изображений между устройствами и включает возможность изменения размера изображения и конвертирование в поддерживаемый формат принимающего устройства.
- Basic Printing Profile (BPP) — позволяет пересылать текст, сообщения электронной почты, 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) — обеспечивает доступ Bluetooth-устройствам к вычислительным сетям LAN, WAN или Интернет посредством другого Bluetooth-устройства, которое имеет физическое подключение к этим сетям. Bluetooth-устройство использует PPP поверх RFCOMM для установки соединения. LAP также допускает создание Bluetooth-сетей ad-hoc.
- 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 года Авишай Вул[28] и Янив Шакед опубликовали статью[29], содержащую подробное описание атаки на устройства Bluetooth. Материал содержал описание как активной, так и пассивной атаки, позволяющей получить PIN-код устройства и затем соединиться с данным устройством. Пассивная атака позволяет соответствующе экипированному злоумышленнику «подслушать» (sniffing) процесс инициализации соединения и в дальнейшем использовать полученные в результате прослушки и анализа данные для установления соединения (spoofing). Естественно, для проведения такой атаки злоумышленнику нужно находиться в непосредственной близости и непосредственно в момент установления связи. Это не всегда возможно. Поэтому родилась идея активной атаки. Была обнаружена возможность отправки в определённый момент особого сообщения, позволяющего начать процесс инициализации с устройством злоумышленника. Обе процедуры взлома достаточно сложны и включают несколько этапов, основной из которых — сбор пакетов данных и их анализ. Сами атаки основаны на уязвимостях в механизме аутентификации и создания ключа-шифра между двумя устройствами.
Инициализация Bluetooth-соединения
Инициализацией Bluetooth-соединения принято называть процесс установки связи. Его можно разделить на три этапа:
- генерация ключа Kinit,
- генерация ключа связи (он носит название link key и обозначается как Kab),
- аутентификация.
Первые два пункта входят в так называемую процедуру паринга.
Паринг (pairing), или сопряжение, — процесс связи двух (или более) устройств с целью создания общего секретного значения Kinit, которое они будут в дальнейшем использовать при общении. В некоторых переводах официальных документов по Bluetooth можно также встретить термин «подгонка пары». Перед началом процедуры сопряжения на обеих сторонах необходимо ввести PIN-код.
Kinit формируется по алгоритму E22, который оперирует следующими величинами:
- BD_ADDR — уникальный MAC-адрес Bluetooth-устройства длиной 48 бит;
- PIN-код и его длина;
- IN_RAND — случайная 128-битная величина.
Для создания ключа связи Kab устройства обмениваются 128-битными словами LK_RAND(A) и LK_RAND(B), генерируемыми случайным образом. Далее следуют побитовый XOR с ключом инициализации Kinit и снова обмен полученным значением. Затем вычисляется ключ по алгоритму E21.
Для этого необходимы величины:
- BD_ADDR
- 128-битный LK_RAND (каждое устройство хранит своё и полученное от другого устройства значения)
На данном этапе pairing заканчивается и начинается последний этап инициализации Bluetooth — Mutual authentication, или взаимная аутентификация. Основана она на схеме «запрос-ответ». Одно из устройств становится верификатором, генерирует случайную величину AU_RAND(A) и посылает его соседнему устройству (в открытом виде), называемому предъявителем. Как только предъявитель получает это «слово», начинается вычисление величины SRES по алгоритму E1, и она отправляется верификатору. Соседнее устройство производит аналогичные вычисления и проверяет ответ предъявителя. Если SRES совпали, то устройства меняются ролями и процесс повторяется заново.
E1-алгоритм оперирует такими величинами:
- Случайно созданное AU_RAND
- link key Kab
- Свой собственный BD_ADDR
Атака на сопряжение
Если злоумышленнику удалось прослушать эфир, и во время процедуры сопряжения он перехватил и сохранил все сообщения, то далее найти PIN можно используя перебор.
Первым, кто заметил эту уязвимость, был англичанин Олли Вайтхауз (Ollie Whitehouse) в апреле 2004 года. Он первым предложил перехватить сообщения во время сопряжения и попытаться вычислить PIN методом перебора, используя полученную информацию. Тем не менее метод имеет один существенный недостаток: атаку возможно провести только в случае, если удалось подслушать все аутентификационные данные. Другими словами, если злоумышленник находился вне эфира во время начала сопряжения или же упустил какую-то величину, то он не сможет продолжить атаку.
Атака на пересопряжение
Вулу и Шакеду удалось найти решение трудностей, связанных с атакой Вайтхауза. Был разработан второй тип атаки. Если процесс сопряжения уже начат и данные упущены, провести атаку невозможно. Но если устройства уже успели связаться, сохранили ключ Kab и приступили к взаимной аутентификации, можно заставить устройства заново инициировать процесс сопряжения, чтобы провести вышеописанную атаку на сопряжение.
Данная атака требует отправки нужных сообщений в нужный момент времени. Доступные в продаже стандартные устройства для этих целей не подходят.
Использовав любой из этих методов, злоумышленник может приступить к базовой атаке на сопряжение. Таким образом, имея в арсенале эти две атаки, злоумышленник может беспрепятственно похитить PIN-код. Далее, имея PIN-код, он сможет установить соединение с любым из этих устройств. И стоит учесть, что в большинстве устройств безопасность на уровне служб, доступных через Bluetooth, не обеспечивается на должном уровне. Большинство разработчиков делает ставку именно на безопасность установления сопряжения. Поэтому последствия действий злоумышленника могут быть различными: от кражи записной книжки телефона до установления исходящего вызова с телефона жертвы и использования его как прослушивающего устройства.
Оценка времени подбора PIN-кода
В протоколе Bluetooth активно используются алгоритмы E22, E21, E1, основанные на шифре SAFER+. Брюс Шнайер подтвердил, что уязвимость относится к критическим. Подбор PIN на практике прекрасно работает и может быть выполнен в реальном времени[30]. Ниже приведены результаты, полученные на 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 ситуация немного улучшилась[31].
Отладка и сертификация
Отладка и контроль соответствия стандарту осложняется активными соседями по диапазону (например Wi-Fi). Существуют решения, позволяющие декодировать и отслеживать все соединения одновременно во всех 79 каналах Bluetooth.
См. также
Примечания
- ↑ блюту́с . «Орфографический академический ресурс АКАДЕМОС». блюту́с. Дата обращения: 9 марта 2018. Архивировано 10 марта 2018 года. Архивная копия от 10 марта 2018 на Wayback Machine
- ↑ ГРАМОТА.РУ — справочно-информационный интернет-портал «Русский язык» | Словари | Проверка слова . Дата обращения: 5 мая 2022. Архивировано 22 октября 2020 года. Архивная копия от 22 октября 2020 на Wayback Machine
- ↑ How to Achieve Ranges of over 1 Km using Bluetooth Low Energy — Novel Bits . Дата обращения: 6 июня 2020. Архивировано 6 июня 2020 года. Архивная копия от 6 июня 2020 на Wayback Machine
- ↑ Monson, Heidi Bluetooth Technology and Implications . SysOpt.com (14 декабря 1999). Дата обращения: 17 февраля 2009. Архивировано 24 августа 2011 года. Архивировано 24 августа 2011 года.
- ↑ About the Bluetooth SIG . Bluetooth SIG. Дата обращения: 1 февраля 2008. Архивировано 18 марта 2006 года. Архивная копия от 18 марта 2006 на Wayback Machine
- ↑ Kardach, Jim How Bluetooth got its name (3 мая 2008). Дата обращения: 24 февраля 2009. Архивировано 24 августа 2011 года. Архивировано 24 августа 2011 года.
- ↑ Вопрос № 244488 . Грамота.ру. — «Допустимо:"блютус". Но лучше писать латиницей.» Дата обращения: 9 марта 2018. Архивировано 22 октября 2020 года. Архивная копия от 22 октября 2020 на Wayback Machine
- ↑ About the Bluetooth SIG (англ.). Bluetooth SIG. Дата обращения: 20 марта 2008. Архивировано 10 января 2006 года. Архивная копия от 18 марта 2006 на Wayback Machine
- ↑ 1 2 3 Вишневский и др. Широкополосные беспроводные сети передачи данных. — М.: Техносфера, 2005. — 592 с. — ISBN 5-94836-049-0.
- ↑ Joshua Wright. Dispelling Common Bluetooth Misconceptions (англ.). SANS. Дата обращения: 25 августа 2018. Архивировано 2007 года. Архивная копия от 30 октября 2007 на Wayback Machine
- ↑ 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.
- ↑ 1 2 BLUETOOTH SIG Introduces BLUETOOTH Low Energy Wireless Technology, the Next Generation BLUETOOTH Wireless Technology (англ.). Официальный сайт. Дата обращения: 16 января 2010. Архивировано 20 декабря 2009 года. Архивная копия от 20 декабря 2009 на Wayback Machine
- ↑ Бителева А. Технологии мультимедийного доступа . Журнал «Теле-Спутник» 8(82) (август 2002). Дата обращения: 15 января 2010. Архивировано из оригинала 18 января 2012 года. Архивная копия от 18 января 2012 на Wayback Machine
- ↑ 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)
- ↑ Guy Kewney. High speed Bluetooth comes a step closer: enhanced data rate approved . Newswireless.net (16 ноября 2004). Дата обращения: 4 февраля 2008. Архивировано 24 августа 2011 года. Архивировано 24 августа 2011 года.
- ↑ 1 2 Specification Documents . Bluetooth SIG. Дата обращения: 4 февраля 2008. Архивировано 17 января 2008 года. Архивная копия от 17 января 2008 на Wayback Machine
- ↑ HTC TyTN Specification (PDF). HTC. Дата обращения: 4 февраля 2008. Архивировано 8 марта 2008 года. Архивная копия от 12 октября 2006 на Wayback Machine
- ↑ David Meyer. Bluetooth 3.0 released without ultrawideband . zdnet.co.uk (22 апреля 2009). Дата обращения: 22 апреля 2009. Архивировано 24 августа 2011 года. Архивировано 24 августа 2011 года.
- ↑ SIG introduces Bluetooth 4.2 . Дата обращения: 13 августа 2015. Архивировано 23 августа 2015 года. Архивная копия от 23 августа 2015 на Wayback Machine
- ↑ Bluetooth 5.0: Here’s Why The New Wireless Standard Matters . Дата обращения: 4 сентября 2016. Архивировано 16 сентября 2016 года. Архивная копия от 16 сентября 2016 на Wayback Machine
- ↑ Bluetooth 5.0 to Quadruple Range, Double Speed | News & Opinion | PCMag.com . Дата обращения: 4 октября 2017. Архивировано 4 сентября 2017 года. Архивная копия от 4 сентября 2017 на Wayback Machine
- ↑ Cris Hoffman. Bluetooth 5.1: What’s New and Why It Matters . How to geek (31 января 2019). Дата обращения: 4 февраля 2019. Архивировано 3 февраля 2019 года. Архивная копия от 3 февраля 2019 на Wayback Machine
- ↑ Архивированная копия . Дата обращения: 17 января 2020. Архивировано 8 января 2020 года. Архивная копия от 8 января 2020 на Wayback Machine
- ↑ Bluetooth SIG представила новый стандарт передачи звука / Хабр
- ↑ На пороге новой эры беспроводных наушников: скоро появится самое крупное за последние годы обновление Bluetooth // Ferra.ru, 12 июня 2022
- ↑ Bluetooth (англ.) // Wikipedia. — 2021-11-18.
- ↑ КомпьютерПресс №3, 2013, с. 36.
- ↑ Prof. Avishai Wool . Дата обращения: 19 декабря 2008. Архивировано 23 декабря 2018 года. Архивная копия от 23 декабря 2018 на Wayback Machine
- ↑ Yaniv Shaked, Avishai Wool. Cracking the Bluetooth PIN (англ.) : journal. — School of Electrical Engineering Systems, Tel Aviv University, 2005. — 2 May.
- ↑ Ellisys. Bluetooth Security – Truths and Fictions (англ.). Архивировано 23 ноября 2016 года. Архивная копия от 23 ноября 2016 на Wayback Machine
- ↑ Coexistence issues for a 2.4 GHz wireless audio streaming in presence of bluetooth paging and WLAN . Дата обращения: 7 декабря 2016. Архивировано 20 декабря 2016 года. Архивная копия от 20 декабря 2016 на Wayback Machine
Литература
- Сергей Асмаков. Интерфейс Bluetooth: разберемся с нюансами // КомпьютерПресс : журнал. — 2013. — 12 марта (№ 3 (279)). — С. 34—36. — ISSN 0868-6157.
Ссылки
- Bluetooth tutorial
- Спецификации (англ.)
- Bluetooth-безопасность
- Bluetooth 2.0/EDR — хорошо доделанное старое
- Yaniv Shaked, Avishai Wool. Cracking the Bluetooth PIN
- NFC Forum