Bluetooth: принципи побудови і функціонування
Содержание
Вступ
Історія створення і розвитку
Принцип роботи bluetooth
Профілі bluetooth
Безпека
Застосування
Bluetooth: принципи побудови і функціонування
Перспективи bluetooth
Література
Приложение
Вступ
Слово Bluetooth - сформульований на англійській мові варіант датського "Bl tand", епітет короля X століття Харальда I (Harald I) з Данії і частин Норвегії, який об'єднав данські племена, що ворогували, в єдине королівство. Сенс полягає в тому, що Bluetooth робить те ж саме з протоколами зв'язку, об'єднуючи їх в один універсальний стандарт. Хоча "bl " у сучасних скандінавських мовах означає "синій", за часів вікінгів воно також могло означати "чорного кольору". Так історично правильним переказ старого норвезького Харальд Blátönn швидше є Харальд Blacktooth чим Харальд Bluetooth.
Логотип Bluetooth є поєднанням двох нордичних рун: "хаглаз" (Hagall) - аналог латинської H і "беркана" (Berkanan) - латинська B. Логотип схожий на старіший логотип для Beauknit Textiles, підрозділи корпорації Beauknit. У нім використовується злиття відбитої K і В для "Beauknit", він ширше і має кути, що округляють, але загалом він такий же.
Історія створення і розвитку
На початку 1998 року Ericsson, IBM, Intel, Toshiba і Nokia - найбільші компанії комп'ютерного і телекомунікаційного ринку - об'єдналися для спільної розробки технології безпровідного з'єднання мобільних пристроїв.20 травня 1998 року сталося офіційне представлення спеціальної робочої групи (SIG - Special Interest Group), покликаній забезпечити безперешкодне впровадження технології, що отримала назву Bluetooth. Незабаром до групи увійшли 3COM/Palm, Axis Communication, Motorola, Compaq, Dell, Qualcomm, Lucent Technologies, UK Limited, Xircom. Зараз група включає більше 1400 компаній, що беруть участь в роботі над безкоштовною відкритою специфікацією Bluetooth. Завдяки простоті і витонченості цієї технології, багато фахівців упевнені, що Bluetooth не має конкуренції в області створення невеликих локальних мереж і безпровідного об'єднання пристроїв в межах будинку, офісу або, скажімо, машини.
На відміну від технології інфрачервоного зв'язку IRDA (Infrared Direct Access), що працює за принципом "крапка-крапка" в зоні прямої видимості, технологія Bluetooth розроблялася для роботи як за принципом "крапка-крапка", так і як багатоточковий радіоканал, керований багаторівневим протоколом, схожим на протокол мобільного зв'язку GSM.
Bluetooth стала конкурентом таким технологіям, як IEEE 802.11, HOMERF і IRDA, хоча остання і не призначена для побудови локальних мереж, але є найпоширенішою технологією безпровідного з'єднання комп'ютерів і периферійних пристроїв.
Основний ідей нової технології було надання можливості легкого і зручного безпровідного з'єднання різних пристроїв і організації безпровідної локальної мережі. Технологія повинна дозволити користувачеві організовувати обмін інформацією і голосом між всілякими пристроями, наприклад настільним комп'ютером, КПК і стільниковим телефоном. Тобто, скажімо, приходите ви в офіс, а ваш КПК тут же автоматично синхронізує адресну книгу і календар з настільним ПК і передає нові контакти на ваш мобільний телефон. У перспективі, технологія дозволить об'єднувати будь-які електронні пристрої, аж до холодильників, пральних машин, мікрохвильових печей і дверних замків (тільки представте - ваш холодильник передає на ваш стільниковий, що у нього закінчилося молоко, а той у свою чергу, відправляє вашому КПК вказівка додати молоко в список покупок). При цьому, одними з важливих параметрів нової технології повинні були стати низька вартість пристрою зв'язку - в межах 20 доларів, відповідно невеликі розміри (адже мова йде про мобільних пристроях) і, що важливо, сумісність, простота вбудовування в різні пристрої. Власне ради цього і була організована група SIG, яка, окрім всього іншого, дозволила безлічі виробників об'єднатися, а не розробляти власні, несумісні один з одним платформи. Тобто в недалекому майбутньому Bluetooth може стати "стандартом де-факто" для безпровідних комунікацій.
Принцип роботи bluetooth
Технологія використовує невеликі приймачі малого радіусу дії, або безпосередньо вбудовані в пристрій, або що підключаються через вільний порт або РС-карту. Адаптери працюють в радіусі 10 метрів і, на відміну від IRDA, не обов'язково в зоні прямої видимості, тобто, між пристроями, що сполучаються, можуть бути різні перешкоди, або стіни.
Bluetooth працює на частоті, що не ліцензується у всьому світі, 2.45 Ггц (смуга промислового, наукового і медичного застосування ISM - Industry, Science, Medicine), що дозволяє вільно використовувати пристрої Bluetooth у всьому світі. Радіоканал забезпечує швидкість 721Кбит/с і передачу 3 голосових каналів. Технологія використовує FHSS - стрибкоподібну перебудову частоти (1600 скачков/с) з розширенням спектру. При роботі передавач переходить з однієї робочої частоти на іншу по псевдовипадковому алгоритму. Для повнодуплексної передачі використовується дуплексний режим з тимчасовим розділенням (TDD). Підтримується ізохронна і асинхронна передача даних і забезпечується проста інтеграція з TCP/IP. Тимчасові інтервали (Time Slots) розгортаються для синхронних пакетів, кожен з яких передається на своїй частоті радіосигналу.
Енергоспоживання пристроїв Bluetooth має бути в межах 0.1 Вт. Кожен пристрій має унікальна 48-бітова мережева адреса, сумісна з форматом стандарту локальних мереж IEEE 802.
СПЕЦИФІКАЦІЇ
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. Основним нововведенням стала підтримка EDR (Enhanced Data Rate) для прискорення передачі даних. Номінальна швидкість EDR близько 3 Мбіт/с, проте на практиці це дозволило підвищити швидкість передачі даних тільки до 2,1 Мбіт/с. Додаткова продуктивність досягається за допомогою різних радіо технологій для передачі даних.
Стандартна (або Базова) швидкість передачі даних використовує Гаусове Кодування із зрушенням частот (GFSK) модуляцію радіо сигналу, при швидкості передачі в 1 Мбіт/s. EDR використовує поєднання GFSK і PSK-модуляцию з двома варіантами, /4-DQPSK і 8DPSK. Вони мають великі швидкості передачі даних по повітрю 2 - і 3 Mbit/s відповідно.
Bluetooth SIG видала специфікацію як "Технологія Bluetooth 2.0 + EDR", яка має на увазі, що EDR є додатковою функцією. Окрім EDR є і інші незначні удосконалення до 2.0 специфікації, і продукти можуть відповідати "Технологія Bluetooth 2.0", не підтримуючи вищу швидкість передачі даних. Принаймні один комерційний пристрій, HTC TYTN Pocket РС, використовує "Bluetooth 2.0 без EDR" в своїх технічних специфікаціях.
Згідно 2.0 + EDR специфікації, EDR забезпечує наступні переваги:
Збільшення швидкості передачі в 3 рази (2.1 Мбіт/с) в деяких випадках.
Зменшення складності декількох одночасних підключень із-за додаткової смуги пропускання.
Нижче споживання енергії завдяки зменшенню навантаження.
Bluetooth 2.1
2007 рік. Додана технологія розширеного запиту характеристик пристрою (для додаткової фільтрації списку при сполученні), енергозбережна технологія Sniff sub>rating, яка дозволяє збільшити тривалість роботи пристрою від одного заряду акумулятора в 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 специфікація <http://ru. wikipedia.org/wiki/Bluetooth> була прийнята Bluetooth SIG 21 квітня 2009 року. Вона підтримує теоретичну швидкість передачі даних до 24 Мбіт/с. Її основною особливістю є додавання AMP (Асиметрична Мультипроцесорна Обробка) (альтернативно MAC/PHY), доповнення до 802.11 як високошвидкісне повідомлення. Дві технології були передбачені для AMP: 802.11 і UWB, але UWB відсутній в специфікації.
Модулі з підтримкою нової специфікації сполучають в собі дві радіосистеми: перша забезпечує передачу даних в 3 Мб/с (стандартна для Bluetooth 2.0) і має низьке енергоспоживання; друга сумісна із стандартом 802.11 і забезпечує можливість передачі даних з швидкістю до 24 Мбіт/с (порівнянна із швидкістю мереж Wi-Fi). Вибір радіосистеми для передачі даних залежить від розміру передаваного файлу. Невеликі файли передаються по повільному каналу, а великі - по високошвидкісному. Bluetooth 3.0 використовує більш загальний стандарт 802.11 (без суфікса), тобто не сумісний з такими специфікаціями Wi-Fi, як 802.11b/g або 802.11n.
Bluetooth 4.0
У грудні 2009 року Bluetooth SIG анонсувала стандарт Bluetooth 4.0. Технологія, перш за все, призначена для мініатюрних електронних датчиків (що використовуються в спортивному взутті, тренажерах, мініатюрних сенсорах, що розміщуються на тілі пацієнтів і т.д.).
У Bluetooth 4.0 досягається низьке енергоспоживання за рахунок використання спеціального алгоритму роботи. Передавач включається тільки на час відправки даних, що забезпечує можливість роботи від однієї батареї типа CR2032 протягом декількох років. Стандарт надає швидкість передачі даних в 1 Мбіт/с при розмірі пакету даних 8-27 байт. У новій версії два Bluetooth-устройства зможуть встановлювати з'єднання менш ніж за 5 мілісекунд і підтримувати його на відстані до 100 м. Для цього використовується вдосконалена корекція помилок, а забезпечує необхідний рівень безпеки 128-бітове AES-шифрование.
Сенсори температури, тиску, вологості, швидкості пересування і так далі на базі цього стандарту можуть передавати інформацію на різні пристрої контролю: мобільні телефони, КПК, ПК і тому подібне
Перший чіп з підтримкою Bluetooth 3.0 і Bluetooth 4.0 був випущений компанією ST-Ericsson в кінці 2009 року. Масовий випуск Bluetooth-модулей очікується в I кварталі 2010 року.
Профілі bluetooth
Нижчепоказані профілі визначені і схвалені групою розробки Bluetooth SIG:
Advanced Audio Distribution Profile (A2DP)
A2DP розроблений для передачі двоканального стерео аудіопотоку, наприклад музики, до безпровідної гарнітури або будь-якого іншого пристрою. Профіль повністю підтримує низкокомпресованый кодек sub>_Band_Codec (SBC) і опціонально підтримує MPEG-1,2 аудіо, MPEG-2,4 ААС і 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 (DID)
Профіль дозволяє ідентифікувати клас пристрою, виробника, версію продукту.
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)
Профіль використовується для з'єднання безпровідної гарнітури і телефону. Підтримує мінімальний набір AT-команд специфікації GSM 07.07 для забезпечення можливості здійснювати дзвінки, відповідати на дзвінки, завершувати дзвінок, настроювати гучність.
Підтримка гарнітурою профілю Headset ("навушники").
Профіль - набір функцій або можливостей, доступних для певного пристрою Bluetooth. Для спільної роботи Bluetooth-устройств необхідно, щоб всі вони підтримували спільний профіль. Через профіль 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.
Безпека
У червні 2006 року Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) опублікували статтю, що містить докладний опис атаки на 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 - унікальна адреса 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 атака (атака на сполучення)
Проаналізуємо дані, обмін якими йде впродовж процесу сполучення:
№ОтДоДаніДовжина (битий) Інша інформація
1ABIN_RAND128plaintext
2ABLK_RAND (A) 128XORed with Kinit
3BALK_RAND (B) 128XORed with Kinit
4ABAU_RAND (A) 128plaintext
5BASRES32plaintext
6BAAU_RAND (B) 128plaintext
7ABSRES32plaintext
Представимо ситуацію: зловмисникові удалося прослухати ефір і під час процедури сполучення, він перехопив і зберіг всі повідомлення. Далі знайти 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-устройство в оману, незабаром (по лічильнику невдалих спроб) пристроями буде вирішено об реініціалізації сполучення.
(Як видно, всі ці атаки вимагають відправки потрібних повідомлень в потрібний момент часу. Стандартні пристрої, доступні у продажу, майже з 100% вірогідністю не підійдуть для цих цілей)
Використавши будь-який з цих методів, зловмисник може приступити до базової атаки на сполучення. Таким чином, маючи в арсеналі ці дві атаки, зловмисник може безперешкодно викрасти PIN-код. Далі маючи PIN-код він зможе встановити з'єднання з будь-яким з цих пристроїв. І варто врахувати, що в більшості пристроїв безпека на рівні служб, доступних через bluetooth, не забезпечується на належному рівні. Більшість розробників роблять ставку саме на безпеку встановлення сполучення. Тому наслідки дій зловмисника можуть бути різними: від крадіжки записника телефону до встановлення витікаючого виклику з телефону жертви і використання його як пристрою, що прослухує.
Ці методи описують, як примусити пристрої "забути" link key, що само по собі веде до повторного pairing’у, а значить, зловмисник може підслухати весь процес із самого початку, перехопити всі важливі повідомлення і підібрати PIN.
Оцінка часу підбору PIN-кода
У протоколі Bluetooth активно використовуються алгоритми E22, E21, E1, засновані на шифрі SAFER+. Те, що уразливість відноситься до критичних, підтвердив Брюс Шнайер (Bruce Schneier). Підбір PIN’a на практиці чудово працює. Нижче приведені результати отримані на Pentium IV HT на 3 Ггц:
Довжина (знаків) |
Час (сек) |
4 |
0,063 |
5 |
0,75 |
6 |
7,609 |
Конкретні реалізації вищеописаних атак можуть працювати з різною швидкістю. Способів оптимізації безліч: особливі налаштування компілятора, різні реалізації циклів, умов і арифметичних операцій. Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) зробили прорив, знайшовши спосіб скоротити час перебору PIN-коду в рази. Ця оптимізація виходить за рамки даної статті, але, варто відзначити, що мова йде про оптимізації базових алгоритмів стека bluetooth. В світлі сучасних технологій (зокрема nVidia CUDA) результати могли бути ще краще.
Збільшення довжини PIN-кода не є панацеєю і лише трохи збільшує час перебору. Тільки сполучення пристроїв в безпечному місці може частково захистити від описаних атак. Приклад - bluetooth гарнітура або автомобільний handsfree. Ініціалізація зв'язку (при включенні) з даними пристроями може відбуватися багато разів протягом дня, і не завжди у користувача є можливість знаходитися при цьому в захищеному місці. Втім, атаки подібного вигляду не будуть дуже популярні, принаймні, поки не буде реалізовано доступних апаратних засобів і універсальних програмних пакетів. Впровадження NFC є ефективним рішенням проти даного виду атак, але в цілому, ситуація не зміниться до кращого до появи на ринку достатньої кількості рішень на Bluetooth 2.1 (з підтримкою NFC), а через їх зворотну сумісність з попередніми версіями протоколу, вищевикладені атаки будуть актуальні ще достатньо тривалий час.
Застосування
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто чекати роботу на відстані більше 10-20 метрів. Такого дальнодействия недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацьовування алгоритмів атаки, на Defcon-2004 публіці була представлена антена-рушниця BlueSniper, розроблена Джонном Херінгтоном (John Herington). Пристрій підключається до портативного пристрою - ноутбуку/КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км).
Bluetooth: принципи побудови і функціонування
Bluetooth - це технологія передачі даних по радіо на коротку дистанцію, що дозволяє здійснювати зв'язок безпровідних телефонів, комп'ютерів і різної периферії за відсутності прямої видимості.
Розробку Bluetooth зачала компанія ERICSSON ще в 1994 році. Первинною метою було отримання нового радіоінтерфейсу з низьким рівнем енергоспоживання і невисокою вартістю, який дозволив би встановлювати зв'язок між стільниковими телефонами і безпровідними гарнітурами. Крім того, згідно концепції ERICSSON, новий інтерфейс призначався для передачі даних і мовних повідомлень, причому з будь-якої точки миру. Для забезпечення ширшої підтримки молодої технології в таких секторах ринку, як настільні системи, кишенькові комп'ютери і мобільні телефони, ERICSSON в лютому 1998 року організувала консорціум по розробці і просуванню нової технології під назвою Bluetooth SIG (Special Interest Group). Нині в нього входить більше 2000 різних фірм, у тому числі такі великі, як 3СOM, NOKIA, INTEL, NATIONAL SEMICONDACTOR і так далі.
У Bluetooth-технології сфокусовані кращі на сьогоднішній день досягнення сучасної мікроелектроніки як в області апаратури (Hardware), так і в програмному забезпеченні (Software). Bluetooth-системи відносяться до класу взаємодіючих відкритих систем. Bluetooth-устройства фізично є мікросхемами, що забезпечують зв'язок в діапазоні 2,4 Ггц. Цей діапазон в більшій частці європейських країн і США відноситься до смуги для приладів промислового, наукового і медичного застосування - ISM (Industrial, Ssientific, Medical). Його експлуатація не вимагає ліцензування. Вживана частота означає, що майдан кристалів в Bluetooth-устройствах не перевищує квадратного сантиметра, а споживана потужність вельми мала (1.2,5 мВт). Пристрої забезпечують зв'язок на відстані до 10 метрів. При збільшенні потужності до 100 мВт Bluetooth-устройства стануть більш "далекобійними" (до 100 м).
Технологія Bluetooth повністю відкрита. Будь-яка компанія, що підписала ліцензійну угоду, може увійти до складу Bluetooth SIG і зачати створювати продукти на її основі. Для виключення появи несумісних пристроїв розроблені докладні специфікації, що включають детальний опис методів використання нового стандарту і характеристики протоколів передачі даних. Спрощена блок-схема Bluetooth-связи представлена на рис.1.
Рис. Bluetooth-связь між хостами - програмне забезпечення; - вбудоване програмне забезпечення, - апаратура
На прикладі Bluetooth-зв’язку за типом "крапка - крапка" показана інформаційна взаємодія двох хостов. Кожен Bluetooth-модуль містить формуючу і приймально-передавальну апаратуру, а також вбудоване або "зашите" програмне забезпечення (Firmware). До останнього відноситься інтерфейс хост-контроллера (HCI), менеджер зв'язку (Link Manager), а також контроллер частоти (Baseband). Зв’язок модуля, що несе, з хостом на фізичному і канальному рівнях здійснюється з допомогою шин USB, UART, РС Card і відповідного вбудованого ПО. До фізичного рівня відноситься також радіолінія між модулями.
Модуль підтримує прийом - передачу даних і мовних сигналів. Зв'язок між модулем і хост-контроллером проводиться за допомогою високошвидкісного USB-интерфейса або UART/PCM-интерфейса. Коли використовується USB-интерфейс, модуль є USB-ведомим приладом і тому не вимагає ресурсів персонального комп'ютера.
Інтерфейс хост-контроллера (ІХК) в модулі є командним інтерфейсом. Хост через ІХК направляє команди, а у відповідь приймає від модуля повідомлення про їх виконання. Менеджер зв'язку встановлює необхідну конфігурацію ІХК.
Технологія Вluetooth передбачає два види зв'язку: синхронну - SCO (Synchronous Connection Oriented) і асинхронну - ACL (Аsynchronous Connectionless). Перший вигляд, SCO, розрахований на встановлення симетричного з'єднання "крапка - крапка" і служить переважно для передачі мовних повідомлень. Швидкість передачі інформації SCO дорівнює 64 Кит/с. Другий, ACL, призначений для пакетної передачі даних. Він підтримує симетричні і асиметричні з'єднання типа "крапка - багато крапок". Швидкість передачі пакетної інформації при ACL складає порядка 721 Кбіт/с. Пакети даних мають фіксований формат. На початку блоку знаходиться 72-бит код доступу. Він може застосовуватися, зокрема, для синхронізації пристроїв. За ним слідує 54-бит заголовок пакету, що містить контрольну суму пакету і інформацію про його параметри (наприклад, про повторну передачу блоку даних). Замикає пакет область, що безпосередньо містить інформацію, що пересилається. Розмір цієї області варіюється від 0 до 2745 битий.
Основоположним принципом побудови систем Bluetooth є використання методу розширення спектру при стрибкоподібній зміні частоти (FHSS - Frequency Hop Spread Spectrum). Весь виділений для Bluetooth-радіозв'язку частотний діапазон 2,402.2,480 Ггц розбитий на N частотних каналів (мал.2а). Смуга кожного каналу 1 Мгц, рознесення каналів - 140.175 кГц. Для кодування пакетної інформації використовується частотна маніпуляція (рис.2б).
Рис 2. Частотний діапазон Bluetooth (а) і спосіб кодування пакетної інформації
Для США і Европи N = 79. Виняток становлять Іспанія і Франція, де для Bluetooth застосовується 23 частотних каналу. Зміна каналів проводиться по псевдовипадковому закону з частотою 1600 Гц. Постійне чергування частот дозволяє радіоінтерфейсу Bluetooth транслювати інформацію по всьому діапазону ISM і уникнути дії перешкод з боку пристроїв, що працюють в цьому ж діапазоні. Якщо даний канал зашумлений, то система перейде на іншій, і так відбуватиметься до тих пір, поки не виявиться канал, вільний від перешкод. На мал.3 показана частотно-тимчасова плоскість, що ілюструє одночасну роботу трьох Bluetooth-модулів. Модулі працюють тактами (слотами), тривалістю 625 мкс. Кожному модулю в межах кожного такту призначається відповідний частотний канал і режим передачі або прийому.
Рис 3. Частотно-тимчасова діаграма роботи модулів Bluetooth
Коли пара будь-яких Bluetooth-устройств з'єднується, то вони утворюють пікомережу. Апарат, що ініціює зв'язок, є таким, що веде (host, master), а останні - веденими (slaves). Зазвичай ведучим є той модуль, який розміщений в найбільш потужному пристрої, такому, як персональний комп'ютер або плата CPU МІНІ-ЕОМ. Число модулів в пікомережі не обмежується, але у будь-який момент часу активні мають бути не більше восьми. Не існує різниці як в апаратній, так і в програмній частці між ведучими і веденими пристроями. Будь-яке з них може бути і тим і іншим. Те, що веде формує пікомережа (у кожній мережі воно тільки одне) і повністю контролює трафік. Ведені можуть посилати повідомлення тільки в інтервалі "ведені - ведучому" після того, як до них звернувся в попередній слот "ведучий - веденим". Якщо в цьому інтервалі у ведучого немає ніякої інформації для відправки веденим, то він передає пакет тільки з кодом доступу і заголовком. Якщо в мережі опиняється більше 8 пристроїв, то буде сформована друга пікомережа і так далі. Передбачена координація трафіку і між мережами.
Безліч пікомереж, здатних взаємодіяти один з одним, формують розподілену мережу (Scatternet) (рис.4).
Рис 4. Пікосеті і розподілена мережа BLUETOOTH
Не дивлячись на FHSS, пристрої Bluetooth не завжди можуть виключити проблеми, пов'язані з дією перешкод в діапазоні 2,4 Ггц. Тому окрім FHSS використовується спеціальне кодування сигналів. По-перше, кодування трафіку помітно підвищує рівень захищеності зв'язку. По-друге, кодування дозволяє за допомогою спеціальних алгоритмів виявляти і коректувати помилки передачі даних. Крім того, щоб бути упевненим в тому, що пристрої вступають в зв'язок тільки з авторизованими на те пристроями, передбачена також вбудована процедура аутентифікації. Цим присікається несанкціонований доступ до даних.
Модуль ROK 101 007 виробництв ERICSSON Microelectronics є базовим для здійснення Bluetooth-связи. Він відповідає вимогам специфікації Bluetooth v.1.0b. Розміри модуля 32,8х16,8х2,75 мм. Він може бути вбудований в будь-який електронний пристрій.
На рис.5 показана структурна схема модуля.
Рис 5. Структурна схема модуля BLUETOOTH ROK 101 007
Модуль містить контроллер частоти (baseband controller), що несе, флэш-пам’ять, радіомодуль PBA 313 01/2, а також регулятор напруги і кварцевий генератор на 13 Мгц. Для повноцінного функціонування радіомодуль має бути приєднаний до baseband або до приладу, який може його емулювати. Baseband побудований на основі процесора ARM7. Його важливими функціями є читання і запис інформації у внутрішні регістри радіоконтроллера ASIC. Ці регістри використовуються для установки частоти, налаштування і управління.
PBA 313 01/2 є крайовим каскадом системи Bluetooth-связи. У нім використані кульові роз'єми BGA, а всі дискретні елементи змонтовані на одній стороні плати, яка побудована на основі технології LTCC - низькотемпературної спільно обпалюваної кераміки. Плата складається з 6 шарів цієї кераміки і 7 металевих шарів. Спеціалізована мікросхема Radio ASIC - радіоконтроллер за допомогою роз'ємів BGA підключена до підкладки радіомодуля, а мікросмужний резонатор VCO для забезпечення необхідних характеристик оброблений за допомогою лазера. Спільний вид радіомодуля і спосіб кріплення чіпа радіоконтроллера на його платі показаний на мал.6.
Малюнок 6. Спільний вид радіомодуля PBA 313 01/2 (а) і спосіб кріплення радіомодуля і ASIC до спільної плати ROK 101 007/2 (б)
Зв'язок між baseband і радіоконтроллером здійснюється через послідовний інтерфейс. Для PBA 313 01/2 потрібні зовнішня антена і кварц на 13 Мгц або вхідний тактовий сигнал. Проблема живлення вирішується так: одне джерело 2,8 В живить VCO (генератор керований напругою), а друге джерело 2,2 В - решта всіх ланцюгів. Обидва формуються з вхідної напруги 3,3 В. Джерела мають бути розв'язані по низькій частоті.
Передавач має три класи потужності: 1-й клас - 100 мВт (20 дБ), 2-ою клас - 2,5 мВт (4 дБ), 3-ий клас - 1 мВт (0 дБ). Чутливість приймача не гірша - 70 дБ.
Для розробки пристроїв на основі модуля ROK 101 007 необхідно використовувати налагоджувальний (EBDK) і стартовий (EBSK) набори, що діють за принципом plug&play.
У Росії до технології Bluetooth виявляється величезний інтерес. Найбільш перспективними є ті області промисловості і народного господарства, де потрібний збір і обробка великої кількості одночасно вимірюваних параметрів, наприклад, нафтопромисли, металургійні заводи, житлово-комунальне господарство і так далі.
Додаткову інформацію можна отримати в Технічно-консультаційному центрі "Ерікссон".
Офіційним дистриб'ютором продукції ERICSSON Microelectronics в Росії є фірма "Петроїнтрейд".
Перспективи bluetooth
Технологія Bluetooth вже упевнено розглядується багатьма розробниками як партнерська технологія універсального радіозв'язку для локальних мереж. Bluetooth вже активно діє на світовому ринку нових технологій як каталізатор лави інших дуже важливих і перспективних мережевих ініціатив. Технологія Bluetooth вже висунута разом з Jini на премію 1999 р. за кращу технологічну інновацію (щорічні премії журналу Discover).
У найближчий рік пристрою Bluetooth вбудовуватимуться в 80% стільникових телефонів. Зараз вже з'явилися передавачі, що підключаються через РС-карту і USB. Ericsson випустила комплект мікрофону з навушниками, що використовує технологію Bluetooth для зв'язку з мобільним телефоном, дозволяючи розмовляти по телефону не тримаючи його в руках. На тому ж CEBIT компанія Toshiba продемонструвала пристрій, використовуюче Bluetooth і відеостандарт MPEG-4 для проведення відео-конференції - зображення з камери передавалося на комп'ютер і потім на ще один комп'ютер. NEC, а слідом за нею IBM, заявили про свій намір зачати в середині 2000 року випуск ноутбуків з вбудованими чіпами Bluetooth. Корпорація Intel вже розробила спеціальне ПО, яке дозволить передавати по радіомережах Bluetooth комп'ютерні файли. Все більше і більше компаній звертають увагу на технологію. В найближчому майбутньому повинні з'явитися різні периферійні пристрої, такі як принтери, клавіатури, миші, що працюють з новою технологією.
У травні 99 року Ericsson зачав постачання першого інструментального набору Bluetooth для розробників додатків. Вартість набору близько 450 дол. (дві системні плати, програмні модулі, тести радіоканалів). Доступність специфікацій Bluetooth дозволяє вже сьогодні сотням розробників приступити до створення прототипних радіосистем.
Література
Ericsson: Preliminary ROK 101 007.
Ericsson: Preliminary PBA 313 01/2.
Bluetooth Specification. V.1.1 part H:
1. Host Controller Interface.
Киселев В. Прорезался Bluetooth // Мир ПК. 2001. № 2.