Курсовая работа: Bluetooth принципи побудови і функціонування

Перші два пункти входять в так звану процедуру паринга.

Парінг (PAIRING) - або сполучення. Процес зв'язку двох (або більш) пристроїв з метою створення єдиної секретної величини Kinit, яку вони надалі використовуватимуть при спілкуванні. У деяких переказах офіційних документів по bluetooth можна також зустріти термін "підгонка пари".

Перед початком процедури сполучення на обох сторонах необхідно ввести PIN-код. Звичайна ситуація: дві люди хочуть зв'язати свої телефони і заздалегідь домовляються про PIN-коде.

Для простоти розглядатимемо ситуацію з двома пристроями. Принципово це не вплине на механізми встановлення зв'язку і подальші атаки. Пристрої, що далі з'єднуються, позначатимуться A і B, більш того, один з пристроїв при сполученні стає головним (Master), а друге - веденим (Slave). Вважатимемо пристрій A за головний, а B - веденим. Створення ключа Kinit зачинається відразу після того, як були введені PIN-коды.

Kinit формується по алгоритму E22, який оперує наступними величинами:

BD_ADDR - унікальна адреса BT-устройства. Довжина 48 битий (аналог MAC-адреса мережевої карти РС)

PIN-код і його довжина

IN_RAND. Випадкова 128-бітова величина

На виході E22 алгоритму отримуємо 128-бітове слово, іменоване Kinit. Число IN_RAND відсилається пристроєм A в чистому вигляді. У випадку, якщо PIN незмінний для цього пристрою, то при формуванні Kinit використовується BD_ADDR, отримане від іншого пристрою. У випадку якщо біля обох пристроїв змінні PIN-коды, буде використаний BD_ADDR (B) - адреса slave-устройства. Перший крок сполучення минув. За ним слідує створення Kab. Після його формування Kinit виключається з використання.

Для створення ключа зв'язку Kab пристрою обмінюються 128-бітовими словами LK_RAND (A) і LK_RAND (B), що генеруються випадковим чином. Далі слідує побітовий XOR з ключем ініціалізації Kinit. І знову обмін набутого значення. Потім слідує обчислення ключа по алгоритму E21.

Для цього необхідні величини:

BD_ADDR

128-бітовий LK_RAND (кожен пристрій зберігає своє і набутого від іншого пристрою значення значення)

На даному етапі pairing закінчується і зачинається останній етап ініціалізації bluetooth - Mutual authentication або взаємна аутентифікація. Заснована вона на схемі "запит-відповідь". Один з пристроїв стає верифікатором, генерує випадкову величину AU_RAND (A) і засилає його сусідньому пристрою (у plain text), званому пред'явником (claimant - в оригінальній документації). Як тільки пред'явник отримує це "слово", зачинається обчислення величини SRES по алгоритму E1, і вона відправляється верифікатору. Сусідній пристрій проводить аналогічні обчислення і перевіряє відповідь пред'явника. Якщо SRES збіглися, то, значить, все добре, і тепер пристрої міняються ролями, таким чином процес повторюється наново.

E1-алгоритм оперує такими величинами:

·Випадково створене AU_RAND

·link key Kab

·Свій власний BD_ADDR

Уразливості і атаки

Базова pairing атака (атака на сполучення)

Проаналізуємо дані, обмін якими йде впродовж процесу сполучення:

№ОтДоДаніДовжина (битий) Інша інформація

1ABIN_RAND128plaintext

2ABLK_RAND (A) 128XORed with Kinit

3BALK_RAND (B) 128XORed with Kinit

4ABAU_RAND (A) 128plaintext

5BASRES32plaintext

6BAAU_RAND (B) 128plaintext

7ABSRES32plaintext

К-во Просмотров: 259
Бесплатно скачать Курсовая работа: Bluetooth принципи побудови і функціонування