Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

Wi-Fi Easy Connect

Android 10 では、Wi-Fi Easy Connect プロトコル(Device Provisioning Protocol、DPP)のサポートが導入されています。Wi-Fi Easy Connect は、Wi-Fi Protected Setup(WPS)に代わるものとして Wi-Fi Alliance(WFA)によって導入されました。Android 9 では WPS のサポートは終了しています。

Wi-Fi Easy Connect は次のようなシンプルで安全な方法を提供します。

  • Wi-Fi デバイス(ヘッドレス デバイスを含む)を、パスワードを必要とせずにネットワークに接続します。
  • パスワードを知らなくても、またはパスワードを入力しなくても Wi-Fi ネットワークに接続します。

ブートストラップと認証は、カメラで QR コードをスキャンして取得するか、BLE や NFC などの帯域外に設定した URI を使用して設定します。

Wi-Fi Easy Connect は、暗号化されたチャネルを使用してデバイス間で Wi-Fi 認証情報を送信します。また、公開アクション フレームを使用するため、デバイスは既存のアクセス ポイントを使用できます。

Android 10 は、イニシエータ モードでのみ Wi-Fi Easy Connect をサポートします(レスポンダ モードはサポートしていません)。サポートされるオペレーション モードは以下のとおりです。

  • Initiator-Configurator: QR コードをスキャンしてネットワーク認証情報を新しいデバイスに送信します。
  • Initiator-Enrollee: ネットワークの QR コードをスキャンしてネットワークに参加します。

Android 10 は、WPA2 の事前共有キー(PSK)プロトコルと、WPA3 の Simultaneous Authentication of Equals(SAE)プロトコルをサポートしています。

Wi-Fi Easy Connect はクライアント モードでのみサポートされます(SoftAP モードはサポートしていません)。

実装

Wi-Fi Easy Connect をサポートするには、hardware/interfaces/wifi/supplicant/1.2/ またはそれ以降のバージョンの Android Open Source Project(AOSP)で提供されているサプリカントの HAL Interface Design Language(HIDL)を実装します。

DPP をサポートするには、以下が必要です。

  • DPP をサポートする Linux カーネルパッチ:

    • cfg80211
    • nl80211
  • DPP をサポートする wpa_supplicant

  • DPP をサポートする Wi-Fi ドライバ

  • DPP をサポートする Wi-Fi ファームウェア

Android 10 ではアプリが使用できる公開 API が利用可能です。

Wi-Fi Easy Connect を有効にする

Android フレームワークで Wi-Fi Easy Connect を有効にするには、CONFIG_DPP コンパイル オプションを wpa_supplicant 設定ファイルである android.config に含めます。

# Easy Connect (Device Provisioning Protocol - DPP)
CONFIG_DPP=y

検証

実装をテストするには、次のテストを実行します。

単体テスト

DppManagerTest を実行して、DPP の機能フラグの動作を検証します。

atest DppManagerTest

統合テスト(ACTS)

統合テストを実行するには、tools/test/connectivity/acts/tests/google/wifi にある Android Comms Test Suite(ACTS)ファイル WifiDppTest.py を使用します。

VTS テスト

VtsHalWifiSupplicantV1_2Host を実行して、サプリカントの HAL v1.2 の動作をテストします。

vts-tradefed run commandAndExit vts --skip-all-system-status-check --primary-abi-only --skip-preconditions --module VtsHalWifiSupplicantV1_2Host