
- •Санкт-Петербургский
- •Развитие технологии беспроводных сетей
- •Развитие защиты Wi-Fi
- •Методы передачи и защиты беспроводной сети
- •Технологии защиты wep(Wired Equivalent Privacy)
- •Протокол безопасности wep
- •“Исправляем” wep.
- •Cтандарт ieee 802.11x
- •Семейство стандартов беспроводной связи ieee 802.11
- •802.11A
- •Стандарт безопасности wpa
- •Стандарт безопасности wpa2
- •Vpn(Virtual Prime Network)
- •Методы защиты
- •Выводы : Стандарты защиты сетей Wi-Fi
Технологии защиты wep(Wired Equivalent Privacy)
WEP (Wired Equivalent Privacy) — Защита, эквивалентная секретности) — характеристика стандарта 802.11, которая используется для обеспечения безопасности передачи данных. Шифрование данных осуществлялось с использованием алгоритма RC4 на ключе со статической составляющей от 40 до 104 бит и с дополнительной случайной динамической составляющей (вектором инициализации) размером 24 бит; в результате шифрование данных производилось на ключе размером от 64 до 128 бит. Перед WEP не стоит задача полностью скрыть передаваемую информацию, требуется лишь сделать ее недоступной для прочтения.
Эта технология была разработана специально для шифрования потока передаваемых данных в рамках локальной сети. Использует не самый стойкий алгоритм RC4 на статическом ключе. Часть WEP-ключа является статической (40 бит в случае 64-битного шифрования), а другая часть (24 бит) – динамичекая (вектор инициализации), то есть меняющаяся в процессе работы сети. Основной уязвимостью протокола WEP является то, что вектора инициализации повторяются через некоторый промежуток времени, и взломщику потребуется лишь собрать эти повторы и вычислить по ним статическую часть ключа. Для повышения уровня безопасности можно дополнительно к WEP шифрованию использовать стандарт 802.1x или VPN.
Для усиления защиты применяется так называемый вектор инициализации Initialization Vector (IV), который предназначен для рандомизации дополнительной части ключа, что обеспечивает различные вариации шифра для разных пакетов данных. Данный вектор является 24-битным. Таким образом, в результате мы получаем общее шифрование с разрядностью от 64 (40+24) до 128 (104+24) бит. Идея очень здравая, поскольку при шифровании мы оперируем и постоянными, и случайно подобранными символами.
Взломать подобную защиту можно — соответствующие утилиты присутствуют в Интернете (например, AirSnort, WEPcrack). Основное её слабое место — это как раз-таки вектор инициализации. Поскольку мы говорим о 24 битах, это подразумевает около 16 миллионов комбинаций (2 в 24 степени) — после использования этого количества ключ начинает повторяться. Хакеру необходимо найти эти повторы (от 15 минут до часа для ключа 40 бит) и за секунды взломать остальную часть ключа. После этого он может входить в сеть как обычный зарегистрированный пользователь.
Протокол безопасности wep
В том же, 1997 г., когда базовый стандарт 802.11 ратифицировали, в IEEE был одобрен механизм Wired Equivalent Privacy (WEP), который использует шифрование в качестве средства обеспечения безопасности в беспроводных сетях. WEP работает на втором уровне модели OSI и применяет для шифрования 40-битный ключ, что явно недостаточно.
Еще в октябре 2000 г. был опубликован документ IEEE 802.11-00/362 под названием "Unsafe at any key size; An analysis of the WEP encapsulation", созданный Джесси Уолкером (Jesse R. Walker), где описываются проблемы алгоритма WEP и атаки, которые могут быть организованы с использованием его уязвимостей. Данная проблема получила развитие в двух работах, опубликованных с интервалом в месяц: "Intercepting Mobile Communications: The Insecurity of 802.11" от сотрудников университета Беркли, представленной на 7-й ежегодной конференции по мобильной вычислительной технике и сетям в июле 2001 г., и "Weaknesses in the Key Scheduling Algorithm of RC4" (совместно подготовлена специалистами Cisco Systems и факультета вычислительной техники израильского института Weizmann), вышедшей в свет в августе 2001 г.
В этом же году появилась и первая утилита, разработанная Адамом Стаблфилдом (Adam Stubblefield), в которой на практике были реализованы теоретические выкладки вышеприведенных авторов и которая взламывала WEP-шифр в течение нескольких часов. На сегодняшний день существуют утилиты, позволяющие взломать WEP за 5--30 с. Проблемы алгоритма WEP носят комплексный характер и кроются в целой серии слабых мест:
- механизме обмена ключами (а точнее, практически полном его отсутствии);
- малых разрядностях ключа и вектора инициализации (Initialization Vector -- IV);
- механизме проверки целостности передаваемых данных;
- способе аутентификации и алгоритме шифрования RC4. Процесс шифрования WEP выполняется в два этапа.
1 Вначале подсчитывается контрольная сумма (Integrity Checksum Value -- ICV) с применением алгоритма Cyclic Redundancy Check (CRC-32), добавляемая в конец незашифрованного сообщения и служащая для проверки его целостности принимаемой стороной.
2. На втором этапе осуществляется непосредственно шифрование.
Ключ для WEP-шифрования -- общий секретный ключ, который должны знать устройства на обеих сторонах беспроводного канала передачи данных. Этот секретный 40-битный ключ вместе со случайным 24-битным IV является входной последовательностью для генератора псевдослучайных чисел, базирующегося на шифре Вернама для генерации строки случайных символов, называемой ключевым потоком (key stream).
Данная операция выполняется с целью избежания методов взлома, основанных на статистических свойствах открытого текста.
|
Рис. 1. Схема работы шифрования по протоколу WEP |
Зашифрованное сообщение (рис. 1) образуется в результате выполнения операции XOR над незашифрованным сообщением с ICV и ключевым потоком. Чтобы получатель мог прочитать его, в передаваемый пакет в открытом виде добавляется IV. Когда информация принимается на другой стороне, производится обратный процесс (p=c+b). Значение b получатель вычисляет, применив код Вернама к входной последовательности, состоящей из ключа К (который он знает заранее) и IV, пришедшего этим же сообщением в открытом виде. Для каждого очередного пакета процесс повторяется с новым выбранным значением IV. К числу известных свойств алгоритма RC4 относится то, что при использовании одного и того же значения ключа и вектора инициализации мы всегда будем получать одинаковое значение b, следовательно, применение операции XOR к двум текстам, зашифрованным RC4 с помощью того же значения b, представляет собой не что иное, как операцию XOR к двум начальным текстам.
c1=p1+b; c2=p2+b; c1+c2=(p1+b)+(p2+b)=p1+p2 |
Таким образом, мы можем получить незашифрованный текст, являющийся результатом операции XOR между двумя другими оригинальными текстами. Процедура их извлечения не составляет большого труда. Наличие оригинального текста и IV позволяет вычислить ключ, что в дальнейшем даст возможность читать все сообщения данной беспроводной сети. После несложного анализа можно легко рассчитать, когда повторится b. Так как ключ K постоянный, а количество вариантов IV составляет 224=16 777 216, то при достаточной загрузке точки доступа, среднем размере пакета в беспроводной сети, равном 1500 байт (12 000 бит), и средней скорости передачи данных, например 5 Mbps (при максимальной 11 Mbps), мы получим, что точкой доступа будет передаваться 416 сообщений в секунду, или же 1 497 600 сообщений в час, т. е. повторение произойдет через 11 ч 12 мин (224/1 497 600=11,2 ч). Данная проблема носит название "коллизия векторов". Существует большое количество способов, позволяющих ускорить этот процесс. Кроме того, могут применяться атаки "с известным простым текстом", когда одному из пользователей сети посылается сообщение с заранее известным содержанием и прослушивается зашифрованный трафик. В этом случае, имея три составляющие из четырех (незашифрованный текст, вектор инициализации и зашифрованный текст), можно вычислить ключ.
С ICV, используемым в WEP-алгоритме, дела обстоят аналогично. Значение CRC-32 подсчитывается на основе поля данных сообщения. Это хороший метод для определения ошибок, возникающих при передаче информации, но он не обеспечивает целостность данных, т. е. не гарантирует, что они не были подменены в процессе передачи. Контрольная сумма CRC-32 имеет линейное свойство: CRC(A XOR B)=CRC(A)XOR CRC(B), предоставляющее нарушителю возможность легко модифицировать зашифрованный пакет без знания WEP-ключа и пересчитать для него новое значение ICV.