Bluetooth: відмінності між версіями

[неперевірена версія][перевірена версія]
Вилучено вміст Додано вміст
стиль
вікіфікація
Рядок 11:
Інтерфейс ''Bluetooth'' дає змогу передавати як голос (зі швидкістю 64 [[Біт на секунду|Кбіт/с]]), так і дані. Для передачі даних можуть бути використані асиметричний (721 Кбіт/с в одному напрямку і 57,6 Кбіт/с в іншому) та симетричний (432,6 Кбіт/с в обох напрямках) методи. Працюючи на частоті 2.4 [[Герц|ГГц]], прийомопередавач (''Bluetooth-chip'') дає змогу встановлювати зв'язок у межах 10 або 100 [[метр]]ів. Різниця у відстані, безумовно, велика, однак з'єднання в межах 10 [[метр]]ів дає змогу зберегти низьке енергоспоживання, компактний розмір і досить невисоку вартість компонентів. Так, малопотужний передавач споживає всього 0.3 [[Ампер|мА]] в режимі standby і в середньому 30 [[Ампер|мА]] під час обміну інформацією. У стандарті Bluetooth передбачене [[шифрування]] даних, що передаються з використанням ключа ефективної довжини від 8 до 128 [[біт]] і можливістю вибору односторонньої або двосторонньої [[Автентифікація|аутентифікації]]. Додатково, до шифрування на рівні протоколу, може бути використано шифрування на програмному рівні.
 
Технологія ''Bluetooth'' працює за принципом '''FHSS''' ({{lang-en|Frequency-hopping spread spectrum}}). Коротко це можна пояснити так: передавач розбиває дані на пакети і передає їх за псевдовипадковим алгоритмом стрибкоподібної перебудови [[частота|частоти]](1600 разів в секунду), або [[шаблон]]ом (pattern), складеному з 79 підчастот. "«Зрозуміти"» один одного можуть тільки ті пристрої, які налаштовані на один і той самий шаблон передачі - — для сторонніх приладів передана інформація буде звичайним шумом. Основним структурним елементом мережі Bluetooth є так звана "«пікомережа"» (piconet) - — сукупність від 2 до 8 пристроїв, що працюють на одному і тому ж шаблоні. У кожній пікомережі один пристрій працює як активний (''master)'', а інші як пасивні (''slave)''. Активний пристрій (''Master)'' визначає шаблон, на якому працюватимуть усі пасивні пристрої (''slave'') його пікомережі, і синхронізує її роботу. Стандарт Bluetooth передбачає з'єднання незалежних і навіть не синхронізованих між собою пікомереж (до 10) в так звану "«scatternet"» ({{lang-en| to scatter звучить як "розсіювати"}}). Для цього кожна пара пікомереж повинна мати як мінімум один спільний пристрій, який буде активним в одній і пасивним в іншій. Таким чином, у межах окремої ''scatternet'' з інтерфейсом Bluetooth може бути одночасно пов'язано максимум 71 пристрій, однак ніхто не обмежує застосування пристроїв-гейтів, які використовують той же [[Internet]] для більш далекого зв'язку.
 
Частотний діапазон Bluetooth в більшості країн вільний від [[ліцензування]], але у Франції, Іспанії та Японії через законодавчі обмеження необхідно використовувати відмінні від зазначених вище частоти.
 
== Редакції ==
 
