Android 10 כולל תמיכה ב-Wi-Fi Alliance (WFA) Wi-Fi Protected Access גרסה 3 (WPA3) ו-Wi-Fi Enhanced Open רגילים. לקבלת מידע נוסף מידע נוסף, ראה אבטחה באתר של WFA.
WPA3 הוא תקן אבטחה חדש של WFA לשימוש אישי וארגוני עמוקה מאוד, המטרה שלו היא לשפר את האבטחה הכוללת ב-Wi-Fi באמצעות אבטחה מודרנית אלגוריתמים וסוויטות הצפנה חזקות יותר. WPA3 כולל שני חלקים:
- WPA3-Personal: שימוש באימות סימולטני של שווה (SAE) במקום מפתח משותף מראש (PSK), לספק למשתמשים אבטחה חזקה יותר אמצעי הגנה מפני מתקפות, כמו התקפות מילון אופליין, מפתחות וזיוף הודעות.
- WPA3-Enterprise: אימות חזק יותר ושכבת קישור גבוהה יותר ומצב אבטחה אופציונלי של 192 סיביות בסביבות אבטחה.
Wi-Fi Enhanced Open הוא תקן אבטחה חדש של WFA ציבורי מבוססות על הצפנה אלחוטית אופורטוניסטית (OWE). הוא מספק הצפנה ופרטיות ברשתות פתוחות שאינן מוגנות באמצעות סיסמה, באזורים כמו בתי קפה, מלונות, מסעדות וספריות. התכונה 'פתיחה משופרת' לא מספקת אימות.
WPA3 ו-Wi-Fi Enhanced Open משפרות את אבטחת ה-Wi-Fi הכוללת ומספקות פרטיות וחוסן מפני מתקפות ידועות. הרבה מכשירים עדיין לא תומכים התקנים האלה או שעדיין לא היו להם שדרוגי תוכנה כדי לתמוך בתכונות אלה, ארגון WFA הציע את מצבי המעבר הבאים:
- מצב מעבר WPA2/WPA3: נקודת הגישה למילוי בקשות תומכת ב-WPA2 וב-WPA2. תקני WPA3 בו-זמנית. במצב הזה, Android 10 מכשירים משתמשים ב-WPA3 כדי להתחבר, ומכשירים שמשתמשים ב-Android 9 ומטה משתמשים ב-WPA2 כדי להתחבר לאותה נקודת גישה.
- מצב מעבר WPA2/WPA3-Enterprise: נקודת הגישה למילוי בקשות יש תמיכה בו-זמנית בתקנים WPA2-Enterprise ו-WPA3-Enterprise.
- מצב מעבר OWE: נקודת הגישה למילוי בקשות תומכת גם ב-OWE וגם ב-Open Bidding בו-זמנית. במצב הזה, Android 10 מכשירים משתמשים ב-OWE כדי להתחבר, ומכשירים עם Android מגרסה 9 ומטה מתחברים לאותה נקודת גישה ללא הצפנה.
ב-Android 12 יש תמיכה בהגדרת 'השבתת מעבר', מנגנון מורה למכשיר לא להשתמש ב-WPA2 ולהשתמש ב-WPA3 במקום זאת. כשמכשיר מקבל את האינדיקציה הזו, הוא משתמש ב-WPA3 כדי להתחבר ל-WPA3 ברשת שתומכת במצב מעבר. 12 Android תומכת גם בחילופי אימות מסוג WPA3 עם גיבוב (hash) לרכיב (H2E). לקבלת מידע נוסף מידע נוסף, אפשר לעיין מפרט WPA3.
תמיכה ב-WPA3 וב-Wi-Fi פתוחה נתמכת רק במצב לקוח.
הטמעה
כדי לתמוך ב-WPA3 וב-Wi-Fi Enhanced Open, צריך להטמיע את הממשק Supplicant HAL.
החל מ-Android 13,
הממשק משתמש ב-AIDL להגדרת HAL.
בגרסאות שלפני Android 13:
ממשקים ומחיצות של ספקים משתמשים ב-HIDL.
ניתן למצוא את ממשק HIDL ב-
hardware/interfaces/wifi/supplicant/1.3/
וממשק AIDL נמצא
hardware/interfaces/wifi/supplicant/aidl/
,
כדי לתמוך במערכות WPA3 וב-OWE, צריך להוסיף את הפרטים הבאים:
תיקונים לליבה (kernel) של Linux לתמיכה ב-SAE וב-OWE
- cfg80211
- nl80211
wpa_supplicant
עם תמיכה ב-SAE, SUITEB192 ו-OWEמנהל התקן Wi-Fi עם תמיכה ב-SAE, SUITEB192 ו-OWE
קושחת Wi-Fi עם תמיכה ב-SAE, SUITEB192 ו-OWE
שבב Wi-Fi עם תמיכה ב-WPA3 וב-OWE
כדי לאפשר שימוש ב-methods של Public API ב-Android 10 כדי לקבוע אם המכשיר תומך בתכונות הבאות:
WifiManager#isWpa3SaeSupported
WifiManager#isWpa3SuiteBSupported
WifiManager#isEnhancedOpenSupported
WifiConfiguration.java
שכולל סוגים חדשים של ניהול מפתחות, וגם צופן צמדים, צופן קבוצות,
צפנים לניהול קבוצות והצפנה של Suite B, שנדרשים ל-OWE,
WPA3-אישי ו-WPA3-Enterprise.
הפעלת WPA3 ו-Wi-Fi Enhanced Open
כדי להפעיל את ההגדרות WPA3-Personal, WPA3-Enterprise ו-Wi-Fi Enhanced ב-Android framework:
WPA3-Personal: כוללים את אפשרות ההידור
CONFIG_SAE
בwpa_supplicant
קובץ תצורה.# WPA3-Personal (SAE) CONFIG_SAE=y
WPA3-Enterprise: כולל את השדות
CONFIG_SUITEB192
ו-CONFIG_SUITEB
בקובץ התצורהwpa_supplicant
.# WPA3-Enterprise (SuiteB-192) CONFIG_SUITEB=y CONFIG_SUITEB192=y
פתיחה משופרת של Wi-Fi: כוללים את אפשרות ההידור
CONFIG_OWE
קובץ תצורה:wpa_supplicant
.# Opportunistic Wireless Encryption (OWE) # Experimental implementation of draft-harkins-owe-07.txt CONFIG_OWE=y
אם התכונות WPA3- Personal, WPA3-Enterprise או Wi-Fi Enhanced Open לא מופעלות, המשתמשים לא יוכל להוסיף רשתות, לסרוק אותן או להתחבר אליהן באופן ידני.
אימות
כדי לבדוק את ההטמעה, מריצים את הבדיקות הבאות.
בדיקות יחידה (unit testing)
הפעל
SupplicantStaIfaceHalTest
כדי לאמת את ההתנהגות של דגלי היכולת עבור WPA3 ו-OWE.
atest SupplicantStaIfaceHalTest
הפעל
WifiManagerTest
כדי לאמת את ההתנהגות של ממשקי ה-API הציבוריים לתכונה הזו.
atest WifiManagerTest
בדיקות VTS
אם הטמעתם את ממשק HIDL, מריצים את:
atest VtsHalWifiSupplicantV1_3TargetTest
אם ממשק AIDL מוטמע, מריצים את:
atest VtsHalWifiSupplicantStaIfaceTargetTest