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

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

Фон

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

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

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

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

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

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

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

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

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

    Диалог для функции TOFU

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

Подключитесь к существующей сети с включенной функцией автоподключения

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

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

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

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

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

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

Выполнение

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

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

Проверка

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

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest