Шифрування 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, є всього три способи зашифрувати свій трафік:
1. Використання WEP з максимальною довжиною ключа (128 біт або вище), якщо обладнання підтримує циклічну зміну ключів зі списку (у списку - до чотирьох ключів), бажано цю зміну активувати.
2. Використання стандарту 802.1x
3. Використання стороннього програмного забезпечення для організації 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.