WPA
WPA (англ. Wi-Fi Protected Access, также WPA2, англ. Wi-Fi Protected Access 2 и WPA3, англ. Wi-Fi Protected Access 3) — три программы сертификации безопасности, разработанные после 2000 года организацией Wi-Fi Alliance для защиты беспроводных компьютерных сетей. Эти стандарты появились в ответ на серьёзные уязвимости, выявленные исследователями в предыдущей системе Wired Equivalent Privacy (WEP)[1].
Стандарт WPA, иногда называемый стандартом TKIP, был представлен в 2003 году как временное решение, предшествующее появлению более надёжного и сложного WPA2 (доступного с 2004 года) — реализации полного стандарта IEEE 802.11i (IEEE 802.11i-2004).
В январе 2018 года Wi-Fi Alliance анонсировала WPA3, который предлагает ряд улучшений по сравнению с WPA2[2].
По состоянию на 2023 год большинство компьютеров с поддержкой беспроводных сетей могут использовать WPA, WPA2 или WPA3. Однако все версии протоколов, по меньшей мере до мая 2021 года, уязвимы для различных способов взлома[3].
Версии
WEP (англ. Wired Equivalent Privacy) — один из первых протоколов шифрования для беспроводных сетей, предназначенный для защиты соединений WLAN. В протоколе используются 64- и 128-битовые ключи, включающие части, настраиваемые пользователем и установленные на заводе. WEP применяет алгоритм RC4 для шифрования данных, формируя уникальный ключ для каждого пакета путём сочетания нового вектора инициализации (IV) с общим ключом (40 бит — векторный ключ, 24 бита — случайные числа). Для дешифровки применяется обратная процедура с использованием IV и общего ключа для формирования потока и расшифровки полезных данных. Значительные уязвимости WEP обусловили появление более современных и безопасных протоколов[4].
WPA задумывался Wi-Fi Alliance как промежуточное решение, заменяющее Wired Equivalent Privacy до выхода полноценного стандарта IEEE 802.11. WPA мог быть внедрён через обновление прошивки в сетевых картах, поддерживающих WEP, выпускавшихся с 1999 года. Однако для большинства точек доступа, произведённых до 2003 года, требуемые изменения были значительными, а обновления от производителей зачастую не выпускались.
WPA реализует протокол Temporal Key Integrity Protocol (TKIP). В отличие от статичных 64- или 128-битных ключей WEP, вводимых вручную, TKIP динамически генерирует для каждого пакета новый 128-битный ключ, что препятствует атакам, типичным для WEP[5].
WPA также использует контроль целостности сообщений, который предотвращает подмену/повторную отправку пакетов злоумышленником. Эта система заменила циклический избыточный код CRC, применявшийся в WEP и не обеспечивавший достаточной целостности данных[6]. Хотя известны надёжные методы аутентификации, их вычисления были слишком ресурсоёмкими для старых сетевых карт. Позднее был обнаружен ряд уязвимостей WPA, связанных как со старыми проблемами WEP, так и с ограничениями хэш-функции целостности Michael, которые позволяли злоумышленнику получить поток ключей из коротких пакетов и использовать их для повторной отправки и подделки пакетов[7][8].
Стандарт WPA2 был принят и введён в 2004 году, заменив WPA. Сертификация WPA2, требуемая Wi-Fi Alliance, подразумевает реализацию обязательных элементов стандарта IEEE 802.11i, включая поддержку CCMP, реализующего режим шифрования на основе AES.[9][10][11] Сертификация стала обязательной с сентября 2004 года, с 13 марта 2006 по 30 июня 2020 года — для получения логотипа Wi-Fi[12].
В WPA2-сетях между устройством и точкой доступа (AP) устанавливается защищённое соединение через многошаговую процедуру: после ассоциации следует четырёхстадийное рукопожатие, подтверждающее наличие корректного общего ключа (PSK) без его передачи в открытом виде. В ходе процесса генерируется PTK (Pairwise Transient Key), необходимый для шифрования данных. WPA2 использует алгоритм AES с 128-битным ключом в режиме CCMP, что обеспечивает высокую степень защиты и целостность данных[13].
Процесс четырёхстадийного рукопожатия включает:
- отправку AP случайного значения (ANonce) клиенту;
- возврат клиентом собственного случайного значения (SNonce);
- вычисление PTK точкой доступа по этим двум значениям и передача клиенту зашифрованного сообщения;
- дешифровка клиентом сообщения с помощью PTK и подтверждение успешной аутентификации[14].
После рукопожатия PTK используется для шифрования индивидуальных сообщений (unicast), а Group Temporal Key (GTK) — для широковещательных. Это комплексная схема реализует основной уровень криптографической аутентификации и шифрования WPA2[14].
В январе 2018 года Wi-Fi Alliance анонсировала WPA3 как смену WPA2[15][16]. Сертификация устройств стартовала в июне 2018 года[17], с 1 июля 2020 года поддержка WPA3 обязательна для всех новых устройств с логотипом Wi-Fi CERTIFIED™[18].
В режиме WPA3-Enterprise новый стандарт использует эквивалентную 192-битную криптостойкость[19] (AES-256 в GCM, SHA-384 в HMAC), а в режиме WPA3-Personal обязательным является CCMP-128 (AES-128/CCM). Использование TKIP в WPA3 не допускается.
WPA3 заменяет схемы на основе общего пароля (PSK) на метод Simultaneous Authentication of Equals (SAE), впервые предложенный в IEEE 802.11s, что обеспечивает более надёжный первичный обмен ключами и прямая секретность[20]. Кроме того, внедрён OWE для открытых сетей Wi-Fi без пароля, а защита управляющих кадров реализована согласно стандарту IEEE 802.11w-2009.
Аппаратная поддержка
WPA разрабатывался специально для совместимости со старым оборудованием Wi-Fi, использовавшим WEP, хотя ряд устройств требует обновления прошивки (что для некоторых моделей недоступно)[21].
Устройства с сертификацией с 2006 года поддерживают и WPA, и WPA2. С июля 2020 года сертификация предполагает обязательную поддержку WPA3[18].
Терминология WPA
Различные версии WPA и механизмы защиты различаются по целевой аудитории (WEP, WPA, WPA2, WPA3), способу распределения ключей аутентификации и протоколу шифрования. С июля 2020 года самой актуальной версией стандарта является WPA3, который устраняет уязвимости WPA2 и предлагает улучшенные методы аутентификации и более сильные алгоритмы шифрования[22].
Также известен как WPA-PSK (режим общего ключа); ориентирован на домашнее и малое офисное использование без необходимости отдельного сервера аутентификации[23]. Каждое устройство вычисляет 128-битный ключ шифрования на основе 256-битного общего ключа, который может вводиться либо в виде строки из 64 шестнадцатеричных цифр, либо как пароль длиной от 8 до 63 печатных ASCII-символов[24]. Эта процедура не является строго определяющей, согласно пояснительной части стандарта 802.11[25]. Если пароль задан в ASCII, 256-битный ключ вычисляется по функции PBKDF2 с SSID в качестве соли и 4096 итерациями HMAC-SHA1[26]. Режим WPA-Personal возможен во всех трёх версиях стандарта WPA.
В корпоративном режиме для аутентификации применяется сервер 802.1X, что обеспечивает повышенный уровень контроля и безопасности по сравнению с WEP и позволяет использовать непрерывную смену ключей через TKIP. Аутентификация проводится с помощью сервера RADIUS, возможна интеграция с механизмом входа Windows и различными схемами проверки, включая Extensible Authentication Protocol и PEAP[27].
- TKIP (Temporal Key Integrity Protocol)
- Использует потоковый шифр RC4 с уникальным 128-битным ключом для каждого пакета, применяется в WPA.
- CCMP
- Построен на основе AES с режимами CTR и CBC-MAC, применяется в WPA2. Этот протокол значительно эффективнее против атак, чем TKIP. Для получения высокой скорости в стандарте IEEE 802.11n-2009 требуется использование именно этого алгоритма, иначе скорость ограничивается 54 Мбит/с[28].
EAP-расширения для WPA и WPA2 Enterprise
Изначально сертификация Wi-Fi Alliance охватывала только EAP-TLS. В апреле 2010 года были добавлены другие типы EAP[29][30], что обеспечило совместимость устройств от разных производителей.
По состоянию на 2010 год сертифицируемые типы EAP:
- EAP-TLS
- EAP-TTLS/MSCHAPv2 (с апреля 2005)
- PEAPv0/EAP-MSCHAPv2 (с апреля 2005)
- PEAPv1/EAP-GTC (с апреля 2005)
- PEAP-TLS
- EAP-SIM (с апреля 2005)
- EAP-AKA (с апреля 2009)[31]
- EAP-FAST (с апреля 2009)
Клиенты и серверы 802.1X от конкретных производителей могут поддерживать дополнительные типы EAP. Среди коммерческих серверов можно выделить Microsoft Network Policy Server, Juniper Steelbelted RADIUS и Aradial Radius Server[32], среди открытых — FreeRADIUS.
Проблемы и уязвимости
Режимы WPA-Personal и WPA2-Personal уязвимы к подбору паролей при использовании предсказуемых или слабых паролей. Хэши паролей WPA-PSK рассчитываются с учётом имени SSID — существуют радужные таблицы для популярных SSID и сочетаний паролей, что ускоряет взлом[33].
Для перебора простых паролей применяется пакет Aircrack Suite, начиная с захваченного четырёхстороннего рукопожатия.[34][35][36][37][38]
В WPA3 для предотвращения атак офлайн-подбора реализованы протоколы, требующие взаимодействия с оборудованием для каждой попытки перебора[15], однако выявленные ошибки в реализации WPA3 также допускают возможность брутфорс-атак.
WPA и WPA2 не поддерживают прямую секретность, поэтому, если злоумышленник узнает общий ключ, он сможет расшифровать все соответствующие пакеты, перехваченные как в прошлом, так и в дальнейшем. Особенно это опасно в публичных сетях, где пароль может знать каждый посетитель. Для передачи чувствительной информации в таких сетях предпочтительно шифрование на более высоком уровне (например, TLS). В протоколе WPA3 данная проблема решена[20].
В 2013 году Матий Ванхоеф и Франк Писсенс[39] показали возможность внедрения и расшифровки пакетов в сетях WPA-TKIP. По сравнению с предыдущей атакой Бека-Тьюса, новый способ позволяет внедрять большее количество и больший объём данных. Также возможно захватить и расшифровать широковещательные и индивидуальные пакеты. Уязвимость TKIP продолжает использоваться в устройcтвах с поддержкой WPA-TKIP[39].
В декабре 2011 года было выявлено, что функция WPS, реализованная во многих маршрутизаторах, позволяет атакующему восстановить PIN WPS и пароль WPA всего за несколько часов[40]. Рекомендуется отключить WPS на устройствах, на которых это возможно[41]. В 2018 году вместо WPS предложена технология Wi-Fi Easy Connect для простого подключения устройств без полноценного интерфейса[42][43].
Алгоритм MS-CHAPv2, используемый в ряде реализаций WPA2, имеет существенные уязвимости, позволяющие провести перебор с помощью современных вычислительных средств. В 2012 году сложность атаки на MS-CHAPv2 была эквивалентна взлому одного DES-ключа, что критично для организаций, полагающихся на эту технологию[44]. Дополнительным фактором риска является неправильная настройка проверки сертификатов AAA-серверов со стороны клиентов[45]. В WPA3 вводятся более строгие правила проверки соответствующих сертификатов[15].
Уязвимость Hole196 связана с использованием группового ключа GTK и позволяет атакующему, уже аутентифицированному в сети, проводить атаки типа «человек посередине» и отказ в обслуживании[46][47].
В 2016 году показано, что стандарты WPA и WPA2 содержат небезопасный генератор случайных чисел; при его использовании атакующий может заранее вычислить групповой ключ GTK, что позволяет внедрять и расшифровывать трафик в сети. Пример — маршрутизатор Asus RT-AC51U и устройства на чипах Broadcom[48]. Рекомендация — применять надёжный ГПСЧ. Так, маршрутизаторы OpenWrt/LEDE неуязвимы для этой атаки.
В октябре 2017 года был опубликован метод атаки KRACK, критичный для WPA2 и затрагивающий все его варианты[49][50]. KRACK использует ослабленную спецификацию четырёхстадийного рукопожатия, позволяя злоумышленнику повторно инициировать рукопожатие и расшифровывать данные. Для устранения уязвимости необходимы программные обновления, которые недоступны для ряда устройств[51]. Пользователям рекомендуется своевременно обновлять устройства[52].
В апреле 2019 года атаки Dragonblood выявили уязвимости в handshake-протоколе Dragonfly, используемом в WPA3 и EAP-pwd[53]. Были обнаружены атаки через побочные каналы и уязвимости реализации EAP-pwd и SAE. Проблемы имеются и при переходе между WPA2 и WPA3. Ведётся работа по исправлению стандарта и обновлению устройств[54].
11 мая 2021 года были обнародованы уязвимости класса FragAttacks, позволяющие атакующим в радиусе действия перехватывать данные пользователей. Уязвимости связаны как с ошибками стандарта, так и программной реализации устройств; затрагивают все версии протоколов безопасности Wi-Fi — включая WPA3 и WEP. Многие уязвимости сложны для эксплуатации, однако ошибки производителей позволяют их реализовать быстрее. Для защиты рекомендуется использовать HTTPS и обновлять ПО устройств.
Примечания
Литература
- Официальный стандарт: IEEE Std 802.11i-2004. — IEEE (The Institute of Electrical and Electronics Engineers, Inc.), 2004-07-23. — ISBN 0-7381-4074-0.
- Сертификация Wi-Fi Alliance Wi-Fi Alliance's Interoperability Certificate page. Архивировано 17 февраля 2007 года.
- Проблема выбора пароля в WPA. Роберт Московиц, 2004
- Эволюция безопасности 802.11. Кевин Бентон, 2010 The Evolution of 802.11 Wireless Security, by Kevin Benton, April 18th 2010. Архивировано 2 марта 2016 года.


