391
льними, тим паче, що для проведення атаки достатньо перехопити тільки один пакет, після чого проводити всі обчислення без взаємодії з мережею.
Оскільки для контролю цілісності пакетів в WEP використовується лінійна функція CRC32,
зловмисник на основі повтору векторів ініціалізації дістає можливість підроблювати зашифроване повідомлення таким чином, що воно пройде контроль цілісності.
Захист на рівні порту. Протокол 802.1x звичайно асоціюється з безпроводовими мережа-
ми, проте спочатку він був розроблений для розмежування доступу в мережах Ethernet і Token Ring. Технологія 802.1x забезпечує можливість рішення задач ідентифікації, аутентифікації і роз-
межування доступу до мереж на канальному рівні.
Єдиним механізмом захисту на канальному рівні, що існував до появи цієї технології, було розмежування доступу по МАС-адресу (port security). Проте оскільки МАС-адрес є загальнодосту-
пним і легко змінним параметром, даний механізм не можна назвати надійним методом захисту. В
основному розмежування доступу було сконцентроване на мережному і вищих рівнях.
При використовуванні протоколу 802.1x станція, що фізично підключає до мережі, не діс-
тає доступу до інших вузлів до проходження аутентифікації. За реалізацію цієї функції відповідає активне мережне обладнання (комутатор, точка доступу), що відключає станції від мережі до отримання позитивного вердикту про їх автентичність. У термінології 802.1x пристрій, що вико-
нує подібні функції, називається аутентіфікатором (Authenticator). Протокол 802.1х реалізований в більшості точок доступу і безпроводових комутаторів, але далеко не у всьому активному мереж-
ному устаткуванні.
Оскільки реалізувати функції аутентифікації безпосередньо на комутаторі було б нелогічно
(кожен комутатор повинен містити свою базу даних облікових записів), аутентіфікатор викорис-
товується як сервер-посередник між ініціатором і третім компонентом 802.1x, сервером аутенти-
фікації (Authentication Server). В ролі серверу аутентифікації може бути використана практично будь-яка реалізація серверу RADIUS, наприклад FreeRADIUS, Microsoft Internet Authentication Server (IAS) і т.д. (рис. 2.82).
EAPoL |
RADIUS |
|
Неконтролюємий порт |
Ініціатор |
|
(Supplicant) |
Сервер аутентифікації |
|
(Authentication Server) |
Аутентифікатор |
|
(Authenticator) |
|
|
Контролюємий порт |
Рисунок 2.82 - Компоненти 802.1х
При підключенні до мережі аутентіфікатор посилає ініціатору по протоколу Extensible Authentication Protocol over LAN (EAPOL) запит на аутентифікацію. Якщо клієнт не підтримує
392
802.1x, запит ігнорується, і станція не має нагоди взаємодії з мережею. Інакше клієнт ініціює про-
токол перевірки достовірності, в ході якого відбувається взаємна аутентифікація серверу RADIUS
і станції, що підключається. Аутентіфікатор перетворить запити EAPOL в команди протоколу
RADIUS і назад. Якщо клієнт успішно пройшов аутентифікацію і авторизацію, сервер RADIUS дає аутентіфікатору команду на підключення до мережі, після чого станція дістає можливість взаємо-
дії в рамках контрольованого комутатором або АР сегменту. Додатково сервер RADIUS може ге-
нерувати і передавати до АР і станції, що підключається, ключі шифрування (WEP, РМК для WPA
або WPA2).
Протоколи аутентифікації. Для аутентифікації в мережі, що використовує технологію
802.1x, може використовуватися один з протоколів сімейства ЕАР (RFC 3748, 4017). Найбільш поширені наступні з них:
-EAP-TLS;
-PEAP (Protected ЕАР);
-EAP-TTLS (Tunneled Transport Layer Security);
-Cisco-LEAP;
-EAP-FAST.
У проводових мережах можуть бути використані і інші протоколи аутентифікації, напри-
клад EAP-MD5, але для безпроводових мереж він не підходить. Протокол здійснює односторонню аутентифікацію (мережа проводить аутентифвкацію клієнта) на основі хеша пароля. Оскільки ста-
нція не може перевірити достовірність мережі, це дозволяє зловмиснику встановити точку доступу з сервером RADIUS, що вважає коректною будь-яку спробу аутентифікації, і таким чином реалізу-
вати атаки на клієнтські пристрої.
Протоколи LEAP і EAP-FAST. Протокол LEAP є власною розробкою фірми Cisco і реалі-
зований в безпроводових мережах. Протокол реалізований на базі спрощеного варіанту MS-
CHAPv2 і працює таким чином:
-мережа передає станції 8-бітовий випадковий запит;
-станція розбиває NT-hash (значення функції MD4 від пароля 16 байт) на 3 частини (7+7+2
байта), остання частина доповнюється нулями до 7 байт;
-запит три рази зашифровується по алгоритму DES з використанням частин хеша паролів як ключі;
-зашифровані значення конкатенуються, і одержаний 24-бітовий відгук відправляється в
мережу;
-мережа перевіряє коректність набутого значення і у разі успіху передає підтвердження
станції;
-станція генерує випадковий запит, передає його мережі, і проводиться процедура аутен-
тифікації мережі.
393
Таким чином, протокол LEAP реалізує двосторонню аутентифікацію на основі пароля.
Проте, в реалізації процесу перевірки достовірності присутні декілька недоліків, що дають можли-
вість проводити ефективні атаки, направлені на підбір пароля по словнику.
У LEAP хеш пароля розраховується і зберігається без використання «солі». «Сіль» є випад-
ковим числом, яке конкатенується з паролем перед розрахунком хеша і зберігається в системі у відкритому вигляді. Таким чином, навіть однакові паролі матимуть різні значення хеша. Відсут-
ність «солі» дає зловмиснику можливість використовувати заздалегідь розраховані значення хешів
(атаки типу «балансування час-пам'ять», time-memory trade-off). Третій ключ DES використовуєть-
ся для шифрування запиту, містить тільки 2 байти хеша, а решта частини ключа відома (нулі).
В цілях забезпечення безпеки компанія Cisco реалізувала модифікований варіант LEAP
під назвою EAP-FAST. Цей протокол РЕАР забезпечує передачу даних аутентифікації всередині захищеного TLS-канала. Для шифрування даних використовуються симетричні ключі (Protected Access Credentials, РАС), унікальні для кожного користувача. Як метод аутентифікації використо-
вується передача пароля у відкритому вигляді EAP-GTC. Для полегшення задачі розсилання паро-
лей може використовуватися механізм динамічнї розсилки ключів (Dynamic Provisioning або
Automatic РАС Provisioning), що реалізовує автоматичну передачу РАС клієнту. Для цього клієнт встановлює захищене з'єднання з мережею, застосовуючи протокол Діффі-Хеллмана для вивелен-
ня ключів шифрування. В рамках захищеного тунеля клієнт проходь аутентифікацію по протоколу
MS-CHAPv2, після чого йому передається РАС.
Протоколи TLS і РЕАР в технічній реалізації мало відрізняються один від одного і пропо-
нують використовувати різні методи аутентифікації всередині захищеного за допомогою TLS ту-
неля.
Протокол EAP-TLS є стандартом IETF (RFC 2716). У ньому для взаємної аутентифікації станції і мережі використовуються цифрові сертифікати і протокол TLS. Реалізації цього протоко-
лу достатньо широко поширені і вбудовані в більшість ініціаторів 802.1x.
Протокол РЕАР дозволяє використовувати для аутентифікації цифрові сертифікати, а та-
кож ім'я користувача і пароль (наприклад, по протоколу MS-CHAP-V2). Крім того, дані аутенти-
фікації захищаються протоколом TLS.
Процес встановлення з'єднання РЕАР відбувається в два етапи (рис. 2.83).
|
394 |
EAPoL |
RADIUS |
|
Неконтролюємий порт |
Ініціатор |
|
(Supplicant) |
Сервер аутентифікації |
|
(Authentication Server) |
Аутентифікатор |
|
(Authenticator) |
|
EAP – Request / Identity |
Контролюємий порт |
|
|
EAP – Response / Identity |
|
EAP – Type / PEAP |
|
TLS – Client-Hello |
|
TLS – Server-Hello |
|
TLS – Cert-Verify |
Шифрування TLS |
|
|
Licensing site |
|
EAP – Request / Identity |
|
EAP – Response / Identity |
|
EAP – Type = X |
|
EAP – Type = X |
|
EAP – Success |
|
Рисунок 2.83 - Реалізація протоколу PEAP
Перший етап:
-клієнт одержує запит на встановлення з'єднання по протоколу ЕАР;
-клієнт посилає довільний ідентифікатор, який не перевіряється сервером;
-сервер пропонує використовувати РЕАР для аутентифікації;
-клієнт підтверджує тип протоколу і посилає ідентифікатор сесії TLS (Client Hello);
-сервер передає клієнту свій сертифікат і серверний ідентифікатор сесії TLS (Server Hello);
-клієнт перевіряє сертифікат серверу, генерує сеансовий ключ TLS, зашифровує його на відкритому ключі з сертифікату і передає зашифрований ключ серверу;
-сервер розшифровує сеансовий ключ за допомогою свого закритого ключа і підтверджує закінчення даної фази;
Другий етап (дані захищені протоколом TLS record protocol):
-сервер посилає клієнту запит імені користувача (ідентифікатора);
-клієнт посилає серверу свій реальний ідентифікатор;
-сервер пропонує Використання одного з методів аутентифікації;
-клієнт посилає дані для аутентифікації (хеш пароля, сертифікат і цифровий підпис і т. д.),
або пропонує використовувати інший метод аутентифікації;
- сервер перевіряє дані клієнта і передає точці доступу дозвіл на роботу з клієнтом.
Таким чином, незалежно від методу аутентифікації, що використовується, облікові дані ко-
ристувача (включаючи ідентифікатор) передаються всередині захищеного TLS-туннеля і не мо-
жуть бути перехоплені зловмисником.
395
Впровадження технології 802.1x. В ході розгортання технології 802.1x необхідно виріши-
ти наступні питання:
-вибір суб'єкта і протоколу аутентифікації;
-розгортання і настройка серверної інфраструктури;
-настройка клієнтів безпроводової мережі.
Вельми важливим моментом при упровадженні технології 802.1x є визначення кількості серверів RADIUS і точок їх підключення до мережі. Оскільки сервери аутентифікації є основними з компонентів інфраструктури 802.1х, їх недоступність не дасть користувачам підключатися до мережі. Крім того, у великих мережах на сервери RADIUS лягає велике навантаження і виникає необхідність в її рівномірному розподілі. У більшості АР можна вказати як мінімум два сервери
RADIUS, чим забезпечується надійність та відмовостійкість.