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-chip) дає змогу встановлювати зв'язок у межах 10 або 100 метрів. Різниця у відстані, безумовно, велика, однак з'єднання в межах 10 метрів дає змогу зберегти низьке енергоспоживання, компактний розмір і досить невисоку вартість компонентів. Так, малопотужний передавач споживає всього 0.3 мА в режимі standby і в середньому 30 мА під час обміну інформацією. У стандарті Bluetooth передбачене шифрування даних, що передаються з використанням ключа ефективної довжини від 8 до 128 біт і можливістю вибору односторонньої або двосторонньої аутентифікації. Додатково, до шифрування на рівні протоколу, може бути використано шифрування на програмному рівні.

Назва Bluetooth походить від прізвища середньовікового короля Данії Гаральда I Синьозубого (норв. Harald Blåtann). Гаральд вмів посадити за стіл переговорів ворогуючі партії, домовляючись з кожною партією окремо, тому назва Bluetooth стала відповідним ім'ям для технології, що дозволяє різним пристроям спілкуватися один з одним. Використовуючи перші літери імені короля (руни B та H) у комбінації, створено й логотип технології.

Технологія Bluetooth працює за принципом FHSS (англ. Frequency-hopping spread spectrum). Коротко це можна пояснити так: передавач розбиває дані на пакети і передає їх за псевдовипадковим алгоритмом стрибкоподібної перебудови частоти(1600 разів в секунду), або шаблоном (pattern), складеному з 79 підчастот. "Зрозуміти" один одного можуть тільки ті пристрої, які налаштовані на один і той самий шаблон передачі - для сторонніх приладів передана інформація буде звичайним шумом.Основним структурним елементом мережі Bluetooth є так звана "пікомережа" (piconet) - сукупність від 2 до 8 пристроїв, що працюють на одному і тому ж шаблоні. У кожній пікомережі один пристрій працює як активний (master), а інші як пасивні (slave). Активний пристрій (Master) визначає шаблон, на якому працюватимуть усі пасивні пристрої (slave) його пікомережі, і синхронізує її роботу. Стандарт Bluetooth передбачає з'єднання незалежних і навіть не синхронізованих між собою пікомереж (до 10) в так звану "scatternet" (англ. to scatter звучить як "розсіювати"). Для цього кожна пара пікомереж повинна мати як мінімум один спільний пристрій, який буде активним в одній і пасивним в інший.. Таким чином, в межах окремої scatternet з інтерфейсом Bluetooth може бути одночасно пов'язано максимум 71 пристрій, однак ніхто не обмежує застосування пристроїв-гейтів, які використовують той же Internet для більш далекого зв'язку. Частотний діапазон Bluetooth в більшості країн вільний від ліцензування, але у Франції, Іспанії та Японії через законодавчі обмеження необхідно використовувати відмінні від зазначених вище частоти.

Редакції[ред.ред. код]

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

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 Мбіт / с відповідно. «Request for Comments» Серія документів IETF (стандартів, інструкцій, звітів робочих груп і т.д.), що визначають "пристрій" Internet, зокрема, стандарти TCP / IP. [1].

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 Мбіт / с) в деяких випадках.
  • Зменшення складності декількох одночасних підключень через додаткової смуги пропускання.
  • Менше споживання енергії завдяки зменшенню навантаження.

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[ред.ред. код]

Робоча група з розробки стандарту бездротової передачі даних 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). Вона дає змогу уникнути розриву з'єднання, якщо пристрій поклали в сумку або в кишеню.

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[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.

Ініціалізація 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

Апаратне забезпечення[ред.ред. код]


Основним напрямком використання Bluetooth має стати створення так званих персональних мереж (PAN, або private area networks), які включають такі різнопланові пристрої, як мобільні телефони, PDA, МР3-плеєри, комп'ютери і навіть мікрохвильові печі з холодильниками. Можливість передачі голосу дає змогу вбудовувати інтерфейс Bluetooth в бездротові телефони або, наприклад, бездротові гарнітури для телефонів. Можливості застосування Bluetooth на практиці безмежні: крім синхронізації PDA з настільним комп'ютером або під'єднування до низькошвидкісної периферії на зразок клавіатур або мишей, інтерфейс дає змогу дуже просто і з невеликими витратами організувати домашню мережу. Причому вузлами цієї мережі можуть бути будь-які пристрої, що мають потребу в інформації або володіють необхідною інформацією.
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто очікувати роботу на відстані більше 10-20 м. Такої далекодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацювання алгоритмів атаки, на Defcon-2004 публіці була представлена ​​антена-гвинтівка BlueSniper, розроблена Джоном Херінгтона (John Herington). Пристрій підключається до портативного пристрою — ноутбуку / КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км).

Програмне забезпечення[ред.ред. код]

Див. також[ред.ред. код]

Примітки[ред.ред. код]

Посилання[ред.ред. код]