Шифрування Wi-Fi

Матеріал з Вікі ЦДПУ
Перейти до: навігація, пошук

Шифрування даних в бездротових мережах WiFi приділяється багато уваги. Інформація передається бездротовим шляхом, який використовує радіохвилі, і в основному випадку при передачі застосовуються всеспрямовані антени. З цього випливає, що передані і прийняті дані можуть чути всі - не тільки ті, кому вони адресовані, а й сусіди, мимо проходящий перехожий з ноутбуком під вашими вікнами.

SSID

Спочатку для захисту мережі використовувалося лише ім'я мережі (SSID). Але, чесно кажучи, захистом цей спосіб можна називати з великими труднощами - адже SSID передається тільки у відкритому вигляді і щоб його піймати, а після вставити в свої настройки - не потрібно великих труднощів. Ми не говоримо про те, що у вашої точки доступу може бути ввімкнений широкомовний режим для імені мережі (SSID), простіше кажучи, SSID примусово буде розсилатися в ефір, і його будуть бачити всі.

WEP

Виникла потреба в шифруванні даних. Першим таким стандартом став WEP - Wired Equivalent Privacy. Шифрування здійснюється за допомогою 40 або 104-бітного ключа (потокове шифрування з використанням алгоритму RC4 на статичному ключі). А сам ключ являє собою набір ASCII-символів довжиною 5 (для 40-бітного) або 13 (для 104-бітного ключа) символів. Набір цих символів переводиться в послідовність шістнадцяткових цифр, які і є ключем. Драйвера багатьох виробників дозволяють вводити замість набору ASCII-символів безпосередньо шістнадцяткові значення (тієї ж довжини). Але алгоритми перекладу з ASCII-послідовності символів в шістнадцяткові значення ключа можуть відрізнятися у різних виробників. Тому, якщо в мережі використовується різнорідне бездротове обладнання і ніяк не вдається настройка WEP шифрування з використанням ключа-ASCII-фрази, - спробуйте ввести замість неї ключ у шістнадцятковому представленні.

Заяви виробників про підтримку 64 і 128-бітного шифрування - це маркетинг - 64 більше 40, а 128 - 104. Реально шифрування даних відбувається з використанням ключа довжиною 40 або 104. Але крім ASCII-фрази (статичної складової ключа) є ще таке поняття, як Initialization Vector - IV - вектор ініціалізації. Він служить для рандомізації решти ключа. Вектор вибирається випадковим чином і динамічно змінюється під час роботи. У принципі, це розумне рішення, тому що дозволяє ввести випадкову складову в ключ. Довжина вектора дорівнює 24 бітам, тому загальна довжина ключа в результаті виходить рівної 64 (40 24) або 128 (104 24) біт.

Все б добре, але використовуваний алгоритм шифрування (RC4) в даний час не є особливо стійким - при великому бажанні, за відносно невеликий час можна підібрати ключ перебором. Але все ж головна вразливість WEP пов'язана якраз з вектором ініціалізації. Довжина IV складає всього 24 біта. Це дає нам приблизно 16 мільйонів комбінацій - 16 мільйонів різних векторів. У реальній роботі всі можливі варіанти ключів будуть використані за проміжок від десяти хвилин до декількох годин (для 40-бітного ключа). Після цього вектори почнуть повторюватися. Зловмисникові варто лише набрати достатню кількість пакетів, просто прослухавши трафік бездротової мережі, і знайти ці повтори. Після цього підбір статичної складової ключа (ASCII-фрази) не займає багато часу.

Але це ще не все. Існують так звані «нестійкі» вектора ініціалізації. Використання подібних векторів в ключі дає можливість зловмиснику практично відразу приступити до підбору статичній частині ключа, а не чекати декілька годин, пасивно накопичуючи трафік мережі. Багато виробників вбудовують в софт (або апаратну частину бездротових пристроїв) перевірку на подібні вектора, і, якщо подібні трапляються, вони мовчки відкидаються, тобто не беруть участь в процесі шифрування. На жаль, далеко не всі пристрої володіють подібною функцією.

В даний час деякі виробники бездротового обладнання пропонують «розширені варіанти» алгоритму WEP - в них використовуються ключі довжиною більше 128 (точніше 104) біт. Але в цих алгоритмах збільшується лише статична частина ключа. Довжина ініціалізаційний вектора залишається тією ж самою, з усіма наслідками, що випливають звідси наслідками (іншими словами, збільшується час на підбір статичного ключа). Само собою зрозуміло, що алгоритми WEP із збільшеною довжиною ключа у різних виробників можуть бути не сумісні.

