Рефераты. Bluetooth: принципи побудови і функціонування

Bluetooth: принципи побудови і функціонування

9

Содержание

  • Вступ
    • Історія створення і розвитку
    • Принцип роботи 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 Subrating, яка дозволяє збільшити тривалість роботи пристрою від одного заряду акумулятора в 3-10 разів. Крім того оновлена специфікація істотно спрощує і прискорює встановлення зв'язку між двома пристроями, дозволяє проводити оновлення ключа шифрування без розриву з'єднання, а також робить вказані з'єднання захищенішими, завдяки використанню технології Near Field Communication.

Bluetooth 2.1 + EDR

У серпні 2008 року Bluetooth SIG представив версію 2.1+EDR. Нова редакція Bluetooth знижує споживання енергії в 5 разів, підвищує рівень захисту даних і полегшує розпізнавання і з'єднання Bluetooth-устройств завдяки зменшенню кількості кроків за яких воно виконується.

Bluetooth 3.0 + HS

3.0 + HS специфікація <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

Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.