ב-Android 10 יש תמיכה בפרוטוקול Wi-Fi Easy Connect, שמכונה גם הפרוטוקול להקצאת מכשירים (DPP). Wi-Fi Easy Connect הושק על ידי Wi-Fi Alliance (WFA) כחלופה להגדרה של Wi-Fi Protected (WPS). WPS הוצא משימוש ב-Android 9.
באמצעות Wi-Fi Easy Connect יש שיטה פשוטה ומאובטחת לביצוע הפעולות הבאות:
- חיבור של מכשירי Wi-Fi (כולל מכשירים ללא GUI) לרשת בלי להזין סיסמה.
- להצטרף לרשתות 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, צריך להטמיע את ממשק הספק שסופק בפרויקט הקוד הפתוח של Android (AOSP). בהתאם לממשק שהוטמע, הכתובת היא:
hardware/interfaces/wifi/supplicant/1.2/
או גרסה מאוחרת יותר של HIDLhardware/interfaces/wifi/supplicant/aidl/
ל-AIDL
הרכיבים הבאים נדרשים כדי לתמוך ב-DPP:
תיקונים לליבה (kernel) של Linux לתמיכה ב-DPP:
- cfg80211
- nl80211
wpa_supplicant
עם תמיכה ב-DPPמנהל התקן Wi-Fi עם תמיכה ב-DPP
קושחת Wi-Fi עם תמיכה ב-DPP
ממשקי API ציבוריים זמינים ב-Android 10 לשימוש באפליקציות:
WifiManager#isEasyConnectSupported
: שליחת שאילתה ל-framework כדי לקבוע אם המכשיר תומך ב-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
אימות
כדי לבדוק את ההטמעה, מריצים את הבדיקות הבאות.
בדיקות יחידה (unit testing)
מריצים את הפקודה DppManagerTest
כדי לאמת את ההתנהגות של דגלי היכולות ב-DPP.
atest DppManagerTest
בדיקות VTS
אם הטמעתם את ממשק HIDL, מריצים את VtsHalWifiSupplicantV1_2TargetTest
כדי לבדוק את ההתנהגות של הספק HAL v1.2.
אם מוטמע ממשק AIDL, מריצים את VtsHalWifiSupplicantStaIfaceTargetTest
כדי לבדוק את ההתנהגות של ה-HAL של הספק.