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

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

Фон

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

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

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

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

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

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

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

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

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

    Диалоговое окно системы Android, запрашивающее подтверждение доверия к сети, с текстом «Доверять этой сети?» и вариантами «Нет, не подключаться» и «Да, подключиться».

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

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

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

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

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

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

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

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

Выполнение

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

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

Проверка

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

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest