Содержание
Вступ
Історія створення і розвитку
Принцип роботи 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-бітова мережева адреса, сумісна з форматом стандарту локальних мереж IEEE802.
СПЕЦИФІКАЦІЇ
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 ControllerInterface (HCI) додана підтримка трьох-провідного інтерфейсу UART.
Затверджений якстандарт IEEE Standard 802.15.1-2005
Введені режимиуправління потоком даних (Flow Control) і повторної передачі (RetransmissionModes) для 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специфікація була прийнята Bluetooth SIG 21 квітня 2009 року. Вона підтримуєтеоретичну швидкість передачі даних до 24 Мбіт/с. Її основною особливістю єдодавання AMP (Асиметрична Мультипроцесорна Обробка) (альтернативно MAC/PHY),доповнення до 802.11 як високошвидкісне повідомлення. Дві технології булипередбачені для AMP: 802.11 і UWB, але UWB відсутній в специфікації.
Модулі зпідтримкою нової специфікації сполучають в собі дві радіосистеми: першазабезпечує передачу даних в 3 Мб/с (стандартна для Bluetooth 2.0) і має низькеенергоспоживання; друга сумісна із стандартом 802.11 і забезпечує можливістьпередачі даних з швидкістю до 24 Мбіт/с (порівнянна із швидкістю мереж Wi-Fi). Вибіррадіосистеми для передачі даних залежить від розміру передаваного файлу. Невеликіфайли передаються по повільному каналу, а великі — по високошвидкісному. Bluetooth3.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 AudioDistribution Profile (A2DP)
A2DP розробленийдля передачі двоканального стерео аудіопотоку, наприклад музики, добезпровідної гарнітури або будь-якого іншого пристрою. Профіль повністюпідтримує низкокомпресованый кодек Sub_Band_Codec (SBC) і опціонально підтримуєMPEG-1,2 аудіо, MPEG-2,4 ААС і ATRAC, здатний підтримувати кодеки визначенівиробником.
Audio / VideoRemote Control Profile (AVRCP)
Цей профільрозроблений для управління стандартними функціями телевізорів, Hi-Fiустаткування і інше. Тобто дозволяє створювати пристрою з функціямидистанційного керування. Може використовуватися в зв'язці з профілями A2DP абоVDPT.
Basic ImagingProfile (BIP)
Профільрозроблений для пересилки зображень між пристроями і включає можливість змінирозміру зображення і конвертацію в підтримуваний формат приймаючого пристрою.
Basic PrintingProfile (BPP)
Профіль дозволяєпересилати текст, e-mails, vCard і інші елементи на принтер. Профіль не вимагаєвід принтера специфічних драйверів, що вигідно відрізняє його від HCRP.
Common ISDN AccessProfile (CIP)
Профіль длядоступу пристроїв до ISDN.
Cordless TelephonyProfile (CTP)
Профільбезпровідної телефонії.
Device ID Profile(DID)
Профіль дозволяєідентифікувати клас пристрою, виробника, версію продукту.
Dial-up NetworkingProfile (DUN)
Протокол надаєстандартний доступ до інтернету або іншого телефонного сервісу через Bluetooth.Базується на SPP, включає команди PPP і AT, визначені в специфікації ETSI 07.07.
Fax Profile (FAX)
Профіль надаєінтерфейс між мобільним або стаціонарним телефоном і ПК на якому встановленопрограмне забезпечення для факсів. Підтримує набір AT-команд в стилі ITU T.31і/або ITU T.32. Голосовий дзвінок або передача даних профілем не підтримується.
File TransferProfile (FTP_profile)
Профіль забезпечуєдоступ до файлової системи пристрою. Включає стандартний набір команд FTP, щодозволяє отримувати список директорій, зміни директорій, отримувати, передаватиі видаляти файли. Як транспорт використовується OBEX, базується на GOEP.
General Audio /Video Distribution Profile (GAVDP)
Профіль є базоюдля A2DP і VDP.
Generic AccessProfile (GAP)
Профіль є базоюдля решти всіх профілів.
Generic ObjectExchange Profile (GOEP)
Профіль є базоюдля інших профілів передачі даних, базується на OBEX.
Hard Copy CableReplacement Profile (HCRP)
Профіль надаєпросту альтернативу кабельного з'єднання між пристроєм і принтером. Мінуспрофілю в тому, що для принтера необхідні специфічні драйвера, що робитьпрофіль не універсальним.
Hands-Free Profile(HFP)
Профільвикористовується для з'єднання безпровідної гарнітури і телефону, передаємонозвук в одному каналі.
Human InterfaceDevice 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 PushProfile (OPP)
Базовий профільдля пересилки «об'єктів», таких як зображення, віртуальні візитнікартки і ін. Передачу даних ініціює відправляючий пристрій (клієнт), а неприймальне (сервер).
Personal AreaNetworking Profile (PAN)
Профіль дозволяєвикористовувати протокол Bluetooth Network Encapsulation як транспорт черезBluetooth-з’єднання.
Phone Book AccessProfile (PBAP)
Профіль дозволяєобмінюватися записами телефонних книг між пристроями.
Serial PortProfile (SPP)
Профіль базуєтьсяна специфікації ETSI TS07.10 і використовує протокол RFCOMM. Профіль емулюєпослідовний порт, надаючи можливість заміни стандартного RS-232 безпровіднимз'єднанням. Є базовим для профілів DUN, FAX, HSP і AVRCP.
Service DiscoveryApplication Profile (SDAP)
Профільвикористовується для надання інформації про профілі, які використовуєпристрій-сервер.
SIM Access Profile(SAP, SIM)
Профіль дозволяєдістати доступ до SIM-карте телефону, що дозволяє використовувати однуSIM-карту для декількох пристроїв.
SynchronisationProfile (SYNCH)
Профіль дозволяєсинхронізувати особисті дані (PIM). Профіль запозичений із специфікаціїінфрачервоного зв'язку і адаптований групою Bluetooth SIG.
Video DistributionProfile (VDP)
Профіль дозволяєпередавати потокове відео. Підтримує H.263, стандарти MPEG-4 Visual SimpleProfile, H.263 profiles 3, profile 8 підтримуються опционально і не містяться вспецифікації.
WirelessApplication 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 — Mutualauthentication або взаємна аутентифікація. Заснована вона на схемі «запит-відповідь».Один з пристроїв стає верифікатором, генерує випадкову величину AU_RAND (A) ізасилає його сусідньому пристрою (у plain text), званому пред'явником (claimant- в оригінальній документації). Як тільки пред'явник отримує це «слово»,зачинається обчислення величини SRES по алгоритму E1, і вона відправляєтьсяверифікатору. Сусідній пристрій проводить аналогічні обчислення і перевіряєвідповідь пред'явника. Якщо SRES збіглися, то, значить, все добре, і теперпристрої міняються ролями, таким чином процес повторюється наново.
E1-алгоритм оперуєтакими величинами:
·Випадковостворене AU_RAND
·link key Kab
·Свій власнийBD_ADDR
Уразливості іатаки
Базова pairingатака (атака на сполучення)
Проаналізуємодані, обмін якими йде впродовж процесу сполучення:
№ОтДоДаніДовжина (битий)Інша інформація
1ABIN_RAND128plaintext
2ABLK_RAND (A) 128XORedwith Kinit
3BALK_RAND (B) 128XORedwith 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) XORLK_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+. Те, що уразливість відноситься до критичних, підтвердив Брюс Шнайер (BruceSchneier). Підбір PIN’a на практиці чудово працює. Нижче приведені результатиотримані на Pentium IV HT на 3 Ггц: