Відмінності між версіями «Технологія Bluetooth»
2654507 (обговорення • внесок) (→Означення по темі технологія Bluetooth) |
|||
(не показано 62 проміжні версії 11 учасників) | |||
Рядок 1: | Рядок 1: | ||
− | == | + | [[Файл:bluetooth1.png|800px|right]] |
+ | = Вступ до теми Bluetooth = | ||
+ | [[Файл:Bluetooth headset.jpg|thumb|Гарнітура для мобільного телефону, яка використовується для передачі голосу Bluetooth]] | ||
+ | Bluetooth (англ. Bluetooth) — технологія бездротового зв'язку, розробленого групою Bluetooth Special Interest Group (Bluetooth SIG), яка була заснована 20 травня 1998 році. У неї увійшли компанії Ericsson, IBM, Intel, Toshiba і Nokia. Потім багато компаній, включаючи Microsoft, Lenovo і Motorola, вступили в неї як асоційовані члени. Будь-яка компанія, яка планує розробляти пристрої Bluetooth, може безкоштовно увійти в цю групу. У SIG вже складається близько 2000 компаній. Згодом Bluetooth SIG і IEEE досягли угоди, на основі якої специфікація Bluetooth стало частиною стандарту IEEE 802.15.1. Роботи із створення Bluetooth компанія Ericsson Mobile Communication почала в 1994 році. Спочатку ця технологія була пристосована під потреби системи FLYWAY у функціональному інтерфейсі між мандрівниками та системою. | ||
− | + | '''Назва Bluetooth''' ("синій зуб") походить від прізвища середньовічного короля Данії Гаральда I Синєзубого (норв. Harald Blåtann). Гаральд вмів посадити за стіл переговорів ворогуючі партії, домовляючись з кожною партією окремо, тому назва Bluetooth стала відповідним ім'ям для технології, що дозволяє різним пристроям спілкуватися один з одним. Використовуючи перші літери імені короля (руни B та H) у комбінації, створено й логотип технології. | |
− | + | На відміну від технології інфрачервоного зв'язку IrDA (Infrared Direct Access), що працює за принципом "точка-точка" в зоні прямої видимості, технологія Bluetooth розроблялася для роботи як за принципом "точка-точка", так і в якості багатоточкового радіоканалу, керованого багаторівневим протоколом , схожим на протокол мобільного зв'язку GSM. Bluetooth стала конкурентом таких технологій, як IEEE 802.11, HomeRF і IrDA, хоча остання і не призначена для побудови локальних мереж, але є найпоширенішою технологією бездротового з'єднання комп'ютерів і периферійних пристроїв. | |
− | + | ''Основне призначення Bluetooth'' - забезпечення економного (з точки зору споживаного струму) і дешевого радіозв'язку між різноманітними типами електронних пристроїв, таких як мобільні телефони та аксесуари до них, портативні та настільні комп'ютери, принтери та інші. Причому, велике значення приділяється компактності електронних компонентів, що дає можливість застосовувати Bluetooth у малогабаритних пристроях розміром з наручний годинник. Bluetooth забезпечує обмін інформацією між такими пристроями як кишенькові і звичайні персональні комп'ютери, мобільні телефони, ноутбуки, принтери, цифрові фотоапарати, мишки, клавіатури, джойстики, навушники, гарнітури на надійній та недорогій радіочастоті для ближнього зв'язку. Bluetooth дозволяє цим пристроям обмінюватись інформацією, коли вони знаходяться в радіусі від 10 до 100 метрів один від одного, навіть в різних приміщеннях. Дальність дуже сильно залежить від механічних та радіо перешкод. | |
− | + | Технологія Bluetooth спеціально розроблена для забезпечення дешевою, стійкої, ефективної, високоємного зв'язку, для роботи з голосом і передачі даних, з наступними '''характеристиками:'''<br/> | |
− | 5. | + | :1.Швидкість передачі / прийому 1 Мбіт / с, при використанні каналу з максимально можливою шириною смуги.<br/> |
+ | :2.Швидкі перемикання частоти, щоб уникнути інтерференції.<br/> | ||
+ | :3.Адаптивна вихідна потужність для мінімізації перешкод.<br/> | ||
+ | :4.Короткі пакети даних для мінімізації потужності під час перешкод.<br/> | ||
+ | :5.Швидке впізнання (підтвердження).<br/> | ||
+ | :6.CVSD (Continuous Variable Slope Delta Modulation) голосове кодування, яке дає можливість роботи з високими частотами помилок по :бітам.<br/> | ||
+ | :7.Гнучкі типи пакетів, які підтримують широкий спектр додатків.<br/> | ||
+ | :8.Ненапружений "бюджет зв'язку", що підтримує недорогу інтеграцію окремих елементарних сигналів.<br/> | ||
+ | :9.Інтерфейс передачі / прийому, спеціально пристосований для мінімізації енергоспоживання.<br/><br/> | ||
− | + | Ці властивості дають технології Bluetooth можливість забезпечувати надзвичайно гнучкий зв'язок з високими швидкостями передачі даних навіть за наявності серйозних перешкод. При завідомо хорошому прийомі в сприятливих умовах передачі сигналу, в міру посилення перешкод, падіння якості переданого сигналу буде залишатися мінімальним і поступовим, що дає можливість збереження стабільного зв'язку. | |
− | + | Bluetooth має RF (Radio Frequency) специфікації для передачі голосу і даних на короткі відстані, "точка-мультиточка".<br/><br/> | |
− | + | Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А) [4]. Ці числа декларуються стандартом для прямої видимості, в реальності не варто чекати роботу на відстані більше 10-20 метрів. Такого дальнодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацьовування алгоритмів атаки, на Defcon-2004 публіці була представлена антена-гвинтівка BlueSniper, розроблена Джонном Херінгтоном (John Herington). Пристрій підключається до портативного пристрою ноутбуку/КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км.) | |
− | + | = Принцип дії Bluetooth = | |
− | + | Радіозв'язок Bluetooth здійснюється в '''ISM''' діапазоні (англ. Industry, Science and Medicine - смуга промислового, наукового та медичного застосування), який використовується в різних побутових приладах і безпровідних мережах (вільний від ліцензування діапазон 2,4-2,4835 Ггц). Спектр сигналу формується по методу FHSS (Frequency Hopping Spread Spectrum псевдовипадкова перебудова робочої частоти). Метод FHSS простий в реалізації, забезпечує стійкість до широкосмугових перешкод, а устаткування коштує недорого [1]. | |
− | + | Згідно '''алгоритму FHSS''', в Bluetooth частота сигналу, що несе, стрибкоподібно міняється 1600 разів в секунду (всього виділяється 79 робочих частот шириною в 1 Мгц, а в Японії, Франції і Іспанії смуга вже 23 частотних каналу). Послідовність перемикання між частотами для кожного з'єднання є псевдовипадковою і відома тільки передавачу і приймачу, які кожні 625 мкс (один часовий слот) синхронно перебудовуються з однієї частоти, що несе, на іншу. Таким чином, якщо поряд працюють декілька пар приймач-передавач, то вони не заважають один одному. Цей алгоритм є також складовою частиною системи захисту конфіденційності передаваної інформації: перехід відбувається по псевдовипадковому алгоритму і визначається окремо для кожного з'єднання. При передачі цифрових даних і аудіосигналу (64 Кбіт/с в обох напрямах) використовуються різні схеми кодування: аудио-сигнал не повторюється (як правило), а цифрові дані у разі втрати пакету інформації будуть передані повторно. Без перешкодостійкого кодування це забезпечує передачу даних зі швидкостями 723,2 Кбіт/с із зворотним каналом 57,6 Кбіт/с, або 433,9 Кбіт/c в обох напрямах. | |
− | + | Для '''повнодуплексної''' передачі використовується '''дуплексний''' режим з тимчасовим розділенням (TDD). Підтримується ''ізохронна'' і ''асинхронна'' передача даних і забезпечується проста інтеграція з TCP / IP. Енергоспоживання пристроїв Bluetooth має бути в межах 0.1 Вт. Кожен пристрій має унікальну 48-бітову мережеву адресу, сумісний з форматом стандарту локальних мереж IEEE 802. | |
− | == | + | = Специфікації Bluetooth = |
+ | |||
+ | '''[[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. Основним нововведенням стала підтримка Enhanced Data Rate (EDR) для прискорення передачі даних. Номінальна швидкість EDR близько 3 Мбіт / с, проте на практиці це дозволило підвищити швидкість передачі даних тільки до 2,1 Мбіт / с. Додаткова продуктивність досягається за допомогою різних радіо технологій для передачі даних. | ||
+ | |||
+ | Стандартна (базова) швидкість передачі даних використовує GFSK-модуляцію радіосигналу при швидкості передачі в 1 Мбіт / с. EDR використовує поєднання модуляцій GFSK і PSK з двома варіантами, π/4-DQPSK і 8DPSK. Вони мають великі швидкості передачі даних по повітрю — 2 і 3 Мбіт / с відповідно. | ||
+ | |||
+ | Bluetooth SIG видала специфікацію як «Технологія Bluetooth 2.0 + EDR», яка передбачає, що EDR є додатковою функцією. Крім EDR є й інші незначні удосконалення до 2.0 специфікації, і продукти можуть відповідати «Технології Bluetooth 2.0», не підтримуючи вищу швидкість передачі даних. Принаймні одне комерційне пристрій, HTC TyTN Pocket PC, використовує «Bluetooth 2.0 без EDR» у своїх технічних специфікаціях. | ||
+ | |||
+ | Згідно з 2.0 + EDR специфікацією, EDR забезпечує наступні переваги: | ||
+ | |||
+ | :•Збільшення швидкості передачі в 3 рази (2,1 Мбіт / с) в деяких випадках. | ||
+ | :•Зменшення складності декількох одночасних підключень через додаткової смуги пропускання. | ||
+ | :•Нижче споживання енергії завдяки зменшенню навантаження. | ||
+ | |||
+ | '''EDR(Enhanced Data Rate)''' - це технологія, що дозволяє збільшити швидкість передачі даних через Bluetooth. Це метод розповсюдження і поділу обсягу і типів Bluetooth пакетів , з метою збільшення максимальної пропускної здатності , що забезпечує стабільність зв'язку при великій кількості підключень , знижує споживану потужність , при цьому не змінює решту архітектуру вихідної технології . Enhanced data rate була впроваджена у версії Bluetooth 2.0 в 2004 році. Саме EDR дозволила підвищити швидкість передачі даних до 2.1 Мбіт / с. | ||
+ | |||
+ | EDR може бути вибраний як режим , який впливає безпосередньо на кожну окрему логічну передачу. Технологія передбачає стандартний набір додаткових типів пакетів і правил обміну для забезпечення заданих в специфікації швидкісних режимів . | ||
+ | |||
+ | '''[[Bluetooth 2.1]]''' | ||
+ | |||
+ | У Bluetooth версії 2.1 (2007) додана ''технологія розширеного запиту характеристик пристрою'' (для додаткової фільтрації списку при спряжуванні), ''енергозберігаюча технологія'' (Sniff Subrating), яка дозволяє збільшити тривалість роботи пристрою від одного заряду акумулятора в 3-10 разів. Крім того оновлена специфікація істотно спрощує і прискорює встановлення зв'язку між двома пристроями, дозволяє проводити оновлення ключа шифрування без розриву з'єднання, а також робить вказані з'єднання захищенішими, завдяки використанню технології Near Field Communication.[2] | ||
+ | |||
+ | '''[[Bluetooth 3.0]]''' | ||
+ | |||
+ | Робоча група з розробки стандарту бездротової передачі даних Bluetooth, 21 квітня 2009 випускає специфікацію Bluetooth 3.0. Модулі з підтримкою нової специфікації поєднуватимуть в собі дві радіосистеми. Перша, з низьким енергоспоживанням, забезпечує передачу даних на звичайній для другої версії Bluetooth швидкості в три мегабіти в секунду. Інша, високошвидкісна і сумісна із ''стандартом 802.11'', забезпечує швидкості, порівнянні із швидкістю мереж '''Wi-Fi'''. Варто відзначити, що Bluetooth 3.0 використовує стандарт 802.11 без суфікса, тобто формально не сумісний з такими специфікаціями Wi-Fi, як 802.11b/g або 802.11n. 802.11 — загальніший стандарт. Використання тієї або іншої радіосистеми залежить від розміру передаваного файлу. Невеликі файли передаватимуться по повільному каналу, а великі — по високошвидкісному. Після закінчення передачі модуль повернеться в режим зниженого енергоспоживання. Крім того, в Bluetooth 3.0 з'явиться можливість під назвою ''"розширений контроль живлення"'' (Enhanced Power Control). Вона дозволяє уникнути розриву з'єднання, якщо пристрій поклали в сумку або в кишеню. | ||
+ | |||
+ | '''[[Bluetooth 4.0]]''' | ||
+ | |||
+ | В грудні 2009 консорціум Bluetooth SIG анонсував ''стандарт Bluetooth 4.0 для електронних датчиків''. Новий стандарт ''призначений для передачі коротких пакетів'' даних обсягом по 8-27 байт зі швидкістю 1 Мбіт/с. Для порівняння, Bluetooth 3.0, розробка якого була завершена в квітні 2008, дозволяє передавати дані зі швидкістю до 24 Мбіт/с, але і призначений він для іншої сфери застосування. | ||
+ | |||
+ | '''Bluetooth 4.0 планується використовувати''' в мініатюрних сенсорах, що розміщуються на тілі пацієнтів, в спортивного взуття, тренажерах тощо. Сенсори на базі нового стандарту зможуть передавати різну інформацію з навколишнього світу — температуру, тиск, вологість, швидкість пересування і так далі - на різні пристрої контролю, включаючи мобільні телефони. За словами представників консорціуму, окремий стандарт був розроблений у зв'язку з тим, що Bluetooth 3.0 і більш ранні версії не в змозі забезпечити необхідний низький рівень енергоспоживання. | ||
+ | |||
+ | Перший чіп з одночасною підтримкою Bluetooth 4.0 і 3.0 випустив ST-Ericsson. | ||
+ | |||
+ | '''[[Bluetooth 4.1]]''' | ||
+ | 3 грудня 2013 на сайті організації Bluetooth Special Interest Group опубліковано повідомлення про те , що прийняті доповнення до специфікації Bluetooth Core Specification . Версія Bluetooth 4.1 названа «важливим еволюційним оновленням » стандарту бездротового підключення , який був радикально оновлений в липні 2010 року з твердженням специфікації Bluetooth Smart , орієнтованої на використання в інтернеті речей.<br> | ||
+ | Оновлення сфокусовано на вдосконаленні споживчих якостей інтерфейсу за рахунок поліпшення співіснування з LTE , підвищення ефективності передачі даних і надання розробникам нових можливостей , пов'язаних з тим , що пристрої можуть грати кілька ролей одночасно. Крім того , нова версія стандарту закладає основу для підключень на основі IP , розширюючи роль технології Bluetooth як важливого бездротового ланки інтернету речей.<br> | ||
+ | Якщо говорити про поліпшеної сумісності з LTE , радіочастотні блоки Bluetooth і LTE зможуть непомітно для користувача автоматично узгоджувати між собою передачу , щоб зменшити взаємний вплив при роботі в суміжних смугах частот.<br> | ||
+ | Повторне підключення стає більш гнучким за рахунок можливості керувати інтервалом часу повторного підключення . Це дозволить пристроям відновлювати підключення автоматично , як тільки вони знову опиняться в зоні дії . Наприклад , користувач може вийти з кімнати , а коли він повернеться , що знаходиться при ньому пристрій знову автоматично підключиться до пристрою в кімнаті. | ||
+ | Що стосується можливості одночасно грати дві ролі , вона може стати в нагоді , скажімо , розумним годинах , які виступають хабом Bluetooth Smart Ready по відношенню до датчика пульсу , але периферійним пристроєм Bluetooth Smart - по відношенню до смартфону , відображаючи на своєму екрані сповіщення про повідомлення , прийнятому смартфоном. | ||
+ | |||
+ | '''[[Bluetooth 4.2]]''' | ||
+ | |||
+ | 3 грудня 2014 Bluetooth Special Interest Group (SIG) представила специфікацію Bluetooth 4.2. В новій редакції збільшено швидкість прийому-передачі даних. Поліпшення конфіденційності та безпеки. Реалізовано можливість підключення до інтернету. | ||
+ | |||
+ | '''[[Bluetooth 5]]''' | ||
+ | |||
+ | Bluetooth SIG офіційно представила Bluetooth 5 16 червня 2016 року. Samsung Galaxy S8 підтримує Bluetooth 5.0. Зміни торкнулися в основному режиму з низьким споживанням і високошвидкісного режиму. Радіус дії збільшений в 4 рази, швидкість збільшена в 2 рази, але технологія вкрай вибаглива до відсутності перешкод, а особливо металу. | ||
+ | |||
+ | = Означення по темі технологія Bluetooth = | ||
+ | |||
+ | • '''Піконет''' - "пікомережа": | ||
+ | набір пристроїв, з'єднаних через технологію Bluetooth спеціальним способом. Піконет починається з двох з'єднаних пристроїв, таких як портативний ПК і стільниковий телефон, і може розростатися до восьми з'єднаних пристроїв ось чому потрібний адресний простір обмежений 3 бітами). Всі пристрої Bluetooth є одноранговими пристроями і мають ідентичну реалізацію. Однак при установці піконет один пристрій буде діяти як майстер для цілей синхронізації, а інший (і) - як слейв (и) для підтримки піконет-з'єднання.[19] | ||
+ | |||
+ | • '''Scatternet''' - "мережа розкиду": Дві або більше незалежних і несинхронізованих мережі піконет, взаємодіючих між собою. Як показано на, пристрій-слейв, так само, як і пристрій-майстер в одній мережі піконет можуть встановлювати таке з'єднання, стаючи слейвом в іншій мережі піконет. | ||
+ | |||
+ | • '''Пристрій майстер:''' пристрій у піконет, в якому генерація синхронизирующих імпульсів і послідовність стрибків використовуються для синхронізації всіх інших пристроїв у піконет. | ||
+ | |||
+ | • '''Пристрій слейв:''' всі пристрої в піконет, які не є майстром (до 7 активних пристроїв на кожен пристрій майстер). | ||
+ | |||
+ | • '''MAC-адреса:''' 3-бітний Media Access Control адреса, що використовується для розрізнення пристроїв, включених у піконет.[18] | ||
+ | |||
+ | • '''Парковані пристрої:''' пристрою в піконет, які синхронізовані, але не мають MAC-адрес. | ||
+ | |||
+ | • '''Sniff Mode''' і '''Hold Mode:''' пристрої, синхронізовані в піконет і мають тимчасово введені режими збереження енергії, в яких активність пристроїв знижена. | ||
+ | |||
+ | • '''Ad-hoc network''' (спеціальна мережа) - просто мережа, в якій взаємодії встановлюються між комплексними станціями в даній області покриття без використання точки доступу або сервера. | ||
+ | |||
+ | • '''Link Manager Protocol''' - повідомлення LMP використовуються для налаштування зв'язку, безпеки та управління. | ||
+ | |||
+ | • '''Інтерференція сигналів, або Завади''' — в зв'язку — все, що змінює або пошкоджує інформацію, що переноситься сигналами від передавача за допомоги каналу зв'язку до приймача (наприклад, сонячна інтерференція в супутниковому зв'язку).[16]<br/><br/> | ||
+ | |||
+ | :'''Користувацькі моделі''' | ||
+ | |||
+ | Користувацькі моделі описують, яким чином можна використовувати пристрої Bluetooth. У кожній моделі існує один або більше відповідних профілів, які визначають рівні протоколів і функції, які повинні бути використані. ''Наведений нижче опис - не детальний, і ці відомості не можна вважати повними.'' | ||
+ | |||
+ | :''Internet Bridge'' | ||
+ | |||
+ | Користувацька модель Internet Bridge описує, яким чином мобільний телефон або бездротовий модем забезпечує dial-up з'єднання персонального комп'ютера без необхідності фізичного з'єднання з ПК. Цей сценарій з'єднання вимагає використання мережі протоколів, що складається з двох частин - одна для команд AT, для управління процесом передачі необхідних даних з мобільного телефону та інших пристроїв. | ||
+ | |||
+ | :''Three-in-One Phone'' | ||
+ | |||
+ | Користувацька модель Three-in-One Phone описує, яким чином телефонний апарат може приєднуватися до трьох різних провайдерів мобільних послуг. Телефон може працювати як при бездротовому телефонному з'єднанні з громадською комутованій телефонною мережею в домашніх умовах, що оплачується за фіксованою таксою оператора телефонного зв'язку. Цей сценарій включає здійснення дзвінків через голосову базову станцію і прямих дзвінків між двома терміналами через базову станцію. За іншим сценарієм телефон може приєднуватися безпосередньо до інших телефонів, працюючи як "walkie-talkie" або як деяке розширення телефону - для такого способу ніякої додаткової оплати не потрібно. Нарешті, модель Three-in-One Phone може працювати як стільниковий телефон, приєднуючись до стільникової інфраструктурі. Бездротовий сценарій і сценарій двостороннього зв'язку використовують одну і ту ж мережу протоколів. | ||
+ | |||
+ | :''Ultimate Headset'' | ||
+ | |||
+ | Користувацька модель Ultimate Headset визначається як бездротова трубка, обладнана Bluetooth. Ця модель може працювати в умовах віддаленого вхідного і вихідного аудіо-інтерфейсу пристрою. Цим пристроєм може бути мобільний телефон або ПК для аудіо-входу або виходу. Як і у випадку користувальницької моделі Internet Bridge, дана модель вимагає набору протоколів, що складається з двох частин, одна для команд AT, щоб керувати передачею необхідних даних, наприклад мовлення, з мобільного телефону та іншого пристрою. Команди AT контролюють телефони стосовно, наприклад, до процесу відповіді і до переривання дзвінків. | ||
+ | |||
+ | :''LAN Access'' | ||
+ | |||
+ | Користувацька модель LAN Access схожа на користувальницьку модель Internet Bridge. Різниця полягає в тому, що призначена для користувача модель LAN Access не використовує протоколи для команд AT. Дана користувача модель описує, яким чином термінали введення даних використовують місце доступу LAN в якості бездротового з'єднання з локальною мережею. При встановленні з'єднанням термінали введення даних працюють, як якщо б це вони були приєднані до LAN через з'єднання dial-up. | ||
+ | |||
+ | :''File Transfer'' | ||
+ | |||
+ | Користувацька модель File Transfer пропонує можливість передачі даних з одного пристрою Bluetooth на інше. У даній користувальницької моделі підтримуються файли, цілі папки, директорії і різноформатні потоки даних. Дана модель також пропонує можливість перегляду вмісту папок на віддаленому пристрої. Більш того, в даній користувальницької моделі підтримуються операції обміну, наприклад, візитними картками з використанням формату vCard. Модель File Transfer базується на GOEP. | ||
+ | |||
+ | :''Synchronisation'' | ||
+ | |||
+ | Користувацька модель Synchronisation забезпечує можливості для автоматичної синхронізації між, наприклад, настільним ПК, портативним ПК, мобільним телефоном та ноутбуком. Дана користувача модель дозволяє проводити передачу візитних карток, списку завдань, записів з щоденника і т.д., і працювати далі з цією інформацією за допомогою комп'ютера, стільникового телефону і КПК, використовуючи звичайні протоколи і формати. | ||
+ | |||
+ | = Короткий огляд стека протоколу = | ||
+ | [[Файл:Image bt 1.jpg|550px|thumb|right|Стек протоколу технології Bluetooth]] | ||
+ | На малюнку показано, що стек протоколу складається з рівня радіо в основі, яке формує фізичний інтерфейс з'єднання. Рівень протоколу зв'язку baseband і Link Manager Protocol (LMP) встановлюють і контролюють з'єднання між пристроями Bluetooth. Ці три рівні підстави здійснені в обладнанні / програмному забезпеченні. Рівень Host Controller потрібно, щоб з'єднати за допомогою інтерфейсу Bluetooth з верхнім протоколом-L2CAP (Logical Link Control і Adaptation Protocol). Провідний контролер потрібно тільки тоді, коли L2CAP постійно знаходиться в програмному забезпеченні в хості. Якщо L2CAP is також на модулі Bluetooth цей рівень не потрібно, тому що L2CAP може безпосередньо зв'язуватися з LMP і baseband. Програми постійно знаходяться вище L2CAP. Наступні підрозділи дають короткий опис кожного рівня. | ||
+ | |||
+ | '''Рівень зв'язку''' | ||
+ | |||
+ | Зв'язок працює у вільному ISM діапазоні смузі близько 2.4GHz і використовує поширення спектру. Цей діапазон простирається від 2400 до 2483.5 МГЦ в більшості країн, і цілий діапазон використовується для оптимізації поширення спектру. Однак для деяких країн з меншим ISM діапазоном також використовується нижня шкала. Для поширення спектру використовується техніка frequency hopping (FH). Оскільки в цьому діапазоні можуть існувати і здійснювати втручання багаторазові нескоординовані мережі, використовуються швидкі FH і короткі передачі даних, оскільки відсоток помилки може бути високим, особливо з-за сильного втручання від мікрохвильових печей, які працюють у цій частоті. CVSD-кодування адаптоване під голосові передачі, які можуть викликати високий відсоток помилок. Додатково, заголовки пакетів захищені спеціальною схемою корекції помилок для додання стійкості проти збоїв. | ||
+ | |||
+ | Переходи по частоті фіксуються на 2402 k МГц, де k = 0,1 ,..., 78. омінальная частота переходу - 1600 стрибків в секунду. | ||
+ | |||
+ | '''Baseband''' | ||
+ | |||
+ | Baseband - рівень протоколу, контролюючий зв'язок. Baseband контролює послідовності перельоту частоти і дбає про кодування рівня для безпечних з'єднань. Можуть бути встановлені два типи з'єднань: | ||
+ | |||
+ | :SCO: Синхронне орієнтоване з'єднання. Ці сполуки передбачаються для передачі синхронних даних типу голос. | ||
+ | |||
+ | :ACL: Асинхронне з'єднання. Такі з'єднання можуть використовуватися для додатків передачі даних, які не вимагають синхронного зв'язку. | ||
+ | |||
+ | Baseband забезпечує функціональні можливості, необхідні для пристроїв, щоб синхронізувати їх годинник і встановлювати з'єднання. Також забезпечуються процедури запиту для виявлення адреси пристроїв, що знаходяться поблизу. Виправлення помилки для пакетів забезпечується в залежності від типу пакета. Різні типи пакету визначені для деяких загальних додатків, які відрізняються за їх місткості даних і накладних витрат по виправленню помилки. П'ять різних типів каналу забезпечуються для інформації контролю, інформацією управління з'єднанням, синхронними і асинхронними даними. Визначено функції, необхідні для генерації клавіш кодування і клавіш з'єднання. Більш детальний опис деяких з операцій baseband, пов'язаних з встановленням з'єднання, є в розділі. | ||
+ | |||
+ | '''Протокол Менеджера зв'язку''' | ||
+ | |||
+ | Основні функції LMP можна класифікувати | ||
+ | :1. Управління мережею [[Використовувані означення|Piconet]] | ||
+ | :2. Конфігурація сполук | ||
+ | :3. Функції безпеки | ||
+ | |||
+ | |||
+ | '''Рiconet''' є групою пристроїв, пов'язаних із загальним каналом, який ідентифікований з його унікальною послідовністю "перельоту". | ||
+ | |||
+ | Фундаментальні "будівельні блоки" топографії Bluetooth - це пристрої майстер і слейв, де пристрій майстер в піконет забезпечує генерацію синхронизирующих імпульсів і послідовність стрибків для синхронізації всіх інших пристроїв у піконет. Один з пристроїв, зазвичай той, який першим здійснив підключення, називається "master". До master `у може бути активно приєднано до семи пристроїв і набагато більше може бути підключено в стані" parked "(низького енергоспоживання). Пристрої в мережі piconet можуть з'єднуватися один з одним за допомогою SCO або ACL. Канал управляється master `ом, за допомогою Lin Manager в кожному пристрої. Будь-які два або більше пристроїв для з'єднання повинні встановити між собою мережу piconet. У той же час кожен пристрій може одночасно належати декількох мереж. (Мал.2). Майстер також нумерує канали зв'язку. Майстер визначає шаблон, на якому будуть працювати всі слейв-пристрої його мережі піконет, і синхронізує її роботу. | ||
+ | |||
+ | Стандарт Bluetooth має з'єднання незалежних і навіть не синхронізованих між собою піконет (до 10) в мережу scatternet. Для цього кожна пара пікомережі повинна мати як мінімум однин загальний пристрій, який буде майстром в одній і слейвом в іншій. Таким чином, в межах окремої scatternet з інтерфейсом Bluetooth може бути одночасно пов'язано максимум 71 пристрій, проте ніхто не обмежує застосування пристроїв-гейтів, які використовують той же інтернет для більш далекого зв'язку. | ||
+ | |||
+ | [[Файл:Schema3.JPG|350px|thumb|right|Piconet і Scatternet]] | ||
+ | a) [[Використовувані означення|Piconet]] між двома пристроями (або один майстер і один слейв)<br> | ||
+ | b) piconet між кількома пристроями (мультислейв до 7 "слейвів" з одним майстром)<br> | ||
+ | c) [[Використовувані означення|Scatternet]], комбінація мереж piconet (може з'єднувати до 10 піконет).<br> | ||
+ | |||
+ | LMP забезпечує функціональність приєднаний / від'єднаних пристроїв "slave", обмін функціями між пристроями master і slave та з'єднання ACL / SCO. LMP також обробляє пристрої в режимах низького енергоспоживання, hold, sniff і park, створених для збереження енергії, якщо пристрої не мають даних для передачі. | ||
+ | |||
+ | Завдання конфігурації з'єднання включають в себе параметри установки з'єднання, якість сервісу і контроль потужності, якщо це підтримується пристроєм. LMP також забезпечує ідентифікацію пристроїв, які будуть з'єднані, і управління клавішами з'єднання. | ||
+ | |||
+ | '''Логічний контроль зв'язку і Адаптаційний протокол''' | ||
+ | |||
+ | Це протокол, з яким взаємодіє більшість додатків, якщо ведучий контролер не використовується. Основні функції L2CAP: | ||
+ | |||
+ | '''Мультіорганізація''' | ||
+ | Протокол повинен дозволяти декільком додаткам одночасно використовувати з'єднання між двома пристроями. | ||
+ | |||
+ | '''Сегментація і Повторне об'єднання''' | ||
+ | |||
+ | Протокол повинен зменшити розмір пакетів, забезпечених додатками до розміру пакетів, прийнятих рівнем baseband. Сам L2CAP приймає розміри пакету до 64Кб, але пакети baseband можуть приймати до 2745 bits. Для отриманих пакетів повинна бути виконана зворотна процедура об'єднання сегментованих пакетів в належному порядку. | ||
+ | |||
+ | '''Якість обслуговування''' | ||
+ | |||
+ | L2CAP дозволяє додаткам вимагати QoS на деяких параметрах, типу пікової пропускної здатності, часу очікування та зміни затримки. | ||
+ | |||
+ | В основному, L2CAP забезпечує функції мережевого рівня до додатків і більш високим протоколів. | ||
+ | |||
+ | '''Інтерфейс головного контролера''' | ||
+ | |||
+ | Основна структура, що показує, як рівні головного контролера розташовані всередині стека протоколу. | ||
+ | |||
+ | [[Файл:Schema4.JPG|550px|thumb|right|Провідний контролер в стеку протоколу]] | ||
+ | |||
+ | Для більшості пристроїв модуль підтримки Bluetooth може бути додано в якості плати розширення, наприклад, для ПК або ноутбука апаратні засоби Bluetooth можуть бути додані як PCI-карта або USB-адаптер. Апаратні модулі звичайно здійснюють більш низькі радіо рівні, baseband і LMP. Тоді дані, які будуть надіслані LMP і baseband, йдуть з фізичної шині, наприклад, USB. Драйвер для цієї шини потрібно на хості, яким є PC, і на апаратній карті Bluetooth потрібно "інтерфейс контролера хоста", щоб прийняти дані з фізичної шині. Таким чином, потрібні такі додаткові рівні: | ||
+ | |||
+ | '''HCI драйвер''' | ||
+ | |||
+ | Це драйвер для інтерфейсу головного контролера хоста, вище фізичної шини, форматує дані, які будуть прийняті контролером хоста на апаратних засобах Bluetooth. | ||
+ | |||
+ | '''Інтерфейс головного контролера''' | ||
+ | |||
+ | Розміщується на апаратних засобах Bluetooth і підтримує зв'язок поверх фізичної шини. | ||
+ | |||
+ | '''Рівень програми''' | ||
+ | |||
+ | До L2CAP можна звертатися безпосередньо додатками або через протоколи підтримки подібно RFCOMM, TCS і SDP, згаданим раніше. Додатки можуть використовувати інші протоколи типу TCP-IP або WAP. Додатки можуть самостійно запускати протоколи, наприклад, PPP (Протокол "точка-точка"), FTP (протокол передачі файлів) або інші певні протоколи, як буде потрібно додатком. Програма може використовувати SDP, для перевірки, які потрібні сервісні можливості пристроїв, доступних в зоні дії. Багато моделей використання були запропоновані виробниками. Деякі з них: | ||
+ | |||
+ | :1. Три в одному: окрема телефонна трубка працює як селекторна зв'язок в офісі (ніякої плати за користування телефоном), Всякий раз можна використовувати будь-який з цих трьох режимів - як селекторний зв'язок, як PSTN і як мобільний телефон.<br> | ||
+ | :2. "Портфельна хитрість": RF-зв'язок не потребує прямої видимості між пристроями. Значить, мобільний телефон може під'єднатися до ноутбука навіть тоді, коли той перебуває в портфелі, і використовувати доступ до його можливостей, наприклад, до електронної пошти.<br> | ||
+ | :3. Автоматичний Синхронізатор: забезпечення бездротового зв'язку між PDA користувача, портативної ЕОМ і мобільним дозволить додаткам автоматично оновлювати та синхронізувати органайзер та інші дані, якщо модифікації зроблені на одному пристрої.<br> | ||
+ | :4. Бездротові навушники (гарнітури): Вони дозволяють доступ до мобільних пристроїв користувача і навіть до аудіо, в той час як пристрої знаходяться в кишені користувача. Таким чином, буде можлива операція hands-free.<br> | ||
+ | :5. Автомобільні комплекти: пристрої hands-free дозволяють водіям користуватися телефоном без відриву від управління автомобілем.<br> | ||
+ | |||
+ | Крім цього, було запропоновано велику різноманітність інших програм у домашньої автоматизації, обмін даними на нарадах без використання додаткового обладнання, керуючих пристроями через бездротове портативний пристрій при прогулянках, пропозиції системи захисту, мережеві доступи в громадських місцях, деякі з яких успішно демонструвалися на виставках або вже продаються. | ||
+ | |||
+ | |||
+ | [[Файл:Mal_1.jpg|450px|thumb|right|Огляд протоколів технології Bluetooth]] | ||
+ | |||
+ | На малюнку представлений огляд протоколів, що використовуються і підтримуваних Bluetooth, і показано, яким чином вони взаємодіють між собою. Як завжди на такого роду схемах, протоколи зображені відповідно до їх приблизної ієрархії, причому "вищі" протоколи розташовані вгорі. У контексті обміну даними з цієї ієрархічності можна зробити 2 висновки: | ||
+ | |||
+ | :1.Більш високі протоколи залежить від більш низьких в плані свого існування. Але більш низькі протоколи можуть працювати і без більш високих, або підтримувати інші протоколи на більш високих рівнях. | ||
+ | |||
+ | :2.Більш високі протоколи зазвичай "ближче" користувачеві, оскільки вони забезпечують людино-орієнтовані сервіси. | ||
+ | |||
+ | Ці протоколи можуть бути розділені на 4 категорії: | ||
+ | |||
+ | :1. основні протоколи<br> | ||
+ | :2. протокол заміни кабелю<br> | ||
+ | :3. керуючий протокол телефонії<br> | ||
+ | :4. отримані протоколи.<br> | ||
+ | |||
+ | Техніка для комунікацій дальньої дії на основі Bluetooth Хоча технологія Bluetooth мається на увазі для комунікацій на близькі відстані, дистанцію взаємодії пристроїв, як уже згадувалося, можна розширити до 100 метрів. Беручи до уваги рівні стійкості до фонового шуму (при чутливості приймача -70 dBm), необхідна вихідна потужність від всеспрямованого передавача 100 mW. Ця передавальна потужність класифікується як "Class 1", і специфікується в розділі "Радіоспеціфікаціі" у збірнику специфікацій Bluetooth, ver. 1.0, ref. 2. Ця специфікація означає, що передавач має ефективний регулятор для зменшення перешкод. | ||
+ | |||
+ | [[Файл:Mal_2.jpg|250px|thumb|left|Прийомопередавач Bluetooth]] <br> <br> | ||
+ | |||
+ | Як можна бачити на малюнку, в RF-частини прийомопередавача Bluetooth є: | ||
+ | |||
+ | :1.полоса пропускання, яка видаляє всі частоти поза діапазону в 1 Мгц, який використовується в цей момент як для передачі, так і для прийому<br> | ||
+ | :2. Перемикач передачі-прийому, який з'єднує підсилювач потужності з антеною під час передачі, а також LNA з антеною під час прийому<br> | ||
+ | :3.LNA, або Low-Noise Amplification - малошумне посилення.<br> | ||
+ | |||
+ | Специфікація накладає деякі обмеження на роботу RF-частини. Джерело живлення повинно давати від 2.7 до 5 вольт, і повинно працювати при температурах від -20 до +60 C, а його ефективність повинна становити принаймні 30% при 140 мА. Вихідна потужність повинна також відключатися під час прийому. Один з продуктів, що відповідає цим вимогам, називається "MAX2240". Два цифрових керуючих біта використовуються для установки VGA (Variable Gain Amplification) на 4 окремих рівня, результатом чого є 4 окремих рівня вихідної потужності.<br> | ||
+ | |||
+ | = [[Установка з'єднання в Bluetooth]] = | ||
+ | |||
+ | Цей розділ описує основні процедури, які повинні бути виконані пристроями Bluetooth, щоб встановити між ними з'єднання. Розгляньте наступний сценарій: чоловік гуляє з готелю і хоче скористатися своєю електронною поштою за допомогою пристрою Bluetooth, яким може бути ноутбук або PDA. Що він мав би зробити? Він натиснув би на меню або піктограму поштової програми. Пристрій автоматично виконав б наступні кроки (крім кроку реєстрації, актуального в разі, якщо пристрій вперше використовується в цьому середовищі):[9] | ||
+ | |||
+ | :1. ''Запит:'' пристрій при вступі в нове середовище автоматично ініціалізувати б запит, щоб з'ясувати, які пристрої є доступними в межах його радіуса дії. Це приведе до наступного:<br> | ||
+ | ::а) Всі доступні прилеглі пристрої дадуть відповідь. | ||
+ | ::б) Пристрій вибирає одне з відповіли пристроїв. | ||
+ | |||
+ | :2. ''Пейджинг'': пристрій викличе baseband-процедуру, звану пейджинг. У результаті відбувається синхронізація пристрою з пунктом доступу, серед інших необхідних ініціалізації.<br> | ||
+ | :3. ''Встановлення з'єднання'': LMP встановить з'єднання з точкою доступу. Оскільки додаток в цьому випадку поштове (email), буде використовуватися ACL з'єднання. | ||
+ | |||
+ | Далі будуть виконуватися нижченаведені дії по встановленню. | ||
+ | |||
+ | :4. ''Сервіс'': LMP буде використовувати протокол SDP для встановлення, який сервіс є доступним, зокрема, поштовий сервіс, або потрібно звернеться до іншого хосту. Припустимо, що сервіс є доступним, інакше програма не може далі діяти. Інформація щодо інших сервісних послуг може бути також представлена користувачеві.<br> | ||
+ | :5. ''Канал L2CAP'': На основі інформації, отриманої від SDP, пристрій створить канал L2CAP до пункту доступу. Він може використовуватися безпосередньо додатком або іншим протоколом, наприклад, RFCOMM.<br> | ||
+ | :6. ''Канал RFCOMM'': В залежності від потреби поштового програми RFCOMM або інший канал (у випадку інших додатків) буде створено згідно з L2CAP каналу. Ця можливість дозволяє використовувати додатки, розроблені для послідовних портів, щоб працювати без модифікації по Bluetooth-платформ.<br> | ||
+ | :7. ''Безпека'': Якщо пункт доступу обмежує доступ понад певної кількості користувачів або пропонує безпечне з'єднання режиму людям, які зареєструвалися раніше, тоді пункт доступу пошле запит безпеки при встановленні з'єднання. Користувач повинен знати правильний PIN-код для доступу до сервісу. Зверніть увагу, що PIN-код не передається по бездротовому каналу, використовується інший код, що згенерував з нього, тому PIN-код досить складно підібрати. При використанні безпечного режиму буде вироблено кодування передачі.<br> | ||
+ | :8. ''PPP'': Оскільки PPP-з'єднання використовується з послідовного модему як при dial-up, те ж саме додаток зможе тепер запустити PPP через RFCOMM (через емульованого послідовний порт). Ця з'єднання дозволить користувачеві отримати доступ до його поштової скриньки тощо.<br> | ||
+ | :9. ''Мережеві протоколи'': Мережеві протоколи типу TCP / IP, IPX, Appletalk можуть одержувати і передавати дані по каналу без труднощів. | ||
+ | |||
+ | В описаних вище процедурах для користувача взаємодія потрібна тільки при використанні логіна для входу в систему для електронної пошти і для додаткового захисту, яка буде здійснена. Решта кроки автоматичні. Вищезазначені процедури описані докладно, щоб продемонструвати процес встановлення підключення. Пояснення вищезазначених процедур потребує короткого опису пристрою годин на Bluetooth. | ||
+ | |||
+ | '''Годинник''': Кожен Bluetooth модуль має вбудовану систему часу, яка визначає час і частотні передачі. Годинники Bluetooth є вільно йдуть часасмі, які ніколи не коригуються і ніколи не вимикаються. Для синхронізації з іншими модулями використовуються тільки зміщення (величина, на яку відрізняється час в інших модулях в порівнянні з "рідними" годинником), накладене на "рідні" годинник, - тимчасові годинник Bluetooth, які взаємно синхронізовані. Годинники Bluetooth не мають ніякого відношення до часу доби. Годинники Bluetooth дуже важливі для трансівера Bluetooth через синхронізації безлічі важливих подій, без яких неможлива зв'язок. Одиниця часу - принаймні половина TX або RX довжини слота, або 312.5 мікросекунд. Годинники мають денний цикл. Якщо годинник обладнані лічильником, 28-бітний лічильник вимагає обороти близько 228 1. LSB відраховує кванти по 312.5 мікросекунд, задаючи тактову частоту 3.2 КГц. | ||
+ | |||
+ | Синхронізація і частота на каналі piconet визначені Bluetooth-годинами "майстра". Коли мережа piconet сформувалася, відлік годин "майстри" передається на підпорядковані пристрої. Вони зберігають необхідне значення зміщення, яке потрібно використовувати при з'єднанні з даними "майстром" і використовуються для синхронізації каналу. Оскільки власні тимчасові координати (години) не змінюються, то можливо використовувати різні зміщення для реєстрації в різних мережах piconet. | ||
+ | |||
+ | Мінімальна необхідна точність годин -/-20 ppm в активному режимі, і/-250ppm в режимі малої активності, наприклад, Hold, Sniff, Standby і Park. | ||
+ | |||
+ | :'''Запит та пейджинг''' | ||
+ | |||
+ | Це початкові кроки в процесі встановлення з'єднання. | ||
+ | |||
+ | Пристрій знаходиться в режимі Standby за замовчуванням. У цьому стані йдуть тільки рідні годинник і споживана потужність дуже низька. Можна вийти з цього режиму і увійти в режими [[Запит (Inquiry)]], [[Перегляд / сканування запиту (Inquiry Scan)]], [[Відповідь на запит (Inquiry Response)]], [[Пейджинг (Page)]] або [[Перегляд / сканування пейджинга (Page Scan)]], [[Відповідь пейджинга]]. | ||
+ | |||
+ | :'''[[Ініціалізація bluetooth-з'єднання]]'''[5][8][9] | ||
+ | :'''Встановлення зв'язку''' | ||
+ | |||
+ | Як тільки пристрій буде перебувати в стані зв'язку, LMP може починати встановлювати з'єднання. З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними сокетами в TCP / IP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, з яким створено двосторонню з'єднання, і ідентифікатором каналу. Основні кроки в установці з'єднання в підсумку виглядають так: | ||
+ | |||
+ | :1. Пакети POLL і відповідь використовуються для передачі інформації конфігурації без взаємодії хоста.<br> | ||
+ | Перші два пункти входять в так звану процедуру парінга. Парінг (PAIRING), або пару — процес зв'язку двох (або більше) пристроїв з метою створення єдиної секретної величини Kinit, яку вони будуть надалі використовувати при спілкуванні. В деяких перекладах офіційних документів по bluetooth можна також зустріти термін «підгонка пари». | ||
+ | |||
+ | :2. Відправляється пакет LMP_host_connect_request.<br> | ||
+ | Перед початком процедури сполучення на обох сторонах необхідно ввести PINкод. Звичайна ситуація: дві людини хочуть зв'язати свої телефони і заздалегідь домовляються про PINкоді. | ||
+ | |||
+ | :3. Віддалене пристрій відповідає LMP_NOT_ACCEPTED, якщо додаток, запитувана першим пристроєм, не хоче або не може відповісти. Інакше надсилається відповідь LMP_ACCEPTED.<br> | ||
+ | Для простоти будемо розглядати ситуацію з двома пристроями. Принципово це не вплине на механізми встановлення зв'язку і подальші атаки. Далі з'єднуються пристрої будуть позначатися A і B, більш того, один з пристроїв при сполученні стає головним (Master), а друге — веденим (Slave). Будемо вважати пристрій A головним, а B — веденим. Створення ключа Kinit починається відразу після того, як були введені PINкоди. | ||
+ | |||
+ | :4. Відповідає пристрій може запитати про відключення ролі, якщо це буде потрібно з деяких причин. Перший пристрій відповідає відповідним пакетом для прийняття або не прийняття запиту. | ||
+ | |||
+ | З'єднання встановлено на рівні Link Manager. Додаток може не бути поінформоване про те, які послуги є доступними, і буде використовувати SDP, щоб це виявити. | ||
+ | |||
+ | :'''SDP''' | ||
+ | |||
+ | Зміни середовища Bluetooth відбуваються часто, отже, доступні послуги повинні бути виявлені в полі зору. SDP забезпечує кошти програми для виявлення, які сервіси є доступними, і їх характеристики, як описано в основних специфікаціях. | ||
+ | |||
+ | Пристрій Bluetooth, послуги якого повинні бути виявлені, запускає SDP сервер. Для виявлення послуг інших пристроїв запускає SDP клієнта. Один клієнт може запущено для кожної програми, але один пристрій може запустити тільки один сервер SDP. Сервер SDP обслуговує сервісну запис кожної служби, що дозволяє пристрою виявлятися. Клієнт надсилає запит на сервер. Запит може бути пошуком специфічного класу сервісних послуг або переглядом всіх класів доступних сервісів. Сервер дає відповідний відповідь. Якщо пристрій сервера має тільки декілька сервісів, вони не можуть бути розділені на класи та сервісні опису не відправляються пристрою. В іншому варіанті опису класу відправляються і клієнт може продовжувати вивчати деталі в межах класу. SDP тільки дозволяє сервісів бути виявленими. Доступ повинен бути через інші протоколи, засновані на L2CAP. L2CAP з'єднання Інформація, отримана через LMP з'єднання і через SDP, буде використовуватися L2CAP, щоб встановити канал для програми. L2CAP встановлює лише зв'язку ACL з'єднання. | ||
+ | |||
+ | З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними роз'ємів в IP TCP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, до якого створено з'єднання, і ідентифікатором каналу. Кожен канал приймається до заповнення дуплексу, з QoS специфікацією в кожному напрямку. Канал може бути двухточечной або багатоточковий. L2CAP встановлює з'єднання, коли на нього додатком виражений запит і з'єднання на потрібний пристрій ще не було встановлено. Запити від нижніх рівнів щодо з'єднань, необхідних програмами на віддалених пристроях, також обробляються L2CAP відповідно до залученим додатком. | ||
+ | |||
+ | SCO з'єднання не проходять по L2CAP, але посилають їх дані безпосередньо Baseband. L2CAP встановлює окремий сигнальний канал для запиту з'єднання, конфігурації, роз'єднання і пр. (для випробування). L2CAPпакети не забезпечують CRC або інші перевірки помилок, покладаючись на смугу baseband для захисту даних і впорядкованої доставки. | ||
+ | |||
+ | Взаємодія цього протоколу з верхніми і нижніми рівнями розглядається в подіях і діях. Події всі повідомлення, отримані L2CAP від більш низьких або більш високих рівнів, у той час як дії відповіді, зроблені для них. Нижнім рівнем може бути LMP або HCI, в той час як більш високим рівнем може бути будьякий додаток. Типова послідовність подій і дій для встановлення з'єднання може бути наступна:[17] | ||
+ | |||
+ | :1. Подія і Дія 0: Подія це запит з'єднання від більш високого рівня. Дія полягає в тому, що пристрій L2CAP посилає пакет запиту віддаленого L2CAP. Цей пакет на віддалене пристрій доставляє baseband.<br> | ||
+ | |||
+ | :2. Подія і Дія 1: Віддалений L2CAP отримує цей пакет і відповідає з пакетом у відповідь підключення. Перед виконанням L2CAP контактує з віднесеним додатком, щоб перевірити, чи буде потрібний запит фактично оброблено тим додатком.<br> | ||
+ | |||
+ | :3. Подія і Дія 2: Прийом у відповідь пакету подія для локального пристрою L2CAP. Взаємодія запрошувати про параметри конфігурації: максимальний модуль payload і межі часу очікування.<br> | ||
+ | |||
+ | :4. Подія і Дія 3: Запит конфігурації подія для віддаленого L2CAP. Його дія відповідь конфігурації. Також, можна посилати його власної конфігурації запит про додаткові параметри.<br> | ||
+ | |||
+ | :5. Подія і Дія 4: Вищезгаданий пакет подія для місцевого пристрою. Воно відповідає з відповіддю конфігурації. | ||
+ | |||
+ | Ініціатором в місцевому пристрої виступає L2CAP, адресатом L2CAP в пункті доступу або іншому пристрої Bluetooth, з яким входить у контакт. Зверніть увагу, що за вказаним на стрілках, що вказують до ініціатора або адресату події для L2CAP, в той час як стрілки, що вказують за межі дії. Назви, що починаються з L2CAP, є з'єднаннями між двома L2CAP на різних пристроях. Вертикальні рядки LP Менеджери Зв'язки в цих двох пристроях. Назви, що починаються з WA, представляють собою з'єднання з додатком більш високого рівня, для якого встановлюється канал. | ||
+ | |||
+ | Стану OPEN відзначають інтервал з'єднання додатків. Останні кроки у вищезгаданій таблиці відносяться до роз'єднання. Тепер можуть бути передані дані програми або можуть бути виконані [[процедури захисту]]. | ||
+ | |||
+ | :'''Зв'язок додатків''' | ||
+ | |||
+ | Прикладні дані будуть тепер передані через з'єднання, оскільки всі визначені процедури встановлення з'єднання Bluetooth були виконані. Додатка необхідно запустити протокол більш високого рівня L2CAP. Bluetooth було визначено три використовуваних протоколу. Це: | ||
+ | :'''RFCOMM'''<br> | ||
+ | Це емуляція послідовного порту через бездротове з'єднання.<br> | ||
+ | :'''SDP'''<br> | ||
+ | Це Service Discovery Protocol, який допомагає пристроям виявити доступні послуги поблизу.<br> | ||
+ | :'''TCS'''<br> | ||
+ | Це Telephony Control Protocol Specification, описує управління запитом і передачу сигналів голосових каналів через Bluetooth. Всі користувальницькі додатки і інші існуючі механізми доступу до мережі, наприклад, IP TCP, PPP, IrDA OBEX, WAP і HomeRF можуть бути здійснені за рівнем L2CAP або вищезазначеним трьом протоколами, якщо додаток вибере використання їхніх послуг. | ||
+ | |||
+ | Додаток в результаті повідомить, що більше не потрібно підключення, якщо воно не було зафіксовано протягом часу запуску програми. LMP посилає пакет LMP_detach пакет на віддалене пристрій, на який не потрібно відповідь. Відбувається роз'єднання. | ||
+ | |||
+ | = Профілі Bluetooth = | ||
+ | |||
+ | :'''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.[7] | ||
+ | |||
+ | :'''Basic Imaging Profile (BIP)''' - профіль розроблений для пересилки зображень між пристроями і включає можливість зміни розміру зображення і конвертацію в підтримуваний формат приймаючого пристрою.[15] | ||
+ | |||
+ | :'''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. | ||
+ | |||
+ | '''Fax Profile (FAX)''' - профіль надає інтерфейс між мобільним або стаціонарним телефоном і ПК на якому встановлено програмне забезпечення для факсів. Підтримує ITU T.31 і ITU T.32 набір AT ко-манд. Голосовий дзвінок або передача даних профілем не підтримується.[10] | ||
+ | |||
+ | :'''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 для забезпечення можливості здійснювати дзвінки, відповідати на дзвінки, завершувати дзвінок, настроювати гучність.[3] | ||
+ | |||
+ | Підтримка гарнітурою профілю 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. | ||
+ | |||
+ | = Безпека Bluetooth = | ||
+ | |||
+ | У червні 2006 року Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) опублікували статтю, що містить докладний опис атаки на bluetooth-пристрої. Матеріал містив опис як активної, так і пасивної атаки, що дозволяє дістати PIN код пристрою і надалі здійснити з'єднання з даним пристроєм. Пасивна атака дозволяє відповідно екіпірованому зловмисникові «підслуховувати» (sniffing) процес ініціалізації з'єднання і надалі використовувати отримані в результаті прослушки і аналізу дані для встановлення з'єднання (spoofing).[14] Однозначно, для проведення даної атаки зловмисникові потрібно знаходиться в безпосередній близькості і безпосередньо у момент встановлення зв'язку. Це не завжди можливо. Тому з’явилася ідея активної атаки. Була виявлена можливість відправки особливого повідомлення в певний момент, що дозволяє почати процес ініціалізації з пристроєм зловмисника. Обидві процедури злому достатньо складні і включають декілька етапів, основний з яких збір пакетів даних і їх аналіз. Самі атаки засновані на вразливості в механізмі аутентифікації і створення ключа-шифру між двома пристроями. І тому перед викладом механізму атак розглянемо механізм ініціалізації bluetooth-з’єднання.[12] | ||
+ | |||
+ | :'''[[Вразливості і атаки Bluetooth]]''' | ||
+ | |||
+ | ===Базова pairing атака (атака на сполучення)=== | ||
+ | |||
+ | Проаналізуємо дані, обмін якими йде впродовж процесу сполучення:[11] | ||
+ | |||
+ | [[Файл: Данні.jpg]] | ||
+ | |||
+ | Представимо ситуацію: зловмисникові вдалося прослуховувати ефір і під час процедури сполучення, він перехопив і зберіг всі повідомлення. Далі знайти 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 атаку.[13] | ||
+ | |||
+ | Розглянемо наступну ситуацію. Допустимо, що пристрої вже встигли зв'язатися, зберегли ключ Kab і приступили до Mutual authentication. Від нас потрібно змусити пристрої наново почати pairing. Всього було запропоновано три методи атаки на переспряження, причому всі з них залежно від якості реалізації bluetooth-ядра конкретного пристрою. Нижче приведені методи в порядку убування ефективності: | ||
+ | |||
+ | 1) За pairing слідує фаза аутентифікації. Master-пристрій посилає AU_RAND і чекає у відповідь SRES. У стандарті декларує можливість втрати ключа зв'язку. У такому разі slave посилає «LMP_not_accepted», повідомляючи master про втрату ключа. Тому основна мета зловмисника відстежити момент відправки AU_RAND master-пристрієм і у відповідь упровадити пакет LMP_not_accepted, що містить. Реакцією master буде реинициализация процесу pairing. Причому це приведе до анулювання ключа зв'язку на обох пристроях. | ||
+ | |||
+ | 2) Якщо встигнути відправити IN_RAND slave-пристрію безпосередньо перед відправкою master-пристроєм величини AU_RAND, то slave буде упевнений, що на стороні master загублений ключ зв'язку. Це знову ж таки приведе до процесу реинициализации сполучення, але вже ініціатором буде slave. | ||
+ | |||
+ | 3) Зловмисник чекає відправки master-пристроєм AU_RAND і відправляє у відповідь випадково SRES, що згенерував. Спроба аутентифікації провалена. Далі слідує низка повторних спроб аутентифікації(кількість залежить від особливостей реалізації пристроїв). За умови, що зловмисник продовжує вводити master-пристрій в оману, незабаром (по лічильнику невдалих спроб) пристроями буде ухвалено рішення об реинициализации сполучення. | ||
+ | |||
+ | Використавши будь-який з цих методів, зловмисник може приступити до базової атаки на сполучення. Таким чином, маючи в арсеналі ці дві атаки, зловмисник може безперешкодно викрасти PIN-код. Далі маючи PIN-код він зможе встановити з'єднання з будь-яким з цих пристроїв. І варто врахувати, що в більшості пристроїв безпека на рівні служб, доступних через bluetooth, не забезпечується на належному рівні. Більшість розробників роблять ставку саме на безпеку встановлення сполучення. Тому наслідки дій зловмисника можуть бути різними: від крадіжки записника телефону до встановлення вихідного виклику з телефону жертви і використання його як прослуховуючого пристрою. | ||
+ | |||
+ | Ці методи описують, як примусити пристрої «забути» link key, що само по собі веде до повторного pairing, а значить, зловмисник може підслуховувати весь процес із самого початку, перехопити всі важливі повідомлення і підібрати PIN. | ||
+ | |||
+ | '''[[Оцінка часу підбору PIN-кода]]''' | ||
+ | |||
+ | У протоколі Bluetooth активно використовуються алгоритми E22, E21, E1, засновані на шифрі SAFER+. Те що вразливість відноситься до критичних підтвердив Брюс Шнайер (Bruce Schneier). Підбір PIN-a на практиці чудово працює. Нижче приведені результати отримані на Pentium IV на 3 Ггц: | ||
+ | |||
+ | [[Файл:Розшифрування.JPG]] | ||
+ | |||
+ | Конкретні реалізації вищеописаних атак можуть працювати з різною швидкістю. Способів оптимізації дуже багато: особливі налаштування компілятора, різні реалізації циклів, умов і арифметичних операцій. Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) зробили прорив, знайшовши спосіб скоротити час перебору PIN-кода в рази. Ця оптимізація виходить за рамки даної статті, але, варто відзначити, що мова йде про оптимізації базових алгоритмів стека bluetooth. В світлі сучасних технологій (зокрема nVidia CUDA) результати могли бути ще краще. | ||
+ | |||
+ | Збільшення довжини PIN-кода не є панацеєю і лише трохи збільшує час перебору. Тільки сполучення пристроїв в безпечному місці може частково захистити від описаних атак. Приклад bluetooth гарнітура або автомобільний handsfree. Ініціалізація зв'язку (при включенні) з даними пристроями може відбуватися багато разів протягом дня, і не завжди у користувача є можливість знаходитися при цьому в захищеному місці. Втім, атаки подібного вигляду не будуть дуже популярні, принаймні, поки не буде реалізовано доступних апаратних засобів і універсальних програмних пакетів. | ||
+ | |||
+ | Впровадження NFC є ефективним рішенням проти даного виду атак, але в цілому, ситуація не зміниться на краще до появи на ринку достатньої кількості рішень на Bluetooth 2.1 (з підтримкою NFC), а через їх зворотну сумісність з попередніми версіями протоколу, вищевикладені атаки будуть актуальні ще достатньо тривалий час.[6] | ||
+ | |||
+ | = Застосування = | ||
+ | |||
+ | '''[[Апаратне забезпечення]]''' | ||
+ | |||
+ | Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто очікувати роботу на відстані більше 10-20 м. Такої далекодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацювання алгоритмів атаки, на Defcon-2004 публіці була представлена антена-гвинтівка BlueSniper, розроблена Джоном Херінгтона (John Herington). Пристрій підключається до портативного пристрою — ноутбуку / КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км). | ||
+ | |||
+ | '''[[Програмне забезпечення]]''' | ||
+ | |||
+ | '''Blueman''' - комп'ютерна програма для створення з'єднань з різними Bluetooth-приладами. | ||
+ | |||
+ | '''Функції:''' | ||
+ | |||
+ | :•Створення мережевих з'єднань : | ||
+ | ::•Персональна мережа (PAN), у тому числі спільно з програмою NetworkManager. Надається базовий DHCP-клієнт для PAN. | ||
+ | ::•Підключення до інтернету через мобільні пристрої з використанням DUN-профілю. Мобільні мережі що підтримуються: GPRS, EDGE, 3G. | ||
+ | :•Спільна робота з програмами NetworkManager і ModemManager за допомогою додаткових модулів(плагінів) Blueman. | ||
+ | :•Обмін файлами між комп'ютером і Bluetooth-пристроєм по протоколу OBEX. | ||
+ | :•Підключення: | ||
+ | ::•Пристрої введення. | ||
+ | ::•Аудіо-пристрої (наприклад - навушникі). Підтримка роботи із звуковим сервером PulseAudio. | ||
+ | |||
+ | = Майбутнє Bluetooth = | ||
+ | Так історично склалося , що на сьогоднішній день ми маємо три частково перетинаються бездротові технології для передачі даних - це Wi -Fi , Bluetooth і ZigBee . Кожна з них , що характерно , постійно намагається влізти на чужу територію. Так , постійно удосконалюються специфікації кожної з перерахованої вище технології знижують споживання приемопередатчиков і розширюють зону покриття. Але на практиці це призводить до того , що ми маємо не одне універсальне рішення , а комбіноване , здатне працювати в декількох діапазонах відразу з підтримкою всіх можливих стандартів . Чи треба говорити , що це типові " милиці " ? Чи зміниться така ситуація в майбутньому? Малоймовірно , оскільки кожна з технологій обросла такими групами підтримки в усьому її прояві , що говорити про уніфікацію бездротового інтерфейсу навіть якось дивно. | ||
+ | |||
+ | Прикладом вищесказаного може служити інформація про плани з розвитку стандарту Bluetooth. Оновлення специфікацій Bluetooth , яке очікується в 2014 і 2015 роках , зробить упор на мало споживаючі режими і множинні з'єднання. Фактично мова йде чи не про повне вторгнення Bluetooth в зону відповідальності стандарту ZigBee , який створювався для датчиків і сенсорів з бездротового підключення. Адже вже перші профайли Bluetooth LE ( Low Energy ) розроблені до літа 2011 року, давали можливість сенсорам з підтримкою Bluetooth LE роками працювати від батарейок - «таблеток» . | ||
+ | |||
+ | У майбутньому Bluetooth LE буде орієнтований на ще більш широкий спектр сенсорів як " натільних " - для моніторингу стану організму людини , так і для індустріальних , автомобільних та інших потреб . Для підключення до мережі Інтернет мільярдів сенсорів і пристроїв стандарт Bluetooth LE буде підтримувати протокол IPv6 - це буде одна з практичних реалізацій "Інтернету Речей" . Швидкість обміну даними підвищиться з сьогоднішніх 1 Мбіт / с до 2 Мбіт / с із збереженням паритету за споживанням або навіть з можливістю знизити споживання . При цьому буде гарантуватися збільшення зони покриття. З інших поліпшень з'являться прискорення перепідключення , що заощадить заряд батарейок , підвищення рівня захисту даних від перехоплення , допомога в орієнтації у приміщеннях , групова передача даних ( широкомовлення ) і дещо інше . Відповідно, обіцяє з'явитися цікава периферія. Особливо носимая . Через пару років , виходячи на ранкову пробіжку , доведеться не забути начепити на себе дюжину -другу датчиків.--[[Користувач:Максим|Максим]] 15:56, 8 грудня 2013 (EET) | ||
+ | |||
+ | = Ресурси Internet = | ||
* http://www.bluetooth.org — офіційний сайт групи розробників технології (містить специфікації) | * http://www.bluetooth.org — офіційний сайт групи розробників технології (містить специфікації) | ||
* http://www.bluetooth.com — офіційний сайт для користувачів технології | * http://www.bluetooth.com — офіційний сайт для користувачів технології | ||
* http://www.bluesoleil.com | * http://www.bluesoleil.com | ||
+ | * https://4pda.ru/2017/04/14/340182/ — Bluetooth 5 випробували в реальних умовах | ||
+ | = Питання до технології Bluetooth = | ||
− | + | #В чому полягає суть методу FHSS? | |
− | + | #У чому переваги Bluetooth 2.1 від 2.0? | |
+ | #Суть профілю Bluetooth Headset Profile (HSP). | ||
+ | #Який радіус роботи пристроїв BT1 і BT2? | ||
+ | #Які є три етапи установки зв'язку bluetooth? | ||
+ | #Що можна сказати про безпеку bluetooth з'єднання? | ||
+ | #Які можливості надає профіль Audio / Video Remote Control Profile (AVRCP)? | ||
+ | #Опишіть процес забезпечення безпеки? | ||
+ | #Яким чином здійснюється зв'язок між двома телефонами по Bluetooth | ||
+ | #Яке призначення профілю Fax Profile (FAX) | ||
+ | #Принципи методів атаки на переспряження | ||
+ | #Основні недоліки Bluetooth? | ||
+ | #Хто зробив прорив, знайшовши спосіб скоротити час перебору PIN-кода в рази? | ||
+ | #Чим відрізняється пасивна атака на PIN-код від активної? | ||
+ | #Для чого був розроблений профіль Basic Imaging Profile (BIP)? | ||
+ | #Що таке інтерференція? | ||
+ | #Як здійснюється передача?Пакетами?Якщо так то яка величина пакета? | ||
+ | #Чи має блютус MAC-адреси? | ||
+ | #Чи можна одночасно підключити до одного пристрою, за допомогою bluetooth, два або більше пристроїв? Якщо так, то як це працює? | ||
[[category:Комп'ютерні мережі]] | [[category:Комп'ютерні мережі]] |
Поточна версія на 03:19, 19 грудня 2017
Зміст
- 1 Вступ до теми Bluetooth
- 2 Принцип дії Bluetooth
- 3 Специфікації Bluetooth
- 4 Означення по темі технологія Bluetooth
- 5 Короткий огляд стека протоколу
- 6 Установка з'єднання в Bluetooth
- 7 Профілі Bluetooth
- 8 Безпека Bluetooth
- 9 Застосування
- 10 Майбутнє Bluetooth
- 11 Ресурси Internet
- 12 Питання до технології Bluetooth
Вступ до теми Bluetooth
Bluetooth (англ. Bluetooth) — технологія бездротового зв'язку, розробленого групою Bluetooth Special Interest Group (Bluetooth SIG), яка була заснована 20 травня 1998 році. У неї увійшли компанії Ericsson, IBM, Intel, Toshiba і Nokia. Потім багато компаній, включаючи Microsoft, Lenovo і Motorola, вступили в неї як асоційовані члени. Будь-яка компанія, яка планує розробляти пристрої Bluetooth, може безкоштовно увійти в цю групу. У SIG вже складається близько 2000 компаній. Згодом Bluetooth SIG і IEEE досягли угоди, на основі якої специфікація Bluetooth стало частиною стандарту IEEE 802.15.1. Роботи із створення Bluetooth компанія Ericsson Mobile Communication почала в 1994 році. Спочатку ця технологія була пристосована під потреби системи FLYWAY у функціональному інтерфейсі між мандрівниками та системою.
Назва Bluetooth ("синій зуб") походить від прізвища середньовічного короля Данії Гаральда I Синєзубого (норв. Harald Blåtann). Гаральд вмів посадити за стіл переговорів ворогуючі партії, домовляючись з кожною партією окремо, тому назва Bluetooth стала відповідним ім'ям для технології, що дозволяє різним пристроям спілкуватися один з одним. Використовуючи перші літери імені короля (руни B та H) у комбінації, створено й логотип технології.
На відміну від технології інфрачервоного зв'язку IrDA (Infrared Direct Access), що працює за принципом "точка-точка" в зоні прямої видимості, технологія Bluetooth розроблялася для роботи як за принципом "точка-точка", так і в якості багатоточкового радіоканалу, керованого багаторівневим протоколом , схожим на протокол мобільного зв'язку GSM. Bluetooth стала конкурентом таких технологій, як IEEE 802.11, HomeRF і IrDA, хоча остання і не призначена для побудови локальних мереж, але є найпоширенішою технологією бездротового з'єднання комп'ютерів і периферійних пристроїв.
Основне призначення Bluetooth - забезпечення економного (з точки зору споживаного струму) і дешевого радіозв'язку між різноманітними типами електронних пристроїв, таких як мобільні телефони та аксесуари до них, портативні та настільні комп'ютери, принтери та інші. Причому, велике значення приділяється компактності електронних компонентів, що дає можливість застосовувати Bluetooth у малогабаритних пристроях розміром з наручний годинник. Bluetooth забезпечує обмін інформацією між такими пристроями як кишенькові і звичайні персональні комп'ютери, мобільні телефони, ноутбуки, принтери, цифрові фотоапарати, мишки, клавіатури, джойстики, навушники, гарнітури на надійній та недорогій радіочастоті для ближнього зв'язку. Bluetooth дозволяє цим пристроям обмінюватись інформацією, коли вони знаходяться в радіусі від 10 до 100 метрів один від одного, навіть в різних приміщеннях. Дальність дуже сильно залежить від механічних та радіо перешкод.
Технологія Bluetooth спеціально розроблена для забезпечення дешевою, стійкої, ефективної, високоємного зв'язку, для роботи з голосом і передачі даних, з наступними характеристиками:
- 1.Швидкість передачі / прийому 1 Мбіт / с, при використанні каналу з максимально можливою шириною смуги.
- 2.Швидкі перемикання частоти, щоб уникнути інтерференції.
- 3.Адаптивна вихідна потужність для мінімізації перешкод.
- 4.Короткі пакети даних для мінімізації потужності під час перешкод.
- 5.Швидке впізнання (підтвердження).
- 6.CVSD (Continuous Variable Slope Delta Modulation) голосове кодування, яке дає можливість роботи з високими частотами помилок по :бітам.
- 7.Гнучкі типи пакетів, які підтримують широкий спектр додатків.
- 8.Ненапружений "бюджет зв'язку", що підтримує недорогу інтеграцію окремих елементарних сигналів.
- 9.Інтерфейс передачі / прийому, спеціально пристосований для мінімізації енергоспоживання.
Ці властивості дають технології Bluetooth можливість забезпечувати надзвичайно гнучкий зв'язок з високими швидкостями передачі даних навіть за наявності серйозних перешкод. При завідомо хорошому прийомі в сприятливих умовах передачі сигналу, в міру посилення перешкод, падіння якості переданого сигналу буде залишатися мінімальним і поступовим, що дає можливість збереження стабільного зв'язку.
Bluetooth має RF (Radio Frequency) специфікації для передачі голосу і даних на короткі відстані, "точка-мультиточка".
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А) [4]. Ці числа декларуються стандартом для прямої видимості, в реальності не варто чекати роботу на відстані більше 10-20 метрів. Такого дальнодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацьовування алгоритмів атаки, на Defcon-2004 публіці була представлена антена-гвинтівка BlueSniper, розроблена Джонном Херінгтоном (John Herington). Пристрій підключається до портативного пристрою ноутбуку/КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км.)
Принцип дії Bluetooth
Радіозв'язок Bluetooth здійснюється в ISM діапазоні (англ. Industry, Science and Medicine - смуга промислового, наукового та медичного застосування), який використовується в різних побутових приладах і безпровідних мережах (вільний від ліцензування діапазон 2,4-2,4835 Ггц). Спектр сигналу формується по методу FHSS (Frequency Hopping Spread Spectrum псевдовипадкова перебудова робочої частоти). Метод FHSS простий в реалізації, забезпечує стійкість до широкосмугових перешкод, а устаткування коштує недорого [1].
Згідно алгоритму FHSS, в Bluetooth частота сигналу, що несе, стрибкоподібно міняється 1600 разів в секунду (всього виділяється 79 робочих частот шириною в 1 Мгц, а в Японії, Франції і Іспанії смуга вже 23 частотних каналу). Послідовність перемикання між частотами для кожного з'єднання є псевдовипадковою і відома тільки передавачу і приймачу, які кожні 625 мкс (один часовий слот) синхронно перебудовуються з однієї частоти, що несе, на іншу. Таким чином, якщо поряд працюють декілька пар приймач-передавач, то вони не заважають один одному. Цей алгоритм є також складовою частиною системи захисту конфіденційності передаваної інформації: перехід відбувається по псевдовипадковому алгоритму і визначається окремо для кожного з'єднання. При передачі цифрових даних і аудіосигналу (64 Кбіт/с в обох напрямах) використовуються різні схеми кодування: аудио-сигнал не повторюється (як правило), а цифрові дані у разі втрати пакету інформації будуть передані повторно. Без перешкодостійкого кодування це забезпечує передачу даних зі швидкостями 723,2 Кбіт/с із зворотним каналом 57,6 Кбіт/с, або 433,9 Кбіт/c в обох напрямах.
Для повнодуплексної передачі використовується дуплексний режим з тимчасовим розділенням (TDD). Підтримується ізохронна і асинхронна передача даних і забезпечується проста інтеграція з TCP / IP. Енергоспоживання пристроїв Bluetooth має бути в межах 0.1 Вт. Кожен пристрій має унікальну 48-бітову мережеву адресу, сумісний з форматом стандарту локальних мереж IEEE 802.
Специфікації Bluetooth
Пристрої версій 1.0 (1998) і 1.0B мали погану сумісність між продуктами різних виробників. У 1.0 і 1.0B була обов'язковою передача адреси пристрою (BD_ADDR) на етапі встановлення зв'язку, що робило неможливою реалізацію анонімності з'єднання на протокольному рівні і було основним недоліком даної специфікації.
У Bluetooth 1.1 було виправлено безліч помилок, знайдених в 1.0B, додана підтримка для нешифрованих каналів, індикація рівня потужності сигналу, що приймається (RSSI).
У версії 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 був випущений 10 листопада 2004 Має зворотну сумісність з попередніми версіями 1.x. Основним нововведенням стала підтримка Enhanced Data Rate (EDR) для прискорення передачі даних. Номінальна швидкість EDR близько 3 Мбіт / с, проте на практиці це дозволило підвищити швидкість передачі даних тільки до 2,1 Мбіт / с. Додаткова продуктивність досягається за допомогою різних радіо технологій для передачі даних.
Стандартна (базова) швидкість передачі даних використовує GFSK-модуляцію радіосигналу при швидкості передачі в 1 Мбіт / с. EDR використовує поєднання модуляцій GFSK і PSK з двома варіантами, π/4-DQPSK і 8DPSK. Вони мають великі швидкості передачі даних по повітрю — 2 і 3 Мбіт / с відповідно.
Bluetooth SIG видала специфікацію як «Технологія Bluetooth 2.0 + EDR», яка передбачає, що EDR є додатковою функцією. Крім EDR є й інші незначні удосконалення до 2.0 специфікації, і продукти можуть відповідати «Технології Bluetooth 2.0», не підтримуючи вищу швидкість передачі даних. Принаймні одне комерційне пристрій, HTC TyTN Pocket PC, використовує «Bluetooth 2.0 без EDR» у своїх технічних специфікаціях.
Згідно з 2.0 + EDR специфікацією, EDR забезпечує наступні переваги:
- •Збільшення швидкості передачі в 3 рази (2,1 Мбіт / с) в деяких випадках.
- •Зменшення складності декількох одночасних підключень через додаткової смуги пропускання.
- •Нижче споживання енергії завдяки зменшенню навантаження.
EDR(Enhanced Data Rate) - це технологія, що дозволяє збільшити швидкість передачі даних через Bluetooth. Це метод розповсюдження і поділу обсягу і типів Bluetooth пакетів , з метою збільшення максимальної пропускної здатності , що забезпечує стабільність зв'язку при великій кількості підключень , знижує споживану потужність , при цьому не змінює решту архітектуру вихідної технології . Enhanced data rate була впроваджена у версії Bluetooth 2.0 в 2004 році. Саме EDR дозволила підвищити швидкість передачі даних до 2.1 Мбіт / с.
EDR може бути вибраний як режим , який впливає безпосередньо на кожну окрему логічну передачу. Технологія передбачає стандартний набір додаткових типів пакетів і правил обміну для забезпечення заданих в специфікації швидкісних режимів .
У Bluetooth версії 2.1 (2007) додана технологія розширеного запиту характеристик пристрою (для додаткової фільтрації списку при спряжуванні), енергозберігаюча технологія (Sniff Subrating), яка дозволяє збільшити тривалість роботи пристрою від одного заряду акумулятора в 3-10 разів. Крім того оновлена специфікація істотно спрощує і прискорює встановлення зв'язку між двома пристроями, дозволяє проводити оновлення ключа шифрування без розриву з'єднання, а також робить вказані з'єднання захищенішими, завдяки використанню технології Near Field Communication.[2]
Робоча група з розробки стандарту бездротової передачі даних Bluetooth, 21 квітня 2009 випускає специфікацію Bluetooth 3.0. Модулі з підтримкою нової специфікації поєднуватимуть в собі дві радіосистеми. Перша, з низьким енергоспоживанням, забезпечує передачу даних на звичайній для другої версії Bluetooth швидкості в три мегабіти в секунду. Інша, високошвидкісна і сумісна із стандартом 802.11, забезпечує швидкості, порівнянні із швидкістю мереж Wi-Fi. Варто відзначити, що Bluetooth 3.0 використовує стандарт 802.11 без суфікса, тобто формально не сумісний з такими специфікаціями Wi-Fi, як 802.11b/g або 802.11n. 802.11 — загальніший стандарт. Використання тієї або іншої радіосистеми залежить від розміру передаваного файлу. Невеликі файли передаватимуться по повільному каналу, а великі — по високошвидкісному. Після закінчення передачі модуль повернеться в режим зниженого енергоспоживання. Крім того, в Bluetooth 3.0 з'явиться можливість під назвою "розширений контроль живлення" (Enhanced Power Control). Вона дозволяє уникнути розриву з'єднання, якщо пристрій поклали в сумку або в кишеню.
В грудні 2009 консорціум Bluetooth SIG анонсував стандарт Bluetooth 4.0 для електронних датчиків. Новий стандарт призначений для передачі коротких пакетів даних обсягом по 8-27 байт зі швидкістю 1 Мбіт/с. Для порівняння, Bluetooth 3.0, розробка якого була завершена в квітні 2008, дозволяє передавати дані зі швидкістю до 24 Мбіт/с, але і призначений він для іншої сфери застосування.
Bluetooth 4.0 планується використовувати в мініатюрних сенсорах, що розміщуються на тілі пацієнтів, в спортивного взуття, тренажерах тощо. Сенсори на базі нового стандарту зможуть передавати різну інформацію з навколишнього світу — температуру, тиск, вологість, швидкість пересування і так далі - на різні пристрої контролю, включаючи мобільні телефони. За словами представників консорціуму, окремий стандарт був розроблений у зв'язку з тим, що Bluetooth 3.0 і більш ранні версії не в змозі забезпечити необхідний низький рівень енергоспоживання.
Перший чіп з одночасною підтримкою Bluetooth 4.0 і 3.0 випустив ST-Ericsson.
Bluetooth 4.1
3 грудня 2013 на сайті організації Bluetooth Special Interest Group опубліковано повідомлення про те , що прийняті доповнення до специфікації Bluetooth Core Specification . Версія Bluetooth 4.1 названа «важливим еволюційним оновленням » стандарту бездротового підключення , який був радикально оновлений в липні 2010 року з твердженням специфікації Bluetooth Smart , орієнтованої на використання в інтернеті речей.
Оновлення сфокусовано на вдосконаленні споживчих якостей інтерфейсу за рахунок поліпшення співіснування з LTE , підвищення ефективності передачі даних і надання розробникам нових можливостей , пов'язаних з тим , що пристрої можуть грати кілька ролей одночасно. Крім того , нова версія стандарту закладає основу для підключень на основі IP , розширюючи роль технології Bluetooth як важливого бездротового ланки інтернету речей.
Якщо говорити про поліпшеної сумісності з LTE , радіочастотні блоки Bluetooth і LTE зможуть непомітно для користувача автоматично узгоджувати між собою передачу , щоб зменшити взаємний вплив при роботі в суміжних смугах частот.
Повторне підключення стає більш гнучким за рахунок можливості керувати інтервалом часу повторного підключення . Це дозволить пристроям відновлювати підключення автоматично , як тільки вони знову опиняться в зоні дії . Наприклад , користувач може вийти з кімнати , а коли він повернеться , що знаходиться при ньому пристрій знову автоматично підключиться до пристрою в кімнаті.
Що стосується можливості одночасно грати дві ролі , вона може стати в нагоді , скажімо , розумним годинах , які виступають хабом Bluetooth Smart Ready по відношенню до датчика пульсу , але периферійним пристроєм Bluetooth Smart - по відношенню до смартфону , відображаючи на своєму екрані сповіщення про повідомлення , прийнятому смартфоном.
3 грудня 2014 Bluetooth Special Interest Group (SIG) представила специфікацію Bluetooth 4.2. В новій редакції збільшено швидкість прийому-передачі даних. Поліпшення конфіденційності та безпеки. Реалізовано можливість підключення до інтернету.
Bluetooth SIG офіційно представила Bluetooth 5 16 червня 2016 року. Samsung Galaxy S8 підтримує Bluetooth 5.0. Зміни торкнулися в основному режиму з низьким споживанням і високошвидкісного режиму. Радіус дії збільшений в 4 рази, швидкість збільшена в 2 рази, але технологія вкрай вибаглива до відсутності перешкод, а особливо металу.
Означення по темі технологія Bluetooth
• Піконет - "пікомережа": набір пристроїв, з'єднаних через технологію Bluetooth спеціальним способом. Піконет починається з двох з'єднаних пристроїв, таких як портативний ПК і стільниковий телефон, і може розростатися до восьми з'єднаних пристроїв ось чому потрібний адресний простір обмежений 3 бітами). Всі пристрої Bluetooth є одноранговими пристроями і мають ідентичну реалізацію. Однак при установці піконет один пристрій буде діяти як майстер для цілей синхронізації, а інший (і) - як слейв (и) для підтримки піконет-з'єднання.[19]
• Scatternet - "мережа розкиду": Дві або більше незалежних і несинхронізованих мережі піконет, взаємодіючих між собою. Як показано на, пристрій-слейв, так само, як і пристрій-майстер в одній мережі піконет можуть встановлювати таке з'єднання, стаючи слейвом в іншій мережі піконет.
• Пристрій майстер: пристрій у піконет, в якому генерація синхронизирующих імпульсів і послідовність стрибків використовуються для синхронізації всіх інших пристроїв у піконет.
• Пристрій слейв: всі пристрої в піконет, які не є майстром (до 7 активних пристроїв на кожен пристрій майстер).
• MAC-адреса: 3-бітний Media Access Control адреса, що використовується для розрізнення пристроїв, включених у піконет.[18]
• Парковані пристрої: пристрою в піконет, які синхронізовані, але не мають MAC-адрес.
• Sniff Mode і Hold Mode: пристрої, синхронізовані в піконет і мають тимчасово введені режими збереження енергії, в яких активність пристроїв знижена.
• Ad-hoc network (спеціальна мережа) - просто мережа, в якій взаємодії встановлюються між комплексними станціями в даній області покриття без використання точки доступу або сервера.
• Link Manager Protocol - повідомлення LMP використовуються для налаштування зв'язку, безпеки та управління.
• Інтерференція сигналів, або Завади — в зв'язку — все, що змінює або пошкоджує інформацію, що переноситься сигналами від передавача за допомоги каналу зв'язку до приймача (наприклад, сонячна інтерференція в супутниковому зв'язку).[16]
- Користувацькі моделі
Користувацькі моделі описують, яким чином можна використовувати пристрої Bluetooth. У кожній моделі існує один або більше відповідних профілів, які визначають рівні протоколів і функції, які повинні бути використані. Наведений нижче опис - не детальний, і ці відомості не можна вважати повними.
- Internet Bridge
Користувацька модель Internet Bridge описує, яким чином мобільний телефон або бездротовий модем забезпечує dial-up з'єднання персонального комп'ютера без необхідності фізичного з'єднання з ПК. Цей сценарій з'єднання вимагає використання мережі протоколів, що складається з двох частин - одна для команд AT, для управління процесом передачі необхідних даних з мобільного телефону та інших пристроїв.
- Three-in-One Phone
Користувацька модель Three-in-One Phone описує, яким чином телефонний апарат може приєднуватися до трьох різних провайдерів мобільних послуг. Телефон може працювати як при бездротовому телефонному з'єднанні з громадською комутованій телефонною мережею в домашніх умовах, що оплачується за фіксованою таксою оператора телефонного зв'язку. Цей сценарій включає здійснення дзвінків через голосову базову станцію і прямих дзвінків між двома терміналами через базову станцію. За іншим сценарієм телефон може приєднуватися безпосередньо до інших телефонів, працюючи як "walkie-talkie" або як деяке розширення телефону - для такого способу ніякої додаткової оплати не потрібно. Нарешті, модель Three-in-One Phone може працювати як стільниковий телефон, приєднуючись до стільникової інфраструктурі. Бездротовий сценарій і сценарій двостороннього зв'язку використовують одну і ту ж мережу протоколів.
- Ultimate Headset
Користувацька модель Ultimate Headset визначається як бездротова трубка, обладнана Bluetooth. Ця модель може працювати в умовах віддаленого вхідного і вихідного аудіо-інтерфейсу пристрою. Цим пристроєм може бути мобільний телефон або ПК для аудіо-входу або виходу. Як і у випадку користувальницької моделі Internet Bridge, дана модель вимагає набору протоколів, що складається з двох частин, одна для команд AT, щоб керувати передачею необхідних даних, наприклад мовлення, з мобільного телефону та іншого пристрою. Команди AT контролюють телефони стосовно, наприклад, до процесу відповіді і до переривання дзвінків.
- LAN Access
Користувацька модель LAN Access схожа на користувальницьку модель Internet Bridge. Різниця полягає в тому, що призначена для користувача модель LAN Access не використовує протоколи для команд AT. Дана користувача модель описує, яким чином термінали введення даних використовують місце доступу LAN в якості бездротового з'єднання з локальною мережею. При встановленні з'єднанням термінали введення даних працюють, як якщо б це вони були приєднані до LAN через з'єднання dial-up.
- File Transfer
Користувацька модель File Transfer пропонує можливість передачі даних з одного пристрою Bluetooth на інше. У даній користувальницької моделі підтримуються файли, цілі папки, директорії і різноформатні потоки даних. Дана модель також пропонує можливість перегляду вмісту папок на віддаленому пристрої. Більш того, в даній користувальницької моделі підтримуються операції обміну, наприклад, візитними картками з використанням формату vCard. Модель File Transfer базується на GOEP.
- Synchronisation
Користувацька модель Synchronisation забезпечує можливості для автоматичної синхронізації між, наприклад, настільним ПК, портативним ПК, мобільним телефоном та ноутбуком. Дана користувача модель дозволяє проводити передачу візитних карток, списку завдань, записів з щоденника і т.д., і працювати далі з цією інформацією за допомогою комп'ютера, стільникового телефону і КПК, використовуючи звичайні протоколи і формати.
Короткий огляд стека протоколу
На малюнку показано, що стек протоколу складається з рівня радіо в основі, яке формує фізичний інтерфейс з'єднання. Рівень протоколу зв'язку baseband і Link Manager Protocol (LMP) встановлюють і контролюють з'єднання між пристроями Bluetooth. Ці три рівні підстави здійснені в обладнанні / програмному забезпеченні. Рівень Host Controller потрібно, щоб з'єднати за допомогою інтерфейсу Bluetooth з верхнім протоколом-L2CAP (Logical Link Control і Adaptation Protocol). Провідний контролер потрібно тільки тоді, коли L2CAP постійно знаходиться в програмному забезпеченні в хості. Якщо L2CAP is також на модулі Bluetooth цей рівень не потрібно, тому що L2CAP може безпосередньо зв'язуватися з LMP і baseband. Програми постійно знаходяться вище L2CAP. Наступні підрозділи дають короткий опис кожного рівня.
Рівень зв'язку
Зв'язок працює у вільному ISM діапазоні смузі близько 2.4GHz і використовує поширення спектру. Цей діапазон простирається від 2400 до 2483.5 МГЦ в більшості країн, і цілий діапазон використовується для оптимізації поширення спектру. Однак для деяких країн з меншим ISM діапазоном також використовується нижня шкала. Для поширення спектру використовується техніка frequency hopping (FH). Оскільки в цьому діапазоні можуть існувати і здійснювати втручання багаторазові нескоординовані мережі, використовуються швидкі FH і короткі передачі даних, оскільки відсоток помилки може бути високим, особливо з-за сильного втручання від мікрохвильових печей, які працюють у цій частоті. CVSD-кодування адаптоване під голосові передачі, які можуть викликати високий відсоток помилок. Додатково, заголовки пакетів захищені спеціальною схемою корекції помилок для додання стійкості проти збоїв.
Переходи по частоті фіксуються на 2402 k МГц, де k = 0,1 ,..., 78. омінальная частота переходу - 1600 стрибків в секунду.
Baseband
Baseband - рівень протоколу, контролюючий зв'язок. Baseband контролює послідовності перельоту частоти і дбає про кодування рівня для безпечних з'єднань. Можуть бути встановлені два типи з'єднань:
- SCO: Синхронне орієнтоване з'єднання. Ці сполуки передбачаються для передачі синхронних даних типу голос.
- ACL: Асинхронне з'єднання. Такі з'єднання можуть використовуватися для додатків передачі даних, які не вимагають синхронного зв'язку.
Baseband забезпечує функціональні можливості, необхідні для пристроїв, щоб синхронізувати їх годинник і встановлювати з'єднання. Також забезпечуються процедури запиту для виявлення адреси пристроїв, що знаходяться поблизу. Виправлення помилки для пакетів забезпечується в залежності від типу пакета. Різні типи пакету визначені для деяких загальних додатків, які відрізняються за їх місткості даних і накладних витрат по виправленню помилки. П'ять різних типів каналу забезпечуються для інформації контролю, інформацією управління з'єднанням, синхронними і асинхронними даними. Визначено функції, необхідні для генерації клавіш кодування і клавіш з'єднання. Більш детальний опис деяких з операцій baseband, пов'язаних з встановленням з'єднання, є в розділі.
Протокол Менеджера зв'язку
Основні функції LMP можна класифікувати
- 1. Управління мережею Piconet
- 2. Конфігурація сполук
- 3. Функції безпеки
Рiconet є групою пристроїв, пов'язаних із загальним каналом, який ідентифікований з його унікальною послідовністю "перельоту".
Фундаментальні "будівельні блоки" топографії Bluetooth - це пристрої майстер і слейв, де пристрій майстер в піконет забезпечує генерацію синхронизирующих імпульсів і послідовність стрибків для синхронізації всіх інших пристроїв у піконет. Один з пристроїв, зазвичай той, який першим здійснив підключення, називається "master". До master `у може бути активно приєднано до семи пристроїв і набагато більше може бути підключено в стані" parked "(низького енергоспоживання). Пристрої в мережі piconet можуть з'єднуватися один з одним за допомогою SCO або ACL. Канал управляється master `ом, за допомогою Lin Manager в кожному пристрої. Будь-які два або більше пристроїв для з'єднання повинні встановити між собою мережу piconet. У той же час кожен пристрій може одночасно належати декількох мереж. (Мал.2). Майстер також нумерує канали зв'язку. Майстер визначає шаблон, на якому будуть працювати всі слейв-пристрої його мережі піконет, і синхронізує її роботу.
Стандарт Bluetooth має з'єднання незалежних і навіть не синхронізованих між собою піконет (до 10) в мережу scatternet. Для цього кожна пара пікомережі повинна мати як мінімум однин загальний пристрій, який буде майстром в одній і слейвом в іншій. Таким чином, в межах окремої scatternet з інтерфейсом Bluetooth може бути одночасно пов'язано максимум 71 пристрій, проте ніхто не обмежує застосування пристроїв-гейтів, які використовують той же інтернет для більш далекого зв'язку.
a) Piconet між двома пристроями (або один майстер і один слейв)
b) piconet між кількома пристроями (мультислейв до 7 "слейвів" з одним майстром)
c) Scatternet, комбінація мереж piconet (може з'єднувати до 10 піконет).
LMP забезпечує функціональність приєднаний / від'єднаних пристроїв "slave", обмін функціями між пристроями master і slave та з'єднання ACL / SCO. LMP також обробляє пристрої в режимах низького енергоспоживання, hold, sniff і park, створених для збереження енергії, якщо пристрої не мають даних для передачі.
Завдання конфігурації з'єднання включають в себе параметри установки з'єднання, якість сервісу і контроль потужності, якщо це підтримується пристроєм. LMP також забезпечує ідентифікацію пристроїв, які будуть з'єднані, і управління клавішами з'єднання.
Логічний контроль зв'язку і Адаптаційний протокол
Це протокол, з яким взаємодіє більшість додатків, якщо ведучий контролер не використовується. Основні функції L2CAP:
Мультіорганізація Протокол повинен дозволяти декільком додаткам одночасно використовувати з'єднання між двома пристроями.
Сегментація і Повторне об'єднання
Протокол повинен зменшити розмір пакетів, забезпечених додатками до розміру пакетів, прийнятих рівнем baseband. Сам L2CAP приймає розміри пакету до 64Кб, але пакети baseband можуть приймати до 2745 bits. Для отриманих пакетів повинна бути виконана зворотна процедура об'єднання сегментованих пакетів в належному порядку.
Якість обслуговування
L2CAP дозволяє додаткам вимагати QoS на деяких параметрах, типу пікової пропускної здатності, часу очікування та зміни затримки.
В основному, L2CAP забезпечує функції мережевого рівня до додатків і більш високим протоколів.
Інтерфейс головного контролера
Основна структура, що показує, як рівні головного контролера розташовані всередині стека протоколу.
Для більшості пристроїв модуль підтримки Bluetooth може бути додано в якості плати розширення, наприклад, для ПК або ноутбука апаратні засоби Bluetooth можуть бути додані як PCI-карта або USB-адаптер. Апаратні модулі звичайно здійснюють більш низькі радіо рівні, baseband і LMP. Тоді дані, які будуть надіслані LMP і baseband, йдуть з фізичної шині, наприклад, USB. Драйвер для цієї шини потрібно на хості, яким є PC, і на апаратній карті Bluetooth потрібно "інтерфейс контролера хоста", щоб прийняти дані з фізичної шині. Таким чином, потрібні такі додаткові рівні:
HCI драйвер
Це драйвер для інтерфейсу головного контролера хоста, вище фізичної шини, форматує дані, які будуть прийняті контролером хоста на апаратних засобах Bluetooth.
Інтерфейс головного контролера
Розміщується на апаратних засобах Bluetooth і підтримує зв'язок поверх фізичної шини.
Рівень програми
До L2CAP можна звертатися безпосередньо додатками або через протоколи підтримки подібно RFCOMM, TCS і SDP, згаданим раніше. Додатки можуть використовувати інші протоколи типу TCP-IP або WAP. Додатки можуть самостійно запускати протоколи, наприклад, PPP (Протокол "точка-точка"), FTP (протокол передачі файлів) або інші певні протоколи, як буде потрібно додатком. Програма може використовувати SDP, для перевірки, які потрібні сервісні можливості пристроїв, доступних в зоні дії. Багато моделей використання були запропоновані виробниками. Деякі з них:
- 1. Три в одному: окрема телефонна трубка працює як селекторна зв'язок в офісі (ніякої плати за користування телефоном), Всякий раз можна використовувати будь-який з цих трьох режимів - як селекторний зв'язок, як PSTN і як мобільний телефон.
- 2. "Портфельна хитрість": RF-зв'язок не потребує прямої видимості між пристроями. Значить, мобільний телефон може під'єднатися до ноутбука навіть тоді, коли той перебуває в портфелі, і використовувати доступ до його можливостей, наприклад, до електронної пошти.
- 3. Автоматичний Синхронізатор: забезпечення бездротового зв'язку між PDA користувача, портативної ЕОМ і мобільним дозволить додаткам автоматично оновлювати та синхронізувати органайзер та інші дані, якщо модифікації зроблені на одному пристрої.
- 4. Бездротові навушники (гарнітури): Вони дозволяють доступ до мобільних пристроїв користувача і навіть до аудіо, в той час як пристрої знаходяться в кишені користувача. Таким чином, буде можлива операція hands-free.
- 5. Автомобільні комплекти: пристрої hands-free дозволяють водіям користуватися телефоном без відриву від управління автомобілем.
Крім цього, було запропоновано велику різноманітність інших програм у домашньої автоматизації, обмін даними на нарадах без використання додаткового обладнання, керуючих пристроями через бездротове портативний пристрій при прогулянках, пропозиції системи захисту, мережеві доступи в громадських місцях, деякі з яких успішно демонструвалися на виставках або вже продаються.
На малюнку представлений огляд протоколів, що використовуються і підтримуваних Bluetooth, і показано, яким чином вони взаємодіють між собою. Як завжди на такого роду схемах, протоколи зображені відповідно до їх приблизної ієрархії, причому "вищі" протоколи розташовані вгорі. У контексті обміну даними з цієї ієрархічності можна зробити 2 висновки:
- 1.Більш високі протоколи залежить від більш низьких в плані свого існування. Але більш низькі протоколи можуть працювати і без більш високих, або підтримувати інші протоколи на більш високих рівнях.
- 2.Більш високі протоколи зазвичай "ближче" користувачеві, оскільки вони забезпечують людино-орієнтовані сервіси.
Ці протоколи можуть бути розділені на 4 категорії:
- 1. основні протоколи
- 2. протокол заміни кабелю
- 3. керуючий протокол телефонії
- 4. отримані протоколи.
Техніка для комунікацій дальньої дії на основі Bluetooth Хоча технологія Bluetooth мається на увазі для комунікацій на близькі відстані, дистанцію взаємодії пристроїв, як уже згадувалося, можна розширити до 100 метрів. Беручи до уваги рівні стійкості до фонового шуму (при чутливості приймача -70 dBm), необхідна вихідна потужність від всеспрямованого передавача 100 mW. Ця передавальна потужність класифікується як "Class 1", і специфікується в розділі "Радіоспеціфікаціі" у збірнику специфікацій Bluetooth, ver. 1.0, ref. 2. Ця специфікація означає, що передавач має ефективний регулятор для зменшення перешкод.
Як можна бачити на малюнку, в RF-частини прийомопередавача Bluetooth є:
- 1.полоса пропускання, яка видаляє всі частоти поза діапазону в 1 Мгц, який використовується в цей момент як для передачі, так і для прийому
- 2. Перемикач передачі-прийому, який з'єднує підсилювач потужності з антеною під час передачі, а також LNA з антеною під час прийому
- 3.LNA, або Low-Noise Amplification - малошумне посилення.
Специфікація накладає деякі обмеження на роботу RF-частини. Джерело живлення повинно давати від 2.7 до 5 вольт, і повинно працювати при температурах від -20 до +60 C, а його ефективність повинна становити принаймні 30% при 140 мА. Вихідна потужність повинна також відключатися під час прийому. Один з продуктів, що відповідає цим вимогам, називається "MAX2240". Два цифрових керуючих біта використовуються для установки VGA (Variable Gain Amplification) на 4 окремих рівня, результатом чого є 4 окремих рівня вихідної потужності.
Установка з'єднання в Bluetooth
Цей розділ описує основні процедури, які повинні бути виконані пристроями Bluetooth, щоб встановити між ними з'єднання. Розгляньте наступний сценарій: чоловік гуляє з готелю і хоче скористатися своєю електронною поштою за допомогою пристрою Bluetooth, яким може бути ноутбук або PDA. Що він мав би зробити? Він натиснув би на меню або піктограму поштової програми. Пристрій автоматично виконав б наступні кроки (крім кроку реєстрації, актуального в разі, якщо пристрій вперше використовується в цьому середовищі):[9]
- 1. Запит: пристрій при вступі в нове середовище автоматично ініціалізувати б запит, щоб з'ясувати, які пристрої є доступними в межах його радіуса дії. Це приведе до наступного:
- а) Всі доступні прилеглі пристрої дадуть відповідь.
- б) Пристрій вибирає одне з відповіли пристроїв.
- 2. Пейджинг: пристрій викличе baseband-процедуру, звану пейджинг. У результаті відбувається синхронізація пристрою з пунктом доступу, серед інших необхідних ініціалізації.
- 3. Встановлення з'єднання: LMP встановить з'єднання з точкою доступу. Оскільки додаток в цьому випадку поштове (email), буде використовуватися ACL з'єднання.
Далі будуть виконуватися нижченаведені дії по встановленню.
- 4. Сервіс: LMP буде використовувати протокол SDP для встановлення, який сервіс є доступним, зокрема, поштовий сервіс, або потрібно звернеться до іншого хосту. Припустимо, що сервіс є доступним, інакше програма не може далі діяти. Інформація щодо інших сервісних послуг може бути також представлена користувачеві.
- 5. Канал L2CAP: На основі інформації, отриманої від SDP, пристрій створить канал L2CAP до пункту доступу. Він може використовуватися безпосередньо додатком або іншим протоколом, наприклад, RFCOMM.
- 6. Канал RFCOMM: В залежності від потреби поштового програми RFCOMM або інший канал (у випадку інших додатків) буде створено згідно з L2CAP каналу. Ця можливість дозволяє використовувати додатки, розроблені для послідовних портів, щоб працювати без модифікації по Bluetooth-платформ.
- 7. Безпека: Якщо пункт доступу обмежує доступ понад певної кількості користувачів або пропонує безпечне з'єднання режиму людям, які зареєструвалися раніше, тоді пункт доступу пошле запит безпеки при встановленні з'єднання. Користувач повинен знати правильний PIN-код для доступу до сервісу. Зверніть увагу, що PIN-код не передається по бездротовому каналу, використовується інший код, що згенерував з нього, тому PIN-код досить складно підібрати. При використанні безпечного режиму буде вироблено кодування передачі.
- 8. PPP: Оскільки PPP-з'єднання використовується з послідовного модему як при dial-up, те ж саме додаток зможе тепер запустити PPP через RFCOMM (через емульованого послідовний порт). Ця з'єднання дозволить користувачеві отримати доступ до його поштової скриньки тощо.
- 9. Мережеві протоколи: Мережеві протоколи типу TCP / IP, IPX, Appletalk можуть одержувати і передавати дані по каналу без труднощів.
В описаних вище процедурах для користувача взаємодія потрібна тільки при використанні логіна для входу в систему для електронної пошти і для додаткового захисту, яка буде здійснена. Решта кроки автоматичні. Вищезазначені процедури описані докладно, щоб продемонструвати процес встановлення підключення. Пояснення вищезазначених процедур потребує короткого опису пристрою годин на Bluetooth.
Годинник: Кожен Bluetooth модуль має вбудовану систему часу, яка визначає час і частотні передачі. Годинники Bluetooth є вільно йдуть часасмі, які ніколи не коригуються і ніколи не вимикаються. Для синхронізації з іншими модулями використовуються тільки зміщення (величина, на яку відрізняється час в інших модулях в порівнянні з "рідними" годинником), накладене на "рідні" годинник, - тимчасові годинник Bluetooth, які взаємно синхронізовані. Годинники Bluetooth не мають ніякого відношення до часу доби. Годинники Bluetooth дуже важливі для трансівера Bluetooth через синхронізації безлічі важливих подій, без яких неможлива зв'язок. Одиниця часу - принаймні половина TX або RX довжини слота, або 312.5 мікросекунд. Годинники мають денний цикл. Якщо годинник обладнані лічильником, 28-бітний лічильник вимагає обороти близько 228 1. LSB відраховує кванти по 312.5 мікросекунд, задаючи тактову частоту 3.2 КГц.
Синхронізація і частота на каналі piconet визначені Bluetooth-годинами "майстра". Коли мережа piconet сформувалася, відлік годин "майстри" передається на підпорядковані пристрої. Вони зберігають необхідне значення зміщення, яке потрібно використовувати при з'єднанні з даними "майстром" і використовуються для синхронізації каналу. Оскільки власні тимчасові координати (години) не змінюються, то можливо використовувати різні зміщення для реєстрації в різних мережах piconet.
Мінімальна необхідна точність годин -/-20 ppm в активному режимі, і/-250ppm в режимі малої активності, наприклад, Hold, Sniff, Standby і Park.
- Запит та пейджинг
Це початкові кроки в процесі встановлення з'єднання.
Пристрій знаходиться в режимі Standby за замовчуванням. У цьому стані йдуть тільки рідні годинник і споживана потужність дуже низька. Можна вийти з цього режиму і увійти в режими Запит (Inquiry), Перегляд / сканування запиту (Inquiry Scan), Відповідь на запит (Inquiry Response), Пейджинг (Page) або Перегляд / сканування пейджинга (Page Scan), Відповідь пейджинга.
- Ініціалізація bluetooth-з'єднання[5][8][9]
- Встановлення зв'язку
Як тільки пристрій буде перебувати в стані зв'язку, LMP може починати встановлювати з'єднання. З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними сокетами в TCP / IP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, з яким створено двосторонню з'єднання, і ідентифікатором каналу. Основні кроки в установці з'єднання в підсумку виглядають так:
- 1. Пакети POLL і відповідь використовуються для передачі інформації конфігурації без взаємодії хоста.
Перші два пункти входять в так звану процедуру парінга. Парінг (PAIRING), або пару — процес зв'язку двох (або більше) пристроїв з метою створення єдиної секретної величини Kinit, яку вони будуть надалі використовувати при спілкуванні. В деяких перекладах офіційних документів по bluetooth можна також зустріти термін «підгонка пари».
- 2. Відправляється пакет LMP_host_connect_request.
Перед початком процедури сполучення на обох сторонах необхідно ввести PINкод. Звичайна ситуація: дві людини хочуть зв'язати свої телефони і заздалегідь домовляються про PINкоді.
- 3. Віддалене пристрій відповідає LMP_NOT_ACCEPTED, якщо додаток, запитувана першим пристроєм, не хоче або не може відповісти. Інакше надсилається відповідь LMP_ACCEPTED.
Для простоти будемо розглядати ситуацію з двома пристроями. Принципово це не вплине на механізми встановлення зв'язку і подальші атаки. Далі з'єднуються пристрої будуть позначатися A і B, більш того, один з пристроїв при сполученні стає головним (Master), а друге — веденим (Slave). Будемо вважати пристрій A головним, а B — веденим. Створення ключа Kinit починається відразу після того, як були введені PINкоди.
- 4. Відповідає пристрій може запитати про відключення ролі, якщо це буде потрібно з деяких причин. Перший пристрій відповідає відповідним пакетом для прийняття або не прийняття запиту.
З'єднання встановлено на рівні Link Manager. Додаток може не бути поінформоване про те, які послуги є доступними, і буде використовувати SDP, щоб це виявити.
- SDP
Зміни середовища Bluetooth відбуваються часто, отже, доступні послуги повинні бути виявлені в полі зору. SDP забезпечує кошти програми для виявлення, які сервіси є доступними, і їх характеристики, як описано в основних специфікаціях.
Пристрій Bluetooth, послуги якого повинні бути виявлені, запускає SDP сервер. Для виявлення послуг інших пристроїв запускає SDP клієнта. Один клієнт може запущено для кожної програми, але один пристрій може запустити тільки один сервер SDP. Сервер SDP обслуговує сервісну запис кожної служби, що дозволяє пристрою виявлятися. Клієнт надсилає запит на сервер. Запит може бути пошуком специфічного класу сервісних послуг або переглядом всіх класів доступних сервісів. Сервер дає відповідний відповідь. Якщо пристрій сервера має тільки декілька сервісів, вони не можуть бути розділені на класи та сервісні опису не відправляються пристрою. В іншому варіанті опису класу відправляються і клієнт може продовжувати вивчати деталі в межах класу. SDP тільки дозволяє сервісів бути виявленими. Доступ повинен бути через інші протоколи, засновані на L2CAP. L2CAP з'єднання Інформація, отримана через LMP з'єднання і через SDP, буде використовуватися L2CAP, щоб встановити канал для програми. L2CAP встановлює лише зв'язку ACL з'єднання.
З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними роз'ємів в IP TCP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, до якого створено з'єднання, і ідентифікатором каналу. Кожен канал приймається до заповнення дуплексу, з QoS специфікацією в кожному напрямку. Канал може бути двухточечной або багатоточковий. L2CAP встановлює з'єднання, коли на нього додатком виражений запит і з'єднання на потрібний пристрій ще не було встановлено. Запити від нижніх рівнів щодо з'єднань, необхідних програмами на віддалених пристроях, також обробляються L2CAP відповідно до залученим додатком.
SCO з'єднання не проходять по L2CAP, але посилають їх дані безпосередньо Baseband. L2CAP встановлює окремий сигнальний канал для запиту з'єднання, конфігурації, роз'єднання і пр. (для випробування). L2CAPпакети не забезпечують CRC або інші перевірки помилок, покладаючись на смугу baseband для захисту даних і впорядкованої доставки.
Взаємодія цього протоколу з верхніми і нижніми рівнями розглядається в подіях і діях. Події всі повідомлення, отримані L2CAP від більш низьких або більш високих рівнів, у той час як дії відповіді, зроблені для них. Нижнім рівнем може бути LMP або HCI, в той час як більш високим рівнем може бути будьякий додаток. Типова послідовність подій і дій для встановлення з'єднання може бути наступна:[17]
- 1. Подія і Дія 0: Подія це запит з'єднання від більш високого рівня. Дія полягає в тому, що пристрій L2CAP посилає пакет запиту віддаленого L2CAP. Цей пакет на віддалене пристрій доставляє baseband.
- 2. Подія і Дія 1: Віддалений L2CAP отримує цей пакет і відповідає з пакетом у відповідь підключення. Перед виконанням L2CAP контактує з віднесеним додатком, щоб перевірити, чи буде потрібний запит фактично оброблено тим додатком.
- 3. Подія і Дія 2: Прийом у відповідь пакету подія для локального пристрою L2CAP. Взаємодія запрошувати про параметри конфігурації: максимальний модуль payload і межі часу очікування.
- 4. Подія і Дія 3: Запит конфігурації подія для віддаленого L2CAP. Його дія відповідь конфігурації. Також, можна посилати його власної конфігурації запит про додаткові параметри.
- 5. Подія і Дія 4: Вищезгаданий пакет подія для місцевого пристрою. Воно відповідає з відповіддю конфігурації.
Ініціатором в місцевому пристрої виступає L2CAP, адресатом L2CAP в пункті доступу або іншому пристрої Bluetooth, з яким входить у контакт. Зверніть увагу, що за вказаним на стрілках, що вказують до ініціатора або адресату події для L2CAP, в той час як стрілки, що вказують за межі дії. Назви, що починаються з L2CAP, є з'єднаннями між двома L2CAP на різних пристроях. Вертикальні рядки LP Менеджери Зв'язки в цих двох пристроях. Назви, що починаються з WA, представляють собою з'єднання з додатком більш високого рівня, для якого встановлюється канал.
Стану OPEN відзначають інтервал з'єднання додатків. Останні кроки у вищезгаданій таблиці відносяться до роз'єднання. Тепер можуть бути передані дані програми або можуть бути виконані процедури захисту.
- Зв'язок додатків
Прикладні дані будуть тепер передані через з'єднання, оскільки всі визначені процедури встановлення з'єднання Bluetooth були виконані. Додатка необхідно запустити протокол більш високого рівня L2CAP. Bluetooth було визначено три використовуваних протоколу. Це:
- RFCOMM
Це емуляція послідовного порту через бездротове з'єднання.
- SDP
Це Service Discovery Protocol, який допомагає пристроям виявити доступні послуги поблизу.
- TCS
Це Telephony Control Protocol Specification, описує управління запитом і передачу сигналів голосових каналів через Bluetooth. Всі користувальницькі додатки і інші існуючі механізми доступу до мережі, наприклад, IP TCP, PPP, IrDA OBEX, WAP і HomeRF можуть бути здійснені за рівнем L2CAP або вищезазначеним трьом протоколами, якщо додаток вибере використання їхніх послуг.
Додаток в результаті повідомить, що більше не потрібно підключення, якщо воно не було зафіксовано протягом часу запуску програми. LMP посилає пакет LMP_detach пакет на віддалене пристрій, на який не потрібно відповідь. Відбувається роз'єднання.
Профілі Bluetooth
- 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.[7]
- Basic Imaging Profile (BIP) - профіль розроблений для пересилки зображень між пристроями і включає можливість зміни розміру зображення і конвертацію в підтримуваний формат приймаючого пристрою.[15]
- 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.
Fax Profile (FAX) - профіль надає інтерфейс між мобільним або стаціонарним телефоном і ПК на якому встановлено програмне забезпечення для факсів. Підтримує ITU T.31 і ITU T.32 набір AT ко-манд. Голосовий дзвінок або передача даних профілем не підтримується.[10]
- 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 для забезпечення можливості здійснювати дзвінки, відповідати на дзвінки, завершувати дзвінок, настроювати гучність.[3]
Підтримка гарнітурою профілю 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.
Безпека Bluetooth
У червні 2006 року Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) опублікували статтю, що містить докладний опис атаки на bluetooth-пристрої. Матеріал містив опис як активної, так і пасивної атаки, що дозволяє дістати PIN код пристрою і надалі здійснити з'єднання з даним пристроєм. Пасивна атака дозволяє відповідно екіпірованому зловмисникові «підслуховувати» (sniffing) процес ініціалізації з'єднання і надалі використовувати отримані в результаті прослушки і аналізу дані для встановлення з'єднання (spoofing).[14] Однозначно, для проведення даної атаки зловмисникові потрібно знаходиться в безпосередній близькості і безпосередньо у момент встановлення зв'язку. Це не завжди можливо. Тому з’явилася ідея активної атаки. Була виявлена можливість відправки особливого повідомлення в певний момент, що дозволяє почати процес ініціалізації з пристроєм зловмисника. Обидві процедури злому достатньо складні і включають декілька етапів, основний з яких збір пакетів даних і їх аналіз. Самі атаки засновані на вразливості в механізмі аутентифікації і створення ключа-шифру між двома пристроями. І тому перед викладом механізму атак розглянемо механізм ініціалізації bluetooth-з’єднання.[12]
Базова pairing атака (атака на сполучення)
Проаналізуємо дані, обмін якими йде впродовж процесу сполучення:[11]
Представимо ситуацію: зловмисникові вдалося прослуховувати ефір і під час процедури сполучення, він перехопив і зберіг всі повідомлення. Далі знайти 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 атаку.[13]
Розглянемо наступну ситуацію. Допустимо, що пристрої вже встигли зв'язатися, зберегли ключ Kab і приступили до Mutual authentication. Від нас потрібно змусити пристрої наново почати pairing. Всього було запропоновано три методи атаки на переспряження, причому всі з них залежно від якості реалізації bluetooth-ядра конкретного пристрою. Нижче приведені методи в порядку убування ефективності:
1) За pairing слідує фаза аутентифікації. Master-пристрій посилає AU_RAND і чекає у відповідь SRES. У стандарті декларує можливість втрати ключа зв'язку. У такому разі slave посилає «LMP_not_accepted», повідомляючи master про втрату ключа. Тому основна мета зловмисника відстежити момент відправки AU_RAND master-пристрієм і у відповідь упровадити пакет LMP_not_accepted, що містить. Реакцією master буде реинициализация процесу pairing. Причому це приведе до анулювання ключа зв'язку на обох пристроях.
2) Якщо встигнути відправити IN_RAND slave-пристрію безпосередньо перед відправкою master-пристроєм величини AU_RAND, то slave буде упевнений, що на стороні master загублений ключ зв'язку. Це знову ж таки приведе до процесу реинициализации сполучення, але вже ініціатором буде slave.
3) Зловмисник чекає відправки master-пристроєм AU_RAND і відправляє у відповідь випадково SRES, що згенерував. Спроба аутентифікації провалена. Далі слідує низка повторних спроб аутентифікації(кількість залежить від особливостей реалізації пристроїв). За умови, що зловмисник продовжує вводити master-пристрій в оману, незабаром (по лічильнику невдалих спроб) пристроями буде ухвалено рішення об реинициализации сполучення.
Використавши будь-який з цих методів, зловмисник може приступити до базової атаки на сполучення. Таким чином, маючи в арсеналі ці дві атаки, зловмисник може безперешкодно викрасти PIN-код. Далі маючи PIN-код він зможе встановити з'єднання з будь-яким з цих пристроїв. І варто врахувати, що в більшості пристроїв безпека на рівні служб, доступних через bluetooth, не забезпечується на належному рівні. Більшість розробників роблять ставку саме на безпеку встановлення сполучення. Тому наслідки дій зловмисника можуть бути різними: від крадіжки записника телефону до встановлення вихідного виклику з телефону жертви і використання його як прослуховуючого пристрою.
Ці методи описують, як примусити пристрої «забути» link key, що само по собі веде до повторного pairing, а значить, зловмисник може підслуховувати весь процес із самого початку, перехопити всі важливі повідомлення і підібрати PIN.
У протоколі Bluetooth активно використовуються алгоритми E22, E21, E1, засновані на шифрі SAFER+. Те що вразливість відноситься до критичних підтвердив Брюс Шнайер (Bruce Schneier). Підбір PIN-a на практиці чудово працює. Нижче приведені результати отримані на Pentium IV на 3 Ггц:
Конкретні реалізації вищеописаних атак можуть працювати з різною швидкістю. Способів оптимізації дуже багато: особливі налаштування компілятора, різні реалізації циклів, умов і арифметичних операцій. Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) зробили прорив, знайшовши спосіб скоротити час перебору PIN-кода в рази. Ця оптимізація виходить за рамки даної статті, але, варто відзначити, що мова йде про оптимізації базових алгоритмів стека bluetooth. В світлі сучасних технологій (зокрема nVidia CUDA) результати могли бути ще краще.
Збільшення довжини PIN-кода не є панацеєю і лише трохи збільшує час перебору. Тільки сполучення пристроїв в безпечному місці може частково захистити від описаних атак. Приклад bluetooth гарнітура або автомобільний handsfree. Ініціалізація зв'язку (при включенні) з даними пристроями може відбуватися багато разів протягом дня, і не завжди у користувача є можливість знаходитися при цьому в захищеному місці. Втім, атаки подібного вигляду не будуть дуже популярні, принаймні, поки не буде реалізовано доступних апаратних засобів і універсальних програмних пакетів.
Впровадження NFC є ефективним рішенням проти даного виду атак, але в цілому, ситуація не зміниться на краще до появи на ринку достатньої кількості рішень на Bluetooth 2.1 (з підтримкою NFC), а через їх зворотну сумісність з попередніми версіями протоколу, вищевикладені атаки будуть актуальні ще достатньо тривалий час.[6]
Застосування
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто очікувати роботу на відстані більше 10-20 м. Такої далекодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацювання алгоритмів атаки, на Defcon-2004 публіці була представлена антена-гвинтівка BlueSniper, розроблена Джоном Херінгтона (John Herington). Пристрій підключається до портативного пристрою — ноутбуку / КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км).
Blueman - комп'ютерна програма для створення з'єднань з різними Bluetooth-приладами.
Функції:
- •Створення мережевих з'єднань :
- •Персональна мережа (PAN), у тому числі спільно з програмою NetworkManager. Надається базовий DHCP-клієнт для PAN.
- •Підключення до інтернету через мобільні пристрої з використанням DUN-профілю. Мобільні мережі що підтримуються: GPRS, EDGE, 3G.
- •Спільна робота з програмами NetworkManager і ModemManager за допомогою додаткових модулів(плагінів) Blueman.
- •Обмін файлами між комп'ютером і Bluetooth-пристроєм по протоколу OBEX.
- •Підключення:
- •Пристрої введення.
- •Аудіо-пристрої (наприклад - навушникі). Підтримка роботи із звуковим сервером PulseAudio.
Майбутнє Bluetooth
Так історично склалося , що на сьогоднішній день ми маємо три частково перетинаються бездротові технології для передачі даних - це Wi -Fi , Bluetooth і ZigBee . Кожна з них , що характерно , постійно намагається влізти на чужу територію. Так , постійно удосконалюються специфікації кожної з перерахованої вище технології знижують споживання приемопередатчиков і розширюють зону покриття. Але на практиці це призводить до того , що ми маємо не одне універсальне рішення , а комбіноване , здатне працювати в декількох діапазонах відразу з підтримкою всіх можливих стандартів . Чи треба говорити , що це типові " милиці " ? Чи зміниться така ситуація в майбутньому? Малоймовірно , оскільки кожна з технологій обросла такими групами підтримки в усьому її прояві , що говорити про уніфікацію бездротового інтерфейсу навіть якось дивно.
Прикладом вищесказаного може служити інформація про плани з розвитку стандарту Bluetooth. Оновлення специфікацій Bluetooth , яке очікується в 2014 і 2015 роках , зробить упор на мало споживаючі режими і множинні з'єднання. Фактично мова йде чи не про повне вторгнення Bluetooth в зону відповідальності стандарту ZigBee , який створювався для датчиків і сенсорів з бездротового підключення. Адже вже перші профайли Bluetooth LE ( Low Energy ) розроблені до літа 2011 року, давали можливість сенсорам з підтримкою Bluetooth LE роками працювати від батарейок - «таблеток» .
У майбутньому Bluetooth LE буде орієнтований на ще більш широкий спектр сенсорів як " натільних " - для моніторингу стану організму людини , так і для індустріальних , автомобільних та інших потреб . Для підключення до мережі Інтернет мільярдів сенсорів і пристроїв стандарт Bluetooth LE буде підтримувати протокол IPv6 - це буде одна з практичних реалізацій "Інтернету Речей" . Швидкість обміну даними підвищиться з сьогоднішніх 1 Мбіт / с до 2 Мбіт / с із збереженням паритету за споживанням або навіть з можливістю знизити споживання . При цьому буде гарантуватися збільшення зони покриття. З інших поліпшень з'являться прискорення перепідключення , що заощадить заряд батарейок , підвищення рівня захисту даних від перехоплення , допомога в орієнтації у приміщеннях , групова передача даних ( широкомовлення ) і дещо інше . Відповідно, обіцяє з'явитися цікава периферія. Особливо носимая . Через пару років , виходячи на ранкову пробіжку , доведеться не забути начепити на себе дюжину -другу датчиків.--Максим 15:56, 8 грудня 2013 (EET)
Ресурси Internet
- http://www.bluetooth.org — офіційний сайт групи розробників технології (містить специфікації)
- http://www.bluetooth.com — офіційний сайт для користувачів технології
- http://www.bluesoleil.com
- https://4pda.ru/2017/04/14/340182/ — Bluetooth 5 випробували в реальних умовах
Питання до технології Bluetooth
- В чому полягає суть методу FHSS?
- У чому переваги Bluetooth 2.1 від 2.0?
- Суть профілю Bluetooth Headset Profile (HSP).
- Який радіус роботи пристроїв BT1 і BT2?
- Які є три етапи установки зв'язку bluetooth?
- Що можна сказати про безпеку bluetooth з'єднання?
- Які можливості надає профіль Audio / Video Remote Control Profile (AVRCP)?
- Опишіть процес забезпечення безпеки?
- Яким чином здійснюється зв'язок між двома телефонами по Bluetooth
- Яке призначення профілю Fax Profile (FAX)
- Принципи методів атаки на переспряження
- Основні недоліки Bluetooth?
- Хто зробив прорив, знайшовши спосіб скоротити час перебору PIN-кода в рази?
- Чим відрізняється пасивна атака на PIN-код від активної?
- Для чого був розроблений профіль Basic Imaging Profile (BIP)?
- Що таке інтерференція?
- Як здійснюється передача?Пакетами?Якщо так то яка величина пакета?
- Чи має блютус MAC-адреси?
- Чи можна одночасно підключити до одного пристрою, за допомогою bluetooth, два або більше пристроїв? Якщо так, то як це працює?