ב-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 של המבקש.