В Android 10 добавлена поддержка стандартов Wi-Fi Protected Access версии 3 (WPA3) и Wi-Fi Enhanced Open от Wi-Fi Alliance (WFA). Дополнительную информацию см. в разделе «Безопасность» на сайте 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 поддерживает индикацию отключения перехода (Transition Disable) — механизм, который указывает устройству не использовать 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, для определения HAL используется язык определения интерфейсов Android (AIDL). В версиях до Android 13 интерфейсы и разделы поставщика используют язык определения интерфейсов HAL (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=yWPA3-Enterprise: Включите параметры компиляции
CONFIG_SUITEB192иCONFIG_SUITEBв конфигурационный файлwpa_supplicant.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=yWi-Fi Enhanced Open: Добавьте параметр компиляции
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Тесты VTS
Если интерфейс HIDL реализован, выполните:
atest VtsHalWifiSupplicantV1_3TargetTestЕсли интерфейс AIDL реализован, выполните:
atest VtsHalWifiSupplicantStaIfaceTargetTest