ב-Android 10 יש תמיכה בפרוטוקול Wi-Fi Easy Connect, שמכונה גם הפרוטוקול להקצאת מכשירים (DPP). Wi-Fi Easy Connect הוצג על ידי Wi-Fi Alliance (WFA) כחלופה לתצורה המוגנת של Wi-Fi (WPS). WPS הוצא משימוש ב-Android 9.
Wi-Fi Easy Connect הוא שירות שמאפשר לכם:
- חיבור של מכשירי Wi-Fi מובנים (כולל מכשירים ללא צג) לרשת בלי להזין סיסמה.
- להצטרף לרשתות Wi-Fi בלי לדעת או להזין את הסיסמה.
ההגדרה של האתחול והאימות מתבצעת באמצעות URI, שנרכש על ידי סריקת קוד QR (באמצעות מצלמה) או מוגדר מחוץ לפס, למשל באמצעות BLE או NFC.
ב-Wi-Fi Easy Connect נעשה שימוש בערוץ מוצפן לשליחת פרטי הכניסה ל-Wi-Fi בין המכשירים, ומכיוון שמשתמשים בפריימים ציבוריים של פעולות, המכשירים יכולים להשתמש בנקודות גישה קיימות.
ב-Android 10 יש תמיכה ב-Wi-Fi Easy Connect רק במצב יזום (אין תמיכה במצב תגובה). אלה מצבי הפעולה הנתמכים:
- Initiator-Configurator: שליחת פרטי הכניסה לרשת למכשיר חדש באמצעות סריקה של קוד ה-QR שלו.
- יזם-נרשם: הצטרפות לרשת על ידי סריקת קוד ה-QR של הרשת.
Android 10 תומך בפרוטוקול המפתח המשותף מראש (PSK) ל-WPA2 ובפרוטוקול האימות בו-זמנית של שווים (SAE) ל-WPA3.
התכונה Wi-Fi Easy Connect נתמכת רק במצב לקוח (אין תמיכה במצב SoftAP).
הטמעה
כדי לתמוך ב-Wi-Fi Easy Connect, צריך להטמיע את ממשק ה-supplicant שמסופק בפרויקט Android Open Source Project (AOSP). בהתאם לממשק שהוטמע, האפשרות הזו נמצאת באחד מהמקומות הבאים:
hardware/interfaces/wifi/supplicant/1.2/
או גרסה מתקדמת יותר של HIDLhardware/interfaces/wifi/supplicant/aidl/
ל-AIDL
כדי לתמוך ב-DPP, נדרשים הרכיבים הבאים:
תיקוני ליבה של Linux לתמיכה ב-DPP:
- cfg80211
- nl80211
wpa_supplicant
עם תמיכה ב-DPPמנהל Wi-Fi עם תמיכה ב-DPP
קושחת Wi-Fi עם תמיכה ב-DPP
ממשקי API ציבוריים זמינים ב-Android 10 לשימוש באפליקציות:
WifiManager#isEasyConnectSupported
: שולחת שאילתה למסגרת כדי לקבוע אם המכשיר תומך ב-Wi-Fi Easy Connect.Activity#startActivityForResult(ACTION_PROCESS_WIFI_EASY_CONNECT_URI)
: מאפשר לאפליקציות לשלב את Wi-Fi Easy Connect בתהליך ההצטרפות או ההגדרה שלהן.
הפעלת Wi-Fi Easy Connect
כדי להפעיל את Wi-Fi Easy Connect במסגרת Android, צריך לכלול את אפשרות הידור CONFIG_DPP
בקובץ התצורה wpa_supplicant
, android.config
:
# Easy Connect (Device Provisioning Protocol - DPP) CONFIG_DPP=y
אימות
כדי לבדוק את ההטמעה, מריצים את הבדיקות הבאות.
בדיקות יחידה
מריצים את הפקודה DppManagerTest
כדי לאמת את ההתנהגות של דגלי היכולות של DPP.
atest DppManagerTest
בדיקות VTS
אם ממשק ה-HIDL מוטמע, מריצים את VtsHalWifiSupplicantV1_2TargetTest
כדי לבדוק את ההתנהגות של supplicant HAL v1.2.
אם ממשק ה-AIDL מוטמע, מריצים את VtsHalWifiSupplicantStaIfaceTargetTest
כדי לבדוק את ההתנהגות של HAL של מבקש הגישה.