Доверие при первом использовании (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 Open Source Project (AOSP) в /hardware/interfaces/wifi/supplicant/aidl/android/hardware/wifi/supplicant .

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

Проверка

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

  • CTS: CtsWifiTestCases
  • VTS: VtsHalWifiSupplicantStaNetworkTargetTest