вторник, 12 января 2010 г.

WEP шифрование в Wi-Fi сетях

Введение

Wired Equivalent Privacy (WEP) — устаревший алгоритм для обеспечения безопасности беспроводной IEEE 802.11 сети.

Беспроводные сети с использованием радио в большей степени подвержены прослушиванию, чем проводные.

В 1999 году WEP предназначался для обеспечения конфиденциальности, сопоставимой с проводной сетью. Также WEP - необязательная характеристика стандарта IEEE 802.11, которая используется для обеспечения безопасности передачи данных. Она идентична протоколу безопасности в кабельных локальных сетях без применения дополнительных методов шифрования.

Технология WEP

Согласно стандарту 802.11, шифрование данных WEP используется в следующих целях:

1. Предотвращение несанкционированного доступа к данным при использовании беспроводных сетевых устройств.

2. Предотвращение перехвата трафика беспроводных локальных сетей.

WEP позволяет администратору беспроводной сети определять для каждого пользователя набор ключей, основанный на "строке ключей", которая обрабатывается алгоритмом WEP. Любой пользователь, не имеющий требуемого ключа, не может получить доступ в сеть.

Как указывается в спецификации, WEP использует алгоритм шифрования RC4 с 40-битным или 128-битным ключом. При включении WEP все станции (как клиентские, так и точки доступа) получают свой ключ, который применяется для шифрования данных, прежде чем последние будут переданы на передатчик. Если станция получает пакет, не зашифрованный соответствующим ключом, он исключается из трафика. Этот метод служит для защиты от несанкционированного доступа и перехвата данных.

Начиная с 2001 года ряд серьёзных недостатков, выявленных криптоаналитиками, показали, что сегодня WEP—связи можно взломать за несколько минут. Через несколько месяцев в IEEE была создана новая 802.11i целевая группа по борьбе с проблемами. В 2003 году Wi-Fi Альянс объявил о том, что WEP был заменён на WPA, который представлял собой 802.11i поправку. В 2004 году с момента полного принятия стандарта 802.11i(или WPA2) IEEE заявило что WEP-40 и WEP-104 не рекомендуются, поскольку не выполняют своих обязанностей в области обеспечения безопасности. Несмотря на свои недостатки WEP и сегодня широко используется.

Специалисты, изучающие проблему защиты информации, опубликовали подробный отчет о слабостях в методах кодирования, широко применяемых для засекречивания информации при передаче по беспроводным сетям.

Корень проблемы – имеющиеся лазейки в обеспечении секретности, возникающие от недостатков в алгоритме присвоения кода, используемом в Wired Equivalent Privacy (WEP) - протоколе, являющимся частью сетевого радио-стандарта 802.11.

Уязвимости защиты при радиопередаче данных были широко описаны и прежде, но основное отличие недавно обнаруженного недостатка заключается в том, что его гораздо проще эксплуатировать. По сообщению EE-Times, пассивный перехват зашифрованного текста с дальнейшей обработкой его по методу, предложенному исследователями, позволил бы злоумышленнику с радио LAN-подключением подбирать защитные коды менее чем за 15 минут. Увеличение длины ключа, применяемого при кодировании, не дало бы пользы при отражении нападений, основанных на использовании фундаментальной ошибки, заключающейся в самой методологии используемой техники кодирования.

Механизм шифрования WEP

Шифрование WEP (Wired Equivalent Privacy - секретность на уровне проводной связи) основано на алгоритме RC4 (Rivest’s Cipher v.4 - код Ривеста), который представляет собой симметричное потоковое шифрование. Как было отмечено ранее, для нормального обмена пользовательскими данными ключи шифрования у абонента и точки радиодоступа должны быть идентичными.

Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Дешифрация состоит из регенерации этого ключевого потока и суммирования его с шифрограммой по модулю два для восстановления исходного текста. Другая главная часть алгоритма - функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока.