=== Bluetooth 1.0 ===
Пристрої версій 1.0 (1998) і 1.0B мали погану сумісність між продуктами різних виробників. У 1.0 і 1.0B була обов'язковою передача адреси пристрою (BD_ADDR) на етапі встановлення зв'язку, що робило неможливою реалізацію анонімності з'єднання на протокольному рівні і було основним недоліком даної специфікації.
Рядок 36 ⟶ 37:
=== 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 Мбіт / с відповідно.
«Request for Comments» Серія документів IETF (стандартів, інструкцій, звітів робочих груп і &nbsp;т.&nbsp;д.), що визначають "«пристрій"» Internet, зокрема, стандарти TCP / IP.<ref>[http://www.hotcomp.ru/set/glos/0087.php/English/Press/Pages/PressReleasesDetail.aspx?ID=106 REQUEST FOR COMMENTS]</ref>.
 
Bluetooth SIG видала специфікацію як «Технологія Bluetooth 2.0 + EDR», яка передбачає, що EDR є додатковою функцією. Крім EDR є й інші незначні удосконалення до 2.0 специфікації, і продукти можуть відповідати «Технології Bluetooth 2.0», не підтримуючи вищу швидкість передачі даних. Принаймні один комерційний пристрій, HTC TyTN Pocket PC, використовує «Bluetooth 2.0 без EDR» у своїх технічних специфікаціях.
Рядок 55 ⟶ 56:
Робоча група з розробки стандарту бездротової передачі даних Bluetooth 21 квітня 2009 випустила специфікацію Bluetooth 3.0. Модулі з підтримкою нової специфікації поєднуватимуть в собі дві радіосистеми.
 
Перша, з низьким енергоспоживанням, забезпечує передачу даних на звичайній для другої версії Bluetooth швидкості в три мегабіти в секунду. Інша, високошвидкісна і сумісна зі стандартом [[IEEE 802.11]], забезпечує швидкості, порівнянні зі швидкістю мереж [[Wi-Fi]]. Варто відзначити, що Bluetooth 3.0 використовує стандарт 802.11 без суфікса, тобто формально не сумісний з такими специфікаціями [[Wi-Fi]], як 802.11b/g або 802.11n. 802.11 &nbsp;— загальніший стандарт.
 
Використання тієї або іншої радіосистеми залежить від розміру передаваного файлу. Невеликі файли передаватимуться по повільному каналу, а великі &nbsp;— по високошвидкісному. Після закінчення передачі модуль повернеться в режим зниженого енергоспоживання.
 
Крім того, в Bluetooth 3.0 з'явиться можливість під назвою «розширений контроль живлення» (Enhanced Power Control). Вона дає змогу уникнути розриву з'єднання, якщо пристрій поклали в сумку або в кишеню.
Рядок 64 ⟶ 65:
У грудні 2009 консорціум Bluetooth SIG анонсував стандарт Bluetooth 4.0 для електронних пристроїв. Новий стандарт призначений для передачі коротких пакетів даних обсягом по 8-27 байт зі швидкістю 1 Мбіт/с. Для порівняння, Bluetooth 3.0, розробка якого була завершена в квітні 2008, дає змогу передавати дані зі швидкістю до 24 Мбіт/с, але і призначений він для іншої сфери застосування.
 
Bluetooth 4.0 використовують в мініатюрних сенсорах, що розміщуються на тілі пацієнтів, у спортивному взутті, тренажерах тощо. Сенсори на базі нового стандарту можуть передавати різну інформацію з навколишнього світу &nbsp;— температуру, тиск, вологість, швидкість пересування і так далі &nbsp;— на різні пристрої контролю, включаючи мобільні телефони. За словами представників консорціуму, окремий стандарт був розроблений у зв'язку з тим, що Bluetooth 3.0 і більш ранні версії не в змозі забезпечити необхідний низький рівень енергоспоживання.
 
Перший чіп з одночасною підтримкою Bluetooth 4.0 і 3.0 випустив ST-Ericsson.
Рядок 72 ⟶ 73:
=== Bluetooth 4.1 ===
В кінці 2013 року Bluetooth SIG представила специфікацію Bluetooth 4.1.
В технології Bluetooth 4.1 реалізовано автоматичне відновлення з'єднання, тобто тепер пристрій може автоматично з'єднуватися зі «знайомими» Bluetooth-пристроями, які "«вийшли"» з радіусу дії, без запиту на дозвіл користувача. Додана повноцінна підтримка протоколу [[IPv6]].
Пристрої з Bluetooth 4.1 можуть працювати в режимі хаба (Bluetooth Hub) і периферійного пристрою одночасно, підвищуючи гнучкість застосування модулів Bluetooth.<br/>Поліпшена спільна робота Bluetooth і [[LTE]]. Передбачає захист від взаємних перешкод, шляхом автоматичного координування передачі пакетів даних, за рахунок узгодження радіомодулів між собою для зниження рівня наведень при роботі на близьких частотах.
 
Рядок 79 ⟶ 80:
 
== Профілі Bluetooth ==
Профіль &nbsp;— набір функцій або можливостей, доступних для певного пристрою Bluetooth. Для спільної роботи Bluetooth-пристроїв необхідно, щоб всі вони підтримували загальний профіль.
Нижчезазначені профілі визначені і схвалені групою розробки Bluetooth SIG:
 
Рядок 172 ⟶ 173:
* Аутентифікація
Перші два пункти входять в так звану процедуру парінга.
Парінг (PAIRING), або пару &nbsp;— процес зв'язку двох (або більше) пристроїв з метою створення єдиної секретної величини Kinit, яку вони будуть надалі використовувати при спілкуванні. В деяких перекладах офіційних документів по bluetooth можна також зустріти термін «підгонка пари».
 
Перед початком процедури сполучення на обох сторонах необхідно ввести [[PIN-код]]. Звичайна ситуація: дві людини хочуть зв'язати свої телефони і заздалегідь домовляються про PIN-коді.
 
Для простоти будемо розглядати ситуацію з двома пристроями. Принципово це не вплине на механізми встановлення зв'язку і подальші атаки. Далі з'єднуються пристрої будуть позначатися A і B, більш того, один з пристроїв при сполученні стає головним (Master), а друге &nbsp;— веденим (Slave). Будемо вважати пристрій A головним, а B &nbsp;— веденим. Створення ключа Kinit починається відразу після того, як були введені [[PIN-код]]и.
 
Kinit формується за алгоритмом E22, який оперує такими величинами:
* BD_ADDR &nbsp;— унікальний MAC-адресу BT-пристрої. Довжина 48 біт (аналог IP-адреси, але встановлюється виробником і унікальний для кожного мережевого пристрою)
* PIN -код і його довжина
* IN_RAND . Випадкова 128-бітова величина
На виході E22 алгоритму отримуємо 128-бітове слово, іменоване Kinit. Число IN_RAND відсилається пристроєм A в чистому вигляді. У випадку, якщо PIN незмінний для цього пристрою, то при формуванні Kinit використовується BD_ADDR, отримане від іншого пристрою. У випадку якщо у обох пристроїв змінювані PIN-коди, буде використаний BD_ADDR (B) &nbsp;— адреса slave-пристрої. Перший крок сполучення пройдений. За ним слідує створення Kab . Після його формування Kinit виключається з використання.
 
Для створення ключа зв'язку Kab пристрої обмінюються 128-бітними словами LK_RAND (A) і LK_RAND (B), що генеруються випадковим чином. Далі слід побітовий XOR з ключем ініціалізації Kinit . І знову обмін отриманим значенням. Потім слід обчислення ключа по алгоритму E21.
Рядок 189 ⟶ 190:
* BD_ADDR
* 128-бітний LK_RAND (кожен пристрій зберігає своє і отримане від іншого пристрою значення)
На даному етапі pairing закінчується і починається останній етап ініціалізації bluetooth &nbsp;— Mutual authentication або взаємна аутентифікація. Заснована вона на схемі «запит-відповідь». Одне з пристроїв стає верифікатором, генерує випадкову величину AU_RAND (A) і засилає його сусідньому пристрою (у plain text), званому пред'явником (claimant &nbsp;— в оригінальній документації). Як тільки пред'явник отримує це «слово», починається обчислення величини SRES по алгоритму E1, і вона вирушає верифікатори. Сусіднє пристрій виробляє аналогічні обчислення і перевіряє відповідь пред'явника. Якщо SRES збіглися, то, значить, усе гаразд, і тепер пристрої міняються ролями, таким чином процес повторюється заново.
 
E1-алгоритм оперує такими величинами:
Рядок 199 ⟶ 200:
Основним напрямком використання Bluetooth має стати створення так званих персональних мереж (PAN, або private area networks), які включають такі різнопланові пристрої, як мобільні телефони, [[Кишеньковий комп'ютер|PDA]], МР3-плеєри, комп'ютери і навіть мікрохвильові печі з холодильниками. Можливість передачі голосу дає змогу вбудовувати інтерфейс Bluetooth в бездротові телефони або, наприклад, бездротові гарнітури для телефонів. Можливості застосування Bluetooth на практиці безмежні: крім синхронізації PDA з настільним комп'ютером або під'єднування до низькошвидкісної периферії на зразок клавіатур або мишей, інтерфейс дає змогу дуже просто і з невеликими витратами організувати домашню мережу. Причому вузлами цієї мережі можуть бути будь-які пристрої, що мають потребу в інформації або володіють необхідною інформацією.
 
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто очікувати роботу на відстані більше 10-20 &nbsp;м. Такої далекодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацювання алгоритмів атаки, на Defcon-2004 публіці була представлена ​​антена-гвинтівка BlueSniper, розроблена Джоном Херінгтона (John Herington). Пристрій підключається до портативного пристрою &nbsp;— ноутбуку / КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км).
 
=== Програмне забезпечення ===