В Android 10 реализована поддержка стандартов Wi-Fi Protected Access версии 3 (WPA3) Wi-Fi Alliance (WFA) и Wi-Fi Enhanced Open. Дополнительную информацию см. в разделе Безопасность на сайте WFA .
WPA3 — это новый стандарт безопасности WFA для личных и корпоративных сетей. Он направлен на повышение общей безопасности Wi-Fi за счет использования современных алгоритмов безопасности и более надежных наборов шифров. WPA3 состоит из двух частей:
- WPA3-Personal: использует одновременную аутентификацию равных (SAE) вместо предварительного общего ключа (PSK), предоставляя пользователям более надежную защиту от атак, таких как автономные атаки по словарю, восстановление ключей и подделка сообщений.
- WPA3-Enterprise: предлагает более строгие методы аутентификации и шифрования на уровне канала, а также дополнительный 192-битный режим безопасности для чувствительных сред безопасности.
Wi-Fi Enhanced Open — это новый стандарт безопасности WFA для общедоступных сетей, основанный на оппортунистическом беспроводном шифровании (OWE). Он обеспечивает шифрование и конфиденциальность в открытых, не защищенных паролем сетях в таких местах, как кафе, гостиницы, рестораны и библиотеки. Enhanced Open не обеспечивает аутентификацию.
WPA3 и Wi-Fi Enhanced Open повышают общую безопасность Wi-Fi, обеспечивая лучшую конфиденциальность и устойчивость к известным атакам. Поскольку многие устройства еще не поддерживают эти стандарты или еще не имели обновлений программного обеспечения для поддержки этих функций, WFA предложила следующие режимы перехода:
- Режим перехода WPA2/WPA3: обслуживающая точка доступа одновременно поддерживает стандарты WPA2 и WPA3. В этом режиме устройства Android 10 используют WPA3 для подключения, а устройства под управлением Android 9 или более ранней версии используют WPA2 для подключения к той же точке доступа.
- Режим перехода WPA2/WPA3-Enterprise: обслуживающая точка доступа одновременно поддерживает стандарты WPA2-Enterprise и WPA3-Enterprise.
- Режим перехода OWE: обслуживающая точка доступа одновременно поддерживает как OWE, так и открытые стандарты. В этом режиме устройства Android 10 используют OWE для подключения, а устройства под управлением Android 9 или более ранней версии подключаются к той же точке доступа без какого-либо шифрования.
Android 12 поддерживает индикацию отключения перехода — механизм, который предписывает устройству не использовать WPA2 и вместо этого использовать WPA3. Когда устройство получает это сообщение, оно использует WPA3 для подключения к сети WPA3, поддерживающей переходный режим. Android 12 также поддерживает обмен аутентификацией WPA3 Hash-to-Element (H2E). Дополнительную информацию см. в спецификации WPA3 .
WPA3 и Wi-Fi Enhanced Open поддерживаются только в клиентском режиме.
Выполнение
Для поддержки WPA3 и Wi-Fi Enhanced Open реализуйте интерфейс Supplicant HAL. Начиная с Android 13, интерфейс использует AIDL для определения HAL. В выпусках до Android 13 интерфейсы и разделы поставщиков используют HIDL. Интерфейс HIDL можно найти в hardware/interfaces/wifi/supplicant/1.3/
, а интерфейс AIDL можно найти в hardware/interfaces/wifi/supplicant/aidl/
.
Для поддержки WPA3 и OWE требуется следующее:
Исправления ядра Linux для поддержки SAE и OWE
- cfg80211
- nl80211
wpa_supplicant
с поддержкой SAE, SUITEB192 и OWEДрайвер Wi-Fi с поддержкой SAE, SUITEB192 и OWE
Прошивка Wi-Fi с поддержкой SAE, SUITEB192 и OWE
Чип Wi-Fi с поддержкой WPA3 и OWE
В Android 10 доступны методы общедоступного API, позволяющие приложениям определять поддержку устройством следующих функций:
-
WifiManager#isWpa3SaeSupported
-
WifiManager#isWpa3SuiteBSupported
-
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
содержит новые типы управления ключами, а также парные шифры, групповые шифры, шифры группового управления и шифры Suite B, которые необходимы для OWE, WPA3-Personal и WPA3-Enterprise.
Включить WPA3 и Wi-Fi Enhanced Open
Чтобы включить WPA3-Personal, WPA3-Enterprise и Wi-Fi Enhanced Open в платформе Android:
WPA3-Personal: включите параметр компиляции
CONFIG_SAE
в файл конфигурацииwpa_supplicant
.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: включите параметры компиляции
CONFIG_SUITEB192
иCONFIG_SUITEB
в файл конфигурацииwpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
Расширенное открытие Wi-Fi: включите параметр компиляции
CONFIG_OWE
в файл конфигурацииwpa_supplicant
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
Если WPA3-Personal, WPA3-Enterprise или Wi-Fi Enhanced Open не включены, пользователи не смогут вручную добавлять, сканировать или подключаться к этим типам сетей.
Валидация
Чтобы проверить свою реализацию, запустите следующие тесты.
Модульные тесты
Запустите SupplicantStaIfaceHalTest
, чтобы проверить поведение флагов возможностей для WPA3 и OWE.
atest SupplicantStaIfaceHalTest
Запустите WifiManagerTest
чтобы проверить поведение общедоступных API для этой функции.
atest WifiManagerTest
тесты СУДС
Если интерфейс HIDL реализован, запустите:
atest VtsHalWifiSupplicantV1_3TargetTest
Если интерфейс AIDL реализован, запустите:
atest VtsHalWifiSupplicantStaIfaceTargetTest