RC4 - фактически класс алгоритмов, определяемых размером его блока. Этот параметр n является размером слова для алгоритма. Обычно, n = 8, но в целях анализа можно уменьшить его. Однако для повышения уровня безопасности необходимо задать большее значение этой величины. Внутреннее состояние RC4 состоит из массива размером 2n слов и двух счетчиков, каждый размером в одно слово. Массив известен как S-бокс, и далее он будет обозначаться как S. Он всегда содержит перестановку 2n возможных значений слова. Два счетчика обозначены через i и j.

Алгоритм инициализации RC4

Этот алгоритм использует ключ, сохраненный в Key и имеющий длину l байт. Инициализация начинается с заполнения массива S, далее этот массив перемешивается путем перестановок, определяемых ключом. Так как над S выполняется только одно действие, должно выполняться утверждение, что S всегда содержит все значения кодового слова.

Начальное заполнение массива:

for i = 0 to 2n – 1

{

S[i] = i

j = 0

}

Скрэмблирование:

for i = 0 to 2n – 1

{

j = j + S[i] + Key[i mod l]

Перестановка (S[i], S[j])

}

Генератор ключевого потока RC4 переставляет значения, хранящиеся в S, и каждый раз выбирает новое значение из S в качестве результата. В одном цикле RC4 определяется одно n-битное слово K из ключевого потока, которое в дальнейшем суммируется с исходным текстом для получения зашифрованного текста.

Инициализация:

i = 0

j = 0

Цикл генерации:

i = i + 1

j = j + S[i]

Перестановка (S[i], S[j])

Результат: K = S[S[i] + S[j]].

Особенности WEP-протокола

Достаточно устойчив к атакам, связанным с простым перебором ключей шифрования, что обеспечивается необходимой длиной ключа и частотой смены ключей и инициализирующего вектора;

Самосинхронизация для каждого сообщения. Это свойство является ключевым для протоколов уровня доступа к среде передачи, где велико число искаженных и потерянных пакетов;

Эффективность: WEP легко реализовать;

Открытость;

Использование WEP-шифрования не является обязательным в сетях стандарта IEEE 802.11.

Для непрерывного шифрования потока данных используется потоковое и блочное шифрование.

Потоковое шифрование

При потоковом шифровании выполняется побитовое сложение по модулю 2 (функция “исключающее ИЛИ”, XOR) ключевой последовательности, генерируемой алгоритмом шифрования на основе заранее заданного ключа, и исходного сообщения. Ключевая последовательность имеет длину, соответствующую длине исходного сообщения, подлежащего шифрованию.

Блочное шифрование

Блочное шифрование работает с блоками заранее определенной длины, не меняющейся в процессе шифрования. Исходное сообщение фрагментируется на блоки, и функция XOR вычисляется над ключевой последовательностью и каждым блоком. Размер блока фиксирован, а последний фрагмент исходного сообщения дополняется пустыми символами до длины нормального блока. Например, при блочном шифровании с 16-байтовыми блоками исходное сообщение длиной в 38 байтов фрагментируется на два блока длиной по 16 байтов и 1 блок длиной 6 байтов, который затем дополняется 10 байтами пустых символов до длины нормального блока.

Потоковое шифрование и блочное шифрование используют метод электронной кодовой книги (ECB). Метод ECB характеризуется тем, что одно и то же исходное сообщение на входе всегда порождает одно и то же зашифрованное сообщение на выходе. Это потенциальная брешь в системе безопасности, ибо сторонний наблюдатель, обнаружив повторяющиеся последовательности в зашифрованном сообщении, в состоянии сделать обоснованные предположения относительно идентичности содержания исходного сообщения.

Для устранения указанной проблемы используют:

· Векторы инициализации (Initialization Vectors - IVs).

· Обратную связь (feedback modes).

До начала процесса шифрования 40- или 104-битный секретный ключ распределяется между всеми станциями, входящими в беспроводную сеть. К секретному ключу добавляется вектор инициализации (IV).

Вектор инициализации

