Смекни!
smekni.com

Bluetooth принципи побудови і функціонування (стр. 2 из 5)

Модулі з підтримкою нової специфікації сполучають в собі дві радіосистеми: перша забезпечує передачу даних в 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-коды.