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

WEP (англ. Wired Equivalent Privacy) — один из первых протоколов шифрования для беспроводных сетей, предназначенный для защиты соединений WLAN. В протоколе используются 64- и 128-битовые ключи, включающие части, настраиваемые пользователем и установленные на заводе. WEP применяет алгоритм RC4 для шифрования данных, формируя уникальный ключ для каждого пакета путём сочетания нового вектора инициализации (IV) с общим ключом (40 бит — векторный ключ, 24 бита — случайные числа). Для дешифровки применяется обратная процедура с использованием IV и общего ключа для формирования потока и расшифровки полезных данных. Значительные уязвимости WEP обусловили появление более современных и безопасных протоколов[4].

WPA

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

Стандарт 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].

WPA3

В январе 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-Personal

Также известен как WPA-PSK (режим общего ключа); ориентирован на домашнее и малое офисное использование без необходимости отдельного сервера аутентификации[23]. Каждое устройство вычисляет 128-битный ключ шифрования на основе 256-битного общего ключа, который может вводиться либо в виде строки из 64 шестнадцатеричных цифр, либо как пароль длиной от 8 до 63 печатных ASCII-символов[24]. Эта процедура не является строго определяющей, согласно пояснительной части стандарта 802.11[25]. Если пароль задан в ASCII, 256-битный ключ вычисляется по функции PBKDF2 с SSID в качестве соли и 4096 итерациями HMAC-SHA1[26]. Режим WPA-Personal возможен во всех трёх версиях стандарта WPA.

WPA-Enterprise

В корпоративном режиме для аутентификации применяется сервер 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].

Подмена и расшифровка пакетов WPA

В 2013 году Матий Ванхоеф и Франк Писсенс[39] показали возможность внедрения и расшифровки пакетов в сетях WPA-TKIP. По сравнению с предыдущей атакой Бека-Тьюса, новый способ позволяет внедрять большее количество и больший объём данных. Также возможно захватить и расшифровать широковещательные и индивидуальные пакеты. Уязвимость TKIP продолжает использоваться в устройcтвах с поддержкой WPA-TKIP[39].

Атаки через WPS PIN

В декабре 2011 года было выявлено, что функция WPS, реализованная во многих маршрутизаторах, позволяет атакующему восстановить PIN WPS и пароль WPA всего за несколько часов[40]. Рекомендуется отключить WPS на устройствах, на которых это возможно[41]. В 2018 году вместо WPS предложена технология Wi-Fi Easy Connect для простого подключения устройств без полноценного интерфейса[42][43].

MS-CHAPv2 и валидация AAA-серверов

Алгоритм MS-CHAPv2, используемый в ряде реализаций WPA2, имеет существенные уязвимости, позволяющие провести перебор с помощью современных вычислительных средств. В 2012 году сложность атаки на MS-CHAPv2 была эквивалентна взлому одного DES-ключа, что критично для организаций, полагающихся на эту технологию[44]. Дополнительным фактором риска является неправильная настройка проверки сертификатов AAA-серверов со стороны клиентов[45]. В WPA3 вводятся более строгие правила проверки соответствующих сертификатов[15].

Уязвимость Hole196

Уязвимость Hole196 связана с использованием группового ключа GTK и позволяет атакующему, уже аутентифицированному в сети, проводить атаки типа «человек посередине» и отказ в обслуживании[46][47].

Предсказуемый групповой ключ (GTK)

В 2016 году показано, что стандарты WPA и WPA2 содержат небезопасный генератор случайных чисел; при его использовании атакующий может заранее вычислить групповой ключ GTK, что позволяет внедрять и расшифровывать трафик в сети. Пример — маршрутизатор Asus RT-AC51U и устройства на чипах Broadcom[48]. Рекомендация — применять надёжный ГПСЧ. Так, маршрутизаторы OpenWrt/LEDE неуязвимы для этой атаки.

KRACK (Key Reinstallation Attack)

В октябре 2017 года был опубликован метод атаки KRACK, критичный для WPA2 и затрагивающий все его варианты[49][50]. KRACK использует ослабленную спецификацию четырёхстадийного рукопожатия, позволяя злоумышленнику повторно инициировать рукопожатие и расшифровывать данные. Для устранения уязвимости необходимы программные обновления, которые недоступны для ряда устройств[51]. Пользователям рекомендуется своевременно обновлять устройства[52].

Dragonblood

В апреле 2019 года атаки Dragonblood выявили уязвимости в handshake-протоколе Dragonfly, используемом в WPA3 и EAP-pwd[53]. Были обнаружены атаки через побочные каналы и уязвимости реализации EAP-pwd и SAE. Проблемы имеются и при переходе между WPA2 и WPA3. Ведётся работа по исправлению стандарта и обновлению устройств[54].

FragAttacks

11 мая 2021 года были обнародованы уязвимости класса FragAttacks, позволяющие атакующим в радиусе действия перехватывать данные пользователей. Уязвимости связаны как с ошибками стандарта, так и программной реализации устройств; затрагивают все версии протоколов безопасности Wi-Fi — включая WPA3 и WEP. Многие уязвимости сложны для эксплуатации, однако ошибки производителей позволяют их реализовать быстрее. Для защиты рекомендуется использовать HTTPS и обновлять ПО устройств.

Примечания

Литература