Android 10 memperkenalkan dukungan untuk protokol Wi-Fi Easy Connect, yang juga dikenal sebagai protokol penyediaan perangkat (DPP). Wi-Fi Easy Connect diperkenalkan oleh Wi-Fi Alliance (WFA) sebagai alternatif untuk Wi-Fi Protected Setup (WPS). WPS tidak digunakan lagi di Android 9.
Wi-Fi Easy Connect menyediakan metode yang sederhana dan aman untuk:
- Mengaktifkan perangkat Wi-Fi (termasuk perangkat headless) ke jaringan tanpa memasukkan sandi.
- Bergabung ke jaringan Wi-Fi tanpa mengetahui atau memasukkan sandi.
Bootstrapping dan autentikasi dikonfigurasi menggunakan URI, yang diperoleh dengan memindai kode QR (menggunakan kamera), atau dikonfigurasi di luar band, misalnya, menggunakan BLE atau NFC.
Wi-Fi Easy Connect menggunakan saluran terenkripsi untuk mengirim kredensial Wi-Fi antar perangkat, dan karena frame tindakan publik digunakan, perangkat dapat menggunakan titik akses yang ada.
Android 10 hanya mendukung Wi-Fi Easy Connect dalam mode inisiator (mode responder tidak didukung). Mode operasi berikut didukung:
- Initiator-Configurator: Kirim kredensial jaringan ke perangkat baru dengan memindai kode QR-nya.
- Pemrakarsa-Pendaftar: Bergabung ke jaringan dengan memindai kode QR jaringan.
Android 10 mendukung protokol pre-shared key (PSK) untuk WPA2 dan protokol autentikasi simultan sama dengan (SAE) untuk WPA3.
Wi-Fi Easy Connect hanya didukung dalam mode klien (mode SoftAP tidak didukung).
Implementasi
Untuk mendukung Wi-Fi Easy Connect, terapkan antarmuka pemohon yang disediakan di Proyek Open Source Android (AOSP). Bergantung pada antarmuka yang diimplementasikan, hal ini dapat terjadi pada:
hardware/interfaces/wifi/supplicant/1.2/
atau versi yang lebih baru untuk HIDLhardware/interfaces/wifi/supplicant/aidl/
untuk AIDL
Hal berikut diperlukan untuk mendukung DPP:
Patch kernel Linux untuk mendukung DPP:
- cfg80211
- nl80211
wpa_supplicant
dengan dukungan untuk DPPDriver Wi-Fi dengan dukungan untuk DPP
Firmware Wi-Fi dengan dukungan untuk DPP
API publik tersedia di Android 10 untuk digunakan oleh aplikasi:
WifiManager#isEasyConnectSupported
: Mengkueri framework untuk menentukan apakah perangkat mendukung Wi-Fi Easy Connect.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: Memungkinkan aplikasi mengintegrasikan Wi-Fi Easy Connect ke dalam alur orientasi/penyiapan.
Mengaktifkan Wi-Fi Easy Connect
Untuk mengaktifkan Wi-Fi Easy Connect di framework Android, sertakan
opsi kompilasi
CONFIG_DPP
dalam file konfigurasi wpa_supplicant
,
android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
Validasi
Untuk menguji penerapan Anda, jalankan pengujian berikut.
Pengujian unit
Jalankan
DppManagerTest
untuk memverifikasi perilaku flag kemampuan untuk DPP.
atest DppManagerTest
Pengujian VTS
Jika antarmuka HIDL diterapkan, jalankan
VtsHalWifiSupplicantV1_2TargetTest
untuk menguji perilaku HAL pemohon v1.2.
Jika antarmuka AIDL diimplementasikan, jalankan
VtsHalWifiSupplicantStaIfaceTargetTest
untuk menguji perilaku HAL pemohon.