[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-26 UTC。"],[],[],null,["# WPA3 and Wi-Fi Enhanced Open\n\nAndroid 10 introduces support for the Wi-Fi Alliance's\n(WFA) Wi-Fi Protected Access version 3 (WPA3) and Wi-Fi Enhanced Open\nstandards. For more\ninformation, see\n[*Security* on the WFA site](https://www.wi-fi.org/discover-wi-fi/security).\n\nWPA3 is a new WFA security standard for personal and enterprise\nnetworks. It aims to improve overall Wi-Fi security by using modern security\nalgorithms and stronger cipher suites. WPA3 has two parts:\n\n- **WPA3-Personal:** Uses simultaneous authentication of equals (SAE) instead of pre-shared key (PSK), providing users with stronger security protections against attacks such as offline dictionary attacks, key recovery, and message forging.\n- **WPA3-Enterprise:** Offers stronger authentication and link-layer encryption methods, and an optional 192-bit security mode for sensitive security environments.\n\nWi-Fi Enhanced Open is a new WFA security standard for public\nnetworks based on opportunistic wireless encryption (OWE). It provides\nencryption and privacy on open, non-password-protected networks in areas such as\ncafes, hotels, restaurants, and libraries. Enhanced Open doesn't provide\nauthentication.\n\nWPA3 and Wi-Fi Enhanced Open improve overall Wi-Fi security, providing better\nprivacy and robustness against known attacks. As many devices don't yet support\nthese standards or haven't yet had software upgrades to support these features,\nWFA has proposed the following transition modes:\n\n- **WPA2/WPA3 transition mode:** The serving access point supports WPA2 and WPA3 standards concurrently. In this mode, Android 10 devices use WPA3 to connect, and devices running Android 9 or lower use WPA2 to connect to the same access point.\n- **WPA2/WPA3-Enterprise transition mode:** The serving access point supports WPA2-Enterprise and WPA3-Enterprise standards concurrently.\n- **OWE transition mode:** The serving access point supports both OWE and open standards concurrently. In this mode, Android 10 devices use OWE to connect, and devices running Android 9 or lower connect to the same access point without any encryption.\n\nAndroid 12 supports Transition Disable indication,\na mechanism that instructs a device to not use WPA2 and use WPA3 instead.\nWhen a device receives this indication, it uses WPA3 to connect to a WPA3\nnetwork that supports a transition mode. Android 12\nalso supports WPA3 Hash-to-Element (H2E) authentication exchange. For more\ninformation, see the\n[WPA3 Specification](https://www.wi-fi.org/file/wpa3-specification).\n\nWPA3 and Wi-Fi Enhanced Open are supported only in client mode.\n\nImplementation\n--------------\n\nTo support WPA3 and Wi-Fi Enhanced Open, implement the Supplicant HAL interface.\nStarting with Android 13,\nthe interface uses AIDL for the HAL definition.\nFor releases before Android 13,\ninterfaces and vendor partitions use HIDL.\nThe HIDL interface can be found in\n[`hardware/interfaces/wifi/supplicant/1.3/`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/wifi/supplicant/1.3/),\nand the AIDL interface can be found in\n[`hardware/interfaces/wifi/supplicant/aidl/`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/wifi/supplicant/aidl/),\n| **Note:** If the HIDL interface is implemented, WPA3 and Wi-Fi Enhanced Open require supplicant HAL 1.2 or higher.\n\nThe following are required to support WPA3 and OWE:\n\n- Linux kernel patches to support SAE and OWE\n\n - cfg80211\n - nl80211\n- [`wpa_supplicant`](https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/main)\n with support for SAE, SUITEB192 and OWE\n\n- Wi-Fi driver with support for SAE, SUITEB192, and OWE\n\n- Wi-Fi firmware with support for SAE, SUITEB192, and OWE\n\n- Wi-Fi chip with support for WPA3 and OWE\n\nPublic API methods are available in Android 10 to allow\napps to determine device support for these features:\n\n- [`WifiManager#isWpa3SaeSupported`](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager#iswpa3saesupported)\n- [`WifiManager#isWpa3SuiteBSupported`](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager#iswpa3suitebsupported)\n- [`WifiManager#isEnhancedOpenSupported`](https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager#isenhancedopensupported)\n\n[`WifiConfiguration.java`](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Wifi/framework/java/android/net/wifi/WifiConfiguration.java)\ncontains new key management types, as well as pairwise ciphers, group ciphers,\ngroup management ciphers, and Suite B ciphers, which are required for OWE,\nWPA3-Personal, and WPA3-Enterprise.\n\nEnable WPA3 and Wi-Fi Enhanced Open\n-----------------------------------\n\nTo enable WPA3-Personal, WPA3-Enterprise, and Wi-Fi Enhanced Open in the Android\nframework:\n\n- **WPA3-Personal:** Include the `CONFIG_SAE` compilation option in the\n `wpa_supplicant` [configuration file](https://android.googlesource.com/platform/external/wpa_supplicant_8/+/refs/heads/android16-release/wpa_supplicant/android.config).\n\n ```\n # WPA3-Personal (SAE)\n CONFIG_SAE=y\n ```\n- **WPA3-Enterprise:** Include the `CONFIG_SUITEB192` and `CONFIG_SUITEB`\n compilation options in the `wpa_supplicant` configuration file.\n\n ```\n # WPA3-Enterprise (SuiteB-192)\n CONFIG_SUITEB=y\n CONFIG_SUITEB192=y\n ```\n- **Wi-Fi Enhanced Open:** Include the `CONFIG_OWE` compilation option in the\n `wpa_supplicant` configuration file.\n\n ```\n # Opportunistic Wireless Encryption (OWE)\n # Experimental implementation of draft-harkins-owe-07.txt\n CONFIG_OWE=y\n ```\n\nIf WPA3-Personal, WPA3-Enterprise, or Wi-Fi Enhanced Open aren't enabled, users\nwon't be able to manually add, scan, or connect to these types of networks.\n\nValidation\n----------\n\nTo test your implementation, run the following tests.\n\n### Unit tests\n\nRun\n[`SupplicantStaIfaceHalTest`](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Wifi/service/tests/wifitests/src/com/android/server/wifi/SupplicantStaIfaceHalTest.java)\nto verify the behavior of the capability flags for WPA3 and OWE. \n\n```\natest SupplicantStaIfaceHalTest\n```\n\nRun\n[`WifiManagerTest`](https://cs.android.com/android/platform/superproject/+/android-latest-release:cts/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java)\nto verify the behavior of the public APIs for this feature. \n\n```\natest WifiManagerTest\n```\n\n### VTS tests\n\nIf the HIDL interface is implemented, run: \n\n atest VtsHalWifiSupplicantV1_3TargetTest\n\nIf the AIDL interface is implemented, run: \n\n atest VtsHalWifiSupplicantStaIfaceTargetTest"]]