Для устройств под управлением Android 13 или более поздней версии Android поддерживает подход аутентификации «Доверие при первом использовании» (TOFU) ( RFC7435 ), который позволяет пользователям доверять корпоративной сети (EAP), устанавливая корневой центр сертификации, используемый сервером, и устанавливая его доменное имя в сохраненная сеть. TOFU позволяет устройству получать неаутентифицированный открытый ключ при первом подключении пользователя к корпоративной сети и сохранять ключ для последующих подключений.
Фон
По сравнению с личными сетями, которым требуется только пароль, корпоративные сети используют аутентификацию инфраструктуры открытых ключей (PKI), которая требует от клиента предварительной установки сертификатов. В Android 11 или более ранней версии пользователи могут выбрать параметр «Не проверять» для сертификата ЦС сервера в настройках сети, минуя проверку сертификата на стороне сервера. Однако для повышения безопасности и соответствия спецификации WPA R2 в Android 12 введено требование к корпоративным сетям иметь проверку сертификата сервера. Это дополнительное требование создало барьер для пользователей, поскольку для таких сетей им необходимо установить сертификат ЦС. TOFU предоставляет пользователям возможность подключиться к корпоративной сети на базе PKI, просто приняв ее корневой центр сертификации.
Поведение функции
Устройства, поддерживающие TOFU, демонстрируют следующее поведение, когда пользователь подключается к корпоративной сети, в которой еще не установлен аутентифицированный открытый ключ.
Подключитесь к новой сети через средство выбора Wi-Fi.
Выберите новую корпоративную сеть в средстве выбора Wi-Fi.
Устройство отображает диалоговое окно (рис. 1) для подтверждения того, является ли сеть надежной.
Нажмите «Да, подключиться» , чтобы принять сетевое подключение, или нажмите «Нет, не подключаться», чтобы отклонить его.
Если вы нажмете Да, подключиться , устройство автоматически настроит параметры безопасности, подключится к сети и включит автоподключение к сети.
Если вы нажмете «Нет, не подключаться» , устройство отключится от сети и отключит автоматическое подключение к сети.
Рисунок 1. Диалоговое окно функции TOFU.
Подключитесь к существующей сети с включенным автоматическим подключением.
При подключении к корпоративной сети, в которой включено автоматическое подключение, но нет действующего сертификата ЦС, устройство подключается автоматически, а затем отображает прикрепленное (неотклоняемое) уведомление.
Нажмите на уведомление.
Устройство отображает диалоговое окно (рис. 1) для подтверждения того, является ли сеть надежной.
Нажмите «Да, подключиться» , чтобы принять сетевое подключение, или нажмите «Нет, не подключаться», чтобы отклонить его.
Если вы нажмете Да, подключиться , устройство автоматически настроит параметры безопасности, подключится к сети и включит автоподключение к сети.
Если вы нажмете «Нет, не подключаться» , устройство отключится от сети и отключит автоматическое подключение к сети.
Выполнение
Для поддержки функции TOFU реализуйте HAL-запросы, предоставленные в проекте Android с открытым исходным кодом (AOSP) по адресу /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant
.
В Android 13 доступны следующие общедоступные API-интерфейсы для использования приложениями:
-
WifiManager#isTrustOnFirstUseSupported()
: указывает, поддерживает ли устройство TOFU. -
WifiEnterpriseConfig#enableTrustOnFirstUse(boolean)
: включает TOFU. -
WifiEnterpriseConfig#isTrustOnFirstUseEnabled()
: указывает, включен ли TOFU.
Валидация
Чтобы проверить реализацию TOFU на вашем устройстве, используйте следующие тесты:
- CTS:
CtsWifiTestCases
- VTS:
VtsHalWifiSupplicantStaNetworkTargetTest