Доверие при первом использовании (TOFU)

Для устройств под управлением Android 13 или более поздней версии Android поддерживает подход аутентификации «Доверие при первом использовании» (TOFU) ( RFC7435 ), который позволяет пользователям доверять корпоративной сети (EAP), устанавливая корневой центр сертификации, используемый сервером, и устанавливая его доменное имя в сохраненная сеть. TOFU позволяет устройству получать неаутентифицированный открытый ключ при первом подключении пользователя к корпоративной сети и сохранять ключ для последующих подключений.

Фон

По сравнению с личными сетями, которым требуется только пароль, корпоративные сети используют аутентификацию инфраструктуры открытых ключей (PKI), которая требует от клиента предварительной установки сертификатов. В Android 11 или более ранней версии пользователи могут выбрать параметр «Не проверять» для сертификата ЦС сервера в настройках сети, минуя проверку сертификата на стороне сервера. Однако для повышения безопасности и соответствия спецификации WPA R2 в Android 12 введено требование к корпоративным сетям иметь проверку сертификата сервера. Это дополнительное требование создало барьер для пользователей, поскольку для таких сетей им необходимо установить сертификат ЦС. TOFU предоставляет пользователям возможность подключиться к корпоративной сети на базе PKI, просто приняв ее корневой центр сертификации.

Поведение функции

Устройства, поддерживающие TOFU, демонстрируют следующее поведение, когда пользователь подключается к корпоративной сети, в которой еще не установлен аутентифицированный открытый ключ.

Подключитесь к новой сети через средство выбора Wi-Fi.

  1. Выберите новую корпоративную сеть в средстве выбора Wi-Fi.

    Устройство отображает диалоговое окно (рис. 1) для подтверждения того, является ли сеть надежной.

  2. Нажмите «Да, подключиться» , чтобы принять сетевое подключение, или нажмите «Нет, не подключаться», чтобы отклонить его.

    • Если вы нажмете Да, подключиться , устройство автоматически настроит параметры безопасности, подключится к сети и включит автоподключение к сети.

    • Если вы нажмете «Нет, не подключаться» , устройство отключится от сети и отключит автоматическое подключение к сети.

    Диалоговое окно функции TOFU

    Рисунок 1. Диалоговое окно функции TOFU.

Подключитесь к существующей сети с включенным автоматическим подключением.

При подключении к корпоративной сети, в которой включено автоматическое подключение, но нет действующего сертификата ЦС, устройство подключается автоматически, а затем отображает прикрепленное (неотклоняемое) уведомление.

  1. Нажмите на уведомление.

    Устройство отображает диалоговое окно (рис. 1) для подтверждения того, является ли сеть надежной.

  2. Нажмите «Да, подключиться» , чтобы принять сетевое подключение, или нажмите «Нет, не подключаться», чтобы отклонить его.

    • Если вы нажмете Да, подключиться , устройство автоматически настроит параметры безопасности, подключится к сети и включит автоподключение к сети.

    • Если вы нажмете «Нет, не подключаться» , устройство отключится от сети и отключит автоматическое подключение к сети.

Выполнение

Для поддержки функции TOFU реализуйте HAL-запросы, предоставленные в проекте Android с открытым исходным кодом (AOSP) по адресу /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant .

В Android 13 доступны следующие общедоступные API-интерфейсы для использования приложениями:

Валидация

Чтобы проверить реализацию TOFU на вашем устройстве, используйте следующие тесты:

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest