Название: Bluetooth: принципи побудови і функціонування
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа
Добавлен 15:19:58 06 июня 2010 Похожие работы
Просмотров: 133
Комментариев: 0
Оценило: 0 человек
Средний балл: 0
Оценка: неизвестно Скачать
Содержание
Вступ
Історія створення і розвитку
Принцип роботи 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 Ггц:
Скачать Курсовая работа: Bluetooth: принципи побудови і функціонуванняКурсовая работа: Bluetooth: принципи побудови і функціонування">Скачать Курсовая работа: Bluetooth: принципи побудови і функціонування одним архивом
|