ב-Android 10 נוספה תמיכה בפרוטוקול Wi-Fi Easy Connect, שנקרא גם פרוטוקול הקצאת הרשאות למכשיר (DPP). Wi-Fi Easy Connect הוצג על ידי Wi-Fi Alliance (WFA) כחלופה ל-Wi-Fi Protected Setup (WPS). הפרוטוקול WPS הוצא משימוש ב-Android 9.
Wi-Fi Easy Connect מספק שיטה פשוטה ומאובטחת ל:
- צירוף מכשירי Wi-Fi (כולל מכשירים ללא מסך) לרשת בלי להזין סיסמה.
- להצטרף לרשתות Wi-Fi בלי לדעת את הסיסמה או להזין אותה.
האתחול והאימות מוגדרים באמצעות URI, שמתקבל על ידי סריקת קוד QR (באמצעות מצלמה), או מוגדרים מחוץ לפס, למשל באמצעות BLE או NFC.
התכונה 'חיבור קל ל-Wi-Fi' משתמשת בערוץ מוצפן כדי לשלוח פרטי כניסה ל-Wi-Fi בין מכשירים, ומכיוון שהיא משתמשת בפריימים של פעולות ציבוריות, המכשירים יכולים להשתמש בנקודות גישה קיימות.
Android 10 תומך ב-Wi-Fi Easy Connect רק במצב יוזם (מצב משיב לא נתמך). מצבי הפעולה הבאים נתמכים:
- מכשיר שיוזם את ההגדרה: שליחת פרטי הכניסה לרשת למכשיר חדש על ידי סריקת קוד ה-QR שלו.
- היוזם והמשתמש: הצטרפות לרשת על ידי סריקת קוד ה-QR של הרשת.
Android 10 תומך בפרוטוקול המפתח ששותף מראש (PSK) עבור WPA2 ובפרוטוקול האימות הסימולטני של שווים (SAE) עבור WPA3.
התכונה Wi-Fi Easy Connect נתמכת רק במצב לקוח (לא נתמך מצב SoftAP).
הטמעה
כדי לתמוך ב-Wi-Fi Easy Connect, צריך להטמיע את ממשק ה-supplicant שמופיע בפרויקט הקוד הפתוח של Android (AOSP). בהתאם לממשק שהוטמע, המיקום הוא:
-
hardware/interfaces/wifi/supplicant/1.2/
או גרסה מאוחרת יותר של HIDL -
hardware/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' בתהליך ההצטרפות או ההגדרה שלהן.
הפעלת Wi-Fi Easy Connect
כדי להפעיל את התכונה 'חיבור קל ל-Wi-Fi' ב-Android Framework, צריך לכלול את האפשרות CONFIG_DPP
compilation
ב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
כדי לבדוק את ההתנהגות של supplicant HAL.