Вектор инициализации (Initialization Vector - IV) используется для модификации ключевой последовательности. При использовании вектора инициализации ключевая последовательность генерируется алгоритмом шифрования, на вход которого подается секретный ключ, совмещенный с IV. При изменении вектора инициализации ключевая последовательность также меняется. На рис. 8.3 исходное сообщение шифруется с использованием новой ключевой последовательности, сгенерированной алгоритмом шифрования после подачи на его вход комбинации из секретного ключа и вектора инициализации, что порождает на выходе шифрованное сообщение.

Стандарт IEEE 802.11 рекомендует использовать новое значение вектора инициализации для каждого нового фрейма, передаваемого в радиоканал.

Таким образом, один и тот же нешифрованный фрейм, передаваемый многократно, каждый раз будет порождать уникальный шифрованный фрейм.

Вектор инициализации имеет длину 24 бита и совмещается с 40- или 104-битовым базовым ключом шифрования WEP таким образом, что на вход алгоритма шифрования подается 64- или 128-битовый ключ. Вектор инициализации присутствует в нешифрованном виде в заголовке фрейма в радиоканале, с тем чтобы принимающая сторона могла успешно декодировать этот фрейм. Несмотря на то, что обычно говорят об использовании шифрования WEP с ключами длиной 64 или 128 битов, эффективная длина ключа составляет лишь 40 или 104 бита по причине передачи вектора инициализации в нешифрованном виде. При настройках шифрования в оборудовании при 40-битном эффективном ключе вводятся 5 байтовых ASCII-символов (5×8=40) или 10 шестнадцатеричных чисел (10×4=40), и при 104-битном эффективном ключе вводятся 13 байтовых ASCII-символов (3×8=104) или 26 шестнадцатеричных чисел (26×4=104). Некоторое оборудование может работать со 128-битным ключом.

Слабые места  WEP шифрования и примеры атак

Все атаки на WEP основаны на недостатках шифра RC4, таких, как возможность коллизий векторов инициализации и изменения кадров. Для всех типов атак требуется проводить перехват и анализ кадров беспроводной сети. В зависимости от типа атаки, количество кадров, требуемое для взлома, различно. С помощью программ, таких как Aircrack-ng, взлом беспроводной сети с WEP шифрованием осуществляется очень быстро и не требует специальных навыков.

Атака Фларера-Мантина-Шамира

Была предложена в 2001 году Скоттом Фларером, Ициком Мантином и Ади Шамиром. Требует наличия в кадрах слабых векторов инициализации. В среднем для взлома необходимо перехватить около полумиллиона кадров. При анализе используются только слабые векторы. При их отсутствии (например, после коррекции алгоритма шифрования) данная атака неэффективна.

Атака KoreK

В 2004 году была предложена хакером, называющим себя KoreK. Ее особенность в том, что для атаки не требуются слабые вектора инициализации. Для взлома необходимо перехватить несколько сотен тысяч кадров. При анализе используются только векторы инициализации.

Атака Тевса-Вайнмана-Пышкина

Была предложена в 2007 году Эриком Тевсом (Erik Tews), Ральфом-Филипом Вайнманом (Ralf-Philipp Weinmann) и Андреем Пышкиным. Использует возможность инъекции ARP запросов в беспроводную сеть. На данный момент это наиболее эффективная атака, для взлома требуется всего несколько десятков тысяч кадров. При анализе используются кадры целиком.В заключении можно напомнить, что в алгоритме есть множество слабых мест:

  • механизмы обмена ключами и проверки целостности данных
  • малая разрядность ключа и вектора инициализации (англ. Initialization vector)
  • способ аутентификации
  • алгоритм шифрования.

В 2001 году появилась спецификация WEP-104, которая, тем не менее, не решила проблемы, так как длина вектора инициализации и способ проверки целостности данных остались прежними. В 2004 году IEEE одобрил новые механизмы WPA и WPA2. С тех пор WEP считается устаревшим. В 2008 году вышел стандарт DSS (англ. Data Security Standard) комитета SSC (англ. Security Standards Council) организации PCI (англ. Payment Card Industry) в котором рекомендуется прекратить использовать WEP для шифрования после 30 июня 2010 года.

1 комментарий: