WEP — Википедия

Wired Equivalent Privacy (WEP) — алгоритм для обеспечения безопасности сетей Wi-Fi. Используется для обеспечения конфиденциальности и защиты передаваемых данных авторизированных пользователей беспроводной сети от прослушивания. Существует две разновидности WEP: WEP-40 и WEP-104, различающиеся только длиной ключа. В настоящее время данная технология является устаревшей, так как её взлом может быть осуществлен всего за несколько минут. Тем не менее, она продолжает широко использоваться. Для безопасности в сетях Wi-Fi рекомендуется использовать WPA. WEP часто неправильно называют Wireless Encryption Protocol.

В 1997 году Институт инженеров электротехники и электроники (IEEE) одобрил механизм WEP. В октябре 2000 года вышла статья Джесси Уолкера «Unsafe at any key size; An analysis of the WEP encapsulation»[1], описывающая проблемы алгоритма WEP и атаки, которые могут быть организованы с использованием его уязвимостей. В алгоритме есть множество слабых мест:

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

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

Формат кадра WEP

Формат кадра

[править | править код]

Кадр WEP включает в себя следующие поля:

  1. Незашифрованная часть
    1. Вектор инициализации (англ. Initialization Vector) (24 бита)
    2. Пустое место (англ. Padding) (6 бит)
    3. Идентификатор ключа (англ. Key ID) (2 бита)
  2. Зашифрованная часть
    1. Данные
    2. Контрольная сумма (32 бита)

Ключи имеют длину 40 и 104 бита для WEP-40 и WEP-104 соответственно. Используются два типа ключей: ключи по умолчанию и назначенные ключи. Назначенный ключ отвечает определенной паре отправитель-получатель. Может иметь любое, заранее оговоренное сторонами значение. Если же стороны предпочтут не использовать назначенный ключ, им выдается один из четырех ключей по умолчанию из специальной таблицы. Для каждого кадра данных создается сид (англ. Seed), представляющий собой ключ с присоединенным к нему вектором инициализации.

Инкапсуляция

[править | править код]
Инкапсуляция WEP

Инкапсуляция данных проходит следующим образом:

  1. Контрольная сумма от поля «данные» вычисляется по алгоритму CRC32 и добавляется в конец кадра.
  2. Данные с контрольной суммой шифруются алгоритмом RC4, использующим в качестве ключа криптоалгоритма.
  3. Проводится операция XOR над исходным текстом и шифротекстом.
  4. В начало кадра добавляется вектор инициализации и идентификатор ключа.

Декапсуляция

[править | править код]
Декапсуляция WEP

Декапсуляция данных проходит следующим образом:

  1. К используемому ключу добавляется вектор инициализации.
  2. Происходит расшифрование с ключом, равным сиду.
  3. Проводится операция XOR над полученным текстом и шифротекстом.
  4. Проверяется контрольная сумма.

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

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

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

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

[править | править код]

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

Использование туннелирования через беспроводную сеть (например, с помощью IPSec) решает проблему безопасности. Тем не менее, существуют решения, делающие сеть безопасной саму по себе.

В 2004 году IEEE выпустил поправку к стандарту 802.11, включающую в себя новые рекомендуемые к использованию алгоритмы обеспечения безопасности WPA и WPA2. WEP был объявлен устаревшим.

Решения от производителей

[править | править код]

Также существуют решения, реализуемые конкретными производителями в своих устройствах. Эти решения существенно менее безопасны, чем WPA и WPA2, так как подвержены (хоть и в меньшей степени) тем же уязвимостям, что и WEP.

Увеличивает векторы инициализации и ключи до 128 бит (WEP-104).

Избегает слабых векторов инициализации. Эффективен только в том случае, если алгоритм используется на обеих сторонах соединения.

Динамически меняет ключи при передаче.

Примечания

[править | править код]
  1. Jesse R. Walker. Unsafe at any key size; An analysis of the WEP encapsulation. — 2000. Архивировано 4 декабря 2003 года.
  2. 1 2 Erik Tews, Ralf-Philipp Weinmann, and Andrei Pyshkin. Breaking 104 bit WEP in less than 60 seconds (англ.). — 2007. Архивировано 23 сентября 2008 года.