- •1. Огляд пристроїв, програмного забезпечення, технологій
- •1.1. Комутатор des-3326sr
- •24 Порти 10/100 Мбіт/с для підключення робочих станцій
- •Vlan для підвищення продуктивності і безпеки
- •Igmp Snooping для управління широкомовним трафіком
- •2. Рішення задачі побудови заданої мережі
- •Ініціалізація bluetooth-з'єднання
- •2.2. Віртуальна локальна мережа
- •3. Розрахунок витрат за вартістю устаткування і пз
- •5. Заборона доступу
- •10. Заборона портам
- •Висновки
- •Література
Ініціалізація bluetooth-з'єднання
Ініціалізацією, щодо bluetooth, прийнято називати процес встановлення зв'язку. Її можна розділити на три етапи:
Генерація ключа Kinit
Генерація ключа зв'язку (він носить назву link key і позначається, як Kab)
Аутентифікація
Перші два пункти входять в так звану процедуру парінга. Парінг (PAIRING), або пару — процес зв'язку двох (або більше) пристроїв з метою створення єдиної секретної величини Kinit, яку вони будуть надалі використовувати при спілкуванні. В деяких перекладах офіційних документів по bluetooth можна також зустріти термін «підгонка пари».
Перед початком процедури сполучення на обох сторонах необхідно ввести PIN-код. Звичайна ситуація: дві людини хочуть зв'язати свої телефони і заздалегідь домовляються про PIN-коді.
Для простоти будемо розглядати ситуацію з двома пристроями. Принципово це не вплине на механізми встановлення зв'язку і подальші атаки. Далі з'єднуються пристрої будуть позначатися A і B, більш того, один з пристроїв при сполученні стає головним (Master), а друге — веденим (Slave). Будемо вважати пристрій A головним, а B — веденим. Створення ключа Kinit починається відразу після того, як були введені PIN-коди.
Kinit формується за алгоритмом E22, який оперує такими величинами:
BD_ADDR — унікальний MAC-адресу BT-пристрої. Довжина 48 біт (аналог IP-адреси, але встановлюється виробником і унікальний для кожного мережевого пристрою)
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
. Налаштування Bluetooth
Для створення безпровідного зв’язку необхідно два комп’ютера між ІР-мережами, які виконують функції маршрутизаторів під управлінням операційної системи Unix FreeBSD. Ця задача зводиться до організації по протоколу РРР зв'язок між двома комп’ютерами за допомогою Bluethooth. Один з них повинен працювати, як сервер (Router 1), а інший як клієнт (Router 2). Мережні карти комп’ютерів підключимо до комутаторів для організації ІР-мереж, зв'язок між якими повинен бути організований через Bluethooth.
Мережні карти комп’ютерів Router 1 і Router 2 створюють інтерфейси з ір-адресами 193.20.30.2 і 172.20.0.2 відповідно, а Bluethooth адаптери створюють інтерфейси з ір-адресами 10.0.0.2 і 10.0.0.1 відповідно. Налаштування коректні для UNIX FreeBSD release 5.4, 6.0:
В файл /boot/loader.conf вставляємо рядок:
ng_ubt_load=”YES”
Копіюємо:
# cp /usr/share/examples/netgraph/bluetooth/rc.bluetooth /etc/rc.bluetooth
і запускаємо Bluetooth:
# /etc/rc.bluetooth start ubt0
Знаходимо Bluetooth пристрій (комп'ютер) по команді:
# hccontrol -n ubt0hci inquiry
Прописуємо знайдену адресу пристрою у файлі /etc/bluetooth/hosts і даємо йому ім'я, наприклад R2:
00:0c:82:a4:13:bd R2
Прописуємо в /etc/bluetooth/hcsecd.conf знайдена адреса комп'ютера у вигляді:
device {
bdaddr 00:0c:82:a4:13:bd;
name "R2";
key nokey;
pin "1111";
}
Якщо виконати команду # sdpcontrol –a R2 Search або # sdpcontrol –a R2 brouse можна побачити сервіси, які надає віддалений комп’ютер.
Попередні команди необхідно виконати на двох зв’язних комп’ютерах Router 1 і Router 2.
Для організації зв'язку клієнта із сервером необхідно зробити додавання у файл /etc/ppp/ppp.conf:
Для сервера:
rfcomm-server:
# Відключення часу простою, після якого з’єднання розривається
set timeout 0
# Установка періоду посилання lqr пакетів
set lqrperiod 10
# Установка адрес сервера і клієнта з маскою мережі
set ifaddr 10.0.0.2 10.0.0.1 255.255.255.248
# Включення генерації запитів якості лінії без виявлення генерації запитів якості лінії без виявлення несущей від модема (потрібно для ноль-модемного підключення)
enable lqr
#Слухати відповіді про якість лінії
accept lqr
# Не використовувати РРР аутентифікацію
# Bluetooth має аутентифікацію
disable pap
deny pap
disable chap
deny chap
# Дозволити використання DNS
enable dns
Для клієнта:
rfcomm-client:
enable lqr
accept lqr
set dial
set timeout 0
set ifaddr 10.0.0.1 10.0.0.2
deny pap
desable pap
deny chap
disable chap
enable dns
Запускаємо сервер:
# hcsecd
# sdpd
# rfcomm_pppd -s -C 7 -l rfcomm-server
Запускаємо клієнта:
# hcsecd
# rfcomm_pppd -c -a MAA1 -C LAN -l rfcomm-client
