WEP (Wired Equivalent Privacy) – это стандарт защиты беспроводной сети Wi-Fi, разработанный компанией IEEE в качестве альтернативы проводной сети. Протокол WEP используется для защиты данных, передаваемых между беспроводным устройством и беспроводной точкой доступа. Представленная в 1997 году технология WEP является первой попыткой защиты беспроводных сетей. Ее целью было повышение безопасности беспроводных сетей за счет шифрования данных. Даже в случае перехвата данных, передаваемых в беспроводной сети, их невозможно было прочитать, поскольку они были зашифрованы. Однако системы, авторизованные в сети, могут распознавать и расшифровывать данные, благодаря тому, что все устройства в сети используют один и тот же алгоритм шифрования. Он основан на шифровании и использует статический ключ, который может быть легко взломан. Существует две разновидности WEP: WEP-40 и WEP-104, различающиеся только длиной ключа. В настоящее время данная технология является устаревшей, так как её взлом может быть осуществлен всего за несколько минут. Тем не менее, она продолжает широко использоваться. Для безопасности в сетях Wi-Fi рекомендуется использовать WPA. WEP часто неправильно называют Wireless Encryption Protocol.
В основе WEP лежит поточный шифр RC4, выбранный из-за своей высокой скорости работы и возможности использования переменной длины ключа. Для подсчета контрольных сумм используется CRC32.
Формат кадра WEP
Кадр WEP включает в себя следующие поля:
- Незашифрованная часть
- Вектор инициализации (англ. Initialization Vector) (24 бита)
- Пустое место (англ. Padding) (6 бит)
- Идентификатор ключа (англ. Key ID) (2 бита)
Зашифрованная часть:
- Данные
- Контрольная сумма (32 бита)
Ключи имеют длину 40 и 104 бита для WEP-40 и WEP-104 соответственно. Используются два типа ключей: ключи по умолчанию и назначенные ключи. Назначенный ключ отвечает определенной паре отправитель-получатель. Может иметь любое, заранее оговоренное сторонами значение. Если же стороны предпочтут не использовать назначенный ключ, им выдается один из четырех ключей по умолчанию из специальной таблицы. Для каждого кадра данных создается сид (англ. Seed), представляющий собой ключ с присоединенным к нему вектором инициализации.
Инкапсуляция WEP
Инкапсуляция данных проходит следующим образом:
- Контрольная сумма от поля «данные» вычисляется по алгоритму CRC32 и добавляется в конец кадра.
- Данные с контрольной суммой шифруются алгоритмом RC4, использующим в качестве ключа криптоалгоритма.
- Проводится операция XOR над исходным текстом и шифротекстом.
- В начало кадра добавляется вектор инициализации и идентификатор ключа.
Декапсуляция WEP
Декапсуляция данных проходит следующим образом:
- К используемому ключу добавляется вектор инициализации.
- Происходит расшифрование с ключом, равным сиду.
- Проводится операция XOR над полученным текстом и шифротекстом.
- Проверяется контрольная сумма.