На жаль, при використанні протоколу 802.11b нічого крім WEP вибрати не вдасться. Точніше, деякі (меншість) виробники постачають різні реалізації WPA шифрування (софтові методами), яке набагато більше стійко, ніж WEP. Але ці «заплатки» бувають несумісні навіть у межах устаткування одного виробника. Загалом, при використанні обладнання стандарту 802.11b, є всього три способи зашифрувати свій трафік:

  • Використання WEP з максимальною довжиною ключа (128 біт або вище), якщо обладнання підтримує циклічну зміну ключів зі списку (у списку - до чотирьох ключів), бажано цю зміну активувати.
  • Використання стандарту 802.1x
  • Використання стороннього програмного забезпечення для організації VPN тунелів (шифрованих потоків даних) по бездротовій мережі.

802.1x

802.1x використовує зв'язку з деяких протоколів для своєї роботи:

EAP (Extensible Authentication Protocol) - протокол розширеної аутентифікації користувачів або віддалених пристроїв;

TLS (Transport Layer Security) - протокол захисту транспортного рівня, він забезпечує цілісність передачі даних між сервером і клієнтом, а так само їх взаємну аутентифікацію;

RADIUS (Remote Authentication Dial-In User Server) - сервер аутентифікації (аутентифікації) віддалених клієнтів. Він і забезпечує аутентифікацію користувачів.

Протокол 802.1x забезпечує аутентифікацію віддалених клієнтів та видачу їм тимчасових ключів для шифрування даних. Ключі (в зашифрованому вигляді) висилаються клієнту на незначний проміжок часу, після якого генерується і висилається новий ключ. Алгоритм шифрування не змінився - той же RC4, але часта ротація ключів дуже сильно ускладнює ймовірність злому. Підтримка цього протоколу є тільки в операційних системах (від Microsoft) Windows XP. Його великий мінус (для кінцевого користувача) в тому, що протокол вимагає наявність RADIUS-сервера, якого в домашній мережі, швидше за все, не буде.

WPA

Пристрої, що підтримують стандарт 802.11g, підтримують покращений алгоритм шифрування WPA - Wi-Fi Protected Access. WPA включає в себе 802.1X, EAP, TKIP і MIC.

TKIP (Temporal Key Integrity Protocol) - реалізація динамічних ключів шифрування, плюс до цього, кожен пристрій у мережі так само отримує свій Master-ключ (який теж час від часу змінюється). Ключі шифрування мають довжину 128 біт і генеруються за складним алгоритмом, а загальна кількість можливих варіантів ключів досягає сотні мільярдів, а змінюються вони дуже часто. Тим не менш, використовуваний алгоритм шифрування - RC4.

MIC (Message Integrity Check) - протокол перевірки цілісності пакетів. Протокол дозволяє відкидати пакети, які були «вставлені» в канал третьою особою, тобто пішли не від валідного відправника.

Велике число достоїнств протоколу TKIP не покриває його основний недолік-використовуваний для шифрування алгоритм RC4. Тому зараз все популярнішим стає використання стандарту AES (Advanced Encryption Standard), який приходить на заміну TKIP.

WPA2

WPA2 визначається стандартом IEEE 802.11i, прийнятим у червні 2004 року, і покликаний замінити WPA. У ньому реалізовано CCMP і шифрування AES, за рахунок чого WPA2 став більш захищеним, ніж свій попередник. З 13 березня 2006 підтримка WPA2 є обов'язковою умовою для всіх сертифікованих Wi-Fi пристроїв.

CCMP - протокол шифрування 802.11i створений для заміни TKIP, обов'язкового протоколу шифрування в WPA і WEP, як більш надійний. CCMP є обов'язковою частиною стандарту WPA2, і необов'язковою частиною стандарту WPA.

Уразливість

6 листопада 2008 на конференції PacSec був представлений спосіб, що дозволяє зламати ключ TKIP, використовуваний в WPA, за 12-15 хвилин. Цей метод дозволяє прочитати дані, передані від точки доступу клієнтської машині, а також передавати підроблену інформацію на клієнтську машину. Дані, що передаються від клієнта до маршрутизатора поки прочитати не вдалося. Ще однією умовою успішної атаки було включення QoS на маршрутизаторі.

У 2009 році співробітниками університету Хіросими та університету Кобе, Тосіхіро Оігасі і Масакату Морії був розроблений і успішно реалізований на практиці новий метод атаки, який дозволяє зламати будь WEP з'єднання без обмежень, причому, в кращому випадку, час злому складає 1 хвилину. Необхідно зауважити, що з'єднання WPA, використовують більш захищений стандарт шифрування ключа AES, а також WPA2-з'єднання не схильні до цих атак.

23 липня 2010 була опублікована інформація про уразливість Hole196 в протоколі WPA2. Використовуючи цю вразливість, авторизований в мережі користувач може розшифровувати дані інших користувачів використовуючи свій закритий ключ. Ніякого злому ключів або брут-форс не потрібно.